Servicios de Secuenciación Justos: Creando un Ecosistema DeFi Imparcial

Este artículo es una traducción de Fair Sequencing Services: Enabling a Provably Fair DeFi Ecosystem, escrito por ChainLink y traducido por Ari Kiry.

Comunidad de Chainlink en español
Chainlink Community
9 min readJul 23, 2021

--

Investigación realizada y escrita por Ari Juels, Lorenz Breidenbach y Florian Tramèr de Chainlink Labs

A medida que la popularidad de Ethereum sigue creciendo gracias a la tokenización, los DEX y ahora DeFi, estamos viendo precios de gas sin precedentes y constantemente altos para los usuarios. Aunque esto es una señal del tremendo éxito de Ethereum, lamentablemente significa mayores costes de transacción y mayores latencias de minado para los usuarios. Cuando las transacciones se estancan en el mempool, se produce otro efecto secundario indeseable: Estas se vuelven más vulnerables a los abusos por lo que se conoce comúnmente como “front-running”.

Incluso cuando los precios del gas son bajos, a medida que las transacciones llegan al mempool, traders experimentados y bots pueden verlas antes de que sean minadas. Este tipo de participantes pueden beneficiarse de este conocimiento anticipado para incluir de forma estratégica sus propias transacciones. De este modo, pagando un precio de gas más alto, pueden asegurarse de que sus propias transacciones se procesen antes.

Este problema no es hipotético. Un estudio reciente de Daian et al. (que incluye a los autores de este blog) registró que se producen millones de dólares al año mediante esta actividad en tan sólo un pequeño grupo de contratos DeFi.

Las ganancias derivadas del front-running en la actualidad son seguramente mayores de lo que indica el documento de Daian et al. Teniendo en cuenta que la mayoría de las operaciones se realizan en plataformas centralizadas, en las que es posible que los operadores, y potencialmente otros, se aprovechen de esta situación, es de esperar que los resultados de este estudio sean sólo la punta del iceberg[1]. El siguiente ejemplo ilustra el problema tal y como puede afectar a los contratos inteligentes en la actualidad.

Los problemas de ordenación en DeFi y más allá

Los gestores de contratos DeFi quieren imparcialidad y transparencia para sus usuarios. Suelen incluir algunos mecanismos para contrarrestar el front-running, como los topes de gas, pero no son infalibles. Además, tampoco proporcionan protección contra mineros adversarios, que por supuesto pueden ordenar las transacciones a su antojo. El front-running de los informes de oráculo y otros tipos de transacciones suponen una amenaza similar.

Daian et al. acuñó el término Valor Extraíble por Mineros (MEV, por sus siglas en inglés) para referirse a las oportunidades de extraer dinero de un sistema de contratos inteligentes mediante una ordenación adversa de las transacciones. El término MEV resulta un poco ambiguo, ya que parte (o la gran mayoría) del MEV puede ser extraído por usuarios ordinarios, no sólo por mineros. Los mineros tienen un poder absoluto para ordenar las transacciones dentro de un bloque, y por tanto el MEV supone el límite superior del valor que puede ser extraído por terceros. El MEV surge debido a un pequeño y sucio secreto a voces en la mayoría de las blockchains: Estas están momentáneamente centralizadas, en el sentido de que un solo minero decide unilateralmente cómo ordenar las transacciones para cada bloque.

Recientemente, han surgido propuestas para crear servicios que sistematicen la explotación de MEV, a veces denominados subastas de MEV. A pesar de que existen argumentos legítimos a favor y en contra de las subastas MEV, creemos que las subastas MEV tienden a ser perjudiciales para la comunidad. Aquí se expone un argumento de peso en este sentido.

Nuevos enfoques de procesamiento de transacciones como los rollups, una idea excelente con muchos beneficios para la escalabilidad y privacidad de las transacciones, desafortunadamente tampoco ayudan con el problema de MEV. Un rollup pone el poder de ordenar las transacciones en manos de quien lo hace. Simplemente cambia MEV por REV: Rollup-Extractable Value.

Presentación del Servicio de Secuenciación Justa

