Las firmas Schnorr son una firma criptográfica patentadas 1989 por su creador Claus-Peter Schnorr. Consiste en un algoritmo de creación de firmas criptográficas, en otras palabras, un método para generar claves. Con Schnorr se pueden crear llaves públicas y privadas, como las que usamos para validar y enviar una transacción de Bitcoin.
Satoshi Nakamoto configuró el Algoritmo de Firma Digital de Curva Elíptica (ECDSA, Elliptic Curve Digital Signature Algorithm) como el método de generación de firmas y llaves que actualmente se usa en el Bitcoin. Este es de código abierto y uno de los más conocidos.
Los algoritmos (ECDSA y Schnorr), ambos utilizan funciones matemáticas de curva elíptica para generar claves de forma aleatoria. La ventaja de Schnorr consiste en que, con este algoritmo, podemos sumar o agregar varias firmas y generar una sola firma que las resuma a todas como resultado.
Beneficios de Schnorr para el Bitcoin
Permitirá tomar las firmas de varios usuarios y convertirlas en una sola que valide una transacción, esto es especialmente beneficioso al momento de hacer una transacción multi firma. Con una sola firma se incurre en una reducción del peso de datos que tiene una transacción. Por otra parte, el método Schnorr beneficia la seguridad, pues las firmas generadas por este algoritmo son más difíciles de falsificar o forzar.
En cambio, según los expertos, las firmas ECDSA son maleables, o modificables, tienen el potencial de sufrir ataques de maleabilidad. Esto significa que un hacker puede ver una transacción en la red y las firmas que la validan, y a través de la ingeniería inversa, puede generar nuevas firmas, con el objetivo de clonar la original y reenviar una transacción falsa. Por su parte las firmas Schnorr, no son maleables.
¿Por qué no se usaron desde un principio?
Al comienzo el Bitcoin necesitaba de un software abierto y seguro. Es por eso que ECDSA, fue el algoritmo elegido por Satoshi, que cuenta con una licencia OpenSSL, uno de los estándares de licencia abierta más populares en el mundo. Así la principal criptomoneda por capitalización de mercado contaba con mecanismos que fueran estables, desplegables y verificables por los operadores.
No obstante, ya han pasado muchos años desde que venció la patente de las firmas Schnorr. Este fue un tiempo suficiente para estudiarlas y ponerlas a prueba, y que los usuarios aprendieran a usarla. Es por eso por lo que ha llegado la hora de utilizar las firmas Schnorr como el algoritmo de creación de firmas criptográficas para el Bitcoin.