Para que una moneda digital pueda funcionar realmente, es importante poder determinar en cada punto en el tiempo cuántas unidades existen de las mismas, así como cuántas monedas nuevas han sido creadas. A fin de garantizar que las partes involucradas se pongan de acuerdo en cuanto a quién posee las unidades (las cuentas donde se encuentran almacenadas) y cómo se intercambian, un mecanismo de consenso de estar en práctica.
El derecho de propiedad
Las Islas Carolinas son un archipiélago de Micronesia que fue colonia alemana de 1899 a 1919. Entre ellas se destaca la isla de Yap, donde, en aquél entonces, todavía se usaban como dinero unas piedras talladas redondas, con un diámetro de entre 30 cm hasta 3 metros y un poco más. Se les hacía un orificio en el centro, por donde se insertaba un palo o tronco de tamaño adecuado que facilitara su transporte.
En el archipiélago no había metales ni piedras preciosas, de modo que las piedras tomaron su lugar como medio de intercambio. Estas monedas gigantes, llamadas rai (o fei) eran extraídas y talladas en otra isla ubicada a más de 600 km de allí, y llevadas luego a Yap en las embarcaciones nativas. El esfuerzo puesto en tallar y transportar las enormes ruedas de piedra hasta Yap constituía entonces la prueba del trabajo necesario para conseguir una, y era, al mismo tiempo, un indicativo de su valor.
El rasgo que llamó la atención del antropólogo William Furnes III, quien en 1903 pasó varios meses en la isla, fue que para los residentes no era absolutamente necesario estar en posesión de la piedra para reclamar su propiedad. Dado el gran tamaño de algunas, a veces era preferible dejarlas donde reposaban originalmente, siempre que se reconociera el derecho de propiedad adquirido por el nuevo dueño sobre la piedra, luego de realizada una determinada transacción. El cambio de propietario del disco de piedra rai era difundido hasta que todos los habitantes de la isla estuvieran al tanto. Yap era una comunidad pequeña, todos se conocían entre sí y en el respeto al otro se basaba la reputación de cada familia.
Consenso entre actores que no se conocen
En las cadenas de bloques, como Bitcoin, el asunto es completamente distinto. La cantidad de actores involucrados es mucho mayor, por lo que la coordinación no es fácil de alcanzar, y la identidad de los participantes generalmente se desconoce. La reputación de los actores no es un factor del que dependa el funcionamiento práctico del sistema.
Las transacciones de Bitcoin funcionan de forma parecida a una operación con las piedras rai. El cambio de manos de las monedas se hace a través de la transmisión en la red de la dirección destino de los BTC enviados a alguien y la cantidad asociada a la operación. Esta información rebota por toda la red hasta que todos los nodos actualizan sus copias de la cadena con esta nueva información.
Como forma de dinero electrónico, la principal innovación de Bitcoin es el mecanismo de consenso implementado en la red, que permite la homogeneidad de acuerdos a gran escala sin confianza, es decir, sin que existan relaciones directas entre las partes.
Extracción de monedas digitales
Para entender mejor el mecanismo de consenso del Bitcoin, revisemos primero el papel que juegan los mineros. Su labor consiste en recolectar las transacciones pendientes de Bitcoin, verificar su validez y acoplarlas en un “candidato a bloque”, una estructura de datos que antecede al bloque formal. Lo que se persigue es mantener el registro de todas las operaciones que suceden en la red, al tiempo que se crean nuevas unidades de la moneda mediante esta actividad. El minero tiene éxito cuando satisface ciertos requerimientos de cálculo, transmite sus resultados a todos los demás mineros y éstos aceptan los resultados como válidos, anexando el candidato a bloque presentado por el minero exitoso a la blockchain de Bitcoin.
Sin tener que recurrir a ninguna autoridad central, cualquiera, teóricamente, puede hacer la tarea de minero. Para ello, sólo necesita descargar el software de nodo y la copia actualizada de la cadena de bloques vigente. En la vida real, son pocos mineros los que producen y agregan bloques nuevos a la red. La razón es sencilla: la minería de Bitcoin es una actividad muy competida, que necesita grandes cantidades de energía y equipos especializados para ser realmente productiva. Las granjas de minería ubicadas cerca de fuentes de electricidad de bajo costo son las que llevan ventaja en este particular, siendo las más rentables.
Un valor muy especial
Para que un candidato de bloque se incluya finalmente en la cadena, debe cumplir con parámetros específicos definidos por el protocolo. Uno de ellos es que todas las transacciones que pasarán a formar parte del bloque deben estar validadas adecuadamente. La “impresión dactilar” del candidato a bloque es otro parámetro de peso. Un minero obtiene esta marca al aplicar al bloque candidato la función hash SHA256, un algoritmo que arroja como resultado un valor alfanumérico único, siempre de la misma longitud, para cada conjunto de datos de entrada, independientemente del tamaño de los mismos.
Para muestra, cuando calculamos el hash SHA256 del conjunto de datos “Bolsa de Valores de Nueva York”, nos arroja el siguiente valor:
ea7c83b81da0f12eca425cd842f7bc19aa8eb34bdcaba8ff374dc609f3b7b43b
Un mínimo cambio en los datos de entrada nos daría una huella totalmente distinta. Veamos ahora el hash SHA256 para “Bolsa de Valores de Nueva York.” (agregamos un punto):
f24b847987350381d062c445d70bbaa6fe4c8106310eadacafebe0e8fde3d9d7
Como hemos visto, cada valor es único, y no puede predecirse de ninguna forma, algo que se utiliza en la minería de Bitcoin como sigue. Antes de ser incluido un bloque en la cadena, el hash del bloque candidato tiene que cumplir con cierta característica sumamente peculiar: debe comenzar con una serie determinada de ceros. Un ejemplo reciente lo tenemos en el hash del bloque #545919, extraído a las 20:39:15 del 15 de octubre de 2018:
0000000000000000000d04b0dd03e95f4c0dbb811f778a31731834e662ce4169
Cadena de prueba y error
Así que el trabajo de los mineros consiste en armar un candidato a bloque y calcular repetidamente su hash usando SHA256, hasta que topen con uno que satisfaga la condición antes vista. Para ello, emplean un campo de datos arbitrarios, incluido en la estructura del bloque candidato, llamado nonce.
Para conseguir un hash distinto cada vez, los mineros aplican valores aleatorios al nonce. Los cambios en el nonce no tienen efecto sobre las transacciones incluidas en el bloque. Una vez hallado el hash apropiado, lo envían a todos los demás mineros de la red, quienes a su vez validan el resultado, añadiendo finalmente el bloque candidato a la cadena. Se crean nuevas monedas, y el minero que encontró primero el hash afortunado se lleva su recompensa.
Juegos, estrategias y equilibrio
El equilibrio de Nash (o equilibrio de Cournot-Nash) es un concepto de la teoría de juegos que tiene su papel en el mecanismo de consenso que se emplea en Bitcoin. El concepto dicta que en un juego de dos o más participantes entre los que no existe confianza, ninguno de los jugadores puede ganar nada modificando su estrategia, si los demás jugadores mantienen las suyas.
En la red de Bitcoin, el consenso se obtiene cuando cada minero que recibe un bloque con un hash válido, está de acuerdo en calificarlo como tal y lo agrega a su copia de la cadena de bloques. Si todos los mineros suponen que los demás están actuando correctamente, lo mejor que puede hacer cada uno es mostrar una conducta igual, incluyendo el bloque validado a la cadena. Hacer trampa no tiene ningún sentido, la recompensa no tendría valor. Es del interés de todos los involucrados mantener la red y que la actividad de minería siga siendo rentable, y el consenso refuerza este fin.
Aunque no existe autoridad central y cada minero puede hacer con su copia de la cadena como desee, el incentivo para que las cosas marchen como deben es patente. El acuerdo entre los participantes permite el establecimiento del derecho de propiedad sobre las monedas existentes.
He aquí la prueba
Los costos de la actividad minera son altos. Los equipos que generalmente se utilizan en ella demandan el consumo de grandes cantidades de electricidad, debido a la infinidad de cálculos que hacen falta para poder seguir construyendo la cadena, un bloque cada diez minutos, gracias a una larga secuencia de ensayo y error. De allí que al mecanismo de consenso expuesto se le conozca como “prueba de trabajo”.
El propio hallazgo de un hash SHA256 válido para el candidato a bloque, mediante incontables cambios en el nonce, es la prueba que demuestra el trabajo realizado por el minero en su labor de mantener la red. Y mientras el mecanismo de consenso sostiene el buen funcionamiento de la red, el equilibrio de Nash demuestra que esta tarea no es precisamente un juego.