Las deficiencias de las cadenas de bloques existentes: Ethereum

4ª publicación en una serie sobre el fundamento de Themelio

(Eric (Yuhao Dong)) (31 de agosto de 2020)

Una computadora distribuida con confianza endógena

Cuando Ethereum se lanzó por primera vez en 2015, apuntaba a ser una cadena de bloques radicalmente diferente de Bitcoin. En lugar de implementar una sola aplicación, Ethereum apunta a ser el equivalente de un sistema operativo para aplicaciones endógenamente confiables, o «dApps» (aplicaciones descentralizadas). Esta funcionalidad está impulsada por un lenguaje completo de Turing (EVM) para programas integrados en blockchain, o «contratos inteligentes», que pueden acceder y almacenar estados arbitrarios dentro de blockchain. Ethereum es efectivamente una «computadora mundial» que cualquiera puede usar sin confianza.

Durante los años siguientes, se desarrolló una amplia variedad de aplicaciones Ethereum, incluidas nuevas criptomonedas como Dai , plataformas de apuestas descentralizadas como Augur , e incluso coleccionables virtuales como criptokitties. Lo más interesante es que surgió un ecosistema de finanzas descentralizadas en cadena (DeFi), con mercados de capital cada vez más líquidos accesibles para cualquier persona con una conexión de red. La seguridad de todas estas aplicaciones depende de la confianza endógena que proporciona Ethereum.

Desafortunadamente, esta confianza está algo fuera de lugar. La confianza endógena de Ethereum sufre problemas similares, quizás peores, en comparación con la de Bitcoin.

La complejidad daña la confianza

En su whitepaper , el creador Vitalik Buterin articuló la visión de Ethereum como una plataforma «simple» sin «funciones» basada en un lenguaje de contrato inteligente simple (EVM) que «cualquier programador promedio puede implementar». Sin embargo, hoy Ethereum es un sistema extremadamente complejo con una implementación de referencia de casi un millón de líneas de código. Tal complejidad exige un mantenimiento constante y cambios frecuentes. Sin embargo, cualquier actualización del protocolo que rompa el consenso (o «bifurcaciones duras») en blockchains implica una sustitución de la confianza endógena por la confianza en el desarrollador del protocolo externo. A partir de agosto de 2020, la siguiente tabla enumera cada vez que el protocolo Ethereum se ha «bifurcado».

Como se evidenció anteriormente, el modelo de Ethereum de un sistema operativo dApp complejo requiere la elusión frecuente de la confianza endógena.

Lo que es más alarmante, los desarrolladores y la comunidad de Ethereum simplemente carecen de un sólido creencia en la importancia de la confianza endógena. De hecho, Vlad Zamfir, un desarrollador central de Ethereum, fue el autor de una (conocida publicación de blog) que argumenta en contra de la «ley de Szabo», que es la idea de que las cadenas de bloques no deben actualizarse a menos que sea por razones críticas y no controvertidas. En la misma publicación, Zamfir también afirma que la intervención externa en una cadena de bloques es una forma legítima de «ley de cifrado».

Como era de esperar, la combinación de la complejidad del protocolo y la indiferencia social hacia la confianza endógena ha llevado a graves violaciones de confianza endógena que perturbó significativamente el ecosistema. El ejemplo más conocido de esto es el «rescate de DAO» de 2016.

Un estudio de caso: el rescate de DAO

El 17 de junio de 2016, una vulnerabilidad en el contrato inteligente El DAO, una de las aplicaciones de Ethereum más populares en ese momento, fue explotado maliciosamente. El atacante robó una cantidad sin precedentes de más de 3.6 millones de ETH, casi el 5\% de todos los ETH existentes, del contrato.

La comunidad de Ethereum estalló en un acalorado debate sobre qué hacer con el ataque. Finalmente, se llevó a cabo una votación de monedas en cadena con poca antelación el 15 de julio de 2016.El 87\% votó a favor de una bifurcación dura para revertir el ataque y reembolsar a los inversores en The DAO, aunque solo el 5,5\% de todos los ETH pendientes resultaron en el voto. Cuatro días después, se lanzó una nueva versión de Ethereum que ejecutó la bifurcación dura.

Esta bifurcación DAO altamente controvertida subvirtió por completo la inmutabilidad, una propiedad de seguridad crucial de blockchain. Una parte de la comunidad de Ethereum continuó reconociendo el historial de transacciones original de Ethereum, formando una cadena de bloques separada conocida como Ethereum Classic. Al igual que con la bifurcación de Bitcoin de 2017 en Bitcoin y Bitcoin Cash, los usuarios terminaron teniendo que decidir fuera de banda en qué bifurcación confiar, mientras que los desarrolladores de aplicaciones tuvieron que lidiar con el terreno debajo de sus aplicaciones que de repente se dividieron en dos.