Bitcoin explicado de forma sencilla (III)

En el post anterior, hablamos sobre la cadena de bloques y cómo el uso de bloques unidos con hashes hace que la historia de las transacciones sea muy sólida. Ahora tenemos un último gran problema que resolver – el hecho de que si nuestro sistema bancario crece, muchos nuevos bloques se añadirán a la cadena de bloques alrededor del mundo al mismo tiempo, resultando en la desincronización, conflictos históricos y varias versiones alternativas de la historia de las transacciones.

En su esencia, se deriva del hecho de que la adición de bloques es rápida y fácil, y la historia crece mucho más rápido de lo que se puede sincronizar.

¿La solución? Sólo hazlo difícil y lento.

Condimentando las cosas

Aceptemos solamente bloques en la cadena de bloques cuyos hashes satisfacen una regla – por ejemplo, los hashes necesitan comenzar con un cierto número de ceros. Si sólo aceptamos hashes de bloques con un cero a la izquierda, por ejemplo, sólo uno de cada 16 bloques calificará (asumiendo una representación hexadecimal del hash). Para conseguir que su bloque sea aceptado, las personas que crean bloques tienen que seguir intentando y añadiendo datos aleatorios a su bloque para cambiar el hash hasta que el bloque obtenga un hash que empiece por cero y pueda ser aceptado.

Recuerda que no podemos predecir qué datos añadir al bloque para obtener el hash que queremos – es una de las características fundamentales de las funciones hash, así que todo es ensayo y error. Si necesitamos dos ceros a la izquierda, la dificultad salta – ahora sólo 1 de cada 256 bloques califica, haciendo que el tiempo promedio hasta que alguien crea un bloque correcto sea más largo. La dificultad aumentará muy rápidamente a medida que necesitemos más ceros. De esta manera, podemos ralentizar artificialmente la adición de bloques, haciendo que la creación de un bloque correcto sea un evento notable y dando tiempo a todos para sincronizar.

(En realidad, en la dificultad de Bitcoin se establece con un poco más de precisión que sólo el número de ceros a la izquierda, pero esta es una buena aproximación.)

Deberíamos aspirar a un tiempo lo suficientemente largo, pero también bastante corto, para añadir un nuevo bloque de transacciones. Una vez que lo averiguemos, decidiremos el número de ceros al principio que necesitamos. El tiempo no puede ser demasiado largo, o conseguir su transacción en la cadena de bloqueo tomará demasiado. No puede ser demasiado corto, porque la gente empezará a añadir bloques más rápido de lo que la red puede sincronizar.

Digamos que el tiempo promedio de 10 minutos entre cada bloque nuevo que se agrega es un objetivo razonable. Pero, ¿cómo establecemos el número de ceros a la izquierda necesarios? Si lo configuramos tan pronto, los usuarios de la red podrán crear un bloque correcto cada 10 minutos de media, tendremos un problema: una vez que la gente empiece a utilizarnos, habrá cada vez más gente creando bloques, por lo que hay más posibilidades de que alguien encuentre un bloque correcto mucho antes que antes.

La dificultad debe ser ajustable para que se adapte al número de participantes y a la potencia de sus ordenadores. La red Bitcoin ha acordado en ajustar la dificultad cada 2016 bloques creados – suponiendo un tiempo medio de creación de 10 minutos, esto es alrededor de dos semanas. Si durante las dos semanas anteriores el tiempo promedio de creación de bloques fue inferior a 10 minutos, ahora necesitamos más ceros a la izquierda en los hashes de bloques. Si es más de 10 minutos, ahora requerimos menos. Esto mantiene a los ordenadores cada vez más potentes ocupados con un reto.

Sin embargo, esto tiene un efecto secundario: hasta ahora, asumimos que las personas que crearán el bloque serán voluntarios, actuando por el bien de nuestro sistema. Sin embargo, añadir bloques ahora requiere ejecutar muchos cálculos, que mantienen sus ordenadores ocupados y se comen su electricidad.

