Saltar al contenido
buybitcoinsmart

Glosario / Minería y consenso

Consenso

¿Qué es el consenso?
El consenso en bitcoin es el estado en que nodos operados de forma independiente, que siguen reglas idénticas, coinciden en una sola cadena: la cadena válida con más prueba de trabajo acumulada.

Nadie vota y nadie está al mando. Cada nodo comprueba cada bloque según el mismo conjunto de reglas y después sigue la cadena válida con más trabajo acumulado, y así es como una computadora portátil que se sincroniza desde cero reconstruye exactamente el mismo historial, que se remonta al 3 de enero de 2009. Cuando usted compra bitcoin, este es el mecanismo que determina que las monedas que le enviaron son realmente suyas.

Cómo funciona

El acuerdo se alcanza planteando dos preguntas en un orden fijo, nunca mediante una encuesta.

La primera pregunta es la validez. Un nodo recibe un bloque y lo comprueba por sí solo: las firmas, los montos, la raíz de Merkle, el subsidio que reclama el minero, el peso del bloque, la marca de tiempo. Todo lo que no supera la comprobación se descarta en el acto, y la cantidad de electricidad consumida para producirlo es irrelevante. La segunda pregunta es la elección entre opciones válidas. Cuando dos historiales en competencia superan ambos la comprobación, el nodo se queda con el que acumula el mayor trabajo total sumado en sus encabezados, que no es lo mismo que el que tiene más bloques: una rama más corta de bloques más difíciles gana a una rama más larga de bloques más fáciles.

Observe lo que falta. Los nodos nunca intercambian opiniones, nunca anuncian una preferencia y nunca se cuentan entre sí. Retransmiten bloques y transacciones, aplican la misma comprobación a lo que llega y terminan en el mismo lugar porque la comprobación es determinista. El acuerdo es un efecto secundario de que cada uno haga la aritmética por separado, y por eso la red no tiene ningún quórum que corromper ni ningún comité al que citar judicialmente.

El desacuerdo breve es rutinario. De vez en cuando dos mineros encuentran una solución con menos de un segundo de diferencia y medio mundo ve primero uno de los dos bloques, así que durante unos minutos hay dos puntas candidatas. El siguiente bloque deshace el empate, una rama se abandona como bloque obsoleto y sus transacciones vuelven a la mempool. El desacuerdo profundo es el caso interesante, y solo ocurre cuando los nodos ejecutan reglas distintas. Si se endurecen las reglas, el software antiguo sigue aceptando todo lo que produce el software nuevo, y eso es una bifurcación blanda (soft fork): Taproot llegó así en noviembre de 2021 y no dividió nada. Si se relajan, los dos grupos siguen para siempre cadenas distintas, y eso es una bifurcación dura (hard fork), que es exactamente lo que ocurrió el 1 de agosto de 2017, cuando se separó Bitcoin Cash.

Por qué importa cuando compra bitcoin

El consenso es lo que hace que un saldo en bitcoin sea suyo y no una promesa de quien lo tenga en su poder.

La cadena se pone de acuerdo sobre las salidas y las claves que pueden gastarlas. No tiene ningún concepto de titular de cuenta. Mientras sus monedas están en un exchange, el consenso ve las direcciones del exchange y nada más, y su derecho sobre ellas es una fila en la base de datos de esa empresa: lo hace cumplir el derecho contractual, no los nodos. Si las traslada a una billetera cuyas claves conserva usted, la situación se invierte: el conjunto de reglas global reconoce ahora directamente su facultad de gasto, y ninguna solicitud de soporte, congelación o insolvencia cambia eso. Ese es todo el argumento a favor de la autocustodia, y es una afirmación sobre el consenso y no sobre la confianza.

Las bifurcaciones hacen visible la distinción. Quien tenía sus propias claves el 1 de agosto de 2017 acabó controlando monedas en ambas cadenas, porque las dos cadenas heredaron el mismo historial de salidas. Quien tenía sus monedas a través de una plataforma recibió lo que esa plataforma decidió hacer, y varias tardaron semanas en acreditar el nuevo activo o se negaron a admitirlo en absoluto. La misma lógica se aplica a cualquier división futura.

