¿De qué hablan los Blockstream boys cuando hablan de consenso? No se refieren, desde luego, al proceso descentralizado ideado por Satoshi Nakamoto para garantizar tanto la evolución de Bitcoin como la inmutabilidad de sus propiedades monetarias. De hecho, el “consenso Blockstream” (“confía en los empleados de Blockstream y cierra la boca”) es exactamente lo opuesto al “consenso Nakamoto” tal como se describe en el white paper. A continuación, Mengerian explica con diáfana claridad el funcionamiento del mecanismo que resguarda las propiedades monetarias de Bitcoin, y al hacerlo expone los motivos por los cuales el politburó de Blockstream / Core se empeña en ocultártelo.
Por Mengerian
El debate sobre el tamaño del bloque se puede entender como el debate sobre cómo se determinan las normas de consenso en Bitcoin. ¿Deberían estas ser grabadas en piedra y resultar muy difíciles de modificar -como propone la gente de Bitcoin Core– o deberían evolucionar a través de un proceso que involucra a los operadores individuales de nodos, como es la propuesta de Bitcoin Unlimited?
A mucha gente le gusta la idea de que las propiedaes de Bitcoin sean inmutables, ya que esto les da confianza en sus cualidades como moneda, en especial las que evitan que sea censurable o embargable. Pero esta es una falsa promesa. La idea de que los parámetros del consenso pueden ser “grabados en piedra” mediante un software de referencia es puramente ilusoria.
Dado que nadie puede ser obligado a usar un determinado tipo de software, ni se puede evitar que alguien modifique el software antes de usarlo, las reglas de consenso están definidas en último caso por las elecciones de quienes participan en la red. Entender los factores que condicionan y motivan estas elecciones, y cómo las decisiones individuales de cada nodo interactúan globalmente para hacer que emerjan ciertas propiedades, puede ayudarnos a entender cómo las reglas de consenso pueden desarrollarse en el futuro. Y tal vez esta comprensión pueda servirnos para fortalecer la confianza en que las propiedades de un Bitcoin con buenas raíces en el mercado son mucho más sólidas que aquellas pretendidamente “grabadas en piedra”.
Por qué los nodos siguen reglas de consenso
Es cierto que la red Bitcoin, tal y como existe a día de hoy, sigue las reglas de consenso codificadas en el cliente de Bitcoin Core, pero esto representa simplemente uno de los posibles equilibrios estables. La razón por la que un operador de un nodo en particular decide reconocer las actuales reglas que hacen válido a un bloque, es que el resto de nodos aplican esas mismas reglas. Un minero no querrá gastar poder de cómputo produciendo un bloque huérfano ya que perdería la recompensa por su trabajo. Un vendedor no querrá vender determinados bienes a cambio de bitcoins si los mineros rechazan incluir la transacción correspondiente al pago en un bloque y se puede dar la posibilidad de un doble gasto. En estos ejemplos vemos operadores de nodos aceptando o rechazando bloques de acuerdo a las reglas de validación para mantener su adherencia al consenso de la red.
¿Pero qué pasaría en el caso de un “soft-fork” («bifurcación suave»)? En un “soft-fork”, los mineros se coordinan para imponer reglas de validación adicionales, que no existían previamente. En este caso, la razón por la que escogerían adoptar esas nuevas reglas de validación sería para cambiar las propiedades de Bitcoin de alguna manera, añadiéndole quizás nuevas funcionalidades.
Otro ejemplo a considerar es el de los operadores de nodos de Bitcoin Unlimited en la red Bitcoin que eligen ignorar las actuales reglas de validación para el tamaño del bloque. Los nodos Unlimited pueden interactuar de forma no-conflictiva con los nodos de Core, pero si los mineros produjeran una cadena de prueba de trabajo más larga con un bloque de un tamaño mayor a 1 MB, estos nodos seguirían dicha cadena, mientras que Bitcoin Core la rechazaría. En este caso, la razón para rechazar la regla de 1 MB como tamaño maximo para los bloques es intentar influenciar las propiedades de Bitcoin como sistema. Quieren permitir un mayor tamaño para los bloques.
Así que vemos que las motivaciones de los nodos para adoptar unas reglas u otras de validación caen en dos categorías principales:
a) Nodos que aceptan las reglas para mantenerse dentro del consenso con otros nodos.
b) Nodos que adoptan ciertas reglas de validación para tratar de influir sobre las propiedades de Bitcoin como sistema.
Si todos los participantes en la red se ponen de acuerdo en las propiedades que quieren para el sistema, entonces estas dos motivaciones quedan alineadas. En este caso, decidir las reglas de validación de bloques que deberían implementar los nodos resulta algo simple: descubrimos qué reglas de validación de bloques conducen a las propiedades globales del sistema que todos queremos, y los nodos implementan esas reglas.
Es posible, sin embargo, que esos dos objetivos no estén alineados. ¿Qué pasa si tú crees que la red debería seguir ciertas reglas, pero el resto de la red no está de acuerdo? Si un grupo se siente muy seguro acerca de una propiedad que quiere para el sistema, podría tomar la decisión de iniciar su propio camino y separarse de la red, bien sea mediante una escisión que conserve el registro de transacciones, un fork de la cadena de bloques, o simplemente creando otra moneda desde cero.
Pero las cosas son mas interesantes y complicadas si los dos objetivos están mas equilibrados. Entonces tenemos una situación donde los motivos están mezclados y pueden equilibrarse entre ellos. Este tipo de dinámica de motivos mezclados fue explorada por Thomas Schelling en su libro “La estrategia del conflicto”. Schelling provee un marco teórico para comprender situaciones donde existen incentivos tanto para la competición como para la cooperación.
El análisis de Schelling es muy útil para entender las dinámicas de un Bitcoin en el que una proporción significativa de participantes tienen ideas en conflicto sobre cómo la red debería funcionar, pero a la vez tienen un fuerte incentivo para mantenerse dentro del consenso con el resto de la red.
Motivos mezclados
Las estrategias de motivos mezclados pueden verse como combinaciones de estrategias de coordinación (allí donde los intereses son coincidentes) y estrategias de negociación (allí donde los intereses son divergentes). Las estrategias de coordinación incluyen la señalización y la convergencia en puntos focales. Las de negociación incluyen estrategias orientadas a reforzar los acuerdos, típicamente con amenazas creíbles de represalias en caso de incumplimiento.
Estas estrategias suponen riesgos así como también potenciales beneficios. Para comprender el funcionamiento de estas estrategias, necesitamos entender cómo interactúan los incentivos y la tolerancia al riesgo de los participantes, cómo estos elementos dan forma al comportamiento individual, y cómo los comportamientos individuales se combinan para hacer emerger propiedades del sistema a escalas mayores.
Reglas de validación como amenaza de separación
Que un nodo adhiera a ciertas reglas de validación de bloques implica una amenaza de que ese nodo se pueda escindir de los demás nodos si estos se desvían del cumplimiento de esas mismas reglas. Los nodos influencian la aceptación de las reglas de consenso, tanto si eso significa mantener las existentes como intentar que sean aceptadas otras nuevas, amenazando con separarse de los nodos que no las adopten y formar un grupo independiente del resto. La efectividad de esta amenaza dependerá de varios factores, como ser:
♦ El número y la importancia económica de los nodos que quieren separarse.
♦ La efectividad con la que la amenaza de separación es comunicada al resto de la comunidad.
♦ El grado de compromiso con las nuevas reglas.
♦ La expectativa de viabilidad en el mercado del nuevo grupo independiente. Aquí es donde se pone de manifiesto el mecanismo descripto por Daniel Krawisz en su artículo “Quién controla Bitcoin”. En este caso, las predicciones creíbles con respecto a las reacciones de los inversores sustituyen a la separación efectiva.
Veamos algunos ejemplos:
Ejemplo 1: Regla de validación de tamaño de bloque
La mayoría de los nodos de la red actualmente aceptan la regla por la que rechazarán bloques mayores de 1MB. Si un minero produjera un bloque de un tamaño mayor, ellos “saben” (digamos que pueden predecir con alto grado de certeza) que será un bloque huérfano que no obtendrá recompensa. Incluso si una mayoría de mineros se pusieran de acuerdo en construir una cadena con bloques de mayor tamaño, si los exchanges y usuarios de Bitcoin la rechazaran, perdería su valor. Al utilizar un software que rechaza los bloques de más de 1 MB, la mayoría económica se compromete a separase de aquellos mineros que produzcan bloques de más de 1 MB. Si esto llegase a pasar, entonces el mercado se vería perturbado y se perdería valor. Pero dado que la amenaza es creíble, los mineros no producirán dicha cadena. Los mineros irán tras el dinero, y se someterán a la voluntad de la mayoría económica.
Pero imaginemos qué ocurriría si las proporciones fueran a la inversa. ¿Qué ocurriría si la inmensa mayoría de nodos relevantes (exchanges y procesadores de pagos) decidieran utilizar un software como Bitcoin Unlimited, y dejar de apoyar la regla de 1MB para la validación de bloques? En este caso, sería una acción muy arriesgada para una minoría económicamente débil seguir apoyando la regla que impide la creación de bloques de más de 1 MB. Si lo hicieran, estarían declarando que van a rechazar la cadena que contenga bloques de más de 1 MB, incluso si los mineros producen tal cadena con la mayor parte de la prueba de trabajo, lo que perjudicaría el efecto de red y, por lo tanto, el valor de Bitcoin. Ante a una situación como esta, lo mineros tendrán que sopesar la pérdida de valor por pérdida de efecto de red, por un lado, y, por otro lado, el beneficio de bloques más grandes y el valor que ellos esperan que tal cambio añada a Bitcoin. Si el beneficio que esperan de la creación de bloques más grandes supera el daño que esperan de la amenaza de una escisión en la red, entonces es posible que elijan producir bloques más grandes.
Ejemplo 2: Regla de las 21 millones de monedas
Si el tamaño del bloque es determinado por las fuerzas orgánicas del mercado, ¿qué pasa entonces con algunas reglas más importantes de validación, como la curva de emisión predeterminada y el límite de 21 millones de monedas? ¿Podría este proceso suponer una amenaza para el límite a la emisión de bitcoins, una propiedad esencial del sistema?
Consideremos una situación similar a la del último ejemplo. Una mayoría de nodos dejan de aplicar el limite de inflación de Bitcoin, tal vez porque están convencidos de que es necesario tener más inflación para evitar que los precios (medidos en bitcoins) experimenten una rápida deflación, o tal vez creen que los mineros necesitan una mayor recompensa por asegurar la red. Pero una minoría de nodos está en desacuerdo. Muchos ahorristas de larga data y, en general, los partidarios del blindaje contra la inflación arbitraria, rechazarán los bloques que violen las reglas de emisión limitada aunque estos formen la cadena más larga. Ahora los mineros tienen que hacer su propia evaluación: si minan la moneda con inflación desbocada, ¿qué probabilidad tiene la moneda clásica de persistir y mantener su valor? ¿Cómo se medirán ambas monedas en el mercado? ¿Compensará la pérdida de valor el supuesto beneficio de minar la moneda inflada? Si el riesgo de pérdida neta de valor se percibe como significativo, entonces la vieja moneda y su minoría serán capaces de detener la violación de las reglas de emisión, reglas que constituyen un “Punto de Schelling” del que resulta difícil desviarse. Además, el resto de los nodos, al evaluar la situación de una forma similar, también tenderán a elegir la moneda clásica para evitar el riesgo de escisión y pérdida de valor.
Ejemplo 3: SegWit como soft fork
En el caso de un “soft fork” (bifurcación suave), los participantes de la red se coordinan para añadir nuevas reglas de validación que previamente no se aplicaban. Este proceso es impulsado por mineros que pueden dejar huérfanos aquellos bloques que no cumplen con las nueva reglas. Los nodos de no-mineros que deciden no cumplir con las nuevas reglas aceptarán, sin embargo -y seguirán- la cadena más larga, y de esta forma se unirán pasivamente al nuevo consenso de los mineros. El hecho de que los nodos que no acepten las nueva reglas de validación acaben finalmente siguiéndolas al reconocer la cadena más larga como la válida, es presentado frecuentemente como una razón a favor de los “soft-forks”.
Los mineros pueden usar un “soft fork” para forzar cambios en el protocolo con o sin el consentimiento de los nodos no-mineros. Debemos darnos cuenta, sin embargo, de que esta maniobra no está exenta de riesgos para los que adoptan las reglas del soft fork. Si una gran parte de la comunidad decide no aplicar las nuevas reglas para la validación de bloques, seguirán la cadena más larga pero dejando la puerta abierta a que dichos cambios sean revertidos posteriormente. Por lo tanto, las nuevas reglas disminuyen las garantías de seguridad.
En el caso de cambios polémicos, este riesgo se acentúa. Los nodos que apoyan el soft fork tienen que considerar con seriedad el riesgo de quedar aislados del resto de la red, si se produce una cadena que ignora las nuevas reglas y la mayor parte de la red sigue adelante con esa cadena.
Este riesgos no son consideraciones puramente académicas. De hecho, dicho fallo en el consenso ocurrió en julio de 2015 tras el soft fork debido a BIP 66. El cambio que se implementaba no era controversial, era simplemente un ajuste de ciertas reglas vigentes para la codificación de las firmas con el fin de que siguieran un comportamiento estándar. Lo que ocurrió fue el resultado de un problema de coordinación entre los mineros. Algunos de los mineros que habían dicho que aplicarían las nuevas reglas, en realidad no estaban rechazando los bloques que no cumplían con el nuevo estándar. Cuando se producía un bloque que violaba las nuevas reglas, estos mineros extendían la cadena como si se tratara de un bloque válido, y seguían minando en esa misma cadena. Lo que esto muestra es que el riesgo de divergencia del consenso existe siempre que los nodos empiezan a aplicar nuevas normas de validación. Este riesgo es mayor cuanto más controvertido es el cambio, en especial si hay un grupo significativo que se niega someterse a las nuevas reglas.
Soft forks y hard forks
Viendo las cosas de esta forma -dándonos cuenta de que apoyar una reglas de validación equivale a amenazar con separarse de los nodos que no las apoyen-, tenemos una nueva perspectiva de los soft forks y los hard forks.
Un soft fork sucede cuando cuando los nodos aplican nuevas reglas de validación de bloques que no estaban en vigor. Esto aumenta el riesgo de que entre los nodos se produzca una ruptura del consenso, lo que comprometería la seguridad de los que habían adoptado esas nuevas reglas de validación.
Un hard fork, por el contrario, conlleva un descenso en las amenazas. Los nodos pueden aceptar un hard fork simplemente retirando el apoyo a una regla. Esos nodos seguirán la cadena más larga (la cadena con más prueba de trabajo), ya que de esa forma tienen menor riesgo de caer fuera del consenso de la mayoría económica.
Queda claro que cualquiera de los cambios a las propiedades monetarias de Bitcoin pueden lograrse tanto mediante un soft fork como mediante un hard fork. Un soft fork podría perfectamente ser usado para aumentar el límite de los 21 millones. Dado que los hard forks no resultan más peligrosos para Bitcoin y sus propiedades que los soft forks, tiene sentido para los operadores de nodos admitir la posibilidad de hard forks que no modifiquen las reglas monetarias de Bitcoin, porque de este modo reducen su riesgo de quedar al margen de la cadena con más prueba de trabajo.
Una visión para el futuro
Un red Bitcoin saludable debería en el futuro componerse de nodos que implementen múltiples proyectos en competición. Algunos proyectos se especialziarán en servir a las necesidades de los mineros o los comerciantes. Otros podrían hacer negocio sirviendo a los “clientes ligeros”, ofreciéndoles diferentes niveles de blindaje contra fraudes que ayuden a asegurar la red.
Además de competir ofreciendo nuevas funciones, los clientes Bitcoin tendrán que competir por garantizar la preservación del consenso. Los ahorristas e inversores se asegurarán de que la escasez sea preservada. Los comerciantes y procesadores de pagos se asegurarán de que sea cómodo y fácil efectuar transacciones. Los mineros trabajarán para mantener un ingreso por tarifas que financie el poder de cómputo que protege a la red.
El resultado de esta visión sería una red Bitcoin donde los fallos de consenso accidental fueran muy improbables, y los cambios deliberados capaces de incrementar el valor de Bitcoin se producirían sin sobresaltos. Las elecciones de todos los agentes económicos en función de sus propios intereses se combinarían para producir un sistema resiliente, flexible y confiable.
Conclusión
La promesa de Bitcoin es que puede proporcionar un dinero basado en el mercado que sea resiliente frente a los intentos de destruirlo. El valor de Bitcoin depende de la confianza en que sus propiedades monetarias permanecerán inmutables en el futuro. La actual situación, con una implementación dominante, centraliza la confianza y deja las propiedades básicas de Bitcoin expuestas a la posibilidad de cambios. Un futuro en el que las propiedades fundamentales de Bitcoin sean defendidas y apoyadas a traves de la interacción de los participantes del mercado es la única esperanza para la estabilidad a largo plazo.
Suponer que la comunidad de Bitcoin necesita alcanzar algún tipo de consenso social previo a la implementación de cambios sobre el protocolo es perder de vista la forma en que Bitcoin mantiene sus propiedades fundamentales. Nadie debería estar al mando, y por lo tanto nadie puede estar en posición de determinar si se ha alcanzado suficiente consenso social. Cualquiera es libre de intentar un hard-fork en cualquier momento, y es cosa del mercado decidir si la propuesta tendrá éxito o no.
No deberíamos buscar refugio en la falsa seguridad de un control vertical, en la presión social y el diseño monocultural. Las fuerzas del mercado son el auténtico baluarte que defiende las propiedades monetarias de Bitcoin. No hay mejor opción que abrazar aquellos mecanismos que facilitan un libre mercado para el consenso.