Bienvenido :). Este es un primer listado de preguntas frecuentes que tienen la intención de explicar de la forma más sencilla pero correcta posible sobre los fundamentos teóricos de la soluciones de escalabilidad de Ethereum.
Es una forma simple de hablar acerca de una solución de escalabilidad de Ethereum. En términos prácticos, una L2 es una blockchain separada que deriva de Ethereum, permite más transacciones por segundo y a menores costes respecto a Ethereum, y aún así tener garantías de seguridad que posee la red principal (L1) o por lo menos forzar su honestidad desde la L1, sin necesidad de mayorías honestas. Esta técnica de escalado se le conoce como off-chain.
Es la manera generalizada de proveer un mayor rendimiento (+ transacciones) sin involucrar 100% la capa principal de la red (la L1). Los diferentes tipos de L2 son soluciones off-chain porque la red Ethereum no está recibiendo directamente este tráfico de usuarios, o no se encarga de hacer todo el trabajo (procesar, validar, almacenar). Lo bueno, es que aún así las L2 no tienen consenso y no necesitan mayorías honestas.
Son el tipo de L2 más moderno que existe en Ethereum. Son cadenas que viven dentro de Ethereum. Para escalar, las transacciones realizadas por los usuarios son ‘enrolladas’ por un operador y las publica en una única transacción en la red principal de Ethereum, lo que hace que el fee se distribuya entre todos y sea más barato para cada usuario. Sea cual sea el caso de uso del Rollup, lo importante es que el operador recibe las transacciones enviadas por sus usuarios (permitiendo más tráfico del que podría soportar la red principal), hacer todo el trabajo pesado de ejecución y procesamiento de las transacciones, y luego los datos esenciales de dichas transacciones se guardan en Ethereum, lo que garantiza que estén seguras. A su vez, los Rollups tienen adherido un mecanismo para que Ethereum pueda garantizar que la red sea honesta y no sea atacada (ejemplo, aprobación de transacciones inválidas).
Visto desde Ethereum, los Rollups son un set de contratos inteligentes en los que se establece cómo estas trabajan y que van almacenando la información de las transacciones.
En los rollups, no existe el concepto de validadores ni de la necesidad alcanzar un consenso sobre la validez de las transacciones en general; todo eso es trabajo de Ethereum.
En resumen tenemos que:
Es una L2 asegurada por “pruebas de fraude”. En estas cadenas el operador es llamado secuenciador, quien por sí solo se encarga de recibir nuestras transacciones y publicarlas resumidamente en la red Ethereum sin una validación instantánea, se dice que son asumidas como válidas y por ello se llama “optimista”. Sin embargo, existe otro tipo de actores llamados verificadores que se encargan de revisar los datos y el estado de la L2 (lo que el secuenciador ha procesado), y si éste sospecha de transacciones inválidas, puede enviar una transacción que consiste en ejecutar una prueba de fraude.
En la prueba de fraude, el Rollup es verificado usando la red Ethereum, y si se confirma la presencia de transacciones inválidas, se suprimen del Rollup.
Para garantizar que el secuenciador actúe honestamente, estos operadores deben tener un dinero puesto en “stake” y gana dinero por fees recolectados de sus usuarios, mientras que el verificador está incentivado a encontrar el fraude, ganando dinero por quitárselo al secuenciador.
En consecuencia, todos los Optimistic Rollups tienen un periodo de espera de retiro de fondos de 7 días o más, para garantizar que, en caso de transacciones inválidas, la prueba de fraude sea enviada por alguien y no existan posibilidades de que el secuenciador pueda robar dinero.
Ejemplos:
Es una L2 asegurada por “pruebas de validez”. El operador llamado secuenciador procesa nuestras transacciones y las publica en Ethereum de forma resumida y a su vez adjunta una “prueba de validez” o “zk proof” que es verificada en la red Ethereum al instante.
Una zk proof es una técnica criptográfica para probar que una información o resultado es válido sin necesidad de que el encargado de verificar la veracidad del resultado tenga que realizar todo el trabajo o conocer cada dato acerca de ello.
En pocas palabras, para Ethereum, esto significa que la red puede asegurar que el ZK Rollup procesa transacciones válidas sólamente verificando las zk proofs adjuntadas en vez de chequear las miles de transacciones una por una, ahorrando coste para los usuarios y trabajo para la L1.
Ejemplos:
Hoy en día Ethereum puede soportar hasta 15 transacciones por segundo. Dependiendo del tipo y funcionamiento del Rollup, se pueden alcanzar entre 500 y 2000 transacciones por segundo, sin sacrificar la seguridad o descentralización. Luego de Ethereum 2.0 con danksharding este número puede aumentar a +20000.
Los Rollups se han caracterizado por dos cosas: tener un mecanismo de validación por pruebas de fraude/validez, y pleno consenso de la L2 porque los datos se guardan en Ethereum, por lo que la L1 tiene ‘la película completa’ de todo lo que pasa. En el caso de una ‘semi-L2’, las pruebas de fraude y validez siguen estando, pero ahora los datos de las transacciones no se publicarán en Ethereum.
Esta diferencia, trae una reducción importante en seguridad, pero a su vez, permite que las transacciones sean aún más baratas, al ahorrar el coste que supone estar publicando continuamente datos de transacciones de los usuarios en Ethereum.
El Validium usa pruebas de validez tal y como un ZK-Rollup, mientras que Plasma/Optimistic-chain usa prueba de fraude tal y como un Optimistic Rollup.
La gran diferencia está en que, si en ambos casos los datos de las transacciones no están siendo publicadas en Ethereum, significa que se encontrarán alojadas en otro tipo de redes, que seguramente no serán igual de descentralizadas. Si las transacciones no se guardan en Ethereum de algún modo, no será fácil para el usuario ver el avance de la cadena por sí mismo y está más susceptible a confiar en los operadores de la ‘semi-L2’ sobre la inclusión y ordenamiento de transacciones.
Si bien en un Validium el operador no puede robar fondos de los usuarios (ya que no puede mentir sobre la zk proof), tiene el poder absoluto de censurar usuarios. Por otro lado, en la Optimistic Chain/Plasma, puede ser más difícil acceder a los datos de las transacciones y demostrar la presencia de fraude.
Ejemplos:
El Volition funciona como un ZK-Rollup y cómo un Validium simultáneamente, es decir, los usuarios y aplicaciones pueden escoger en qué modalidad desean trabajar y convivir. No existe ninguna lanzada en la red principal.
En los rollups, las transacciones tienen un fee que engloba dos costos asociados: el pagado al secuenciador netamente por hacer su trabajo de recibir e incluir transacciones, y el coste por grabar la transacción en L1. Si el secuenciador recoge 100 transacciones para publicarlas en un solo paquete en L1, en principio cada transacción estará pagando en promedio el 1% del costo esperado. No obstante hay otras variables a tomar en cuenta, el cual el secuenciador y la forma de funcionar el rollup estará configurado.
Para los usuarios, en algunas ocasiones los fees se pagan en ETH, tal y como en Optimism y Arbitrum. Otros como dYdX y Loopring, que son exchanges descentralizados, cobran un % en trading fees, un modelo de negocio similar al de un exchange tradicional.
Si bien las L2 a través de sus secuenciadores/provers requieren estar usando ETH para publicar los datos de transacciones y otros aspectos como las pruebas de validez en L1, tienen flexibilidad en cobrar fees de distintas maneras a sus usuarios.
No es un paso obligatorio y muchas veces es cuestionado. Como sea, algunos proyectos tienen token propio como pagar los fees, gobernanza, distribución de regalías y otras clases de incentivos y formas de descentralizar la participación de los operadores en la L2.
No, el cambio de Proof of Work a Proof of Stake (llamado antes Ethereum 2.0) no hará que la red L1 sea más escalable o barata de usar. Ethereum visualiza su futuro con L2.
Ethereum PoS no tiene planes de escalar L1 para que los usuarios realicen cada vez más transacciones en la red principal. Ethereum PoS traerá más adelante actualizaciones llamadas “proto-danksharding” y “danksharding”.
Con “proto-danksharding” y “danksharding” se procura escalar la red principal de Ethereum para procesar y almacenar cada vez más datos que los Rollups generan, y a bajo coste utilizando técnicas complejas como “data availability sampling”.
Los desarrolladores y colaboradores de Ethereum están convencidos de que los Rollups deben ser la puerta de entrada para los usuarios interactuar, mientras que la L1 se convierte en una red especializada en almacenar, preservar y mantener consenso sobre todos los datos que se generan, sin que la red se sobrecargue y cause que mantener validadores sea muy costoso e imposible. Esta es la apuesta para escalar y mantener seguridad y descentralización.
Las redes independientes tienen su propio mecanismo de consenso: de proof of stake u otras. Generalmente, mientras estas redes sea más pequeñas (respecto a Bitcoin o Ethereum), son vulnerables por ataques del 51% ó ⅔ del stake, tener una distribución inicial centralizada del token, pocos validadores activos por el enorme costo de mantenimiento del nodo, o en el peor de los casos, ser 100% centralizada, como tener validadores elegidos a dedo. Si participar en la red es desigual, difícil o imposible para validar nuestras transacciones, nuestros fondos están dependientes de los mantenedores de la red y sus decisiones.
Mientras tanto, las L2 de Ethereum son blockchains que no tienen decisión final sobre la validación de transacciones, solo las procesan. En y desde la red principal de Ethereum se encarga de validar las transacciones en L2 y que la misma sea siempre honesta (sin transacciones fraudulentas). Atacar una red L2 implica atacar la red principal de Ethereum, lo cual eleva considerablemente los costos de acciones maliciosas, mientras se procura que la L2 y L1 tengan un alto grado de descentralización, algo en la cual Ethereum lleva gran ventaja respecto a otras L1.
**
**El término sidechain permanece ambiguo en la jerga cripto, pero de acuerdo a la Ethereum Foundation, la sidechain es toda blockchain que corre “en paralelo” con la red Ethereum; pero es independiente y se hace cargo de su propia seguridad (tiene consenso propio mediante proof of stake u otro). Se entiende que corre en paralelo, porque por ejemplo, tienen un puente conectado a la misma para pasar tokens de Ethereum a la sidechain.
¿Qué diferencia una sidechain de una red L1 convencional? La sidechain utiliza “algo” de Ethereum para funcionar, ejemplos, en Polygon PoS el staking se realiza en un contrato ubicado en la red Ethereum con su token MATIC, o en Gnosis, el token para pagar el gas es una versión wrappeada del token DAI, que proviene de Ethereum. No obstante, las sidechains no ganan ninguna ventaja en seguridad por utilizar Ethereum en estos aspectos.
🎉 ¡Gracias por leer hasta el final! En L2 en Español estamos avocados en educar, aprender y estudiar juntos, sigue nuestras redes sociales y unite a la conversación en nuestra comunidad de Telegram!
Con 💗 desde DeFi LATAM 🤝 DeFi para principiantes