El trust machine o Blockchain tiene un gran potencial para actividades como los registros de propiedad inmobiliaria, de bienes de lujo o de obras de arte.
Por: Manuel Moreno
Tomado de Agenda WEF
La tecnología de cadena de bloques o blockchain – bautizada como “máquina de la confianza” o trust machine – podría estar llamada a desempeñar un papel significativo en el funcionamiento de la economía, con un alcance aún por vislumbrarse.
Esta tecnología permite albergar bases de datos públicas con acceso libre y anónimo de usuarios, registrando el historial de todas las transacciones, y manteniendo la integridad y confianza en los datos, sin una autoridad central que los valide.
De momento, la utilización más conocida del blockchain son las criptomonedas como el bitcoin, muchas veces vehículo de transacciones ilegales, lo que confiere una connotación negativa a la tecnología subyacente.
Sin embargo, tiene un gran potencial para otro tipo de actividades como los registros de propiedad inmobiliaria, la propiedad de bienes de lujo o de obras de arte.
En adelante describiremos el procedimiento utilizado para registrarse en el sistema de forma anónima, es decir, sin aportar identificación personal alguna, así como la manera de generar las transacciones que se quieren registrar.
Conocer el pasado
Primero, conviene repasar algunos antecedentes sobre la criptografía, la cual es una disciplina antigua como demuestra el bien conocido cifrado de César, utilizado durante varios siglos y consistía en sustituir cada letra por otra situada un número determinado de posiciones más adelante en el alfabeto.
Desde entonces se han propuesto numerosos sistemas de cifrado prácticamente imposibles de desentrañar, pero cuya principal debilidad no residía en el cifrado en sí, sino en el hecho de que la clave debía ser conocida tanto por el emisor como por el receptor, corriendo el peligro de ser interceptada.
En la década de los 70 (con el desarrollo de la computación) nacen los sistemas de clave asimétrica, los cuales utilizan dos claves:
- Una pública para encriptar;
- Otra privada para desencriptar el mensaje.
De esta forma, quien conoce solo la clave pública no es posible descifrar el mensaje: solamente puede hacerlo quien dispone asimismo de la clave privada.
Por otra parte, las claves son invertibles de forma tal que un mensaje cifrado con la clave privada debe descifrarse con la clave publica.
Cuestión de cálculo
Para poder llevar a cabo los cálculos necesarios, los mensajes son transformados en cadenas numéricas mediante la aplicación procedimientos ya estandarizados (como puede ser el Código ASCII) y se someten a encriptación mediante una operación computacionalmente sencilla pero difícilmente invertible. Aquí entra en juego la aritmética modular.
En efecto, una clave de encriptación que consistiera en elevar a una potencia – aunque fuera con un exponente muy elevado – sería fácil de descifrar mediante el cálculo del logaritmo inverso.
Sin embargo, si la encriptación se lleva a cabo en modulo (n), el descifrado implicaría el cálculo del logaritmo inverso discreto, operación para la que no existe algoritmo de cálculo y que queda fuera del alcance de los sistemas actuales de computación cuando los valores del módulo y el exponente son muy elevados.
Este es el procedimiento del sistema RSA, el sistema de clave pública más utilizado. Dicho sistema, en un encriptado de clave pública (n, e), transforma un mensaje m en M mediante el cálculo de M ≡ me (mod n), es decir, calculando el resto de dividir me por n.
Para el desencriptado debe recurrirse a la teoría de los números primos la cual, para determinados valores del módulo, permite determinar un parámetro d que deshace el encriptado, transformando el mensaje cifrado Men el mensaje original m mediante la operación m ≡ Md (mod n) que puede expresarse también como m ≡ (me)d (mod n).
Esta fórmula pone de manifiesto que los parámetros e y d son intercambiables en modulo n.
Es decir, puede encriptarse con e y desencriptarse con d, o viceversa, pero solamente quien conoce ambos puede actuar en los dos sentidos.
La puerta de la computación cuántica
El funcionamiento del sistema requiere que el módulo de n (de conocimiento público) sea producto de dos números primos lo que, de alguna forma, es un punto débil porque si se obtienen los dos factores primos del módulo es posible calcular los parámetros utilizados al encriptar y desencriptar.
Sin embargo, cuando se manejan módulos de 100 o 200 cifras la factorización requeriría millones de años con la capacidad de computación actual.
En cualquier caso, los avances en la computación requerirán módulos cada vez mayores para evitar la factorización lo cual, al mismo tiempo, dificultará el encriptado.
En el caso del bitcoin se utiliza la criptografía de curva elíptica, la cual requiere claves más reducidas para el mismo nivel de seguridad.
Su fundamento matemático es más complicado, está basado en la teoría de grupos y la aritmética modular, haciendo uso de propiedades de las curvas elípticas.
En último término, la idea subyacente es la misma que en el caso anterior: establecer un sistema de encriptación computacionalmente asequible cuyo desencriptado solo sea posible si se dispone de una llave apropiada.
Matemáticas en acción
Vuelve a aparecer aquí nuevamente la aritmética modular, lo que me lleva a un comentario personal, porque en mis ya lejanos años universitarios me preguntaba qué utilidad tendría el saber que 15 y 50 eran congruentes módulo 7 porque dejan el mismo resto (1) al dividir cualquiera de esos números por 7.
En sus propios términos, 50 ≡ 15 (mod 7). La criptografía moderna me ha dado la respuesta (y el blockchain, usos).
La criptografía de clave pública permite identificar digitalmente al emisor de un mensaje. Un emisor que envía un mensaje encriptado con su clave privada a la que acompaña de su clave pública, está dando prueba de que el mensaje debe atribuirse a quien ostenta la clave pública, porque solo con ella puede descifrarse el mensaje enviado.
La clave pública servirá para definir la identidad del emisor y no podrá ser utilizada por terceros para generar mensajes válidos, porque desconocen la clave privada.
Generar los elementos de una clave pública puede hacerse de manera aleatoria, sin necesidad de una autoridad de control, si se tiene en cuenta que una clave puede tener 256 bits, por lo que la probabilidad de generar aleatoriamente claves coincidentes resulta despreciable (1/2256).
Basta pensar en la conocida leyenda del rey de la India (sobre la creación del ajedrez), quien se comprometió a llenar un tablero de ajedrez con granos de trigo doblando el número de granos en cada casilla.
Solamente para llenar la casilla 64 hubiera necesitado 264 granos, más o menos la cosecha mundial de 500 años.
Identidad resguardada
Como consecuencia la participación en un sistema blockchain puede tener lugar de forma totalmente anónima.
No se requiere una autoridad central para registrarse como usuario del sistema y el registro se hace directamente sin aportar identificación alguna, porque el sistema genera aleatoriamente las correspondientes claves pública y privada – que satisfacen las condiciones exigidas –.
Establecida una identidad (clave pública) puede empezarse a operar en el sistema generando transacciones.
A tal efecto deberá transmitirse la siguiente información:
- La dirección de origen (clave pública del emisor).
- La dirección del beneficiario (clave pública del beneficiario).
- La transacción a realizar encriptada con la clave privada del emisor –que representa la firma de la operación porque solo su clave pública permite desencriptarla–.
Adicionalmente debe proporcionar un vínculo a la transacción anterior con su clave pública, que servirá para confirmar que dispone de los recursos necesarios para la transacción que propone.
Con todo, se entiende que haya mucho que ganar con este avance de la criptografía. Una nueva era.
1 comentario