Saltar al contenido
Ultimas Noticias de Criptomonedas Bitcoin, Ethereum, XRP

Comparación de Multisig, intercambio de secretos de Shamir y MPC

marzo 16, 2024
comparacion-de-multisig,-intercambio-de-secretos-de-shamir-y-mpc

Para cualquiera que tenga importantes tenencias de bitcoins, una estructura de custodia que incluya un único punto de falla debería considerarse inaceptable. Si una billetera tiene un solo componente que, en caso de pérdida o robo, puede provocar una pérdida permanente de fondos, entonces es simplemente demasiado peligroso como para considerarlo. Nadie quiere mantener una riqueza significativa al borde de la catástrofe.

Los poseedores individuales de bitcoins tienen numerosas herramientas disponibles que pueden ayudar a reducir el riesgo de pérdida o robo. En un artículo anterior, cubrimos algunas de estas herramientas, destacando las modificaciones utilizadas aplicadas a las billeteras singlesig. Sin embargo, también explicamos por qué estos enfoques no logran eliminar por completo los puntos únicos de falla.

Para una empresa, gobierno u otra institución que quiera asegurar una tesorería de bitcoins, eliminar los puntos únicos de falla no es sólo algo bueno, sino un requisito previo. Los únicos modelos de custodia que vale la pena considerar para estas entidades son los que incluyen un requisito de umbral para acceder a los fondos. Un requisito de umbral describe una estructura que involucra múltiples componentes garantizados por separado, donde se necesita un subconjunto de esos componentes para aprobar cualquier retiro. Esta es la única manera de lograr una seguridad de nivel institucional, eliminando por completo los puntos únicos de falla.

En este artículo, cubriremos cómo aplicar la seguridad de umbral utilizando tres métodos diferentes: script multisig, intercambio de secretos de Shamir (SSS) y computación multipartita (MPC). También profundizaremos en las ventajas y desventajas asociadas con cada enfoque y cómo una institución puede elegir la mejor configuración para satisfacer sus necesidades.

visita nuestra pagina web para obtener una suscripción anual a la revista Bitcoin (valor de $ 79) cuando se registra en una bóveda de Unchained.

¿Qué es multifirma?

Si no está seguro de qué es el script multisig, le recomendamos consultar nuestro articulo anterior dedicado a explicar cómo funcionan las billeteras multifirma y para qué se utilizan. Como repaso rápido, una billetera multifirma implica Múltiple claves privadasy se puede configurar para que se requiera un número específico (umbral) de esas claves privadas para firmar cualquier transacción. Las firmas se pueden producir en diferentes momentos y ubicaciones, lo que permite que cada clave permanezca parcialmente separada. Una vez que se ha producido un número umbral de firmas, se pueden combinar en una única transacción de bitcoin capaz de gastar los fondos.

Un quórum multifirma de script 2 de 3, donde se requiere un umbral de dos firmas únicas de dos claves para los retiros.

Esta forma relativamente sencilla de crear un requisito de umbral es muy eficaz para eliminar todos los puntos únicos de fallo. Siempre que el umbral de gasto sea mayor que uno pero menor que el número total de claves, cualquier clave puede perderse, ser robada o destruida sin que Bitcoin se vuelva irrecuperable. Las claves restantes podrían firmar una transacción de recuperación moviendo fondos a una nueva configuración multifirma.

Satoshi Nakamoto sentó las bases para la multifirma cuando se lanzó bitcoin por primera vez, anticipando que podría ser un mecanismo popular para asegurar fondos. Sin embargo, no fue hasta el Horquilla blanda P2SH en 2012 que multisig comenzó a convertirse en una herramienta ampliamente utilizada. Desde entonces, Multisig ha demostrado ser un modelo de seguridad probado durante más de una década, en varios países diferentes. tipos de direcciones.

¿Cuál es el secreto que comparte Shamir?

