Multifirma es un concepto familiar para la mayoría en Bitcoin: una transacción multifirma requiere la aprobación de varias partes antes de poder ejecutarse. Distinguimos entre “norte-de-norte” multifirmas, donde el número de partes involucradas es nortey todos necesitan aprobar, y “t-de-norte“umbral de firmas, donde sólo un número menor t de los participantes deben aprobar. Esquemas criptográficos como MuSig, MuSig-DN y MuSig2 para firmas múltiples y ESCARCHA de Komlo y Goldberg para el umbral de firmas puede reducir el costo de transacción y mejorar la privacidad de las billeteras multifirma.
Hasta ahora, en la comunidad Bitcoin, FROST solo se ha utilizado en implementaciones experimentales. En esta publicación, explicamos por qué es así y cómo pretendemos hacer avanzar FROST en un entorno de producción de Bitcoin a través de nuestra reciente publicación de un Borrador BIP para ChillDKG Protocolo de generación de claves distribuidas.
Primero, ¿cuáles son los beneficios de FROST?
Ganancias de privacidad y eficiencia con MuSig2 y FROST
Con MuSig2 y FROST, aunque varios participantes contribuyen al proceso de firma, el resultado es una firma única.
Esto no solo brinda mayor privacidad a los participantes al hacer que la transacción parezca una transacción ordinaria de billetera única. También reduce la transacción, reduciendo su tamaño y, por lo tanto, reduciendo la tarifa de transacción. ¡Todas las cosas geniales!
MuSig2 y FROST permiten a los usuarios de Bitcoin operar una billetera multifirma con el mismo costo de transacción que una billetera normal de firma única. Los beneficios de costos son especialmente significativos para sistemas con una gran cantidad de firmantes y transacciones frecuentes, como cadenas laterales federadas como Líquido o fedimint. A diferencia del multisig tradicional, que deja una huella digital distintiva que permite a los observadores de blockchain identificar las transacciones de la billetera, las billeteras basadas en FROST son indistinguibles de las billeteras normales de firma única en blockchain. Por lo tanto, proporcionan una mejora en la privacidad en comparación con las billeteras multifirma tradicionales.
Si bien MuSig2 ha sido adoptado por la industria de Bitcoin, hasta donde sabemos, no se puede decir lo mismo de FROST. Esto puede resultar sorprendente, considerando la existencia de múltiples implementaciones de FROST, como en FROST ZF (por la Fundación Zcash), secp256kfun (por Lloyd Fournier), y una implementación experimental en libsecp256k1-zkp (por Jesse Posner y Blockstream Research). Incluso existe una especificación IETF para FROST, RFC 9591 (aunque no es compatible con Bitcoin debido a ajustes de Taproot y claves públicas exclusivas para x). Una de las explicaciones más plausibles es que el proceso de generación de claves de FROST es considerablemente más complejo en comparación con MuSig2.
El rompecabezas sin resolver de FROST en los sistemas de producción
FROST consta esencialmente de dos partes: generación de claves y firma. Si bien el proceso de firma se parece mucho al de MuSig2, la generación de claves está mucho más involucrada que en MuSig2. La generación de claves en FROST es confiable o distribuida:
- La generación de claves confiables implica un “distribuidor confiable” que genera la clave y distribuye acciones de claves a los firmantes. El distribuidor representa un único punto de falla: si es malicioso o pirateado, la billetera FROST corre el riesgo de ser vaciada.
- La generación distribuida de claves (DKG), si bien elimina la necesidad de un distribuidor confiable, presenta sus propios desafíos: todos los participantes deben participar en una “ceremonia” interactiva de generación de claves antes de que pueda comenzar la firma.
El desafío central: el acuerdo
DKG normalmente requiere canales seguros (es decir, autenticados y cifrados) entre los participantes para entregar archivos compartidos secretos a firmantes individuales, y un mecanismo de acuerdo seguro. El propósito del mecanismo de acuerdo seguro es garantizar que todos los participantes lleguen finalmente a un acuerdo sobre los resultados del DKG, que incluye no sólo parámetros como la clave pública umbral generada, sino también si no se produjo ningún error y si la ceremonia no fue interrumpida por un participante que se porta mal.
Si bien la especificación IETF considera que DKG está completamente fuera de alcance, las implementaciones FROST mencionadas anteriormente no implementan un acuerdo seguro, dejando esta tarea al usuario de la biblioteca. Pero implementar un acuerdo no es fácil: existen innumerables protocolos y tipos de acuerdo, que van desde simples esquemas de transmisión por eco hasta protocolos de consenso bizantinos completos, y sus garantías de seguridad y disponibilidad difieren significativamente, y a veces sutilmente.
A pesar de la confusión que puede surgir debido a esta jungla de protocolos de acuerdo, el tipo exacto de acuerdo en el que se basa DKG a menudo no se comunica claramente a los ingenieros, dejándolos en la oscuridad.
ChillDKG: un DKG independiente para FROST
Para superar este obstáculo, proponemos ChillDKG, un nuevo protocolo DKG “listo para usar” adaptado al uso en FROST (borrador). Proporcionamos una descripción detallada en forma de borrador de una propuesta de mejora de Bitcoin (BIP), que pretende servir como especificación para los implementadores.
La característica principal de ChillDKG es que es independiente: el establecimiento de comunicaciones seguras y acuerdos seguros se realiza dentro del protocolo, mientras que toda esta complejidad subyacente se oculta detrás de una API simple y difícil de usar incorrectamente. Como resultado, ChillDKG está listo para usarse en la práctica y no se basa en ninguna suposición de configuración, excepto que cada firmante ha decidido el conjunto de cofirmantes identificados por claves públicas individuales. ChillDKG se basa en el protocolo SimplPedPop, en cuyo diseño y prueba formal de seguridad ha participado Blockstream Research, ver el documento CRYPTO 2023 “Firmas prácticas de umbral de Schnorr sin el modelo de grupo algebraico” por Chu, Gerhart, Ruffing (Blockstream Research) y Schröder
Los objetivos adicionales para el diseño de ChillDKG incluyen:
- Amplia aplicabilidad: ChillDKG admite una amplia gama de escenarios, desde aquellos en los que los dispositivos de firma pertenecen y están conectados por una sola persona hasta aquellos en los que varios propietarios administran los dispositivos desde distintas ubicaciones.
- Copias de seguridad simples: en lugar de tener que hacer una copia de seguridad de los secretos recibidos de los otros firmantes en una ubicación segura, ChillDKG permite restaurar la billetera únicamente desde la semilla del dispositivo y los datos públicos que son los mismos para todos los participantes de DKG. En consecuencia, un atacante que obtiene acceso a los datos de la copia de seguridad pública no obtiene la clave de firma secreta y, si un usuario pierde su copia de seguridad, puede solicitarla a otro firmante honesto.
El ChillDKG BIP Actualmente se encuentra en etapa de borrador y estamos buscando comentarios sobre las opciones de diseño y los detalles de implementación. Si bien la especificación está prácticamente completa, carece de vectores de prueba y estamos considerando agregar algunas características adicionales (por ejemplo, “abortos identificables”). Una vez finalizado, el BIP ChillDKG se puede utilizar en combinación con un BIP para la firma FROST para crear una instancia de todo el protocolo FROST.
Esta es una publicación invitada de Jonas Nick, Kiara Bickers y Tim Ruffing. Las opiniones expresadas son enteramente propias y no reflejan necesariamente las de BTC Inc o Bitcoin Magazine.