Mientras pensamos en la siguiente fase de la hoja de ruta de Chainlink, hemos estado desarrollando una idea en Chainlink Labs que puede ayudar a que el ordenamiento de las transacciones sea justo en los sistemas descentralizados (e incluso centralizados). Puede ayudar a resolver los problemas de ordenación en los rollups y en DeFi en general. De hecho, aborda simultáneamente los problemas de los altos costes de gas y el ordenamiento injusto de las transacciones. Se llama Servicio de Secuenciación Justa (FSS por sus siglas en inglés).

El FSS proporciona beneficios a cualquier contrato escrito para utilizarlo. Los contratos pueden beneficiarse del FSS sin ningún cambio en la capa 1 de la blockchain en la que se ejecutan.

En pocas palabras, la idea detrás de FSS es que una red de oráculos ordene las transacciones enviadas a un determinado contrato SC, incluyendo tanto las transacciones de los usuarios como los informes de oráculos. Los oráculos reciben las transacciones y luego llegan a un consenso sobre su ordenamiento, en lugar de permitir que un solo líder lo dicte. Posteriormente los nodos envían las transacciones al SC del contrato. Secuencian estas transacciones adjuntando secuencias de números a las mismas o enviándolas como lotes.

Al igual que las subastas MEV, FSS desvincula la capacidad de extraer MEV de la capacidad de minar bloques, pero a diferencia de las subastas MEV, no incentiva intrínsecamente el front-running. En general, FSS elimina la centralización temporal durante el proceso de minado y descentraliza el proceso de ordenación de las transacciones.

Sin embargo, dados los principios de ordenación basados en el gas, ¿qué criterios debería utilizar la red de oráculos para ordenar las transacciones de los usuarios? Una opción natural es por hora de llegada, es decir, secuenciar las transacciones por orden de llegada. Pero, ¿qué significa eso exactamente?

Ordenación Y Equidad

No es fácil decidir con qué criterio se deberían ordenar las transacciones. De hecho, esta cuestión es profunda y desafiante.

Parece que décadas de investigación sobre la Tolerancia a Faltas Bizantinas, como consenso para sistemas protegidos, han pasado por alto la cuestión de la imparcialidad en el orden. La mayoría de sistemas BFT tienen como objetivo lograr la capacidad de respuesta y la consistencia, lo que significa que las transacciones deben ser procesadas de manera oportuna y que todos los nodos deben tener la misma visión de su orden. Pero estas propiedades no dicen nada sobre cómo deben ordenarse las transacciones en momentos próximos. Incluso si todos los nodos reciben T1 antes que T2, los requisitos habituales de los sistemas BFT consideran aceptable que T2 se ordene antes que T1.

El reciente trabajo de Kelkar et al. ( del cual uno de nosotros es coautor) es el primero en establecer una noción formal de la característica de imparcialidad del orden en el consenso. Aunque los detalles son complicados, el principio general es que si una gran proporción de nodos recibe T1 antes que T2, entonces T1 no debería programarse después de T2. Ese trabajo también propone una familia de protocolos llamada Aequitas[2] para conseguir llevar a cabo esta función. Estos protocolos conllevan una desventaja en cuanto a rendimiento, pero creemos que los próximos avances pronto darán lugar a variantes más prácticas.

FSS es un entorno para implementar políticas de ordenación, de las cuales Aequitas es un ejemplo. También puede admitir enfoques más sencillos, como la encriptación directa de las transacciones, que luego pueden ser desencriptadas de manera gradual por los nodos del oráculo después de ordenarlas. También soportará varias políticas para insertar informes de oráculo en un flujo de transacciones. (Incluso puede soportar subastas de MEV, si se desea).

En definitiva, el objetivo de FSS es ayudar a los desarrolladores de DeFi a garantizar que sus instrumentos traten a los usuarios de forma justa, según sus propios criterios.

¿Cómo llegan las transacciones al FSS?

Los usuarios podrían enviar sus transacciones directamente a la red de oráculos. Para que el ordenamiento justo funcione dando a varios nodos una perspectiva sobre el orden de las transacciones, un usuario enviaría su transacción simultáneamente a varios nodos[3].

