La Blockchain: no solo una descentralización bonita

La Blockchain: no solo una descentralización bonita

En el artículo anterior, exploramos el concepto de la Web3 y su enfoque en la colaboración, creación de valor y la importancia de la interacción directa y segura de los usuarios. También discutimos brevemente sobre las tecnologías descentralizadas y su contraparte centralizada.

En este segundo artículo de la serie, no solo nos adentraremos en algunos conceptos básicos del funcionamiento de la Blockchain -esta tecnología descentralizada clave que impulsa la Web3-, sino también en cómo comenzar a utilizarla.

La Blockchain, como mencionamos previamente, es una red de registro descentralizado que permite a varias partes confiar en una base de datos compartida sin la necesidad de un intermediario central.

Quienes construyen los bloques registrados en la Blockchain son los llamados mineros, que reciben una recompensa por cada bloque construido que es aceptado por los demás mineros y los llamados nodos completos, y cuya integridad se respalda a través de distintos tipos de “pruebas” que dependen del protocolo de la red.

Es decir que cualquier usuario de la red puede participar en la aprobación de un nuevo bloque. ¿Cualquier usuario? Bueno, no cualquiera en el sentido azaroso: cualquiera que haya “pasado la prueba” del protocolo en cuestión.

Estos protocolos son en realidad algoritmos de consenso que intentan, en definitiva, resolver el problema de la confianza que existe en los entornos descentralizados: es un conjunto de reglas que determina el criterio para considerar confiable (y luego, válido) a un bloque.

Históricamente, tanto en Ethereum como en Bitcoin se utilizaba la Proof Of Work -que requiere de mucho esfuerzo computacional pues implica la resolución de un “problema criptográfico”-, pero hace un tiempo Ethereum modificó su protocolo (en un acontecimiento que se llevó a cabo el 15 de septiembre de 2022 y se llamó The Merge) por la Proof Of Stake -en la que la probabilidad de encontrar un bloque de transacciones y recibir el premio correspondiente es directamente proporcional a la cantidad de monedas que uno tiene en stake-.

La Blockchain es descentralizada porque opera en una red distribuida de nodos autónomos que participan en el proceso de validación de las transacciones, lo que la hace además resistente a la censura y a los ataques maliciosos, y garantiza la continuidad y la disponibilidad de los datos almacenados en ella.


¿Por qué decimos que no es solo una descentralización bonita?

La Blockchain no es solo descentralizada, sino que cumple también con dos características fundamentales: es verificable e inmutable.

Es verificable porque cada evento registrado puede ser verificado públicamente: cualquier persona puede -además de ingresar al explorer de la red y ver el historial completo de transacciones y bloques e información sobre cualquiera de las billeteras virtuales- descargar y disponer de su propio nodo y verificar por su cuenta. Esta transparencia y la posibilidad de verificación en tiempo real aumentan la confianza en el sistema y nos van convenciendo de que no necesitamos de intermediarios o terceros.

Es inmutable porque cada bloque es parte de una cadena y contiene no solo un identificador -llamado hash- que se relaciona con los datos dentro del bloque, sino también una referencia al bloque anterior. Es por esto que, una vez que se ha registrado un evento en la cadena, es prácticamente imposible modificarlo: cualquier cambio realizado en un bloque afectaría su identificador y, en consecuencia, rompería la continuidad de la cadena. Como mencionamos anteriormente, los datos almacenados en la blockchain son distribuidos y replicados en los múltiples nodos de la red, por lo que si alguien intentara modificar un bloque en su copia de la cadena, los demás nodos lo detectarían.

En conclusión, la modificación de un bloque necesita o bien del consenso de la mayoría de los nodos -prácticamente imposible dado la autonomía y cantidad de ellos- o el cambio en todos los bloques posteriores -computacionalmente imposible por la PoW, y económicamente imposible por la PoS pues-.

¿Cómo funcionan exactamente los algoritmos de Proof Of Work y Proof Of Stake?

Proof Of Work

Supongamos que somos un minero en Bitcoin que quiere registrar un nuevo bloque en la red. Este bloque en cuestión, además de información sobre algunas transacciones, contiene un valor llamado nonce. Este nonce -que objetivamente no es más que un contador- va a ser la clave para que nosotros logremos resolver este famoso problema criptográfico. ¿Cómo?

