Parte 7: La Blockchain (continuación)
La base de datos distribuida de Bitcoin se llama Blockchain. Las transacciones son agrupadas en grupos de transacciones (bloques) en un tiempo aproximado de 10 minutos. Estos bloques de transacciones son grabados uno detrás de otro en lo que conformaría una cadena de bloques, de ahí el nombre de Blockchain (cadena de bloques en ingles). Esto, que aparentemente pudiera parecer una extraña manera de grabar y guardar información si lo comparamos, por ejemplo, con una base de datos relacional común.
La Blockchain esta diseñada para ser resistente a la presencia de atacantes hacia la propia red. La unión criptográfica existente entre los bloques de la cadena de bloques no puede ser falsificada a excepción de que el atacante disponga de una enorme potencia computacional (conocido como “Ataque del 51%”). La red Bitcoin es a dia de hoy unas 100 veces la potencia de la red de Google. Este apartado sobre Blockchain será ampliado mas tarde pues quedan cosas pendientes pero no quiero mezclar asuntos.
Aparte de la cadena de bloques, los nodos mantienen una base de datos adicional llamada “Unspent Transaction Outputs cache” (UTXO) (hablaremos de ello mas adelante). El UTXO es un libro contable que registra los fondos disponibles de cada dirección, en esencia esto trabaja a modo de cache de la Blockchain.
Conforme nuevas transacciones llegan, el UTXO se va actualizando: Los fondos de quienes envían bitcoins son sustraídos del ordenante y depositados en el beneficiario, la dirección receptora. El UTXO es mas parecido a las bases de datos centralizadas. La figura que tenemos justo debajo , nos muestra de manera esquemática y abstracta el funcionamiento: Un libro contable distribuido con entradas de fondos disponibles
para cada dirección que mas o menos se corresponde al funcionamiento propiamente dicho del UTXO. Cada nodo de la red mantiene una copia del libro de contabilidad descentralizado. Ademas, las copias del libro contable son inalterables y consistentes en todos y cada uno de los nodos, por lo que todos almacenan las mismas bases de datos validadas y verificadas, por lo que independientemente de donde se realice la transacción, los apuntes contables de las direcciones bitcoin serán siempre los mismos.
Esto es producido a través de un consenso utilizando varias construcciones criptográficas. Los detalles de estas construcciones criptográficas, los definiremos mas adelante, pero en resumen, el consenso entre los miembros de la red se consigue aplicando grandes cantidades de poder computacional. Esta potencia computacional sirve al propósito de proveer protección contra ataques haciendo a la red segura, y como compensación reciben, por cada bloque asegurado e incluido a la cadena de bloques una recompensa en bitcoins. Como la cantidad de bitcoins es limitado, el proceso de “acuñación” de los bitcoins esta acotado y programado a 21 millones de bitcoins en total y cada 210.000 bloques (4 años aproximadamente ya que se añade un bloque en un tiempo aproximado medio de 10 minutos), se reduce a la mitad la recompensa por asegurar cada bloque. Estas personas, que ceden a la red sus equipos y poder de computación, son los mineros.
Los mineros, compiten entre si en la creación de nuevos bloques de transacciones que incorporar a la cadena de bloques. Cuando un minero logra incorporar un bloque a la cadena de bloques, recibe una “recompensa de bloque”, consistente en una cierta cantidad (ver la imagen inferior) de bitcoins como premio. Tener implícito una moneda nativa es esencial en el sistema de Bitcoin. Parte de estas recompensas es utilizada para pagar nuevos equipos que aseguraran la red.
Los mineros, además, recolectan las comisiones que los usuarios incorporan a cada transacción con el fin de otorgarles una mayor prioridad de transmisión y confirmación a través de la red, por lo que el minero recibe una doble recompensa, la recompensa por bloque y las comisiones de las transacciones que incorpora dicho bloque. Como la recompensa por bloque esta programada para ser la mitad cada 4 años aproximadamente, se entiende que, con el tiempo, la fuente principal de ingresos de los mineros deje de ser al recompensa por bloque y pase a ser las comisiones.