La tecnología Blockchain ha sufrido cambios significativos desde sus inicios, llamado la atención de gran variedad de público en todo el mundo. En los primeros días de esta tecnología, los participantes eran las personas que podían ver el cambio y estaban interesadas en la revolución que esa tecnología implantaría con su llegada. En su inicio, una tecnología social, una tecnología pública, al alcance de todos, para desarrollarla, contribuir a ella y participar activamente en su mejora. Sin embargo, las empresas y los gobiernos no tardaron en apreciar la tecnología y ver el potencial que escondía, prestando mucha atención para utilizarla en el desarrollo de sus proyectos privados.
Blockchain: Redes Públicas y Minería
Bitcoin es una cadena de bloques pública, a veces también llamada permissionless network. El proceso de prueba de trabajo muestra que una red de nodos que no se conocen o que no necesariamente confían entre sí puede llegar a un consenso sólido y convincente.
Las redes Blockchain que dependen de la Proof-of-Work emplean incentivos financieros como un sustituto aproximado de la responsabilidad.
Los participantes, llamados mineros, adivinan un número que, cuando se incluye en un bloque de transacciones y el hash anterior, producirá un hash que cumpla con ciertos criterios. Dado que las funciones hash son funciones unidireccionales, no existe un enfoque más eficiente para descubrir el nonce que el ensayo y error de fuerza bruta.
Los «ciertos criterios» se relacionan con las probabilidades de una conjetura aleatoria que produce un resultado deseado.
Por ejemplo, considere este registro de transacciones artificial que registra que Alice envía 10 a Bob y luego Bob envía 5 a Carol, en ese orden.
{ "transactions": [ { "from": "Alice", "to": "Bob", "amount": 10 },
{ "from": "Bob", "to": "Carol", "amount": 5 } ]}
Ahora, la lotería en la que compiten los mineros consiste en agregar otro elemento, el nonce, para que el hash resulte de cierta manera. Los mineros prueban las posibilidades de nonce usando la fuerza bruta hasta que se encuentra un nonce «ganador«.
{ "previous": "13D6029E991041CF589C56DEFFBE8D4531AF0B419F44C904AEC9A0F1DA3E51FD",
transactions": [ { "from": "Alice", "to": "Bob", "amount": 10 },
{ "from": "Bob", "to": "Carol", "amount": 5 } ], "nonce": 1234}
El nonce es un número sin sentido, por lo que cualquier entrada es aceptable, pero para ganar la lotería, el hash resultante debe comenzar con una cierta cantidad de ceros. Esto se conoce como «network difficulty«, y el protocolo lo ajusta automáticamente.
La dificultad aumenta a medida que más mineros se unen a la red para que el promedio móvil de los intervalos de descubrimiento de bloques coincida con un ritmo objetivo (10 minutos, para Bitcoin).
En cadenas de bloques de proof-of-Work, la confiabilidad, no el rendimiento, escala con la potencia de procesamiento.
La idea es hacer prohibitivamente costoso obtener y mantener el privilegio de definir bloques durante un período de tiempo que sería necesario para atacar la red.
En el momento de escribir este artículo, la «hash rate» de Bitcoin era de 136 millones de Tera hashes por segundo. La dificultad (ceros iniciales en los hashes del bloque) es tal que en todas esas conjeturas, solo uno de todos los mineros encuentra («descubre») un bloque una vez cada diez minutos, en promedio.
¿Por qué hacerlo tan difícil?
Recuerde que esta es una red de participantes anónimos que no se conocen ni necesariamente confían entre sí. Este proceso similar a una lotería evita que un atacante obtenga un grado de control desmesurado. El principal privilegio obtenido por el ganador de la lotería es cierta libertad sobre la inclusión de transacciones y pedidos en un intervalo de tiempo corto. De esta forma, se resuelve la incertidumbre por la latencia de la red sin recurrir a nodos privilegiados o autorizados.
Este proceso implica un compromiso considerable de recursos informáticos para competir por el privilegio de establecer el orden canónico de las transacciones que ya son conocidas por la mayor parte de la red.
¿Por qué un actor racional participaría en tal proceso?
Se produce un intercambio interesante. La red necesita una participación relevante en este proceso de lotería para frustrar diversas formas de ataque. Por lo tanto, la red necesita una forma de recompensar a quienes contribuyen. Este es el comienzo de la criptomoneda.
La red necesitaba una forma de pago para recompensar al minero exitoso, al ganador de la lotería, con Bitcoins. Este es el único proceso mediante el cual se emiten o acuñan Bitcoins.
En pocas palabras, cada Bitcoin se originó con un minero que descubrió un bloque.
Las redes públicas que se basan en nodos anónimos para ayudar a proteger la red generalmente se basan en una moneda criptográfica para recompensar el comportamiento deseable. También crean sanciones financieras por comportamiento incorrecto. La idea es repeler varias formas de ataque haciendo que dichos ataques sean financieramente inviables.
Reliable Processes
La prueba de trabajo y la cadena de bloques demuestran que un conjunto de nodos que no se conocen o que no necesariamente confían entre sí pueden formar un consenso sobre un conjunto de hechos. Los procesos simples de Bitcoin, es decir, la lógica comercial, se ejecutan de manera confiable en una plataforma distribuida porque el consenso ignora las entradas de los nodos atacantes o que funcionan mal.
La historia compartida confiable, el estado compartido y los procesos sólidos sin la necesidad de un registro centralizado han inspirado nuevas ideas sobre cómo construir sistemas para la industria de servicios financieros regulados. Pero, como verá, el entorno es muy diferente del objetivo de la red pública para el que se optimiza Bitcoin.
Blockchain: Redes Privadas y Consenso
Con las cadenas de bloques públicas vienen una cierta cantidad de propiedades. Por ejemplo, cualquier persona con una computadora y el software disponible gratuitamente puede participar, escuchando, realizando transacciones o minando.
Entonces, cualquier dato que incluya en una transacción o un contrato inteligente es público.
Puede tener anonimato, pero no tiene privacidad.
La apertura también implica que el sistema puede terminar con un número muy grande de participantes, cuya gestión requiere la aplicación de la teoría de juegos e incentivos económicos, como el gas. También significa que la barrera de rendimiento para la participación debe ser baja.
Debido a esta situación, las personas y las empresas decidirán cuidadosamente si usarán y qué almacenarán en Ethereum. Significa que hay lugar para otras implementaciones de una cadena de bloques, donde la participación quizás sea gratuita aunque no se otorgue automáticamente, o donde el consenso se alcance más rápido en una red de alto rendimiento.
En el panorama actual, eso significa reintroducir un nivel de centralización.