Introducción

Un monedero multifirma o MuSig, es una cartera virtual que puede gestionar direcciones multifirmas de Bitcoin y, por lo tanto, puede permitir la gestión de un mismo monedero por dos o más personas mediante sus claves criptográficas privadas para firmar las transacciones. Es el equivalente en blockchain de las cuentas bancarias mancomunadas, donde el retiro de dinero solo es posible con la aprobación de las partes que han abierto la cuenta. ¿Lo mejor? Es que con un monedero MuSig no debes ir a un banco. Y mucho menos, confiar en terceros para lograr tener la misma funcionalidad con una mayor seguridad y confianza. 

Y si a esto sumamos que actualmente, se cuenta con una gran cantidad de opciones para crear monederos virtuales, las ventajas aumentan. Sin embargo, para entender el punto de las direcciones en Bitcoin, debemos estar al tanto de que en esta red se tienen las direcciones que comienzan por "1" llamadas direcciones “Pay To Public Key Hash” (P2PKH) y las direcciones que comienzan por 3 llamadas “Pay To Script Hash” (P2SH), estas últimas son las direcciones utilizadas para gestionar las operaciones multifirmas. 

Relacionado: ¿Qué es el Bitcoin Script? El lenguaje de programación de Bitcoin

¿Cómo funciona un monedero multifirma?

Un monedero multifirma funciona gracias a que Bitcoin (como otras criptomonedas) permiten especificar la cantidad de firmas o claves privadas necesarias para movilizar los tokens dentro de una dirección. Para lograr esto, los monederos de bitcoins traducen estas firmas en un pequeño script. Esto permite crear una serie de condiciones de bloqueo que una dirección multifirma debe cumplir. Una vez cumplidas las condiciones y desbloqueada la dirección, se pueden movilizar los fondos de dicha dirección.

Por supuesto, lograr esto requiere la exacta combinación de firmas digitales, porque de lo contrario es imposible. Por ejemplo, atacar una dirección multifirma de Bitcoin por fuerza bruta, podría llevarle a un atacante cientos de millones de años en vulnerarla, incluso si usa las computadoras más potentes que existen en la actualidad. Esto es gracias a la criptografía usada para generar estos scripts donde participan los hashes SHA-256 y RIPEMD-160 (para crear hashes únicos), y la criptográfica asimétrica ECDSA (para generar las claves privadas y públicas de las direcciones).

Sin embargo, esto es solo una parte del funcionamiento de las direcciones multifirmas. Hace unos momentos, comentamos que dichas direcciones podían protegerse con variadas combinaciones de firmantes. Así por ejemplo, es posible crear una dirección 2-de-3. Esto quiere decir que existen 3 firmantes para dicha dirección, pero la movilización de fondos solo es posible si 2 de esos 3 firmantes autorizan dicho movimiento. Los esquemas en este sentido pueden ser más elaborados, pudiendo crear esquemas 2-de-2, 4-de-5, o incluso más, todo ello gracias a la programación de que criptomonedas como Bitcoin pueden soportar. Una programación que se establece en el momento exacto en que dicha dirección es creada y que una vez se crea, no se puede cambiar de ninguna manera.

Relacionado: ¿Qué es la criptografía asimétrica?

Pros y contras de un monedero multifirma

Pros

  1. Permite darle mayor seguridad al dinero que se guarda en un monedero, ya que al necesitar de varias firmas para autorizar una transacción, existen menores posibilidades de perder dinero en caso de que se extravíe algunas de las claves.
  2. Dos o más personas pueden encargarse de realizar pagos, por una nómina de empleados, para darle mayor transparencia a la operación de la que tuviera en caso de que fuera una sola persona la encargada de esta tarea.
  3. También este tipo de cuentas multifirmas son convenientes para fondos de ayuda humanitaria u ONGs en la que varias personas deben firmar para que determinada cantidad de dinero se libere para cubrir alguna eventualidad.