Echa un vistazo a los detalles de este reciente bloque de Bitcoin. Su hash tiene un montón de ceros a la cabeza. Dado que los hashes que se obtienen son completamente al azar, es bastante evidente que esto sólo puede ser el resultado de enormes cantidades de ensayo y error. Si es tan difícil crear un bloque, significa que hay un enorme interés en crear bloques. Algo debe estar convenciendo a toda esa gente para que siga haciendo esto….

Una fiebre del oro, con rasca y gana en vez de oro

Así es, hay dinero en esto. Cada persona que crea un bloque puede añadir una transacción gratuita de 12.5 BTC de la nada a su dirección. Este es el lugar de donde vienen los nuevos bitcoins. La creación de bloques es un tanto engañosamente llamada “minería” – “mineros”, personas que crean bloques y por lo tanto mantienen el sistema en marcha, reciben bitcoins recién creados como pago por sus problemas.

Cuanto más rápido puedas mezclar datos, calcular y comprobar hashes, mayor será tu oportunidad de arrebatar la recompensa antes que nadie. Es importante ser el primero, porque una vez que un minero añade un bloque, otros tienen que empezar otra ronda desde cero en la parte superior de su nuevo bloque. Esa es la razón por la que la gente sigue recibiendo máquinas mineras Bitcoin de tamaño monstruoso: es una carrera armamentística en la que la potencia informática es el rey.

Sin embargo, si eres minero, siempre eres tú contra todos los demás. A pesar de que la recompensa es grande, las posibilidades de que tú, de entre todos los otros mineros, la consigas, son siempre bastante minúsculas. Por lo tanto, la gente se reúne para estabilizar las probabilidades – forman pools mineros como SlushPool o AntPool. Siempre que alguien en un grupo minero consigue crear un bloque, la recompensa se distribuye entre todos los participantes del grupo de acuerdo con su tasa de hashrate (potencia de cálculo medida en hashes por segundo) que contribuyeron.

Las recompensas en bloque parecen un poco como dinero gratis que aparece de la nada, y como resultado, el dinero parece un poco sin valor. Sin embargo, no es así para nada. Para recibirlo, usted necesita utilizar muchos recursos valiosos – tiempo, electricidad, hardware. Tampoco es inútil – son fichas que te permiten usar un libro inalterable que nunca desaparecerá o será destruido, nunca. Por último, casi todas las monedas normales del mundo tienen dinero nuevo que aparece de la nada, ya sea nuevos billetes que se imprimen o dinero creado virtualmente. En cierto modo, crear dinero nuevo en criptocurrency tiene más sentido que en el sistema que usamos comúnmente ahora.

Este es un buen lugar para señalar cómo una creencia común sobre Bitcoin es completamente falsa. Mucha gente cree que como la minería de bitcoins se llama “minería”, las bitcoins son como un recurso que se encuentra en el suelo, así que con más potencia de computación, se “mina” más de ellos más rápido. Es una base común para el argumento de que Bitcoin no vale nada porque todo el mundo puede “imprimir su propio dinero”, y cuando mucha potencia informática entre en el sistema, se producirá una inflación horrible.

Esto es obviamente falso – la minería de bitcoin es mucho más como rascar muchas tarjetas de rascar de lotería, realmente muy rápido. Cuanto más rápido tenga el ordenador, más tarjetas de rascar podrá rascar y mayores serán sus posibilidades de conseguir la ganadora (obteniendo un hash correcto). Todavía hay un solo ganador, y siempre hay una cantidad constante de bitcoin creado cada aproximadamente 10 minutos, independientemente de cuál sea la potencia total de computación de la red.

El dinero tampoco seguirá siendo creado para siempre. Después de cada 210.000 bloques añadidos a la cadena de bloques, la recompensa por añadir un bloque se reduce a la mitad. Originalmente, la recompensa era de 50 BTC. Ha habido 2 mitades hasta ahora, y actualmente la recompensa es de 12.5 BTC. Eventualmente, llegará a cero. Dado que la extracción de cada bloque suele tardar unos 10 minutos en la red, significa que la última pieza de bitcoin se creará alrededor de 2140, lo que supone un suministro total de 21 millones de bitcoins. Suena como mucho tiempo, pero debido al hecho de que reducimos la cantidad a la mitad cada vez, el 99% de las bitcoins ya existirán para el año 2036. Esto convierte a Bitcoin en un recurso escaso y valioso en comparación con la moneda normal, que siempre se está creando y está sujeta a la inflación, valor que disminuye a medida que aumenta la oferta.

