Glosario cripto

Esquema de compromiso

Definición

Un esquema de compromiso permite fijar un valor ahora sin revelarlo y abrirlo después demostrando que no se cambió entre medias.

Un compromiso funciona como un sobre cerrado. Quien se compromete publica un valor corto derivado de su secreto y de cierta aleatoriedad; más tarde revela el secreto y la aleatoriedad, y cualquiera puede comprobar que coinciden. Un buen esquema tiene dos propiedades: ocultación, de modo que el compromiso no revela nada del valor, y vinculación, de modo que no se puede abrir después con un valor distinto.

La versión más sencilla es el hash del valor con una sal aleatoria. Los esquemas más avanzados añaden funciones. Los compromisos de Pedersen se pueden sumar sin abrirlos, lo que permite a monedas de privacidad como Monero y a los diseños de transacciones confidenciales ocultar importes demostrando que las entradas igualan a las salidas. Los compromisos polinómicos como KZG permiten comprometerse con un gran conjunto de datos y demostrar después valores concretos con poco coste. Las raíces de Merkle comprometen conjuntos completos de datos.

Los compromisos son piezas básicas de las pruebas de conocimiento cero, los rollups, los sistemas de votación, las subastas y los juegos en cadena. Su seguridad depende del supuesto en que se basan, como la resistencia a colisiones de un hash o la dificultad del logaritmo discreto, y de usar aleatoriedad nueva; una sal predecible puede hacer adivinable el valor oculto.

Ejemplo

En un juego en cadena, cada jugador publica el hash de su jugada más un número aleatorio; cuando ambos se han comprometido revelan las jugadas, y ninguno pudo cambiar la suya tras ver la del otro.

Términos relacionados