afirmar que BU es un software con un diseño de base defectuoso es como decir que Bitcoin Core era un diseño defectuoso de base en la versión 0.12.x.
En absoluto. El software de Bitcoin Core 0.12.x ha sido ampliamente mejorado por la versión 0.14, pero es un diseño robusto y también una implementación robusta. El mejor ejemplo (al menos, de implementación robusta) es que desde su lanzamiento no ha tenido ningún bug de consenso.
Bitcoin Unlimited basa su código en Bitcoin Core 0.12.1. Evidentemente, no incluye ninguna de las mejoras añadidas hasta Bitcoin Core 0.14. Pero eso no es el tema que nos ocupa.
Bitcoin Unlimited es una implementación débil. En su corta vida ha sufrido ya dos errores críticos:
minado de un bloque superior a 1 MB (
rechazado por la red pero que momentáneamente entró en la copia local de la cadena de bloques de BU), y la
caída total de los nodos BU con versión posterior a junio de 2016 (así como de su potencia de minería asociada).
También, Bitcoin Unlimited se basa en un diseño defectuoso. Eso es lo peor de todo. Al menos, los errores de implementación se pueden ir resolviendo mediante "peer reviews" de desarrolladores especializados, pero los errores de diseño de arquitectura definen la extensibilidad y robustez de una sistema a largo plazo. Los tres casos más intuitivos que encuentro por los que considero que BU es un diseño defectuoso:
1. Pone a los mineros (a personas) continuamente al volante, dictando el tamaño del bloque. Ya no es un algoritmo puramente matemático, incorruptible e imparable el que decide qué es válido y qué no lo es a nivel de consenso.
Ya no es un sistema que se sostiene por sí mismo y que define el consenso a través de incentivos simples y automatizados.
2. Acepta en su funcionamiento normal que existan forks que puedan durar hasta 4 bloques (o más). Esto implica que
no es seguro aceptar por norma transacciones con menos de 5 confirmaciones. Además, para los bloques que finalmente han quedado huérfanos, eso implica
haber trabajado sin proteger (y sin cobrar
).
3. No se trata de un hard-fork puro.
Podría darse el caso de que la cadena de Bitcoin Unlimited quedara completamente aniquilada (incluso al cabo de años) si la cadena principal de Bitcoin le supera en trabajo acumulado.
Otras razones, quizás menos intuitivas, de las debiilidades de Bitcoin Unlimited:
https://bitcoinmagazine.com/articles/why-bitcoin-unlimiteds-emergent-consensus-gamble/https://bitcoinmagazine.com/articles/how-bitcoin-unlimited-users-may-end-different-blockchains/Estás hablando del año 2010, 20 meses después del nacimiento de Bitcoin, cuando aún Satoshi estaba al cargo. Sin apenas documentación, la mayoría de los que se acercaban por allí estarían analizando el código solamente para intentar entender qué tenían entre manos. No sé qué quieres demostrar con eso.