El secreto intercambio de Shamir (SSS) es un algoritmo de intercambio secreto desarrollado por el renombrado criptógrafo Adi Shamir en 1979. Puede usarse como otra forma de introducir un requisito de umbral para proteger bitcoin. SSS permite a los usuarios dividir una clave en varias «partes compartidas» distribuidas, siendo necesario solo un cierto umbral de partes compartidas para volver a ensamblar la clave. Esto se puede utilizar para diseñar quórums como 2 de 3 o 3 de 5, similar a multisig.

Una disposición SSS 2 de 3, donde dos cualesquiera, representadas por formas de colores, pueden volver a ensamblar la clave de una billetera de una sola firma. La clave puede producir la firma única necesaria para retirar fondos.

Sin embargo, este enfoque todavía conduce a puntos únicos de falla en ciertos momentos durante su ciclo de vida. Un ejemplo es cuando la clave se divide inicialmente en acciones SSS. Esta operación generalmente se realiza en un solo dispositivo en un solo momento y lugar. Si un atacante compromete ese dispositivo, el proceso de generación de claves o el proceso de creación de recursos compartidos, ha comprometido la clave. Otro ejemplo es cuando el usuario necesita volver a ensamblar la clave para firmar una transacción. Se debe reunir un número umbral de recursos compartidos, nuevamente en un solo dispositivo en un solo momento y lugar, que un atacante podría explotar.

Un método bastante simple y ampliamente utilizado para implementar la tecnología SSS para la custodia de criptomonedas es a través de respaldo de shamirdesarrollado por Satoshi Labs en 2017. Se puede encontrar como opción en ciertos modelos de billeteras de hardware Trezor.

visita https://unchained.bitcoinmagazine.com/ para obtener más información sobre la custodia colaborativa y acceder a descuentos exclusivos en los servicios de Unchained.

¿Qué es MPC?

MPC, o computación multipartita, es un subcampo de la criptografía que se remonta a la década de 1970. El objetivo de MPC es permitir que varios participantes realicen un cálculo de forma conjunta, mientras que la contribución de cada participante al cálculo no se revela al resto del grupo y, por lo tanto, puede permanecer privada. Esto permite que varias partes colaboren en varios contextos sin necesidad de confiar el uno en el otro.

Cuando se aplica a la custodia de bitcoins, MPC implica «acciones» distribuidas, similar a SSS. Sin embargo, a diferencia de SSS, las acciones no se separan de una clave privada ni se utilizan para reconstruir una clave privada. En cambio, varias partes calculan una firma única directamente a partir de un umbral de sus acciones.

Una disposición MPC 2 de 3, en la que dos acciones cualesquiera, representadas por formas coloreadas, pueden producir una firma directamente sin ensamblar primero una clave.

A diferencia de SSS, MPC no necesita un único punto de falla. Las acciones de MPC se pueden generar por separado unas de otras y nunca es necesario juntarlas para operar la billetera. La información producida a partir de una acción puede comunicarse con los demás participantes, sin que se revele la acción en sí.