Se está explorando una variante en la que los oráculos monitorizan el mempool de un blockchain de destino y extraen transacciones de él en nombre de un contrato de confianza SCON. Los oráculos suelen utilizar los servicios web como una fuente de datos. Pero también pueden tratar el mempool como fuente y generar informes que correspondan a las transacciones de los usuarios. Describimos la idea a continuación.

Tal uso del mempool es una buena idea que presenta dos grandes ventajas:

  • Compatibilidad con el sistema tradicional: Los usuarios pueden transmitir las transacciones directamente a la blockchain. Sin necesidad de dotarles de un software especial para interactuar con la red de oráculos.
  • Menores costes de gas: Si basta con hacer llegar una transacción al mempool para garantizar su recepción, los usuarios no tienen que preocuparse por la velocidad de minado: pueden enviar transacciones con bajos precios de gas. Cuando estas transacciones se minan finalmente, proporcionan un registro auditable que muestra que las transacciones no fueron censuradas[4]. La red de oráculos puede retransmitir las transacciones secuenciadas de los usuarios a un contrato de confianza con un precio de gas alto, asegurando el procesamiento oportuno. Además, la red puede mantener bajos los costes de gas por transacción mediante el uso de lotes, rollups o cualquier otra técnica.

Servicio de Secuenciación Justa con monitorización de mempool. Los usuarios envían dos transacciones, T1, seguida de T2, al contrato SCON. La red de oráculos observa las dos transacciones, las ordena por hora de llegada a la mempool y las reenvía a SCON.

Las redes peer-to-peer son complicadas, y un adversario con muchos pares y una conexión de red rápida podría ser capaz de burlar a los usuarios. Pero si los oráculos tienen pares distribuidos por toda la red y detectan activamente las incursiones y otras prácticas engañosas de los adversarios, pueden reducir significativamente las tentativas de manipulación conocidas como front-running.

Además, algunos de los mecanismos propuestos para combatir el front-running directamente en los contratos inteligentes (por ejemplo, los esquemas commit-reveal o las funciones de retardo verificables) también podrían ser aplicados por las redes de oráculos. Las principales ventajas en este caso es que los nodos aplicarían estas defensas fuera de la cadena (off-chain) y evitarían el front-running en escalas de tiempo mucho más pequeñas (del mismo orden que el retraso de la red, en lugar del intervalo de un bloque).

El Servicio de Secuenciación Justa también permite enfoques nuevos y más sencillos para combatir el front-running a nivel de red. Por ejemplo, los usuarios pueden encriptar las transacciones enviadas a la red, de forma que el contenido de la transacción sólo se revele una vez que se haya acordado el orden de la misma[5]. Encriptar las transacciones antes de ordenarlas es una forma sencilla y potente de evitar el front-running en los DEX y otros sistemas DeFi basados en el contenido de las transacciones, pero no puede evitar formas más sutiles de front-running basadas en los metadatos. (p. ej. el simple hecho de saber que un usuario ha emitido una transacción podría hacer que otros usuarios la adelantaran, o que los encargados del ordenamiento le dieran prioridad). En Ethereum es posible defenderse de esta forma más poderosa de front-running utilizando ideas como los envíos submarinos, y es una interesante cuestión abierta si se podrían desplegar mecanismos de defensa similares a nivel de red.

Conclusión

La justicia en su sentido más amplio es y será siempre algo difícil de conseguir. Nuestro objetivo con FSS es dar a los desarrolladores de DeFi las herramientas necesarias para hacer que sus sistemas sean más justos de acuerdo con las políticas fundamentales de su elección, manteniendo una UX con una experiencia de usuario agradable. Tendremos más información sobre FSS en nuestro próximo whitepaper (ya disponible aquí). Nuestra esperanza, sin embargo, es que la ordenación justa de las transacciones pueda ayudar a DeFi a cumplir su promesa de un sistema financiero más igualitario, preferiblemente mucho más justo y transparente que el de Wall Street.

Gracias a Andrew Miller, Dan Moroz, Fan Zhang y Sergey Nazarov por sus comentarios sobre el borrador de este artículo.

--

--

Comunidad de Chainlink en español
Chainlink Community

Unofficial Chainlink Medium in Spanish. This account is not managed by the official team. Lowering the language barrier to entry to becoming part of Chainlink.