Signature Aggregation o Agregación de Firmas, es una técnica criptográfica que es empleada para unir dos o más firmas digitales. Un proceso que busca la unión de las mismas para que representen una firma digital única y válida para un documento o información digital, que puede ser fácilmente verificable.
Una de las funciones de criptografía más esperadas en el mundo de Bitcoin es la conocida Signature Agreggation o Agregación de Firmas. Esta es una función que busca expandir y mejorar las capacidades de firma digital de esta criptomoneda. Pero ¿Qué es exactamente la Signature Aggregation? Pues bien, examinemos a fondo a esta tecnología.
Signature Agreggation, una nueva forma de realizar firmas digitales
Cuando hablamos de Signature Agreggation (SA o Agregación de Firmas), nos referimos a una nueva técnica o protocolo criptográfico que busca ampliar las capacidades de firma digital. Más específicamente, Signature Aggregation busca hacer que dichas firmas puedan agruparse y comprimirse de una forma única, pero que puede ser verificada en todo momento si es necesario. De esta manera, las firmas que forman una SA pueden representarse en una única firma digital, pero dicha SA puede servirnos para validar correctamente los datos asignados a cada una de las firmas digitales dentro de esa misma SA.
Suena complejo, ¿no? Ciertamente lo es, pero detrás de la complejidad se encuentra un razonamiento muy sencillo que explicaremos rápidamente con este ejemplo:
Imagina por un momento que tienes un documento digital que tiene que recibir tres firmas digitales. Si el documento recibe las firmas digitales de estas personas, cualquier persona que pueda leer sus metadatos puede ver de quién son las firmas, y no solo eso, el documento en sí mismo ha aumentado de tamaño en cuanto a almacenamiento hablamos.
Pero ¿Qué pasaría si aplicamos una Signature Aggregation o Agregación de Firmas? Pues bien, en ese caso, las tres personas que firman el documento lo hacen de forma normal, pero a medida que las firmas se van uniendo, el algoritmo las une para generar una única firma digital, que luego se une al documento digital. Con ello, en primer lugar, firmamos el documento y se puede validar, en segundo lugar, nadie podrá saber exactamente quienes son los que han firmado el documento, pero igualmente sigue siendo válido, y tercero, ahora el documento al solo tener una firma digital, ocupa mucho menos espacio de almacenamiento.
Una tecnología para mejorar la seguridad de nuestras transacciones
Esto es exactamente lo que hace una Signature Aggregation, y es perfecto para ser usado en la tecnología blockchain, en especial en transacciones multifirma u otras operaciones de multifirma ya que nos permite ahorrar espacio de almacenamiento en los bloques, mejorando con ello la escalabilidad, y al mismo tiempo, mejorando la privacidad de la red al proteger nuestras firmas digitales en un ambiente públicamente auditable como lo es una blockchain.
Con esto podemos ver claramente por qué existe tanto interés en implementar dicha tecnología en Bitcoin y otras criptomonedas, algo que está más cerca de lo que parece.
Agregación de firmas y firmas Schnorr
En otro artículo de Bit2Me Academy hemos hablado de las firmas Schnorr y del gran interés por implementarlas en Bitcoin. Pues bien, parte de ese interés está relacionado directamente con la Agregación de Firmas o Signature Aggregation (SA). ¿La razón? Las firmas Schnorr se diseñaron desde su base para soportar este tipo de características. Esto las hace idóneas para este tipo de técnicas criptográficas.
De hecho, las firmas Schnorr permitirían llevar la Agregación de Firmas en Bitcoin mucho más allá, permitiendo que transacciones individuales con múltiples entradas y, por ende, con firmas distintas para cada entrada, puedan ser representadas por una única firma digital de este tipo. Esta característica es conocida como Cross-input Aggregation, y puede ayudar a salvar hasta un 30% de espacio en los bloques de Bitcoin. Una situación que permitiría un aumento de espacio para introducir más transacciones en cada bloque mejorando la escalabilidad de la red. Ni hablar de la privacidad alcanzada por este sistema, ya que de esta única firma es imposible rastrear las firmas individuales, imposibilitando el rastreo de firmas con sus correspondientes entradas dentro de cada transacción. Aunque, este esquema de Cross-input Aggregation quizás no lo veamos en bitcoin nunca, debido a lo que explica Gregory Maxwell en un extenso hilo en Bitcointalk.
Sin embargo, en Bitcoin la mayoría de los desarrolladores están de acuerdo que la Agregación de Firmas es vital, y esta iría de la mano de tecnologías como las firmas Schnorr y Taproot, donde podría explotar al máximo sus capacidades. Y es que recordemos que, el objetivo de Taproot es habilitar mejores y más complejos scripts dentro de Bitcoin. Scripts que por supuesto van acompañados de firmas digitales, y que podrían ser sustituidas por una Agregación de Firmas sin mayores problemas.
¿Cuánto sabes, criptonauta?
¿La Signature Aggregation mejora la privacidad de nuestras transacciones?¡CIERTO!
Si estas usando direcciones multifirmas con cualquier esquema aceptado en Bitcoin, entonces podrás disfrutar de una mejor privacidad en tus transacciones, ya que estas lucirán como una transacciones de criptomoneda normal, permitiéndote ocultar esta información del resto de personas que observan la blockchain de Bitcoin.
Ventajas y desventajas de la Signature Aggregation
Ventajas
Ahora bien, examinemos un poco cuales son las ventajas y desventajas que se presentan con este nuevo sistema de firmas digitales. En el caso de sus ventajas podemos mencionar:
- Reduce en gran medida el tamaño de la sección de firmas digitales para las transacciones multifirmas. Esto permite salvar espacio dentro de los bloques para que otras transacciones se coloquen dentro del mismo mejorando así la escalabilidad de la red.
- La verificación de las firmas se realiza de forma más rápida y eficiente. Esto debido a que solo se debe verificar una firma en lugar de varias firmas a la vez. Esto reduce la necesidad de potencia para esta tarea.
- En tercer lugar, el anonimato se optimiza hasta cierto punto. Esto debido a que la firma agregada es un compuesto de firmas individuales pertenecientes a usuarios individuales. Sin embargo, es imposible saber cuáles de esas firmas fueron el origen de la firma agregada.
- La Agregación de Firmas es un pilar fundamental para tecnologías como MAST, Taproot, Grafroot, además de abrir las puertas a nuevas mejoras para protocolos de segunda capa, atomic swaps y otras implementaciones on-chain.
Desventajas
Sin embargo, por desventajas podemos mencionar:
- Es una implementación bastante compleja de realizar. De hecho, el equipo de desarrollo de Bitcoin lleva cerca de dos años trabajando en esta implementación y aún continúa en desarrollo.
- Se necesita de una cuidadosa implementación para evitar ciertos vectores de ataques que habilitarían el gasto no autorizado de fondos. Esto es posible si se usa un esquema falso de firmas agregadas en un tipo de ataque conocido como Rogue Attack. Este ataque lo que hace es, en cierta forma, “falsificar” una firma digital. Esto obliga a que la otra parte revele información que pueda ser usada en su contra. Con dicha información, el atacante puede de forma trivial, calcular una firma digital válida para un esquema de firmas agregadas. De esa forma, puede efectivamente robar el dinero de una dirección que no está bajo su control. Esta es una de las razones de la cuidadosa implementación de firmas agregadas en Bitcoin.
- Existe la posibilidad de usar agregación de firmas para cubrir a todas las transacciones dentro de un bloque. Sin embargo, esto pone en grave riesgo la seguridad de Bitcoin y cualquier criptomoneda que implemente dicha función. Esto se debe a que, si un atacante logra llevar a cabo un Rogue Attack, o descubre algún otro fallo en la implementación, podría robar los fondos de ese bloque o serie de bloques con suma facilidad.