Ethereum
Ethereum [ETH]: Vitalik Buterin explica todo sobre nueva implementación en la red
Recientemente, el Cofundador de Ethereum, Vitalik Buterin, publicó una propuesta sobre la implementación de transacciones entre fragmentos (shards) en la red Ethereum [ETH], que ahora podrán moverse más rápido entre ellos.
Buterin agregó que si bien las transacciones entre fragmentos son factibles en general a través de mecanismos de recepción, el ETH entre fragmentos requiere una mayor actividad en el protocolo.
La razón de esto es que es necesario realizar un seguimiento de la cantidad de ETH presente en cada fragmento, y se requiere un mecanismo consagrado para evitar la repetición de transferencias de fragmentos cruzados.
Según Buterin, el mecanismo habitual basado en recibos resuelve esto, pero sólo al tener un árbol de estado de «ID de recibo ya consumido», que se consideraría lo suficientemente complejo como para agregarlo al sistema, que actualmente no tiene estado nominal:
“La razón por la que se requiere este árbol de identificación de recibos es que permitimos que los recibos se consuman fuera de servicio. Es decir, si Alice envía una transacción desde el fragmento A -> B y luego Applebaum envía una transacción desde el fragmento A -> B, es posible que la transacción de Appelbaum se reciba primero en el fragmento B. Esto es necesario porque con el enfoque basado en el mercado de gas para manejar las transacciones que consumen recibos, es posible que Alice decida simplemente no pagar la transacción para finalizar la transferencia en el fragmento B».
Esto podría interesarte: Ripple [XRP]: Brad Garlinghouse pasa casi 30% de su tiempo hablando con los reguladores
La solución propuesta por Buterin es crear una variable de estado para la «ID del fragmento de recibo B recibido por última vez desde el fragmento A», donde cada fragmento A mantiene dos valores en su estado para cada otro fragmento B. Estos valores son la base del próximo recibo que se enviará de A a B y del próximo recibo que se recibirá de B a A:
“La segunda mitad del procesamiento de una transacción de fragmentos cruzados es gratuita (los productores de bloques estarían obligados a procesar un cierto número de recibos de otros fragmentos por bloque), con la limitación de la tasa cobrando tarifas en el fragmento de origen del recibo. Sin embargo, esto tiene un problema importante: ¿qué pasa si uno ataca DoS en un fragmento específico enviándole recibos de todos los fragmentos?”
Para resolver esto, Buterin propuso otro mecanismo:
“Se requiere que cada fragmento procese hasta N recibos (por ejemplo, N = 64) en un bloque; si hay menos de N recibos de otros fragmentos para procesar, puede usar pruebas de Merkle de otros fragmentos para probar esto. Cada fragmento transmite continuamente a la cadena de balizas el número total de recibos que ha procesado, y esto se utiliza para proporcionar un ‘precio del gas’ actualizado para enviar recibos a ese fragmento».
Protección a la longitud de la cola
El Cofundador de Ethereum agregó que esto garantizaría que un ataque DoS finalmente no aumentara la longitud de la cola de un fragmento receptor, permitiendo que cada mensaje sea procesado. Esto aún permitirá enviar transacciones que realicen una actividad mínima de fragmentos cruzados:
“Alternativamente, los fragmentos ya deberán publicar sus precios de gas EIP 1559 en la cadena de balizas para procesar las tarifas de bloque; éstas también pueden tener un doble propósito para esta función».
Buterin también declaró que el mecanismo para enviar ETH entre fragmentos le permitiría un doble propósito para la funcionalidad de envío de recibos y un sistema de transacción de fragmentos cruzados. También afirmó que el desafío sería calcular los efectos de los recibos, lo que requeriría un testigo voluntario del estado de Merkle.
“Si no se consagra el estado completo, no se puede forzar esto a nivel de protocolo; pero lo que se puede hacer es agregar un requisito del formulario para incluir una de sus propias transacciones, también debe proporcionar testigos para un recibo cruzado que está en la cola».