La importancia del consenso en sistemas descentralizados
Supongo que habrás oido hablar de bitcoin y de la blockchain, el sistema que lo soporta. Ahora mismo no hay conversación en la que no salga la palabra bitcoin. La red está llena de debates sobre si hay una burbuja especulativa o bien estamos ante el inicio de una nueva etapa de nuestra civilización caracterizada por un cambio de sistemas y modelos. El trayecto de la centralización a la descentralización. Hay un dicho en los mercados financieros que dice que cuando tu limpiabotas empieza a hablar de activos financieros es el momento de vender. De ser cierta, habría que salir corriendo de bitcoin y otros cryptomonedas.
En este artículo no pretendo profundizar en bitcoin o la blockchain. No soy un experto (estoy estudiando para entenderlo profundamente pero estoy en una fase en la que son más las preguntas que las respuestas) y en internet encontrarás mucha y buena información sobre cryptocurrencies y sistemas descentralizados. Se están escribiendo ríos de bytes sobre estos temas. Mi intención es hablar de una de las características claves para que los sistemas descentralizados funcionen: el consenso.
A groso modo, las blockchain funcionan gracias a la importancia del consenso entre los diferentes nodos que forman la red. En el caso de bitcoin estos nodos son los denominados miners que son los que hacen funcionar la blockchain mediante la certificación de las transacciones. Blockchains hay muchas y la de bitcoin sólo es una mas (la más “famosa”). Blockchain es un sistema descentralizado y como todo sistema descentralizado requiere de un protocolo de consenso para poder operar. Un consenso que dote de confianza, seguridad y amparo a todas las partes. Al no existir una autoridad central (como son los el BCE, FED, BOJ en el sistema financiero) que dicte las reglas, éstas se han de construir en base a consensos. Y conseguir consensos no es trivial. La mayoría de artículos que he leído sobre este tema lo enfocan desde la perspectiva tecnológica. Destacan los principales problemas para conseguir consensos en sistemas descentralizado como son los posibles fallos en la red (latencia, nodos no conectados) o bien nodos que fallen o que sean maliciosos. Pero no he leído nada sobre la parte psicológica y sociológica del consenso, aspectos que para mi son vitales y que conforman mi escepticismo sobre la descentralización, un concepto hermoso y filosóficamente atractivo, pero tengo mis dudas sobre su aplicabilidad y sus resultados. Algo parecido al desengaño del Comunismo. Por qué no nos olvidemos que detrás del código de los algoritmos, detrás de la infraestructura tecnológica hay personas con sus intereses particulares.
En el caso de bitcoin, el consenso se consigue mediante un sistema de incentivos a los miners (los incentivos son fundamentales en el diseño del comportamiento humano). Los miners cobran una comisión en bitcoins por cada bloque aportado a la blockchain. Mientras esta comisión compense los costes cada vez más altos del mining (por la exigencia computacional del Proof Of Work), todo los nodos están alineados para hacer el trabajo correctamente. Cobrar en bitcoins con el activo disparado es un gran incentivo. ¿Pero que pasará cuando no sea así? De hecho, el sistema de incentivos de bitcoin se revisa a la baja cada cuatro años. En un futuro próximo es esperable que los miners cobren menos.
Por otro lado, cada vez son más las transacciones de bitcoin pendientes de confirmar y por tanto, de formar parte de la blockchain. Siguiendo la lógica de los incentivos económicos, los miners prorizan las transacciones con mayores comisiones (se puede decidir la comisión de cada transacción) mientras que las que no tienen comisiones están en cola. Una cola cada vez más larga a medida que aumentan las transacciones y que hace que el tiempo de confirmación de las transacciones se alarge más allá de los deseable.
Hay que tener presente que tanto bitcoin como blockchain están en una fase embrionaria. Hay problemas varios relacionados con la escalabilidad del modelo, el coste creciente del mining, el consumo de electricidad, su democratización como medio de pago, los robos y hackeos(ayer mismo Youbit un exchanger de Coreo del Sur fue hackeado y tuvo que cerrar perdiendo 4.000 bitcoins con un valor de $73 Mio), entre otros. Necesita tiempo para madurar, pero el tema del consenso es estructural. ¿Cuantas organizaciones de nuestra civilización funcionan por consenso? Pocas y poco relevantes. Las empresas suelen tener un responsable máximo que es el CEO que es quién toma las decisiones junto a su equipo directivo y que responde ante un Consejo de Administración y en última deriva antes los accionistas. No están organizadas como cooperativas. Los equipos deportivos también tienen una persona que toma las decisiones. En este caso es la figura del entrenador o coach. Las alineaciones de los equipos no los deciden los jugadores sino que es potestad de un equipo técnico donde el entrenador tiene la última palabra. Los Estados democráticos tienen su equipo directivo en forma de Gobierno. Un gobierno elegido por democracia representativa cada cierto tiempo, pero la toma de decisiones no es consensuada sino potestad del gobierno. Salvo en Suiza, ¿cuantás veces se consulta a la ciudadanía? Pocas, no sea que decidan lo contrario a los intereses del gobierno de turno. Las sociedades están construidas sobre la base del Estado de Derecho caracterizado por un sistema normativo en forma de leyes con un cuerpo judicial que dirimen los conflictos. Un sistema normativo para defender al hombre de sí mismo. Si analizamos la historia podemos ver que el “consenso” lo ha impuesto el ganador de las sucesivas guerras que han marcado el devenir de la Historia. Por no hablar de si realmente es positivo que todo el mundo pueda opinar y votar sobre todo los problemas y decisiones. Por lo que: ¿Es el consenso una utopia? Creo que si.
Pensar que el consenso puede ser la piedra angular de la formación de un nuevo sistema, sobreestima la naturaleza humana. Los humanos somos seres egoístas e irracionales. Lo hemos demostrado a lo largo de miles de años. Yo no me fiaría de ninguno. De hecho, la filosofía de la blockchain es sustuir la necesidad de confianza y seguridad entre las partes, por los llamados “smarts contracts”. Un sistema donde confiamos más en el código y las máquinas que en la personas. Por qué repito, no somos de fiar.
Por otro lado, los consensos basados en incentivos puramente monetarios son muy frágiles. Son caros y duran poco. El amor es un consenso que puede mantener a parejas unidas muchos años. Un proyecto común también puede consensuar la relación entre socios. Pero en ambos casos ¿cuantas situaciones de ruptura de parejas y sociedades conocéis? Seguramente muchas. Las circunstancias cambian constantemente y nos vamos adaptando a ellas, deshaciendo consensos pasados y construyendo nuevos. De hecho, en bitcoin a pesar de su corta trayectoria, ya ha habido separaciones (denominados forks) con la creación de blockchains, alternativas al Bitcoin “original” (Bitcoin Gold, Bitcoin Cash) y otras que están por venir. Todo fluye nada es permanente.
Desde un punto de vista intelectual es tentadora la idea de poder deshacerte de autoridades que gestionan de forma centralizada los principales sistemas que rigen nuestra sociedad. Sobretodo, porqué la experiencia nos ha demotrado que están muy lejos de ser perfectos. Responden a intereses ocultos, minoritarios, sufren la esclerosis de la corrupción y son reactivos al cambio. Por lo que la posibilidad de encontrar alternativas es sugerente y necesaria. Y la narrativa teórica de las cryptomonedas y de blockchain es sumamente atractivo, pero creo que utópico. Quizás en un futuro donde la inteligencia artificial tome los mandos de las decisiones humanas, blockchain tenga todo el sentido. Un futuro donde mis clientes cumplan putualmente con sus compromisos de pago de facturas ya que han firmado un smart contract ejecutable automáticamente. Lo que si parece es que el papel de los seres humanos cotiza a la baja a favor del software.