Por qué el consenso emergente de bitcoin unlimited es una apuesta

The Stories We Tell About Money (Junio 2019).

Anonim

Consenso emergente

Bitcoin Unlimited, una de las horquillas de software Bitcoin Core presentada a finales de 2015, llamó mucho la atención en los últimos meses. El proyecto obtuvo soporte de poder hash de varias nuevas agrupaciones de minería de Bitcoin, incluidas ViaBTC, GBMiners y BTC. TOP, mientras que la adopción de nodo parece estar en aumento también.

La idea central detrás de Bitcoin Unlimited, especificada en "Bitcoin Unlimited Improvement Proposal 001" (BUIP001), es controlar manualmente el límite de tamaño de bloque de Bitcoin para usuarios y mineros. O tal vez con más precisión: para hacer este control más explícito y más fácil de manejar.

Pero tal como se explica en "Cómo los usuarios de Bitcoin Unlimited pueden terminar en diferentes bloques", BUIP001 no incluye un mecanismo de consenso técnico tan confiable como en las reglas de consenso actuales de Bitcoin.

En cambio, Bitcoin Unlimited se basa en una filosofía a la que a menudo se hace referencia como "Consenso emergente". "

(Nota: si no está seguro de cómo funciona Bitcoin Unlimited, o cuáles son las debilidades técnicas de BUIP001, asegúrese de leer primero" Una mirada más cercana a la propuesta de tamaño de bloque configurable de Bitcoin Unlimited "y" Cómo pueden beneficiarse los usuarios ilimitados de Bitcoin " Termine en diferentes bloques de bloques. ")

" Consenso emergente "

BUIP001 no garantiza el consenso de la máquina; los usuarios pueden configurar sus nodos para dividirse en diferentes bloques, ya sea intencionalmente o no. En cambio, Bitcoin Unlimited se basa en "Consenso emergente". "Esta es una convicción de que los participantes en el ecosistema de Bitcoin tienen un incentivo económico lo suficientemente fuerte para converger en una sola cadena de bloques, de modo que convergerán en una sola cadena de bloques. Si su software no se da cuenta de esto automáticamente, se espera que los usuarios configuren sus configuraciones para que esto ocurra. Después de todo, beneficia a todos estar en la misma cadena de bloques y poder realizar transacciones entre ellos.

No obstante, cómo se debe formar este consenso emergente no está realmente documentado. Mientras que algunos han hecho analogías, con bandadas de pájaros, por ejemplo, no está claro cómo se aplican a Bitcoin, exactamente.

Dicho eso, es posible dibujar un escenario que muchos proponentes de Bitcoin Unlimited consideran más o menos. Como primer paso, los usuarios deben indicar qué tamaño de bloques aceptarán con la configuración de Tamaño de bloque excesivo (EB). Luego, los mineros, incentivados para satisfacer la demanda del mercado, deberían aumentar (o disminuir) el límite de tamaño del bloque en consecuencia. Finalmente, si estos nuevos bloques exceden el EB de algunos usuarios, se espera que estos usuarios sigan independientemente, ya sea porque se desencadenó su configuración de Profundidad de aceptación excesiva (AD) o quizás porque reconfigurarán sus nodos manualmente.

Como se explica en "Cómo los usuarios ilimitados de Bitcoin pueden terminar en diferentes bloques", este escenario presenta algunos problemas. Por un lado, si un adversario falsifica trivialmente la señalización EB de un usuario, se puede engañar a los mineros para que piensen que un aumento en el límite de tamaño de bloque tiene más respaldo del que lo hace o quizás los mineros malintencionados puedan engañar a los usuarios.

Y para los usuarios (restantes), este escenario presenta una opción extraña: o bien establecen una configuración de AD baja para permanecer en consenso, pero esencialmente renuncian a gran parte de su autonomía para los mineros; o establecen sus ajustes AD altos para proteger su autonomía, pero corren el riesgo de dividir la red.

Coordinación fuera de la cadena

Para contrarrestar algunos de los problemas descritos, el consenso emergente también se puede establecer a través del debate en foros, publicaciones de blogs, salas de chat y otros medios. De manera realista, incluso puede requerir este tipo de coordinación fuera de la cadena, hasta cierto punto.

Por ejemplo, mientras que el grupo de servidores mineros ViaBTC quiere un límite de tamaño de bloque de dos megabytes, no es lo que el grupo está señalando actualmente con su configuración de EB. Si lo hiciera, podría ser abusado para dividir la red. En cambio, las señales de ViaBTC soportan un megabyte y en su "guía de minero" propone un hard fork a dos megabytes una vez que al menos el 75 por ciento de la potencia de hash admite soporte.

Sin embargo, este tipo de coordinación fuera de la cadena no es único. Grupos de personas han coordinado y logrado el consenso a través del discurso durante mucho tiempo. Pero tales sistemas a menudo tienen un líder o tienden a descomponerse y dividirse en facciones una vez que el número de participantes alcanza cierto tamaño. Otros proyectos populares de código abierto, por ejemplo, a veces consisten en cientos de horquillas incompatibles.

Y esto es probablemente aún más cierto en condiciones adversas. Si las personas de estos grupos realmente no se conocen o no confían entre sí, no tienen forma de saber si las otras personas están diciendo la verdad o mintiendo. Incluso un solo adversario puede simular ser muchos usuarios y comunicar muchas preferencias falsas. Esto hace que la coordinación y el consenso sean un problema muy difícil de resolver.

De hecho, este es el problema de los generales bizantinos. Ese es exactamente el problema que Satoshi Nakamoto intentó abordar.

Con una trayectoria de aproximadamente ocho años, el principal logro tecnológico de Bitcoin es un protocolo matemático que logra un consenso automático fuerte, rápido, escalable y automatizado para grandes grupos de personas que no necesariamente se conocen o confían entre sí. Bitcoin es razonablemente "tolerante a fallas bizantinas". "

Los proponentes de Bitcoin Unlimited creen que los incentivos económicos de Bitcoin, el incentivo para que los usuarios sigan siendo parte de la misma cadena de bloques de Bitcoin, son en sí mismos suficientemente tolerantes a las fallas bizantinas. Pero eso es, hasta ahora, en gran medida no comprobado. No altcoin se basa en suposiciones similares, ni hay un testnet disponible públicamente donde las configuraciones BUIP001 se utilizan activamente.

Qué cambios ilimitados en Bitcoin

Dicho eso, parte de la misma filosofía de Bitcoin Unlimited es que Bitcoin depende de algún tipo de Consenso Emergente de todos modos.

En lugar de simplemente confiar en las matemáticas, el código o el protocolo, muchos realmente ven a Bitcoin como un consenso entre las personas en primer lugar. Las personas eligen participar en el sistema, las personas le dan valor y, a veces, como durante las horquillas blockchain de agosto de 2010 y marzo de 2013, la gente tiene que coordinar "fuera de cadena" para determinar qué cadena es válida.

Como tal, BUIP001 no cambia fundamentalmente nada. Los usuarios eligen ejecutar Bitcoin Unlimited. El software de nodo ya puede ser (re) compilado. Y un consenso social puede tener que formar "fuera de cadena" de cualquier manera.

Pero al hacer que este control sea más explícito y fácil de manejar, y suponiendo que los usuarios usen realmente estas opciones, Bitcoin Unlimited confía en el aspecto de consenso humano en una medida mucho mayor. En lugar de optar por un protocolo una vez y confiar en el consenso de la máquina a partir de ese momento, los usuarios deben asumir un rol mucho más proactivo. Como señaló un proponente de Bitcoin Unlimited, poco después los mineros tuvieron que reconfigurar sus nodos en respuesta a un error que bifurcó brevemente a la red a principios de esta semana: "Esto ES parte de cómo funciona Bitcoin. No es para personas que duermen al volante. "

Es cierto que BUIP001 no introduce nada que antes no fuera posible. Como proyecto de código abierto, los usuarios y los mineros siempre pueden recompilar su software Bitcoin para hacer cualquier cosa que Bitcoin Unlimited permita. Pero, por supuesto, eso en sí mismo no es un argumento a favor de BUIP001. Solo porque los usuarios pudieran, eso no significa que debieran.

Hasta ahora, Bitcoin ha tenido varias horquillas que duraron varios bloques, causadas por fallas técnicas. El fork blockchain de agosto de 2010 fue necesario para revertir la creación de miles de millones de bitcoins de la nada, lo que requirió orfandad en una cadena de una hora. La única razón por la cual el evento no fue catastrófico es que el bitcoin apenas se usó como dinero en aquel entonces. Sin embargo, durante el fork blockchain de marzo de 2013, la red no era confiable para los usuarios reales, y al menos una persona se gastó el doble, mientras que varios mineros desperdiciaron recursos valiosos extrayendo una cadena huérfana. Lo mismo es cierto para la horquilla Blockchain de julio de 2015, donde se instó a los mineros a cambiar a la validación completa de grupos de minería, y muchos han aprendido de ese error.

De hecho, los desarrolladores, los mineros y el resto de la comunidad de Bitcoin generalmente han tratado de evitar este tipo de eventos de crisis tanto como les sea posible.

Por el contrario, Bitcoin Unlimited parece abarcarlos como un mecanismo de actualización.

"Jonny1000" contribuyó a este artículo.

Nota del autor: una versión anterior de este artículo sugería que no hay testnet para BUIP001. Desde la publicación, se señaló que en realidad existe un testnet, denominado "nolnet". Sin embargo, este testnet no está realmente a disposición del público y parece ser utilizado solo por un pequeño grupo de desarrolladores cercanos al proyecto Bitcoin Unlimited. Y, por supuesto, por definición, un testnet no prueba los incentivos económicos de ninguna manera, por lo que no se ha probado.