Contras de un monedero multifirma

  1. Se ha reportado vulnerabilidad en el uso de las direcciones multifirmas, esta vulnerabilidad está ligada a la clave pública que deben compartir los participantes de una dirección multifirma. Si un usuario tiene un dispositivo comprometido, este podría ser víctima de personas mal intencionadas.
  2. Una es mediante la generación de claves públicas falsas que conlleva un potencial riesgo de desviación de fondos y, dos, mediante el secuestro de la clave pública a través de algún Ransomware. Este último caso, se aplica en aquellas direcciones del tipo N de N, en el que el hacker puede tomar control de una de las claves y solicitar rescate para devolver el control a los participantes de la cartera multifirma.
  3. Como lo expresa Benma desarrollador de Shift Crypto: Una cartera en una computadora comprometida puede proporcionar las claves públicas de co-firmantes falsos a la cartera de hardware. Por ejemplo, en una multifirma 2 de 3, la cartera comprometida proveerá dos claves públicas que serán controladas por el atacante. Después de verificar la dirección de recepción comprometida, los fondos enviados a ella pertenecen al atacante.

Aprende a crear un monedero multifirma

La creación de un monedero multifirma se ha simplificado enormemente gracias a las aplicaciones que hacen abstracción de tecnicismos que pueden abrumar a una persona que se inicia en el ámbito de las criptomonedas.

  1. Instalas en tu PC o móvil según sea el caso, el monedero de tu preferencia, entre ellos: Copay (Android, iOS, PC. Monedero ligero.) Electrum (PC. Monedero Ligero.) Armory (PC. Monedero completo.) GreenAddress (Web). En este caso, estamos usando Electrum Wallet.

https://lh3.googleusercontent.com/lWD8KRzWgCGFmVw1IpKygcFsy3mv3--5bQQaqxUS8bqDeIumWwi2cJLznSqWLQLC3y9jomrcpuzsJn1iVqmvgPThMSzk62MFIeKZMsUazSbCOvBWeRZKumZmg3PR6KSE_rOOd8Xf

  1. Seguidamente deberás darle un nombre a tu Wallet. Puedes darle el nombre que desees. 

https://lh4.googleusercontent.com/2MJgiNuwM2dCQqe5oRdqamubeOSnr-4ZX6SNf_4Yn_yWswTVABUntMHrMfW-y9FmTyOGJmNzHrm1iDbX9A4LvubTUD23L-KOvr0POY--ryAhGj8M76U5pBFfFVjTZMLqeqNTyXM6

  1. En este punto, deberás elegir “Multi-signature wallet” para crear una MuSig. 

https://lh3.googleusercontent.com/N_89TdqCYuMknuORGDHlX19Q59Dw9lPonmff73TrOIlxAuWKG9htLhlvnN71nM_2FQ_EWlxMvplvwQb6oiegHCkxaUJE0PNazbf92rhO9HVU-ihhnJrPL6geNZ8_J3slF6JCWV1b

https://lh3.googleusercontent.com/EEK_87beHkkGjmZiwzk87_XRj3Ad8CsI5o5MrVyfCBnrciO7N80F_-a_1mUI8C7bCsHFOqsEOXxiHyYDQjcT5QOSh-yBaimgiFhLyqz0WWQHehH_63utR6AFasfRWwnQy970rObT

  1. El siguiente paso es indicar el tipo de MuSig a usar. En este caso, usaremos una 2-de-3, pero puedes elegir la que desees. Siempre recuerda, que mientras más grande la MuSig necesitarás a más personas para firmar la transacción. Si lo que deseas asegurar tus fondos de la mejor manera una firma 2-de-3 o 2-de-2 (para ti, tu esposa o familiar) es más que suficiente.

https://lh4.googleusercontent.com/_e8_CZ0EYDkN637GUyVz_EYMDLiGZgWfShPvnK8b5oQjkfGisG25_PoMJPYq6DwQLR9HivqG1YnDxB9vy5cchi-pzxv_SMxQc4fSzp_8o0Ntmq_86W-CPxtuqXNIHkjb36YkBCli

  1. Seguidamente comenzamos a crear nuestra seed.

https://lh5.googleusercontent.com/ZerKqxmp-RYFJqYNp4TqLFbStnMA4St-Fnu5PDWiHV0UW025vVT9cwFvkP3qCz4jZORkYDIGaWcJ2r3JvLWZZZ5MTGZu_ugrf7zEpmCr9TLENGivbVvQHZXVZcKdI0URvHUs2Ty2

  1. Seleccionamos luego el tipo de direcciones que vamos a usar. En este caso hemos seleccionado SegWit (las direcciones de Bitcoin con SegWit comienzan por bc1).