No hay tal cosa como un almuerzo gratis

Esto tiene una consecuencia importante: a medida que la creación de nuevos bloques produce cada vez menos dinero, el mantenimiento de enormes grupos de máquinas mineras se vuelve menos rentable. Necesitamos que continúen asegurando la historia a través de su inmenso poder de destrucción, así que hay otra forma de incentivar a los mineros: las tasas de transacción.

Cada vez que usted crea una nueva transacción, puede apartar algo de dinero para el minero que eventualmente agregará su bloque a la cadena de bloques. Cuanto más dé, más mineros elegirán su transacción en lugar de otras para su bloqueo, lo que hace que las posibilidades de confirmación rápida sean mucho mayores. Esto se denomina tarifa de transacción.

Actualmente, las transacciones sin comisiones de transacción básicamente no son aceptadas en absoluto – hay tantas que contienen una comisión que su transacción gratuita prácticamente nunca será confirmada. Durante los tiempos en los que la red Bitcoin es muy utilizada (como antes de que se hicieran las mejoras el 1 de agosto), las tarifas necesarias para la confirmación rápida pueden aumentar bastante a medida que la gente compite por espacio en bloques más duros, pero incluso entonces son mucho más bajas que las tarifas bancarias internacionales.

Seguridad en números

Como se ha señalado antes, recompensar la creación de bloques crea una carrera armamentista en la potencia de computación. Las tarifas de transacción sólo magnifican el efecto. Esto es muy saludable para la seguridad de nuestro sistema – cualquiera puede añadir bloques, por lo que cualquiera puede hacerlo de acuerdo a su propia agenda, pero para tener cualquier tipo de efecto significativo en todo el asunto tendrían que invertir una enorme cantidad de recursos.

Recuerde, la única manera de determinar qué versión del historial de transacciones es la comúnmente aceptada para buscar la más larga. En teoría, alguien que posee el 51% de la potencia de computación de la red es capaz de controlar completamente el sistema, ya que puede iniciar su propia rama de la cadena de bloques y crear nuevos bloques más rápido que nadie. La rama resultante se convertirá en la más larga y por lo tanto aceptada, invalidando cualquier bloque extraído en otras ramas. Realizar el ataque del 51% es, sin embargo, poco económico incluso para actores del tamaño de un gobierno o de una corporación multinacional – simplemente costaría demasiado por el problema.

Resumen

Todo el sistema funciona de la siguiente manera:

  • Usted crea una transacción a otra dirección de Bitcoin, reserva algo de dinero para un minero y firma la transacción con su clave privada correspondiente a su dirección de Bitcoin.
  • La transacción se publica en la red.
  • Algunos mineros recogen la transacción y la añaden al bloque que van a crear a continuación.
  • A continuación, tratan de crear un hash correcto para su bloque más rápido que otros. Seguirán poniendo datos aleatorios adicionales en el bloque y comprobando si el hash resultante tiene el número requerido de ceros a la izquierda.
  • Con un poco de suerte, uno de los mineros que tomó su transacción tendrá éxito. Transmitirá su victoria a la cadena, añadiendo su bloque a la cadena. Ahora, mientras sea la cadena principal y más larga, su transacción está en la historia oficial, junto con las recompensas del minero por los cargos de transacción en el bloque y la recompensa por minar el bloque en sí.
  • Los mineros entonces reúnen más transacciones, elaboran más bloques y repiten la competencia una y otra vez.
  • Cada paso está asegurado por una combinación de matemáticas y economía, produciendo algo nunca antes visto – una única, auténtica, pero distribuida y descentralizada fuente de verdad.

Y así es como funciona Bitcoin.