El consenso es además global de un modo en que la regulación no lo es. Las 231 guías de país de este sitio difieren enormemente en qué es legal, qué hay que declarar y qué plataformas lo aceptarán a usted, pero nada de eso llega al registro público. Una moneda comprada en Alemania y otra comprada en Nigeria se validan con las mismas reglas, viven en el mismo conjunto de UTXO y son indistinguibles para un nodo. Lo que cambia en una frontera es quién le venderá y qué le debe usted a su administración tributaria, nunca lo que la red considera válido.

Las seis horas de marzo de 2013 en que bitcoin funcionó con dos cadenas

El bloque 225.430, minado el 11 de marzo de 2013, fue aceptado por una versión del software y rechazado por la versión anterior.

Bitcoin 0.8 había cambiado su base de datos de Berkeley DB a LevelDB y, al hacerlo, eliminó discretamente un límite no documentado sobre el número de bloqueos que la base de datos antigua podía tomar al procesar un bloque grande. El bloque superó ese límite. Los nodos que ejecutaban la 0.7 lo rechazaron, los que ejecutaban la 0.8 construyeron sobre él, y la red mantuvo dos cadenas durante alrededor de seis horas. Un doble gasto de aproximadamente 10.000 dólares contra el procesador de pagos OKPay llegó a consumarse.

La resolución dice algo que no dice ningún documento del protocolo. Los desarrolladores pidieron a los pools de minería que volvieran a la 0.7 para que ganara la cadena más restrictiva, y los pools lo hicieron, descartando bloques por los que ya habían cobrado. La versión 0.8.1 se publicó poco después con un tope temporal de 500.000 bytes para los bloques que produjera, y el BIP50 se redactó como análisis posterior al incidente. El episodio es la prueba clásica de que las reglas de bitcoin son lo que el software desplegado hace cumplir en realidad, errores incluidos, y de que, cuando el software está en desacuerdo consigo mismo, las personas tienen que elegir.

Consenso frente a reglas de consenso

El consenso es el resultado; las reglas de consenso son los criterios con los que se alcanza. Las reglas son una lista fija de comprobaciones de validez escritas en el código e idénticas para todos los que ejecutan software compatible. El consenso es el resultado cambiante de aplicar esa lista a los bloques que hayan llegado, y por eso dos nodos honestos pueden estar momentáneamente fuera de consenso, con puntas distintas tras un bloque casi simultáneo, aunque coincidan perfectamente en las reglas. Si se cambian las reglas, cambia el consenso que es posible; si no se cambia nada, el consenso sigue desplazándose cada diez minutos a medida que llega trabajo nuevo.

No confundir con

Preguntas frecuentes

¿Quién decide cuál es el consenso de bitcoin?

Todos los que ejecutan un nodo completo, cada uno por su cuenta. Cada nodo aplica las mismas comprobaciones de validez y sigue la cadena válida con más trabajo acumulado, de modo que el acuerdo surge sin votación, sin comité y sin registro central.

¿Pueden los mineros cambiar las reglas de bitcoin?

No. Los mineros eligen qué transacciones válidas incluir y en qué orden. Todo nodo rechaza un bloque que incumple una regla, por mucho trabajo que lleve, y por eso el poder de hash por sí solo no puede elevar el límite de suministro ni gastar las monedas de otra persona.

¿Qué pasa con mis monedas si la red se divide?

Si usted conserva sus propias claves, controla las mismas salidas en ambas cadenas, como ocurrió cuando Bitcoin Cash se separó el 1 de agosto de 2017. Si sus monedas están en una plataforma, recibe lo que esa plataforma decida acreditar, y algunas no admiten ninguna cadena nueva en absoluto.

Para seguir leyendo

Términos relacionados

Más en la sección Minería y consenso

Leer esta página en inglés