Consensos

bitcoinbizantino

Vamos a volver unos años atrás para entender desde donde viene el concepto que instaura Bitcoin: el conflicto de los generales bizantinos, la solución de la teoría de consensos. Incluso nos iremos a sus orígenes, durante la época de Augusto en Roma, el ejército romano, para mantener la buena diplomacia entre las tribus -ajenas a sus ciudades- tomaba como prisionero a los hijos de los jefes tribales (de las zonas que pretendían conquistar), aunque algunas existen versiones que indican que también les beneficiaban pues los llevaban a los palacios, y los condecoraron como líderes en buenas posiciones de sus ejércitos. Ese fue el caso de Arminio, quién dejó su ciudad a temprana edad siendo tomado por los Romanos, que deseaban el aumento en el pago de impuestos de dicha tribu y lo lograrían una vez tomaran al hijo mayor del jefe tribal, quién muchas veces sucedía al padre en la administración de la tribu., en este caso Arminio.

Pues bien, esta breve historia tiene relevancia en la teoría de los consensos porque Arminio realmente sentía un incentivo de volver a su tribu familiar, de vengarse de quien habría sido el maltratador (en algunos casos benefactor)  y es así que su vida estuvo llena de sangre, mentiras y traición: fue la batalla del bosque Teutónico cuando venció a 3 legiones de tropas romanas tras generar un alianza con las tribus. Este es un ejemplo de cómo los generales bizantinos-romanos- muchas veces flaqueaban entre sí al existir incentivos diversos con los que poder traicionar a Roma. En esta nueva cripto-digitalización pasa exactamente lo mismo, de existir fallas, y por ende, incentivos para aprovecharse de ellas, los ciber programadores, hackers o cualquier experimentado de la materia va a tender a aprovecharlas, solo no lo harán si es que existen los incentivos correctos para no hacerlo, para no traicionar, para no coludirse.

Esta teoría se mezcla con las telecomunicaciones de muchos años atrás cuando daba inicio a la informática (década de los 70′), desde incluso que se iniciara el planteamiento de la comunicación entre dos sistemas computacionales, nació el ya mencionado teorema de los generales bizantinos: cómo pueden llegar dos oficiales a un acuerdo de atacar a una ciudad, si se tienen que comunicar a través de un medio hostil y con aliados (otros oficiales), quiénes pueden tener incentivos para decirles que su oficial al mando les mandó a retirarse, de modo de ser ellos quienes ataquen la ciudad, y traicionen a los demás oficiales. 

La respuesta tardó en llegar pero se llamó Algoritmos de consensos.

colusion
Ejemplificación del caso de los generales bizantinos y el incentivo por traicionar.

Principales conceptos de consensos

Los consensos son mecanismos que permiten la coordinación de usuarios dentro de un entorno informático, garantizando un acuerdo entre todos los participantes de una red sobre un tema instaurando una única e inalterable transparencia -norma-. Se considera una única verdad y es totalmente respetable, por ende se le conoce como tolerante a fallas bizantinas. 

En un orden centralizado, existe una entidad que tiene poder sobre todo el sistema, pues al no existir ningún ente fiscalizador puede generar los cambios que desee, no obstante, en un sistema descentralizado múltiples partes tienen que aportar (leer y escribir) sobre una dicha verdad, lo que hace improbable su modificación (pero no imposible). Crear un sistema que lograse superar este desafío fue lo que propuso Satoshi Nakamoto, y es a partir de dicha respuesta al mecanismo de consensos que se dio vida a la blockchain como un libro mayor distribuido (distributed ledgers).

Bitcoin ¿cómo comenzó a operar?

Es evidente observar que de Bitcoin salieron las demás operaciones en lógica y ordenamiento, no obstante, si se preguntan si bitcoin posee el mejor sistema de consensos, la respuesta puede no converger, debido a los problemas que existen respecto a la capacidad de computo, que a medida que pasa el tiempo va en aumento, y que además, cada vez se requieren mayores capacidades para minar bitcoins. Pero remontemos atrás y entendamos los conceptos clave necesarios para dar con qué sistema de consenso es el mejor.

La red blockchain va actualizando su escritura en la medida que los nodos participantes van escribiendo, adjuntando y validando transacciones, son los nodos mineros los encargados de desencriptar toda esta información (que va añadida a los bloques). Una vez que verifican que la información sea válida, los adjuntan a la cadena, y ésta opera como si fuera un dominó de modo que la verificación va generándose en cascada en toda la red minera al mismo tiempo.

Es la red de Bitcoin y las públicas en general en las que se encuentra la clave para convertir el mundo de hoy, en el mundo descentralizado del mañana. Como en estas redes no existe un ente central que lo gobierne, son las reglas del juego inicial las que deben satisfacer toda clase de incentivos adecuados para que las partes funcionen de manera armónica, honesta y transparente. Estos principios de incentivos y colusión tiene una base en la teoría de juegos y equilibro de Nash, los que han hecho de la blockchain de bitcoin un sistema sólido y efectivo a través del tiempo.

En general las redes descentralizadas al modificarse las reglas del juego requiere la aceptación de una mayoría (que también se define al inicio a través de un protocolo). Mientras que las centralizadas no requiere de un consenso mayoritario, más bien solo basta que los entes que poseen “poder” puedan modificar el estatuto o norma central.

teoria de consenso

¿Qué incentivos son los que se da?

Tipos de Algoritmos de consensos

Hoy por hoy, no hay nada más apremiante solucionar los problemas medioambientales y de contaminación a nivel mundial, por lo que mucho se habla sobre el impacto de la minería de bitcoin que está basada en el consenso de Pruebas de trabajo (Proof of work). Aquí se deja un artículo respecto de ello

También se hace la declaración de parte de la comunidad de Ethereum de querer aplicar Pruebas de Garantías (Proof of stake) a su sistema de validación de bloques (que hoy por hoy se consigue a través de la capacidad de cómputo como lo hace bitcoin), aquí se deja una nota

Para los más atrevidos y que buscan entusiasmarse con sistemas mixtos, dejamos aquí un sistema de tercera generación de cadena de bloques que mezcla los dos anteriores: STACK.

Pero lo cierto es que cada vez hay más innovación al respecto y hay muchos tipos de algoritmos de consensos. Es claro observar que si un proyecto desea ser sustentable y considera que el medio ambiente es primordial para el funcionamiento de dicha criptomoneda, entonces no será a partir de la capacidad de cómputo que esa moneda sea generada, sino que tendrá otras directrices. Por lo tanto y como conclusión antes de introducirte a este mundo de minería, volatilidad, deflación y criptoactivos, echa un vistazo también en los consensos que están involucrados dentro de la blockchain, para que tengas completamente el mapa de lo que estás haciendo.