Qué significa el principio de no confianza en blockchain

Procuremos ser precisos en la conceptualización de esta tecnolgía

0

Muchos de nosotros somos culpables de describir a las cadenas de bloques como sistemas “de no confiar”. Sin embargo, me he dado cuenta de que este término es ambiguo, confuso y lo que es más importante, inexacto.

Las blockchains en realidad no eliminan la confianza, sino que minimizan la cantidad de seguridad que requerimos de cada participante. Lo hacen mediante la distribución de seguridad entre los diferentes actores del sistema a través de un juego económico que incentiva a los actores a cooperar con las reglas definidas por el protocolo.

Mira también: Blockchain y la teoría de juegos

Déjame explicar con más detalle

Un sistema transaccional verdaderamente sin confianza sería algo como esto:

Dos personas que están interesadas en realizar transacciones entre ellas cambian de manos directamente. Por lo tanto, están físicamente presentes y pueden verificar la transacción de dos maneras:

  1. Autenticidad: el remitente real está entregando el dinero ese momento.
  2. Sin doble contabilidad: el dinero no es falso, es un billete de 10 dólares real, por ejemplo.

Aunque teóricamente impecable, este sistema transaccional es limitado, puesto que las dos personas pueden comerciar entre sí solo cuando están presentes. Para que las economías funcionen a escala, un sistema transaccional debería permitir transferencias con cualquier persona en el mundo, independientemente de la distancia.

Entonces, lo que realmente queremos es:

Como se puede ver en el diagrama anterior, la forma en que logramos este objetivo es tener un intermediario que pueda facilitar la transferencia de valor para asegurarse de que el remitente real esté enviando el dinero y que este sea real.

Ahora, la pregunta que surge es ¿quién hace como el intermediario completamente confiable?

En los sistemas transaccionales modernos, el intermediario puede ser un banco —como Chase Bank—, un proveedor de pagos —como Paypal—, una empresa de remesas —como Western Union—, una tarjeta de crédito —como Visa—, etc. En este modelo centralizado, el banco legitima la transacción y garantiza al destinatario que está obteniendo dinero real.

En otras palabras, a menos que haya una transferencia física y directa de un individuo a otro, debe existir algún intermediario en el que “confiemos”.

Las cadenas de bloques no son diferentes

El protocolo de las blockchains permite que dos individuos realicen transacciones entre ellos de “persona a persona” a través de Internet. Cuando se transfiere digitalmente el valor de una cuenta a otra en una cadena de bloques, tú estás confiando en el sistema blockchain para habilitar esa transferencia y garantizar la autenticidad del remitente y la validez de la moneda.

En un sistema centralizado, confiamos en un solo tercero —por ejemplo, Chase Bank— para que actúe como el intermediario que garantice esas dos propiedades; en un sistema descentralizado, nuestra confianza se ubica en otra parte, concretamente en la llamada criptografía de clave pública y un “mecanismo de consenso” que nos permite determinar la verdad.

Criptografía de clave pública

La también denominada criptografía asimétrica usa:

  1. un conjunto de claves públicas visibles para cualquier persona y
  2. un conjunto de claves privadas visibles solo para el propietario.

La clave privada genera una “firma digital” para cada transacción en la cadena de bloques que envía un usuario. La firma garantiza la autenticidad:

  1. al confirmar que la transacción proviene del usuario y
  2. evitar que la transacción sea alterada por cualquier persona una vez que se haya emitido.

Cambiar el mensaje de transacción de cualquier forma hará que la verificación falle.

Entonces, hemos descubierto que la criptografía de clave pública nos ayuda a autentificar usuarios en un sistema de usuario a usuario. No obstante, para garantizar que no hayan dobles transacciones o doble contabilidad debemos hacer un seguimiento de quién tiene qué, de modo que podamos saber si alguien está enviando dinero digital real o dinero digital falso.

Aquí es donde el “sistema de consenso”, que nos permite preservar una verdad compartida digitalmente, debe entrar en juego.

Consenso de máquina (El protocolo criptoeconómico)

Las blockchains tienen una bitácora o registro compartido que nos da la verdad absoluta del estado del sistema. Utiliza las matemáticas, la economía y la teoría de juegos para incentivar a todas las partes del sistema a llegar a un “consenso” o llegar a un acuerdo sobre un solo estado de este registro.

Tomemos a Bitcoin como ejemplo. El protocolo de Bitcoin tiene un algoritmo de consenso llamado Prueba de Trabajo que mantiene el sistema unido. Para que una transacción se resuelva entre dos consumidores, el algoritmo requiere que un conjunto de nodos —llamados “mineros”— compitan para validar las transacciones resolviendo un complejo problema algorítmico.