Dado que bitcoin y otras criptomonedas han utilizado principalmente un sistema de firma basado en ECDSA (Algoritmo de firma digital de curva elíptica), el MPC tuvo que adaptarse a este contexto. Los primeros protocolos de umbral prácticos para ECDSA se publicaron en 2018.[[GG18, LNR18]

¿Cuáles son las compensaciones entre los modelos de umbral?

Con tres modelos de umbral de seguridad diferentes para elegir, el siguiente paso es comprender las fortalezas y debilidades de cada opción.

Compensaciones con multifirma

Script multisig es una forma estandarizada de lograr un umbral de seguridad, nativa del protocolo bitcoin. La estructura se considera relativamente simple y robusta. La barrera de entrada también es pequeña: si un usuario de bitcoin sabe cómo operar una billetera monofirma, entonces no es un gran salto aprender a configurar y usar una billetera multifirma.

Cuando se inicializa una billetera multifirma, las direcciones producidas para recibir bitcoins en la billetera tienen el requisito de umbral incorporado. Una vez que se ha financiado una dirección multifirma, el bitcoin está protegido por un contrato inmutable que esencialmente se ha escrito en la propia cadena de bloques. La única forma de modificar el contrato (como cambiar la política de control de acceso, ajustar qué claves protegen el bitcoin) es mover el bitcoin a una nueva dirección que se creó con un contrato diferente. Para varias partes que colaboran para asegurar bitcoin, este mecanismo de contrato inmutable a nivel básico puede proporcionar el mayor grado de seguridad de que el dinero está asegurado de acuerdo con la intención de todas las partes. Si algo cambiara esencialmente, sería obvio para todos al ocurrir una transacción pública, y se conocerían las claves que aprobaron el cambio. Es por eso que los proveedores de custodia colaborativa como Unchained confían en script multisig para nuestros productos.

Sin embargo, la implementación pública de contratos en blockchain conlleva compensaciones. Como bitcoin se gasta desde una dirección multifirma, la política de control de acceso para esa dirección debe publicarse permanentemente en la cadena de bloques. Luego, los observadores pueden ver los detalles del quórum multifirma que se estaba utilizando. Aunque los fondos restantes se pueden migrar fácilmente a una nueva dirección en el futuro, el hecho de que se expongan acuerdos de seguridad anteriores no es ideal. Además, la necesidad de mover bitcoins de una dirección a otra para ajustar la política de control de acceso significa que las tarifas de transacción siempre están involucradas en el proceso (y cuanto mayor sea el quórum, más costosa será).

Para las entidades que valoran la custodia de altcoins, como los intercambios de criptomonedas, el script multisig puede representar un desafío mayor que los otros dos métodos de umbral de seguridad. Esto se debe a que se impone un quórum de umbral multifirma en el nivel de blockchain y diferentes criptomonedas utilizan diferentes blockchains. Muchas criptomonedas ni siquiera permiten una implementación multifirma nativa y robusta. Mientras tanto, SSS y MPC imponen quórums umbral en el nivel clave y públicamente parecen transacciones de firma única. Dado que casi todas las criptomonedas admiten un estándar similar para la custodia de una sola firma (se puede usar la misma clave en la mayoría de las criptomonedas), esto permite que SSS y MPC sean más compatibles entre cadenas.

Compensaciones con el intercambio secreto de Shamir

SSS ofrece otra forma de diseño un requisito de umbral basado en una criptografía relativamente simple y probada en batalla. Para fines de custodia de criptomonedas, SSS también tiene un método ampliamente implementado con una barrera de entrada baja (respaldo de shamir). Una vez que alguien tiene experiencia en el uso de una billetera singlesig convencional, no es un gran salto usar Trezor para configurar una billetera con una copia de seguridad de Shamir.

A diferencia de multisig, SSS opera completamente fuera de las direcciones y transacciones públicas en blockchain. En cambio, el requisito de umbral se decide según cómo se divide la clave privada en partes. Esto significa que dividir una clave en acciones y luego volver a ensamblarlas se puede hacer en privado, de modo que solo las personas que participan en el acuerdo de custodia de bitcoin sepan que se está utilizando SSS. Además de las ventajas de privacidad, mantener la estructura de umbral fuera de la cadena de bloques también significa que las transacciones SSS no darán lugar a mayores tarifas y se pueden utilizar para proteger muchas criptomonedas diferentes. Aunque la mayoría de las criptomonedas tienen sus propias cadenas de bloques únicas, todas pueden compartir la misma clave privada como punto de acceso y esa clave, a su vez, se puede dividir mediante SSS.

La mayor desventaja de SSS ya se mencionó anteriormente: la clave privada debe existir en un lugar al mismo tiempo, antes de dividirse por primera vez en acciones, y también cuando las acciones se recombinan con el fin de aprobar un retiro. Estas vulnerabilidades crean puntos únicos temporales de falla, lo que significa que SSS por sí solo no ofrece seguridad de nivel verdaderamente institucional, a diferencia de multifirma o MPC.

Además, SSS no ofrece de forma nativa un método para ajustar la p olítica de control de acceso. Una vez que una clave privada se divide en un quórum de acciones, esas acciones siempre mantendrán la capacidad de reproducir esa clave. Si un grupo está asegurando una tesorería en conjunto mediante SSS y un miembro del grupo se va, revocar los permisos de esa persona de manera segura puede representar un desafío. Los miembros restantes del grupo podrían volver a ensamblar la clave y luego dividirla en nuevas acciones, pero las antiguas acciones tendrían que ser destruidas de manera verificable. De lo contrario, los fondos deberán enviarse a una billetera completamente nueva protegida por una clave diferente.

Compensaciones con MPC

Al igual que SSS, MPC aplica el requisito de umbral en el nivel de clave en lugar del nivel de blockchain. Esto desbloquea ventajas similares, como otorgar una mayor capacidad de privacidad, evitar mayores tarifas de transacción y permitir el uso de una estructura de custodia MPC en muchas criptomonedas diferentes.

Es importante destacar que MPC logra evitar los puntos únicos de falla temporal que conlleva el uso de SSS. Al utilizar un método criptográfico diferente, las claves compartidas pueden existir por separado. desde el momento en que se crea la billetera por primera vez, e incluso permanecen separados mientras firman transacciones de retiro. La mayoría de las implementaciones de MPC también incluyen un método nativo para ajustar la política de control de acceso (creando un nuevo quórum de acciones) sin tener que enviar fondos a una nueva dirección de billetera.

Sin embargo, MPC para el umbral ECDSA se considera una criptografía muy compleja y no existe un estándar acordado para su uso. Hay muchos protocolos diferentes; los dos primeros fueron desarrollados de forma independiente en 2018 por Gennaro y Goldfeder[[GG18]y Lindell et al.[[LNR18]. Desde entonces, también hemos visto los protocolos de Doerner et al.[[DKLs19], Castagnos et al.[[CC+20], Damgård et al.[[DJM+20], Canetti et al.[[CMP20], Gągol et al.[[GKSS20], Gennaro y Goldfeder[[GG20], Canetti et al.[[CGG+21], Abram et al.[[ANO+21], Doerner et al.[[DKLs23], y quizás otros. Si bien los protocolos más nuevos tienden a introducir ciertas mejoras con respecto a los más antiguos, es posible que hayan tenido menos oportunidades de revisión por pares, auditorías y otras pruebas.

El mayor nivel de complejidad involucrado con MPC crea una superficie de ataque ampliada. Con componentes y procedimientos adicionales, hay más margen de error y posibles vulnerabilidades de seguridad. Ya se han presentado evidencias de fallas de seguridad graves, incluidos ataques completos de extracción de claves privadas, más de una vez, afectando algunos de los protocolos ECDSA de umbral enumerados anteriormente.

Ejemplos incluyen:

Vulnerabilidades AS20septiembre de 2020, que afecta las implementaciones de GG18

Vulnerabilidades de rayos alfadiciembre de 2021, que afecta a GG18 y GG20

Vulnerabilidades de TSSHOCKagosto de 2023, que afecta a GG18, GG20 y CGG+21

Vulnerabilidades de BitForgeagosto de 2023, que afecta a GG18 y GG20

“La criptografía necesita pasar la prueba del tiempo para alcanzar la longevidad, y estos nuevos protocolos claramente no pasaron la prueba del tiempo.[…] Esta investigación no estaba lista para su implementación o adopción generalizada. Desde mi punto de vista, implementar y producir investigaciones tan recientes es bastante peligroso”. — Charles Guillemet, CTO de Ledger, respuesta de diciembre de 2021 a Alpha-Rays

‍“[MPC is] Más complicado, más errores. Los protocolos criptográficos avanzados son frágiles en los detalles y en la implementación. Me sentiría más seguro con multifirma, que es súper simple y sólida como una roca”. — correo por el renombrado criptógrafo Adam Back, enero de 2023

MPC también está limitado por quién puede usarlo de manera realista en primer lugar. Como se mencionó anteriormente, el umbral ECDSA es muy complicado. Para el individuo promedio, no existen herramientas disponibles para configurar MPC de manera segura o sencilla de forma independiente. Si bien algunas empresas ofrecen billeteras MPC de custodia colaborativa que son bastante fáciles de usar, esas empresas no ofrecen una manera fácil para que los usuarios recuperen fondos si la empresa desaparece (o de ninguna manera, en cuyo caso son un único punto de falla). Debido a que script multisig es un estándar simple y abierto, las empresas que brindan soluciones de custodia colaborativa El uso de multisig puede ofrecer código abierto y herramientas de recuperación fáciles de usar. Esto crea una vía sencilla para que los clientes recuperen sus fondos incluso si la empresa colaborativa multifirma ya no estuviera disponible para ayudarlos.

¿Qué modelo es mejor?

Como acabamos de cubrir, existen numerosas compensaciones entre el uso de multifirma, SSS y MPC. Se pueden organizar en un gráfico para una comparación visual:

Este gráfico demuestra las fortalezas (azul) y las debilidades (rojo) de cada método de implementación de seguridad de umbral. El gris podría ser una fortaleza o una debilidad según la perspectiva de cada uno.

Si una empresa se especializa en la custodia de muchas criptomonedas diferentes, es posible que se sienta motivada a contratar un equipo de profesionales para configurar cuidadosamente un modelo de custodia MPC. Sin embargo, si una empresa o un individuo estuviera buscando una forma simple y confiable de proteger Bitcoin a largo plazo, podría ser preferible usar script multisig y aceptar las compensaciones de privacidad. El SSS rara vez se utiliza por sí solo debido a su incapacidad para hacer cumplir los requisitos de umbral de nivel institucional en todo momento.

Combinando modelos para la custodia colaborativa

Si bien a menudo se piensa que multifirma, SSS y MPC son modelos de seguridad competitivos, es posible incorporar más de uno de ellos en una estructura de custodia general. Como se describió anteriormente, SSS y MPC permiten un umbral de acciones clave para producir una firma para una transacción. Si la firma fuera para gastar fondos de una billetera singlesig, entonces no se requeriría nada más para completar la transacción. Sin embargo, si la firma fuera para gastar fondos de una billetera multifirma, también podrían ser necesarias firmas adicionales de otras claves.

Una estructura multifirma 2 de 3, donde una posible firma podría producirse a partir de una clave normal, otra posible firma podría producirse a partir de una clave reensamblada a partir de 2 de 3 partes SSS y otra posible firma podría producirse directamente. de 2 de 3 acciones de MPC.

Si bien esta combinación de técnicas puede parecer innecesaria y engorrosa, de hecho hay algunos contextos en los que tiene sentido práctico. Con el aumento de la popularidad de agentes clave y custodia multiinstitucional, hay un número creciente de empresas especializadas a las que personas e instituciones encargan la seguridad de una de las claves de una billetera multifirma. Estos agentes clave distribuidos pueden ayudar a reducir el riesgo de custodia. Pero, ¿cómo debería un agente clave asegurar esa única clave de la que es responsable?

SSS o MPC pueden ser una estrategia para minimizar o eliminar puntos únicos de falla de esta tarea. Un agente clave corporativo puede diseñar un sistema en el que varios funcionarios diferentes dentro de la empresa poseen acciones clave y, por lo tanto, solo se puede producir una firma tras el acuerdo de un umbral de esos funcionarios. Además, si ocurriera un ataque durante el reensamblaje de SSS, o si una implementación de MPC terminara sufriendo una nueva vulnerabilidad de extracción de claves como las mencionadas anteriormente, los fondos de ningún cliente estarían inmediatamente en riesgo. El agente clave tendría tiempo para reaccionar y abordar el problema, mientras que el bitcoin permanece protegido por la billetera multifirma más amplia.

Usar un script multifirma para crear un requisito de umbral como un contrato inmutable fundamental y luego encargar agentes claves profesionales para que cada uno proteja una clave multifirma utilizando su propio umbral SSS o MPC es, de lejos, el método más seguro para que una institución mantenga bitcoin seguro para el largo plazo.

Nuevas capacidades con Taproot

En noviembre de 2021, se produjo la bifurcación suave Taproot, que agregó nuevas herramientas al ecosistema bitcoin. Algunas de estas herramientas impactan el futuro de la custodia de bitcoins de nivel institucional, al permitir ciertas mejoras y opcionalidades.

  • Firmas de Schnorr: El algoritmo de firma Schnorr ahora está disponible en bitcoin como alternativa a ECDSA. El uso de MPC además de Schnorr conduce a esquemas de seguridad de umbral que son mucho menos complicados y, por lo tanto, también brindan mayor confianza en su seguridad, en comparación con los protocolos ECDSA mencionados anteriormente. ESCARCHA es el protocolo líder de firma de umbral de Schnorr, mientras que MuSig2 También está disponible específicamente para quórumes N de N. Ambos esquemas de firma están en camino de convertirse en herramientas estandarizadas en toda la industria bitcoin, y se espera que hagan que MPC esté disponible para personas comunes y corrientes, con una experiencia de usuario similar a la de script multisig.
  • Privacidad del tipo de guión: Las direcciones Pay-to-Taproot (P2TR) son una nueva Tipo de dirección que permiten que las direcciones bitcoin multifirma de script parezcan idénticas a las direcciones que se utilizan para las billeteras monofirma. Esto proporciona una mejora significativa de la privacidad, porque significa que la dirección bitcoin en sí misma no proporciona ninguna pista sobre el modelo de seguridad de su propietario, como por ejemplo si podría estar usando script multisig o no.
  • Múltiples rutas de gasto: Las direcciones P2TR también tienen la capacidad de contener múltiples rutas de gasto integradas. Esto puede crear nuevas formas de estructurar el umbral de seguridad para la custodia de grado institucional, como se describe en BIP 342 (fundamentación, sección 5). Por ejemplo, un usuario podría crear una ruta de gasto multifirma de script N de N para cada combinación de claves que pueden gastar fondos. En lugar de crear un quórum de 2 de 3 con las claves A, B y C, se puede lograr un resultado similar con tres quórumes separados de 2 de 2 como posibles rutas de gasto: uno con las claves A y B, otro con las claves A. y C, y uno con las claves B y C. Esta estrategia puede aumentar la privacidad, porque sólo se revelará la ruta de gasto que acaba utilizándose. Se puede aplicar un concepto similar a los quórumes de participación de claves de MPC, lo que permite utilizar MuSig2 para los umbrales.

Estas herramientas Taproot son relativamente nuevas y su adopción aún se encuentra en las primeras etapas. Muchos softwares y servicios de bitcoin aún no ofrecen soporte completo para lo que Taproot tiene para ofrecer. También vale la pena señalar que la mayoría de las altcoins no tienen estas herramientas disponibles de forma nativa.

Pensamientos finales

Un número creciente de instituciones se están interesando en asegurar una tesorería de bitcoins y requieren soluciones efectivas. Evitar puntos únicos de falla y minimizar el riesgo de contraparte son consideraciones primordiales. La mejor manera de cumplir con estos criterios es aprovechar una estructura multifirma, donde las claves se pueden distribuir entre varios agentes clave de la empresa, ninguno de los cuales tendrá control unilateral sobre el bitcoin. Cada agente clave puede usar SSS o MPC para agregar un umbral de protección adicional para su clave particular.

Unchained ha sido pionero en una red de custodia empresarial, creado para clientes institucionales que desean establecer un acuerdo como este. Es fácil de usar y personalizable, de modo que cada cliente puede elegir si desea tener un número controlado de claves, o solo una clave, o dejar la responsabilidad de protegido. r las claves completamente en manos de varias claves empresariales independientes. agentes. Si estás interesado en aprender más, programa una consulta gratuita con nosotros hoy!

‍Un agradecimiento especial a Dhruv Bansal por revisar este artículo y brindar comentarios valiosos.

Publicado originalmente en Desencadenado.com.

Unchained Capital es el socio oficial de custodia colaborativa de EE. UU. UU. de Bitcoin Magazine y un patrocinador integral del contenido relacionado publicado a través de Bitcoin Magazine. Para obtener más información sobre los servicios ofrecidos, los productos de custodia y la relación entre Unchained y Bitcoin Magazine, visite nuestra pagina web.

Ajustes