La complejidad detrás de las actualizaciones de una blockchain
Las actualizaciones de una cadena de bloques pública como Bitcoin o Ethereum siempre representan fuertes dolores de cabeza. La implementación de SegWit en la blockchain de Bitcoin tomó dos años de un serio y acalorado debate.
La primera pregunta que la mayoría de la gente normal se hace es: ¿cómo se planifican e implementan las actualizaciones en una organización descentralizada? Una de las características de estas organizaciones es la ausencia de una autoridad central que tome las decisiones a nombre de sus subordinados, dicho de otro modo, nadie realmente decide cómo deben funcionar. Las cadenas de bloques tienen reglas establecidas a través de un protocolo o algoritmo de consenso, estas reglas se definen en el código que establece su funcionamiento.
Imagen: Nick Fewings – Unsplash
Los participantes de una blockchain —individuos, empresas, mineros— de hecho cumplen con las reglas de consenso, por tanto, están conscientes de que cualquier cambio en la red que se proponga requiere de una coordinación —en teoría— entre todos sus participantes que, en la mayoría de los casos no se conocen entre sí.
La complejidad detrás de las actualizaciones de una blockchain
En las cadenas de bloques como Bitcoin y Ethereum de las que, se podría decir, son realmente descentralizadas, los cambios ocurren de esta manera, más o menos:
Si uno de los participantes tiene una idea que quisiera implementar con el fin de mejorar las características de la red, habla con otros participantes al respecto y, si su idea tiene aceptación, escribe una propuesta formal, por ejemplo, un BIP —Bitcoin Improvement Proposal, en inglés—, que es una propuesta de mejora de Bitcoin.
Dicha propuesta se comparte en los diferentes canales digitales como listas de correo o foros en los que participan miembros de la comunidad.
Si se considera que la propuesta es una buena idea, el trabajo empieza, generalmente, con planes para implementarla con otras mejoras similares. Las actualizaciones compatibles con versiones anteriores del software pueden implementarse —muy lentamente— como una bifurcación suave (soft fork, en inglés). Los cambios más grandes que no son compatibles con la versión actual, deben implementarse obligatoriamente a través de una bifurcación dura (hard fork, en inglés). Usualmente, la implementación de este proceso es muy polémico y muchos usuarios que no están de acuerdo con este deciden seguir usando la versión anterior del software y, eventualmente, crear una nueva cadena de bloques.
Cada implementación de software se actualiza por separado. Se anuncia la fecha de actualización con la debida anticipación para que todos los nodos tengan el tiempo suficiente de actualizar a la versión más reciente del software. Llegada la fecha de actualización, las nuevas características de la implementación se activan.
Por lo pronto, en Bitcoin, las bifurcaciones duras son el último recurso. SegWit fue finalmente adoptado por la red después de que Peter Wuielle —desarrollador primario de Bitcoin y cofundador de Blockstream— descubrió la manera de implementarlo a través de una bifurcación suave.
A mediados del mes de enero de 2019, Ethereum había planificado implementar su próxima gran actualización, Constantinopla. Esta no pudo llegar a buen término porque, a último momento, se descubrió un error importante en el código. Muchos de los nodos que ya se habían actualizado tuvieron que instalar nuevamente la versión anterior. Aún no se ha definido precisamente la nueva fecha de actualización, sin embargo, muchos desarrolladores primarios de Ethereum han propuesto que sea llamada Estambul en lugar de Constantinopla.
Imagen: Pixabay.com
Esta actualización consideraba muchas mejoras de rendimiento entre las que se destaca la modificación de la bomba de dificultad siendo la que más tiempo tardó en acordarse. Los desarrolladores de Ethereum quieren migrar de PoW a PoS, por este motivo buscan alentar a los participantes de la red a través de la implementación de una serie de bombas predefinidas que irán reduciendo el incentivo económico que los mineros reciben por cada bloque creado. Lo que se logrará finalmente, es la transición de PoW a PoS por medio de una actualización del software que gobierna a esta cadena de bloques.
Teniendo en cuenta que la investigación y desarrollo de PoS ha tardado más de lo esperado, los desarrolladores de Ethereum necesitaban impulsar la implementación de la bomba de dificultad y, al mismo tiempo, requerían que los mineros permanezcan a bordo y no abandonen la red. Si bien casi el 50 % de los nodos ya se había actualizado al nuevo software, una empresa independiente de auditoría de seguridad de contratos inteligentes, ChainSecurity, encontró una vulnerabilidad que obliga a que la actualización se posponga hasta febrero.
Esta situación ha generado un debate entre los desarrolladores de Ethereum y los programadores de contratos inteligentes que, como no puede ser de otra manera, quieren que sus contratos sean inmutables tal y como lo garantizó Ethereum desde el principio, argumentando que los cambios en la manera en que se interpreta el código a través de las nuevas actualizaciones podrían afectar significativamente la inmutabilidad de los contratos inteligentes. Del mismo modo, este debate se ha extendido hacia la comunidad criptográfica la que ha comentado que hacer cambios en una cadena de bloques es más parecido a la ciencia espacial que a la creación de una aplicación para compartir fotos. Los errores pueden ser fatales e incluso más difíciles de corregir luego de la ejecución de las implementaciones.
¿Qué garantías deben dar los desarrolladores de los protocolos a quienes crean aplicaciones en la parte superior de su cadena? ¿Es posible que un pequeño grupo de desarrolladores o algunas empresas tengan el control sobre la hoja de ruta de Ethereum?
Es indiscutible que las blockchains públicas enfrentan complejos problemas de escalabilidad teniendo en cuenta que dependen del acuerdo entre sus participantes. Las cadenas de bloques públicas sacrifican la toma eficiente de decisiones en favor de la autonomía, libertad, independencia y empoderamiento que se logran a través del consenso generalizado. Aún estamos lejos de descubrir si esta visión que pretende modificar radicalmente el paradigma del orden social y modificar el balance de poder tendrá éxito.
Juan Francisco Bolaños
@criptoEstratega
Referencias:
- Block, The. (20 de enero de 2019). Special Edition - Money 2.0 Stuff: Upgrading Blockchains Is Like Cleaning a Pig. [Correo electrónico al autor].
- Bolaños, J. F. (Marzo de 2018). Explicación acerca de las bifurcaciones de una blockchain - Steemit. Recuperado de http://bit.ly/2GiaRme
- Bolaños, J. F. (28 de octubre de 2018). La bomba de dificultad de Ethereum alteraría su política monetaria - Steemit. Recuperado de http://bit.ly/2FIT0VF
Lecturas que vas a disfrutar
Una selección de mis mejores artículos:
- Lo que tienes que saber del protocolo MimbleWimble
- ¿Blockchain es la tecnología que tu empresa necesita?
- Bitcoin cumple 10 años
Academia Blockchain
Academia Blockchain es una iniciativa que crea un espacio para la difusión y conocimiento de la cadena de bloques y las criptomonedas en Latinoamérica.
Amigos, están cordialmente invitados a visitarnos en nuestros canales digitales:
Web | YouTube | Twitter | Facebook | Instagram | Telegram | Patreon | Steemit
Compra en Amazon y paga con bitcoin
Compra lo que más te gusta en Amazon y paga con bitcoin y otras criptodivisas a través de Purse.io. Recibe descuentos del 5 al 15 % en tus compras. Regístrate aquí.
Muy bueno tu conocimiento acerca del tema!!
Muchas gracias por tus palabras.
¡Felicitaciones!
Te participamos que puedes invertir en el PROYECTO ENTROPÍA mediante tu delegación de Steem Power y así comenzar a recibir ganancias de forma semanal transferidas automáticamente a tu monedero todos los lunes. Entra aquí para más información sobre cómo invertir en ENTROPÍA.
Apoya al trail de @Entropia y así podrás ganar recompensas de curación de forma automática. Entra aquí para más información sobre nuestro trail.
Puedes consultar el reporte diario de curación visitando @entropia.
Atentamente
El equipo de curación del PROYECTO ENTROPÍA
Muy agradecido por el apoyo, es un gusto para mí aportar mis conocimientos a la comunidad.
Gracias a tí por las publicaciones que nos brindas. Te invitamos este domingo a las 4:00 pm hora venezuela a un webinar titulado: Nuestra experiencia en STEEMIT. Consejos para la redacción de artículos. Adjunto el link de discord: https://discord.gg/hkCjFeb para que te unas a nuestra comunidad, y si ya lo estás pases a la voz a tus compañeros. Saludos! Responsable del Comentario: @vjap55 - Miembro del Equipo de Curación del PROYECTO ENTROPIA
Congratulations @juanfb! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
Click here to view your Board
If you no longer want to receive notifications, reply to this comment with the word
STOP
⌚
Posted using Partiko Android