Términos como "consenso" adquieren nuevas connotaciones -algunos auguran que cuando Bitcoin cruce la barrera de los 10.000 $, el "consenso" se decidirá con balas- y otros como hard fork (divorcio a las malas) o soft fork (separación consensuada, para que nos entendamos) en términos de la criptoeconomía son especialmente importantes.
Este texto que ahora dejo aquí, fue una traducción para el portal ElBitcoin.org de lo que considerabamos un texto crucial y muy explicativo. Sin ser el primer texto que alguien debería leer sobre Bitcoin, es uno de los que -si quiere entender lo que pasa- acabará leyendo.
Aprovechadlo.
:)
PS: Para inversores avanzados... ¿no os parece que tener el ETH a 180 euros cuando -valía 40 € hace 30 días- es demasiada burbuja? ;))
--
El mercado del consenso.
De alguna forma, el debate sobre el
tamaño del bloque se puede entender como el debate sobre cómo las
reglas de consenso en el Bitcoin son determinadas. ¿Deberían estas
ser grabadas en piedra y dificultar los cambios -como propone la
gente de Bitcoin Core- o debería evolucionar a través de un proceso
en el que las decisiones de los operadores de cada nodo individual
fueran el voto, como es la propuesta más abierta de BitcoinUnlimited?
A mucha gente le gusta la idea de que
las propiedades de Bitcoin sean inmutables, ya que esto les da
confianza en sus propiedades como moneda y en especial las que evitan
que sea censurado o embargado. Pero esto es una premisa falsa. La
idea de que los parámetros del consenso pueden ser “escritos en
piedra” con la implementación de un software de referencia, es
inherentemente ilusoria.
Ya que nadie puede ser obligado a
correr un determinado tipo de software, ni se puede evitar que lo
modifique antes de ejecutarlo, las reglas de consenso están
definidas en último caso a través de las elecciones de los
participantes.
Entender los factores que motivan estas elecciones, y cómo las decisiones individuales de cada nodo interactúan globalmente para hacer que emerjan propiedades, puede ayudarnos a entender como las reglas de consenso pueden desarrollarse en un futuro. Y tal vez esta comprensión pueda ayudarnos a tener confianza en que las propiedades de un Bitcoin con buenas raíces en el mercado son mucho más sólidas que aquellas pretendidamente “escritas en piedra”.
Entender los factores que motivan estas elecciones, y cómo las decisiones individuales de cada nodo interactúan globalmente para hacer que emerjan propiedades, puede ayudarnos a entender como las reglas de consenso pueden desarrollarse en un futuro. Y tal vez esta comprensión pueda ayudarnos a tener confianza en que las propiedades de un Bitcoin con buenas raíces en el mercado son mucho más sólidas que aquellas pretendidamente “escritas 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 porque la que un operador de
nodo en particular decide reconocer la validez del bloque, es porque
el resto de nodos refuerzan estas reglas.
Un minero no querrá gastar PoW (acrónimo de prueba de trabajo; energía y/o gasto económico) produciendo un bloque huérfano ya que perderá la recompensa por su trabajo. Un vendedor no querrá vender bienes a cambio de transacciones si los mineros rechazan incluirlas en los bloques y se puede dar la posibilidad de un doble gasto. En estos ejemplo vemos operadores de nodo aceptando o rechazando bloques de acuerdo a las reglas de validación con el fin de lograr el consenso de la red.
Un minero no querrá gastar PoW (acrónimo de prueba de trabajo; energía y/o gasto económico) produciendo un bloque huérfano ya que perderá la recompensa por su trabajo. Un vendedor no querrá vender bienes a cambio de transacciones si los mineros rechazan incluirlas en los bloques y se puede dar la posibilidad de un doble gasto. En estos ejemplo vemos operadores de nodo aceptando o rechazando bloques de acuerdo a las reglas de validación con el fin de lograr el consenso de la red.
¿Pero qué pasaría en el caso de un
“soft-fork”?
En un “soft-fork”, los mineros se coordinan para imponer reglas de validación adicionales, que no existían previamente, tal vez añadiendo propiedades a las ya existentes en Bitcoin. En este caso, la razón por que la que escogerían adoptar esas nuevas reglas de validación sería para cambiar las propiedades del Bitcoin añadiéndole nuevas ventajas o propiedades.
En un “soft-fork”, los mineros se coordinan para imponer reglas de validación adicionales, que no existían previamente, tal vez añadiendo propiedades a las ya existentes en Bitcoin. En este caso, la razón por que la que escogerían adoptar esas nuevas reglas de validación sería para cambiar las propiedades del Bitcoin añadiéndole nuevas ventajas o propiedades.
Otro ejemplo a tener en cuenta son los
operadores de nodos de Bitcoin Unlimited en la red Bitcoin que eligen
ignorar las reglas de validez para el tamaño de bloque. Estos nodos
puede aún interoperar de forma no-conflictiva con los nodos de tipo
Core, pero si los mineros produjeran una PoW (una cadena de bloques hecha con prueba de trabajo, PoW) de un tamaño mayor a 1
MB, entonces ellos no seguirían dicha cadena ya que el código de
Bitcoin Core lo rechazaría. En este caso, la razón para rechazar la
regla de 1 MB de tamaño máximo de bloque es intenta influenciar en
las propiedades de Bitcoin como sistema. Quieren permitir un mayor
tamaño de bloque.
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
validez para tratar de influir en Bitcoin como sistema.
Si todos los participantes en la red se
ponen de acuerdo en las propiedades del sistema que quieren tener,
entonces estos dos grupos distintos se alinean y agrupan en sus
motivos. Decidir las reglas de validez del bloque que deberían
implementarse en los nodos resulta algo simple: descubramos que
reglas de validez del bloque conducen a las propiedades globales del
sistema que todos coincidimos querer, y que los nodos las
implementen.
Resulta posible, en todo caso, que esos
dos objetivos no se superpongan. ¿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 sobre una propiedad que
ello quieren tener, podrían tomar la decisión de iniciar su propio
camino y separarse de la red, bien sea con algún sistema de salida,
un fork sobre la blockchain o simplemente creando otra moneda
alternativa 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 motivo mixto dinámico fue explorado por Thomas Schelling en su libro “La estrategia del conflicto”. Schelling da 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 Bitcoin donde una proporción significante de participantes tienen deseos en conflicto sobre cómo la red debería funcionar, pero a la vez tienen un alto incentivo para mantenerse en consenso con el resto de la red.
Este tipo de motivo mixto dinámico fue explorado por Thomas Schelling en su libro “La estrategia del conflicto”. Schelling da 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 Bitcoin donde una proporción significante de participantes tienen deseos en conflicto sobre cómo la red debería funcionar, pero a la vez tienen un alto incentivo para mantenerse en consenso con el resto de la red.
Motivos mezclados.
Las estrategias con motivos mixtos
pueden verse como la combinación de la coordinación de estrategias,
donde los intereses son coincidentes y existen estrategias de
negociación allí donde son divergentes. La coordinación de
estrategias incluye la señalización y convergencia en puntos clave. La negociación incluyen estrategias orientadas a
reforzar los acuerdos, normalmente con amenazas creíbles de castigo.
Estas estrategias incluyen riesgos
también así como potenciales beneficios. Para comprender las
dinámicas de como estas estrategias funcionan, necesitamos entender
como los incentivos y la tolerancia al riesgo de los participantes
interactúan para dar forma al comportamiento individual, y como
estos comportamientos individuales se combinan para hacer emerger
propiedades del sistema a escalas mucho más grandes.
Reglas de validez como amenaza de
separación.
Que un nodo se una y dé su fuerza a un
grupo de reglas de validación es a la vez equivalente a la amenaza
de que ese nodo se pueda escindir de los demás nodos si ellos se
desvían de las reglas que se comprometieron a mantener. Los nodos
influencian la aceptación de las reglas de consenso, tanto si eso
significa mantener algunas existente como intentar conseguir otras
nuevas, amenazando con separarse de los nodos que no adopten esas
reglas, y por lo tanto formar un grupo independiente del resto, que
ya no sigue esas reglas. La efectividad de esta amenaza dependerá de
varios factores como son:
- El número y la importancia económica
de los nodos que quiere separarse.
- El grado en el que la amenaza de
separación se comunica al resto de la comunidad.
- El posicionamiento percibido con las
antiguas reglas, o el deseo de unirse a las nuevas y separarse.
- La expectativa de viabilidad del nuevo
grupo independiente en el mercado.
Aquí es donde el mecanismo de Daniel Krawisz en su artículo “Quién controla Bitcoin” se manifiesta- En este caso, las predicciones creíbles de las reacciones de los inversores sustituyen a la separación en realidad.
Aquí es donde el mecanismo de Daniel Krawisz en su artículo “Quién controla Bitcoin” se manifiesta- En este caso, las predicciones creíbles de las reacciones de los inversores sustituyen a la separación en realidad.
Veamos unos pocos ejemplos:
Ejemplo 1: Regla de validez 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 mayor de ese tamaño, ellos
saben (puede predecir con alto grado de confianza) que será un
bloque huérfano que no obtendrá recompensa.
Incluso si una mayoría de mineros se pusieran de acuerdo para construir una cadena con bloques de mayor tamaño, si los exchanges y usuarios de Bitcoin la rechazasen, perdería su valor. Corriendo sobre software que rechaza los bloques de un tamaño superior, la mayoría económica se compromete a separase de aquellos mineros que produzcan bloques de mayor tamaño. Si esto llegase a pasar, entonces el mercado se colapsaría y se perdería el valor. Pero ya que la amenaza es creíble, los mineros no producirán dicha cadena. Los mineros seguirán al dinero, y la voluntad de la mayoría económica.
Pero imaginemos que ocurriría si las proporciones dieran la vuelta. ¿Qué ocurriría si la inmensa mayoría de nodos relevantes (exchanges y procesadores de pagos) decidieran correr sobre un software como Bitcoin Unlimited, y dejar de apoyar la regla de 1MB en la validación del bloque?
Incluso si una mayoría de mineros se pusieran de acuerdo para construir una cadena con bloques de mayor tamaño, si los exchanges y usuarios de Bitcoin la rechazasen, perdería su valor. Corriendo sobre software que rechaza los bloques de un tamaño superior, la mayoría económica se compromete a separase de aquellos mineros que produzcan bloques de mayor tamaño. Si esto llegase a pasar, entonces el mercado se colapsaría y se perdería el valor. Pero ya que la amenaza es creíble, los mineros no producirán dicha cadena. Los mineros seguirán al dinero, y la voluntad de la mayoría económica.
Pero imaginemos que ocurriría si las proporciones dieran la vuelta. ¿Qué ocurriría si la inmensa mayoría de nodos relevantes (exchanges y procesadores de pagos) decidieran correr sobre un software como Bitcoin Unlimited, y dejar de apoyar la regla de 1MB en la validación del bloque?
En este caso, si una minoría
económicamente débil decidiera seguir apoyando los bloques de 1MB,
sería una acción muy arriesgada para ellos. Haciendo eso aceptan
rechazar una cadena que contenga bloques de tamaño mayor a 1 MB
incluso si los mineros producen semejante cadena con la mayor prueba de trabajo, lo que causaría daño a la red bajando el valor del
Bitcoin.
En este caso, lo mineros tendrán que sopesar las pérdidas de eficiencia en red frente al beneficio de un tamaño de bloque superior, y el valor que ellos esperan que tal cambio añada a Bitcoin. Si el beneficio esperado creando bloques mayores resulta mas grande que el daño que se espera de la amenaza de una escisión en la red, entonces es posible que elijan producir bloques más grandes.
En este caso, lo mineros tendrán que sopesar las pérdidas de eficiencia en red frente al beneficio de un tamaño de bloque superior, y el valor que ellos esperan que tal cambio añada a Bitcoin. Si el beneficio esperado creando bloques mayores resulta mas grande que el daño que se espera de la amenaza de una escisión en la red, entonces es posible que elijan producir bloques más grandes.
Ejemplo 2: Regla de los 21 millones de
monedas.
Si el tamaño del bloque es determinado
por las fuerzas finales emergentes del mercado, qué pasa entonces
con algunas reglas más importantes de validación como el límite de
inflación y el límite de 21 millones de monedas? ¿Podría este
proceso suponer una amenaza para la esencial propiedad de la emisión
limitada de Bitcoin?
Consideremos una situación similar a
la del último ejemplo. Una mayoría de nodos dejan de adoptar el
limite de inflación de Bitcoin, tal vez porque están convencidos de
que es necesaria más inflación para mantener los precios (medidos
en Bitcoin) de una deflación rápida, 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 poseedores de largo
tiempo y los creyentes en esta buena propiedad del dinero, rechazarán
los bloques que violen la cláusula de emisión limitada aunque esta
produzca la cadena más larga.
Ahora los mineros tienen que asegurarse: si ellos minan “la moneda con inflación”... ¿qué probabilidad tiene la moneda clásica de persistir y mantener su valor?
¿Cómo se medirán ambas monedas en el mercado? ¿Compensarán los riesgos de tal acción frente a sus supuestos beneficios? Si estos riesgos se perciben como significantes para ellos, entonces la vieja moneda y su minoría serán capaces de detener la violación de las normas existentes para la moneda, lo que sirve de “Punto de Schelling” del que resulta difícil desviarse.
Además, el resto de nodos, al evaluar la situación de una forma similar tendrían que elegir entre apoyar a la moneda “con inflación” y la clásica para evitar el riesgo de una pérdida en valor y una escisión.
Ahora los mineros tienen que asegurarse: si ellos minan “la moneda con inflación”... ¿qué probabilidad tiene la moneda clásica de persistir y mantener su valor?
¿Cómo se medirán ambas monedas en el mercado? ¿Compensarán los riesgos de tal acción frente a sus supuestos beneficios? Si estos riesgos se perciben como significantes para ellos, entonces la vieja moneda y su minoría serán capaces de detener la violación de las normas existentes para la moneda, lo que sirve de “Punto de Schelling” del que resulta difícil desviarse.
Además, el resto de nodos, al evaluar la situación de una forma similar tendrían que elegir entre apoyar a la moneda “con inflación” y la clásica para evitar el riesgo de una pérdida en valor y una escisión.
Ejemplo 3: SegWit como soft fork
En el caso de un “soft fork”
(separación suave), los participantes de la red se coordinan para
añadir nuevas reglas de validación que no estaban originalmente
aceptadas. Este proceso esta encabezado principalmente por mineros
que pueden crear bloques huérfanos y quedarse así sin su recompensa
si fallan en aplicar las nueva reglas que no estaban antes en vigor.
Los nodos de no-mineros que deciden no unirse a las nuevas reglas,
seguirán y aceptarán la cadena más larga, y de esta forma por lo
tanto seguirán finalmente el nuevo consenso de los mineros.
El hecho de que los nodos que no
acepten las nueva reglas de validación, acabarán finalmente
siguiéndolas al reconocer la cadena más larga como la válida, se
ve frecuentemente como una razón a favor de los “soft-forks”. En
cierto sentido, los mineros pueden usar un “soft fork” para
forzar cambios en el protocolo, tanto si los nodos no-mineros
consienten o no. Debemos darnos cuenta, en todo caso, que esto viene
con algunos de los riesgos de adoptar las reglas del soft fork.
Si una gran proporción 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. Las nuevas reglas habrían actuado bajando las garantías de seguridad, de forma similar a los monederos SPV.
Si una gran proporción 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. Las nuevas reglas habrían actuado bajando las garantías de seguridad, de forma similar a los monederos SPV.
En el caso de cambios que producen poco
consenso, este riesgo se acentúa. Los nodos que apoyan el soft fork
tienen que considerar con seriedad que se pueden quedar aislados del
resto de la red si se produce una cadena que viola las nuevas reglas,
y la mayoría de la red podría seguir adelante con esa cadena de
tamaño superior.
Este riesgo no es puramente académico.
De hecho, dicho fallo en el consenso ocurrió en julio de 2015 tras el
soft fork BIP 66.
El cambio que se implementaba no era discutido, y simplemente ajustaba ciertas reglas sobre la codificación estándar seguida. Lo que ocurrió fue un problema de coordinación entre los mineros. Algunos de los mineros que habían dicho que aceptarían las nuevas reglas, no lo hacían y estaban rechazando bloques que no cumplían con el antiguo estándar.
Cuando se producía un bloque que violaba las normas, estos mineros continuaban creando por encima de este, haciendo más grande la cadena sobre esos bloques. Lo que esto muestra es que hay riesgos de divergencia del consenso cuando los nodos empiezan a apoyar nuevas normas de validación. Este riesgo sería mayor cuando más controvertido fuera el cambio a aplicar, con un grupo significativamente grande que se niegue a apoyar las nuevas reglas.
El cambio que se implementaba no era discutido, y simplemente ajustaba ciertas reglas sobre la codificación estándar seguida. Lo que ocurrió fue un problema de coordinación entre los mineros. Algunos de los mineros que habían dicho que aceptarían las nuevas reglas, no lo hacían y estaban rechazando bloques que no cumplían con el antiguo estándar.
Cuando se producía un bloque que violaba las normas, estos mineros continuaban creando por encima de este, haciendo más grande la cadena sobre esos bloques. Lo que esto muestra es que hay riesgos de divergencia del consenso cuando los nodos empiezan a apoyar nuevas normas de validación. Este riesgo sería mayor cuando más controvertido fuera el cambio a aplicar, con un grupo significativamente grande que se niegue a apoyar 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 al
mismo tiempo a amenazar con separarte de los nodos que no las apoyen-
nos da una nueva forma de mirar a los soft forks y a los hard forks.
Un soft fork sucede cuando cuando los nodos apoyan nuevas reglas que
no estaban en vigor. Esto aumenta el riesgo de que en los nodos se
produzca a una divergencia del consenso con otros nodos y eso
potencialmente reducir la seguridad y confianza en las 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 de una norma. Esos nodos
seguirán la mayor cadena de PoW, ya que de dicha forma tienen menor
riesgo de caer fuera de la mayoría económica.
Queda claro que cualquiera de los cambios de las propiedades monetarias de Bitcoin pueden lograrse mediante un soft fork igual que con un hard fork. Por ejemplo, un soft fork de extensión de los blocks podría ser usado para aumentar el límite de los 21 millones de monedas. Dado que los hard forks no resultan más peligrosos para Bitcoin y sus propiedades que los soft forks, tiene sentido que los operadores de los nodos prefieran reducir sus riesgos de rechazar la mayor cadena de PoW al relajar las normas de validación, permitiendo eso la posibilidad de cambiar mediante hard-fork la blockchain.
Una visión del futuro.
Un red Bitcoin sana en el futuro
debería componerse de múltiple nodos implementando proyectos en
competición. Algunos proyectos se especializarían en servir a las
necesidades de los mineros o los comerciantes. Otros podrían hacer
negocio con los “clientes ligeros” ofreciendo pruebas compactas
contra fraudes que les ayuden a asegurar la red.
Además de competir por las nuevas capacidades, en cualquier caso, tendrían que competir por el consenso deseado de comportamiento. Tenedores e inversores se asegurarán de que se preserve la escasez. Los comerciantes y procesadores de pagos defenderían la facilidad en las transacciones. Los mineros trabajarían para mantener unas tasas que compensen su necesario trabajo.
Además de competir por las nuevas capacidades, en cualquier caso, tendrían que competir por el consenso deseado de comportamiento. Tenedores e inversores se asegurarán de que se preserve la escasez. Los comerciantes y procesadores de pagos defenderían la facilidad en las transacciones. Los mineros trabajarían para mantener unas tasas que compensen su necesario trabajo.
El resultado de esta visión sería una
red Bitcoin donde fallos sobre el consenso accidental fueran muy
improbables, y los cambios consensuados que mejoren Bitcoin ocurrirán
suavemente. Elecciones finales que coinciden con incentivos
individuales se combinarían para producir un resiliente, flexible y
confiable sistema.
Conclusión.
La promesa de Bitcoin es que puede
proporcionar un dinero “basado en el mercado” que sea resiliente
frente a intentos de destruirlo. Para justificar la creencia de que
Bitcoin tiene valor, necesitamos tener confianza en que sus
propiedades monetarias seguirán siendo tales en el futuro.
La actual situación, con una aplastantemente mayoritaria implementación dominante, centraliza la confianza y deja las propiedades básicas de Bitcoin susceptibles de cambio. Un futuro donde las propiedades fundamentales del Bitcoin sean defendidas y apoyadas a través de la interacción con los participantes del mercado es la única esperanza para la estabilidad a largo plazo.
La actual situación, con una aplastantemente mayoritaria implementación dominante, centraliza la confianza y deja las propiedades básicas de Bitcoin susceptibles de cambio. Un futuro donde las propiedades fundamentales del Bitcoin sean defendidas y apoyadas a través de la interacción con los participantes del mercado es la única esperanza para la estabilidad a largo plazo.
La idea de que la comunidad del Bitcoin
necesita alcanzar un consenso social previo a realizar cambios sobre
el protocolo pierde de vista el punto de cómo se gobierna el
sistema. 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
tiene éxito o no.
No deberíamos buscar refugio en la falsa seguridad de un control vertical, de la presión social y el diseño monocultural. Para ganar confianza en que las fuerzas de los mercados son una fuerte defensa frente a ataques de las propiedades monetarias del Bitcoin, nuestra mejor forma de proceder sería adoptar mecanismos que faciliten un libre mercado en el comportamiento consensuado.
No deberíamos buscar refugio en la falsa seguridad de un control vertical, de la presión social y el diseño monocultural. Para ganar confianza en que las fuerzas de los mercados son una fuerte defensa frente a ataques de las propiedades monetarias del Bitcoin, nuestra mejor forma de proceder sería adoptar mecanismos que faciliten un libre mercado en el comportamiento consensuado.