Supongamos que tenemos dos soluciones acumuladas A y B, y Alice quiere intercambiar una cierta cantidad de fichas en la acumulación A por las mismas fichas en la acumulación B. Alguien ya ha propuesto una solución a este problema: si tanto el paquete acumulativo A como el B son totalmente compatibles con los contratos inteligentes, entonces esta suposición se puede realizar de manera descentralizada. Sin embargo, este artículo propone cómo implementar transferencias cruzadas cuando solo el paquete B admite contratos inteligentes (y el paquete A solo puede manejar transacciones simples).
Suponemos que la transacción en el resumen A tiene algún tipo de "campo de comentarios"; si no, el dígito inferior del valor de la transacción se puede usar para enviar un comentario.
Propuesta
Supongamos que tenemos un intermediario de intercambio Iván (hay muchos intermediarios para elegir en la implementación). Iván posee una (cuenta totalmente controlada por él) IVAN_A en el resumen A. Al mismo tiempo, Ivan también depositó algunos fondos en el contrato inteligente IVAN_B del resumen B.
El contrato inteligente IVAN_B tiene las siguientes reglas:
Si cualquier usuario envía una transacción (enviando un valor de transacción de token TRADE_VALUE a la cuenta IVAN_A), (una dirección de destino B DESTINO también se adjunta como una nota en la transacción), luego de la demora mínima de pago de MIN_REDEMPTION_DELAY bloques, el usuario realizará una transacción se puede devolver a la cuenta IVAN_B (incluyendo el comprobante de transferencia anterior), y luego la transacción se pondrá en cola para retirar a la dirección DESTINO.
El gigante bancario japonés Nomura trasladó su departamento de criptomonedas a Suiza: Jinse Finance informó que Bitcoin Archive dijo en las redes sociales que el gigante bancario japonés Nomura trasladó su departamento de criptomonedas a Suiza. Jinse Finance informó anteriormente que Nomura Holdings lanzará un brazo de capital de riesgo de encriptación que invertirá en empresas en el ecosistema digital, centrándose en finanzas descentralizadas (DeFi), finanzas centralizadas (CeFi), web3 e infraestructura blockchain. [2022/9/26 7:20:32]
Después de esperar un poco de retraso (por ejemplo, un día), los retiros se procesan en el orden de lote y de índice en el que se empaquetaron las transferencias en el resumen A.
Cuando Iván descubre que su cuenta IVAN_A ha recibido dinero, puede enviar tokens TRADE_VALUE * (1 - tarifa) personalmente a DESTINATION. Puede hacerlo enviando una transacción utilizando el método IVAN_B, que mantiene un registro y evita que la cláusula de envío automático del contrato active-kepj la transacción.
El comportamiento esperado es simple:
Alice envía una transacción a la cuenta IVAN_A (contiene N tokens y una nota ALICE_B)
Ivan envía tokens TRADE_VALUE * (1 - tarifa) a ALICE_B a través de IVAN_B
La segunda transacción ocurre justo después de la primera transacción. Si Ivan puede demostrar que la diferencia de marca de tiempo entre la primera transacción y la segunda transacción es muy pequeña, entonces el contrato incluso tiene reglas que permiten aumentar la tarifa.
HT supera la marca de $ 17 con un aumento intradiario del 12,75 %: los datos de Huobi Global muestran que HT aumentó en el corto plazo y superó la marca de los $ 17. Ahora se reporta en $ 17,0001, con un aumento intradiario del 12,75 %. El mercado fluctúa enormemente, así que por favor haga un buen trabajo en el control de riesgos. [2021/6/2 23:06:10]
El peor de los casos es que Ivan no envíe tokens a ALICE_B como esperaba. En este caso, Alice puede esperar la confirmación de la transacción en el paquete acumulativo A, encontrar otras formas alternativas de obtener tokens en el paquete acumulativo B para pagar la tarifa y luego reclamar sus fondos ella misma.
Coste de Capital
La principal limitación de este esquema es que IVAN_B necesita tener una gran cantidad de fondos para garantizar que se pague a todos los remitentes de transacciones. En particular, suponga que ocurre la siguiente situación:
Establecemos el límite de transacción en TRADE_LIMIT (por lo que cuando una transacción enviada a IVAN_A excede el valor límite > TRADE_LIMIT, la transacción no es válida)
Cada lote acumulativo puede contener como máximo TXS_PER_BATCH transacciones
Alice puede verificar por sí misma cuántas transacciones sin procesar quedan antes del siguiente lote de transacciones que deben procesarse en el resumen A, restar el valor total de estas transacciones de sus fondos en el contrato IVAN_B y verificar si la cantidad restante es suficiente. Dado que los retiros se procesan secuencialmente (que es el propósito del mecanismo de cola descrito anteriormente), Alice no necesita preocuparse de que el contrato procese otras solicitudes de retiro antes de procesar su solicitud de transacción de retiro.
El tamaño máximo de transacción en cada lote es TRADE_LIMIT * TXS_PER_BATCH, por lo que se requiere al menos esta cantidad de ETH en el contrato IVAN_B, además de fondos adicionales para incluir transacciones para el procesamiento. Por ejemplo, suponga que el límite de transacción es 0.1 ETH TRADE_LIMIT = 0.1 ETH (el límite de transacción se puede establecer más bajo, porque una transacción grande se puede dividir en varias transacciones pequeñas) y cada lote puede procesar 1000 transacciones TXS_PER_BATCH = 1000 . Luego, el contrato IVAN_B debe tener 100 ETH.
Tenga en cuenta que también hay una tarifa implícita incluida en este diseño, ya que cualquier usuario que realice transacciones de más de 0.1 ETH necesita desperdiciar espacio de bloque. Esto se compara con el requisito de capital, es decir, si un usuario consume la mitad del espacio del bloque, su requisito de capital se duplicará y viceversa. Si se quiere lograr el equilibrio adecuado, las tarifas implícitas son varias veces menores que las tarifas explícitas del mercado.
Si queremos reducir o eliminar este consumo, podemos diseñar el rollup A de esta manera: dejar que el secuenciador envíe un mensaje firmado, que pruebe todas las transacciones de Alice en este lote. Entonces, Alice sabría que no hubo ninguna transacción antes que ella (aunque un secuenciador malicioso podría engañar a Alice, hacerlo sería costoso).
Observaciones
El diseño anterior se basa en una suposición: la transacción en el resumen A tiene un campo de comentarios, a través del cual Alice puede especificar ALICE_B como la dirección de destino para recibir tokens. Si el resumen no tiene esta función, podemos usar la siguiente solución. Alice puede registrar la cuenta ALICE_B en un contrato registrado secuencialmente en el resumen B y obtener una identificación asignada secuencialmente (por lo que la identificación de Alice es igual a la cantidad de usuarios registrados antes que ella).
Establece el número máximo de usuarios MAX_USER_COUNT; este valor se puede ajustar hacia arriba con el tiempo si es necesario. Luego, Alice puede asegurarse de que TRADE_VALUE % MAX_USER_COUNT sea igual a (ID de Alice), utilizando el dígito inferior de TRADE_VALUE (este número es un valor fraccionario para esta operación) para representar la cantidad de tokens que quiere intercambiar.
Transacción del Rollup B al Rollup A
Si Alice transfiere tokens del Rollup B al Rollup A, puede usar el mismo mecanismo, pero con los roles invertidos:
Alice envía fichas a IVAN_B
Después de un cierto retraso, se le dará derecho a recuperar sus tokens.
Si Ivan puede demostrarle a IVAN_B que envió tokens a Alice en el Rollup A, Alice pierde este derecho
Enlace original: https://ethresear.ch/t/cross-rollup-dex-with-smart-contracts-only-on-the-destination-side/8778
Tags:
A partir de las 18:55 del 16 de marzo, hora de Beijing, el precio de cotización de cada bitcoin era de 55.952.
Web 3.0, la próxima generación de Internet, ha sido concebida como una web completamente funcional y fácil de usar donde nuestras identidades y datos son nuestros.
Reuters encuestó hoy a más de una docena de ejecutivos financieros.
Supongamos que tenemos dos soluciones acumuladas A y B.
Las reglas del juego en toda la industria de las criptomonedas están experimentando cambios trascendentales.AMM, minería de liquidez, IDO.
Desde principios de año, muchos inversores han experimentado lo que es un mercado de montaña rusa: dos días antes de la transacción, el mercado aún podría subir ligeramente.
Muchos protocolos DeFi han logrado generar ingresos significativos. Sin embargo, a pesar del surgimiento de una serie de nuevas iniciativas, como la extracción de liquidez en la industria DeFi.