https://lh3.googleusercontent.com/7vIUDSz4AYF9jNczUogh_Aws0ELrzjNddJY-UpDxyO2vG52I4jX9JLQMSyReIg0EEWaOatmIsru86BYEwfVHPBl-GwlSYKnxa2UAWtJCOYBFQJj4tx4n9sG9f2-66uOeUJvNNF75

  1. Ahora nos entregan nuestra seed phrase y debemos copiar cuidadosamente la misma. Cópiala en una hoja de papel y guárdala en un lugar seguro una vez que termines este proceso. Repito:  Copia cuidadosamente la seed phrase en un papel y guárdala en un lugar seguro una vez que termines este proceso. Recuerda que en Bitcoin no se puede reiniciar la cuenta y nadie puede rescatar tus fondos en caso de que no puedas acceder a la wallet. 

https://lh4.googleusercontent.com/A4tngqY1zDAjDZkx7GgzCcqCAy8h6IzT2dw4AZBIJQlg7W0YwzQNw6mesjNIZdG9-x9I3YSWDMtli476yAk9EpaWs6gtbZ3YWvTykUzQ8X2KoDb7w4BeZuhKw36dDKpg2NWVBR2a

  1. Seguidamente comenzamos a ingresar las firmas de nuestros co-firmantes. Las firmas se pueden agregar usando la frase semilla (seed phrase), la XPUB (clave pública maestra). En este caso, deberemos ingresar los datos de los dos co-firmantes extras para culminar nuestra wallet. 

https://lh3.googleusercontent.com/PGmT5iNauX2wZNzJoZieGGpTdg8MVoi5elGrwhwU9USfC8sZXBLE67exP1LAdwuCP5oeNbGjSGRE43SSojt0GWoafVwb6bCXmofPXlebGkHE1WFZFnDp-o2_zP-TbfYJE34gEgXK

  1. Debes solicitar las claves públicas maestras o seed phrase de los monederos de las personas que van a gestionar los fondos en la cartera multifirma. Una vez que ingreses estos datos, deberás seleccionar la opción “Native SegWit” para que el sistema maneje el mismo tipo de datos para los cofirmantes. 

https://lh4.googleusercontent.com/pJ3HQDHapwCARo1nOh_lCTjYDwyLxTfw0Y27GG84BNW32R6t3283djRhQPpn3HcdTL6_l2NE_cDyT7n9qYgVZDdRMyet-QuTdg3N9RpHootlhv-iPKlVlyjQDkBSreSPdZE78aqr

  1. Por último, deberás agregar una clave a tu monedero para mantenerlo protegido de accesos locales no deseados. 

https://lh4.googleusercontent.com/lAlkP23BebzPuqTh_Q2Rz4fbn6-IeLX3qyxg-dapigWekxAeuJAF_Yz5kOyB8VGkXNnfP8ZkTWtHn0A1jsgt0lHGGQnQfbtGq5hnrtwc1vUcBPf252b6dIZnsQ6KQsS8sRSfyFpJ

  1. Y finalmente ya tienes tu monedero MuSig usando Electrum. Todo ello en un proceso que no lleva más de 2 minutos en realizar. 

https://lh3.googleusercontent.com/XT5fm63ToN-36RlXLeA468jz1e2-rrixzvI8CT9712lRmOkNFCGXIAFpL8tDw1Ymj3VgS4DTGAC-K6dE_QQ5CPoJ6aUiQMmvyNT7yAMyldd2aO7B_6Ole221pipvFBiyDmbLpQ6D

Conclusiones

Es recomendable que guardes una copia en papel de la dirección del monedero que has creado. De esta manera, se podrá verificar cualquier clave generada por el monedero con esta clave resguardada en papel. De esa forma se descarta la posibilidad de ingresar una clave errónea al momento de crear una cartera multifirma.

Buscar formas seguras de compartir estas claves es también de vital importancia. De esta manera, las mismas pueden ser interceptadas por terceras personas mal intencionadas. Sobre todo, porque esto puede conducir a un ataque de los fondos de una cuenta determinada. El caso se complica, para participantes remotos, pero la idea es reducir el abanico de ataque a quienes se dedican a estas actividades malsanas.

Los desarrolladores de monederos de hardware actualizan periódicamente el software de sus productos con el objetivo de minimizar el riesgo de robos y ataques. No está demás utilizar los recursos necesarios para prevenir un ataque que ponga en riesgo los fondos contenidos en una dirección multifirma. Lo que también implica la selección de un monedero con una trayectoria confirmada y confiable.