Acá necesitamos introducir la noción de función de hash. Una función de hash toma un input de cualquier tamaño y nos devuelve un output de una longitud fija. Pero no sólo eso, si no que es no continua (es decir, que inputs “parecidos” nos devuelven outputs absolutamente diferentes), y no tiene inversa (es decir que, dado un output, no podemos calcular el input): es por esto que es muy segura en términos criptográficos.

El problema criptográfico a resolver es el de encontrar el input que le tenemos que dar a nuestra función de hash para que nos devuelva el output esperado por la red (en el caso de Bitcoin, este output tiene que empezar con al menos una cierta cantidad de 0s, definida previamente por el protocolo, de manera que se mantenga estable el registro de un nuevo bloque cada 10 minutos, por lo que a más poder computacional en la red, más cantidad de 0s necesitará nuestro output).

Como es de esperarse, el input que vamos a mandar es nuestro bloque. ¡¿Y cómo hacemos que el mismo bloque nos devuelva outputs diferentes?! Pues con nuestro querido nonce: la primera vez, a nuestro bloque lo mandaremos con el nonce en 0. La segunda, en 1. La tercera, en 2… Y así sucesivamente (y tiene que ser en orden, pues el nonce también está relacionado con la seguridad… aunque ahí no ahondaremos).

La Proof Of Work resulta entonces competitiva, pues el minero que  resuelva antes el problema será quien pueda registrar el bloque en la red y obtener la recompensa de minado.

💡
Dato: este algoritmo de consenso fue introducido por primera vez para proteger nuestro email del spam, varios años antes de que la blockchain existiera.

Proof Of Stake

Supongamos que somos un minero en Ethereum que quiere registrar un nuevo bloque en la red. Pues bien, por empezar no vamos a llamarnos más mineros, dado que no vamos a necesitar minar nada ni resolver ningún problema criptográfico: lo que vamos a necesitar son varios pares de miles de dólares, al menos los equivalentes a 32 ETH.

Los nodos en este protocolo son llamados validadores, elegidos “azarosamente” para validar.

Pero, para ser elegibles necesitan constar de un stake -es decir, no solo poseer el dinero si no además no gastarlo por varios meses- de, al menos, 32 ETH. Y decimos “azarosamente” pues cuanto más dinero tiene en stake el nodo, más probabilidades tiene de ser elegido para confirmar el bloque.

Además, otra condición obligatoria es la de asegurar que el nodo esté continuamente conectado a la red.

La seguridad de este algoritmo se da por el staking: si se detecta un comportamiento sospechoso o malicioso en un nodo, puede ser penalizado con la pérdida total o parcial de su stake.

En ambos algoritmos resultan muy comunes los grupos de minería o staking: un conjunto de mineros o nodos validadores que unifican sus posibilidades computacionales o económicas (y por ende, sus chances de resolver el problema o ser elegidos por la red) y luego reparten proporcionalmente la recompensa.

Entonces, ¿con cuál nos quedamos?

Los algoritmos de PoS hacen a su red más eficiente energéticamente, más rápida, barata y escalable y más amigable para nuevos nodos, pues es más barato hacer stake de un cierto dinero que comprar el hardware necesario -que además en pocos años quedará obsoleto- para montar un nodo de Bitcoin.

Pero los algoritmos de PoW hacen a su red más segura y descentralizada.

¡¿Pero con cuál nos quedamos?! Y bueno… eso dependerá de cuáles sean nuestras prioridades. Si quisiéramos guardar los ahorros de toda nuestra vida probablemente nos convendría hacerlo en Bitcoin, pero si quisiéramos realizar transacciones cotidianas, probablemente nos convendría hacerlo en Ethereum.

💡
Las opiniones y comentarios emitidos en este artículo son propiedad única de su autor y no necesariamente representan el punto de vista de Listopro.

Listopro Community da la bienvenida a todas las razas, etnias, nacionalidades, credos, géneros, orientaciones, puntos de vista e ideologías, siempre y cuando promuevan la diversidad, la equidad, la inclusión y el crecimiento profesional de los profesionales en tecnología.