Una de las mejores formas de proteger algo y asegurar continuidad de funcionamiento de un sistema es la redundancia. Redundancia es simplemente tener una función y objeto repetido además distribuidos en varios lugares, de esa manera si algo sucede, siempre tenemos un respaldo. Lo que llamamos Blockchain utiliza esta idea para crear un sistema de registro muy seguro, acá explico de manera sencilla esta tecnología.
Muchos hemos jugado una mejenga (partido informal de fútbol). Si en ese partido dejamos que solo un jugador mantenga el registro de los goles, tenemos que confiar en esta persona. Si este jugador decide engañarnos y ninguno de las/los otros jugadores mantiene registro del marcador, nos podrían engañar. Pero claro, los que hemos jugado mejengas sabemos que eso no sucede, porque en realidad todas las personas que participan en el partido mantenemos el registro en nuestra memoria, así, al final podemos verificar el resultado correcto, porque mantenemos un registro del marcador de forma repetida, y distribuida.
Resulta ser que esa es una manera muy efectiva de asegurarse que algún registro de información se mantenga seguro, es decir, repetir y distribuir, y luego por consenso determinar si el registro es correcto. Claro, en nuestro partido, podría haber un complot y todos las personas de un equipo podrían decidir engañarnos, pero esto implicaría una coordinación importante y compleja. Por ejemplo en torneo informal de fútbol 5 (5 por equipo), donde existan unos 10 equipos, Serían 50 personas participando que mantendrían el marcador en su memoria, y preparar un engaño sería bastante complicado, y es probable que nunca haya sucedido.
¿Pero qué aplicación real tiene esta idea?. Supongamos que vivimos en una comunidad con 1000 personas, y queremos establecer un sistema de préstamos descentralizado y sin intermediario. Es decir, cualquier par de personas pueden prestarse dinero. Para mantener un registro seguro de préstamos y pagos, el par de personas que hacen la transacción, podrían mantener un libro de registro de la actividad. ¿Cómo me aseguro que no haya engaño? ¿Que no me cobren más? ¿Que hagan un mal registro de mis pagos?, podríamos tener un árbitro o notario, un intermediario el cual debe tener nuestra confianza. Pero ¿qué tal si el que registra o notario nos engaña, o se equivoca y registra mal?. El sistema tradicional de banca, o de registro de propiedad, funciona de esa manera, a través de un intermediario, y debe mantener nuestra confianza y la integridad de la información para que funcione. No estoy sugiriendo que el sistema tradicional sea fraudulento o siempre se equivoque, pero sí que es vulnerable a cambios no autorizados, por una o ambas partes, y además depende de un intermediario y la confianza.
Una solución es que, en nuestra comunidad, cada persona tenga una copia del libro. De esa forma habría 1000 copias del registro de transacciones, y estaría distribuido entre personas de la comunidad
La transacción se hace directo de persona a persona, y para registrarla, se envía una notificación a todos los participantes de forma simultánea, en nuestro ejemplo, serían las 1000 personas de la comunidad. Estas reciben la información de la transacción, revisan el registro, y verifican que todo esté bien, basado en las reglas previamente definidas, y cada uno aprueba la transacción y notifica al siguiente. Al igual que en la mejenga, sería difícil que alguien intente alterar los registros con éxito, porque tendría que modificar los 1000 libros de la comunidad.
El paso final sería que los miembros de la comunidad no deberían ver directamente cual es la transacción que se realiza, sino simplemente poder determinar si es válida y luego que quede en los registros. Para eso se utiliza algún tipo de codificación que deje ilegible a simple vista el detalle de la transacción. Esa codificación es un cifrado, que llamamos “encriptación” que es un anglicismo.
La encriptación consiste en convertir datos a símbolos o caracteres para prevenir acceso no autorizado a esos datos. En otra columna hablaré de este proceso en detalle, acá lo que importa es que en nuestro sistema comunitario de registro hay un proceso de encriptación que permite que el registro se guarde, se verifique y replique, pero sus detalles sólo puedan ser vistos por aquellos que tienen la autorización. Ese proceso además garantiza que no se pueda cambiar ningún registro pues aunque se pueden validar, no se pueden borrar, y toda acción, se registra como nueva transacción, aunque sea la renegociación de un préstamo, por ejemplo, que aparecería como un nuevo registro, no como registro modificado.
Bueno, el “Blockchain” es básicamente ese sistema distribuido y sin intermediario que describo en la comunidad de 1000 personas. Más formalmente blockchain es un sistema de registro o libros notariales, que se encuentra distribuido en una red grande de computadoras, y con un algoritmo complejo de encriptación. un “bloque” se agrega al sistema después de cada cierto número de transacciones, que va generando una “cadena” de bloques (de allí el nombre blockchain), que es verificada y distribuida digitalmente por una red descentralizada de computadoras.
Mucha gente piensa que Bitcoin y Blockchain son la misma cosa, no lo son. Bitcoin es una criptomoneda que utiliza blockchain como sistema de registro, es decir, blockchain es la tecnología detrás de las criptomonedas para dar confianza en estos sistemas monetarios digitales.
En otra columna hablaré un poco más de criptomonedas, encriptación y otras cosas del mundo digital. Recuerden que la intención de esta columna es la de explicar a un público amplio los principios base de muchas tecnologías o fenómenos científicos, en ese proceso me tomo algunas libertades de interpretación para facilitar la explicación.
P.D. Muchas gracias a Justin Alberto Castillo Valladares, quién es experto en blockchain, por comentarios que ayudaron a mejorar este artículo.
Dr. Tomás de Camino Beck,
Director de la Escuela de Sistemas Inteligentes
Universidad Cenfotec