En otras palabras, Bitcoin “incentiva económicamente” a los mineros para que compren y usen el poder de cómputo para resolver problemas complejos. Estos incentivos son:

  1. una comisión por transacción que pagan los usuarios por realizar una transacción y
  2. una recompensa de nuevos Bitcoins por resolver con éxito el rompecabezas.

Mira también: Blockchain y la Prueba de Trabajo (PoW)

Debido a estos incentivos económicos, los mineros vigilan constantemente la red para que puedan reunir un nuevo conjunto de transacciones que encajen en un nuevo “bloque”. Luego utilizan sus recursos informáticos para resolver el complejo algoritmo, con el fin de “probar” que se hizo algo de trabajo.

El primer minero que resuelve el algoritmo agrega una prueba y el nuevo bloque —y todas las transacciones en él— a la cadena y lo transmite a la red. En ese punto, todos los demás en la red sincronizan la última cadena de bloques porque es una “verdad” en la que todos creen.

Como los mineros están compitiendo para ejecutar cálculos, hay momentos en que se resuelven varios bloques al mismo tiempo. Esto luego crea un “cruce” de múltiples cadenas:

Cuando hay cruces como este, la cadena “canónica” de la red es la más larga, en la que la mayoría de los mineros confiaron y continuaron trabajando.

Cada nuevo bloque que se agrega a la blockchain, de esta manera, agrega más seguridad al sistema porque un atacante que quiera crear bloques nuevos que sobrescriban una parte de la historia necesitaría resolver el rompecabezas de manera consistente más rápido que cualquier otra persona en la red. Esto es prácticamente imposible de hacer, al igual que realizar ingeniería inversa o alterar los datos dentro de estos bloques. Por esta razón, los usuarios tienen seguridad en seguir confiando en el sistema.

Entonces, cuando negociamos el uno con el otro mediante una cadena de bloques, estamos anclando nuestra confianza en los mineros que invierten sus recursos en asegurar que no existan dobles transacciones.

Consenso social (Gobernabilidad)

Por supuesto, incluso si el consenso de máquina funciona a la perfección, nunca podemos garantizar una probabilidad del 100% de llegar a un consenso sobre otros aspectos importantes necesarios para mantener confianza en la red.

Por ejemplo, cuando la red anterior necesita ser actualizada, mejorada o reparada, necesitamos alguna forma para confiar en que la red y que todos sus participantes puedan manejar adecuadamente los cambios. En tales casos, se trata en gran medida de un esfuerzo de coordinación entre los constituyentes, o lo que yo llamaría un “consenso social” —por ejemplo, gobernanza—.

Si una cadena de bloques requiere una mejora —por ejemplo, mejores registros de transacciones—, necesitamos un mecanismo de gobierno que coordine los intereses de todas las partes involucradas —usuarios, desarrolladores, inversores, etc.— para encontrar la mejor solución. O, si hay una controversia sobre cuál es el mejor camino a seguir —por ejemplo, un cruce crítico—, entonces una comunidad necesita formar un consenso sobre qué hacer en adelante.

Si no se puede llegar a un acuerdo, la red se divide y las personas se ven obligadas a elegir un lado sobre otro en lugar de que todos crean en una verdad compartida. Los usuarios perderían la confianza en el sistema porque no podrían determinar razonablemente qué cadena era la cadena la más “válida”.

Existen muchos modelos diferentes para la gobernanza con cadena de bloques y sigue siendo un área de investigación activa en la comunidad. La gobernanza blockchain es un problema increíblemente complicado y encontrar un equilibrio entre el control centralizado y el distribuido será esencial para mantener la confianza de todos los involucrados en el sistema.

Mira también: Modelos de gobernanza con cadena de bloques

Conclusión

Cuando decimos que las blockchain “no son de confiar”, lo que queremos decir es que hay mecanismos establecidos por los cuales todas las partes en el sistema pueden llegar a un consenso sobre cuál es la verdad canónica. El poder y la confianza se distribuye —o comparte— entre las partes interesadas de la red —desarrolladores, mineros y consumidores—, en lugar de concentrarse en un solo individuo o entidad —bancos, gobiernos e instituciones financieras—.

Tal vez una forma más precisa de describir al principio de no confianza, es que la cadena de bloques se basa en la confianza distribuida: confiamos en todos, en conjunto.

Por supuesto, esto supone que la mayoría del poder mantenido en el sistema pertenece a partes interesadas que comparten valores similares. Lamentablemente, no creo que podamos afirmar, al menos no todavía, haber averiguado exactamente en qué consisten esos valores compartidos, de ahí, la proliferación de blockchains y cruces conflictivos en el último año.

La versión original en inglés escrita por Preethi Kasireddy se publicó en Medium.

¿Te gustó el artículo? ¡Puedes apoyar a Héctor Ruilova en Patreon!

Deje un Comentario

Su correo electrónico no será publicado.