Las firmas Schnorr es un esquema de firmas ligeras con la que se busca prosperar la privacidad de Bitcoin y otras criptomonedas. Además de esto dejará la aplicación de nuevas tecnología en pro de prosperar las capacidades y la escalabilidad de la blockchain.

Las Schnorr Signatures o bien firmas Schnorr, es una solución planteada en internet Bitcoin que busca progresar la privacidad y escalabilidad del sistema. Al dejar que un conjunto de firmas de transacciones con una misma entrada pueda ser reemplazada por una sola firma. Reduciendo el espacio de almacenaje ocupado en un bloque. Lo que, por su parte, deja que las transacciones puedan ser confirmadas de forma considerablemente más veloz, mejorando el desempeño de la red. La propuesta de mejora fue presentada por Pieter Wuille en el mes de julio de dos mil diecinueve.

Este nuevo esquema de firmas también deja prosperar la seguridad de la red, en frente de ataques de spammer. Puesto que con esta implementación, un atacante debería mandar considerablemente más cantidad de transacciones para ocupar exactamente el mismo espacio en un bloque. Haciendo que el ataque se vuelva más costoso y menos viable para el atacante.

¿De qué manera marchan las firmas Schnorr?

La primordial función de las firmas Schnorr es permitir, a múltiples usuarios, crear una firma única para todas y cada una de las partes implicadas. Reduciendo el tamaño de las transacciones y la cantidad de firmas precisas para efectuar una transacción.

El sistema Bitcoin usa el algoritmo ECDSA de firma digital de curva elíptica, a fin de que los usuarios puedan probar su propiedad sobre las salidas no gastadas (UTXO) de bitcoins. Entonces, toda vez que un usuario desee realizar una transacción, debe suministrar una firma que valide su propiedad. Por su parte, dicha transacción asimismo tiene un script P2SH, que determinará la manera en de qué manera se van a gastar las entradas de una transacción.

Estos scripts pueden alterarse para condicionar o bien programar el gasto de los bitcoins. Por poner un ejemplo, se pueden establecer condiciones de time lock o multisig. En este último, es preciso la configuración de múltiples firmas para autorizar una transacción. Las multisig emplean un esquema M-of-N, donde cualquier combinación de firmas válidas en N va a poder desbloquear las salidas no gastadas, al pedir un umbral con M número de firmas válidas. Entonces, para autorizar una transacción y gastar una salida, deben proporcionarse M número de firmas entre los participantes; donde cada una de estas firmas tiene un tamaño en bytes de longitud.

Es decir, pongamos que María, Juan y Pedro tienen una wallet con multisig, donde, para efectuar una transacción, deben firmar dos de los tres participantes. En este caso de ejemplo, cualquier combinación de firmas (N) van a poder autorizar la transacción, así sea que firme María al lado de Juan, o bien María al lado de Pedro, o bien Pedro al lado de Juan. O bien en su caso, exista otra condición que determine quienes habrán de ser los firmantes primordiales. Mas por norma general, el cumplimiento de dos firmas (M) autorizará la transacción. Sin embargo, el tamaño en bytes de una transacción con multi-sig va a ser mayor a una transacción usual que solo precisa de una firma.

En este punto es donde reside el inconveniente. Puesto que las multi-sig al tener que administrar una cierta cantidad de firmas para autorizar una transacción, el tamaño de la transacción medrará de forma proporcional a la cantidad de firmas que sean requeridas. Con lo que la implementación de las firmas Schnorr representa una auténtica solución a esta problemática. Esta solución combina todas y cada una de las firmas individuales en una misma firma, reduciendo, por su parte, el tamaño de las transacciones y los costos generados por las comisiones de la transacción.

Ventajas y también inconvenientes de las firmas Schnorr

Pros

  1. La implementación de este esquema de firmas puede mejorar la privacidad de la red, al dejar que las transacciones con la firma Schnorr se vean idénticas a las transacciones usuales de una sola firma. Con lo que son indistinguibles unas de otras.
  2. Las firmas Schnorr reducen la necesidad de espacio de almacenaje de las transacciones efectuadas con multifirmas, hasta en un veinticinco por ciento . Con lo que reducen el tamaño de la transacción en el bloque, ahorrando su espacio y reduciendo las comisiones por dichas transacciones.
  3. Al reducir el espacio de almacenaje de las transacciones en el bloque, las firmas Schnorr pueden contribuir a una mejor escalabilidad de la red.
  4. Esta implementación permitirá que las transacciones sean ratificadas y confirmadas de forma considerablemente más veloz. De esta froma se reduce significativamente el tiempo de espera de las confirmaciones en internet.
  5. Las firmas Schnorr no tiene inconvenientes de maleabilidad, con lo que ninguna parte puede alterar o bien trastocar una firma para producir doble gasto.
  6. Son parte esencial para la aplicación de Taproot una de las mejoras más aguardadas de Bitcoin para progresar su escalabilidad, privacidad y capacidad para smart contracts.

Contras

  1. En la implementación de las firmas Schnorr cada partícipe debe probar que su clave pública es válida, mediante una firma producida con su clave privada pertinente.
  2. La implementación de las firmas Schnorr expone un vector de ataque donde un partícipe puede demandar una clave pública falsa y supervisar el multi-sig.

¿Cuánto sabes, criptonauta?

¿La incorporación de firmas Schnorr va a mejorar la capacidad de Bitcoin de ofrecer privacidad y mejor escalabilidad?

Esquema de firmas múltiples MuSig

El esquema de firmas Schnorr fue creado en mil novecientos ochenta, por el criptógrafo alemán Claus-Peter Schnorr. Quien patentó su invención, impidiendo el empleo público y directo de este esquema. En dos mil ocho, la patante de esta creación vencío dando paso a que pueda ser utilizada de forma libre.

Posteriormente, en dos mil dieciocho, múltiples desarrolladores y programadores diseñaron un nuevo esquema de firma múltiple llamado MuSig, que está basado en las firmas Schnorr. Este nuevo esquema deja a los participantes de una multi-sig, la creación de smart contracts privados fuera de la blockchain.

Además, con la implementación de MuSig, se pueden añadir las firmas y claves públicas de cada partícipe del multi-sig, y producir una sola clave pública que compruebe el resto. En vez de tener que contrastar cada clave pública individual separadamente.

Firmas Schnorr y Bitcoin Cash

Aprovechando el gran semejante que existe entre Bitcoin y Bitcoin Cash, los desarrolladores de Bitcoin Cash han decidido aplicar las firmas Schnorr a la alteración de su protocolo. El desarrollador Mark Lundeberg fue quien hizo todo este trabajo para hacer que Bitcoin Cash pudiese aprovechar este nuevo esquema de firmado, que sería opcional al sistema ECDSA.

La red Bitcoin Cash se actualizo para hacer empleo de este género de firmas el día quince de mayo de dos mil diecinueve. A resultas de esta actualización, Bitcoin Cash consiguió reducir en un cuatro por ciento el tamaño de las firmas digitales de las transacciones. Y al tiempo, reducir en un veinte por ciento el tamaño de las transacciones con el consecuente incremento en la capacidad de procesamiento de transacciones de la red.