Las direcciones multifirma son un tipo especial de direcciones de criptomonedas que posibilitan un control de fondos de forma comunitaria. Esto se produce al necesitar de dos o más personas junto a sus firmas criptográficas para poder desbloquear los fondos que estas contienen.

Las direcciones multifirma son unas de las funcionalidades más interesantes que tiene Bitcoin y otras criptomonedas. Este tipo de direcciones de criptomonedas tienen la capacidad de ser gestionadas por muchas personas al mismo tiempo. Esto se debe a que las direcciones multifirma basan su funcionamiento en un firmado criptográfico múltiple.

Recordemos que a la hora de realizar una transacción, la dirección que usamos genera dicha transacción y necesitamos firmarla criptográficamente. Sin esto, dicha transacción nunca podrá ser procesada por la red e incluida en la blockchain. Pues bien, este mecanismo puede mejorarse en términos de seguridad al punto de crear una dirección que necesite varias firmas criptográficas para que sea válida para la red. Esto es porque el control de dicha dirección es colectivo.

Un símil del “mundo offline” lo puedes encontrar en las cajas fuertes. Hay algunas que requieren de varias llaves para poder ser abiertas. Pero en criptomoneda este mecanismo puede ser configurado a su antojo. De hecho es posible configurar el número mínimo de firmas que se necesitarán para autorizar las transacciones. Es decir, puedes crear una dirección multifirma a partir de tres llaves, pero que necesite solo de dos de ellas (sin importar cuáles) para poder abrirse. Es lo que se conoce como una “dirección Bitcoin multifirma 2 de 3”. Y de la misma forma pueden ser 3 de 5, 4 de 7, 6 de 10… o incluso 2 de 2.

En resumidas cuentas, para crear una dirección multifirma, necesitas indicar cuántos serán los participantes. Esto además de cuál es el mínimo de participantes que serán necesarios para autorizar las transacciones.  Y, por supuesto, como en las direcciones normales, crear una dirección multifirma no tiene coste alguno y puedes crear tantas como quieras.

Ahora bien, conozcamos qué otras ventajas tienen este tipo de direcciones y el potencial enorme que nos deja explorar.

Casos de uso de las direcciones multifirma

Seguramente te preguntarás: ¿para qué necesitamos direcciones multifirma en criptomonedas? ¿Qué utilidad pueden presentarnos? Pues bien, esta es otra funcionalidad más de las criptomonedas, como el Bitcoin. De hecho es una funcionalidad muy útil, práctica y revolucionaria en ciertos casos.  A continuación os dejaremos tres casos de uso sencillos de entender y que, además, son tres de los más usuales:

Autorización colectiva

Uno de los usos más comunes de las direcciones multifirma es la capacidad de gestionar un fondo de criptomonedas entre varias personas. Algunos de estos casos pueden ser los siguientes:

  1. Una empresa que quiere que todos los pagos los autorice más de una persona, asegurando que dichos fondos no puedan ser manipulados por una sola persona.
  2. Una aplicación que requiere de la autorización de terceras partes (las cuales pueden, o no, ser ordenadores, por ejemplo dispositivos IoT – Internet De las Cosas). Por ejemplo, la liberación de una fianza cuando el coche de alquiler es devuelto y detectado por un parking informatizado.
  3. Una pareja donde ambos deben autorizar un gasto del hogar.
  4. La hucha o alcancía de un hijo que requiere de la autorización de sus padres.
  5. Una ONG que busca dar, además de transparencia, la seguridad de que el dinero no puede ser gastado de repente por una única persona.
  6. Un crowdfunding o ICO (Initial Coin Offering) para dar seguridad al inversor mostrando que no va a huir con el dinero de los inversores sin hacer nada.

2. Seguridad

Otro de los grandes usos de las direcciones multifirma es mejorar los esquemas de seguridad en el manejo de fondos de criptomonedas. Es clara la ventaja en este punto: en una dirección multifirma necesitas 2 o más firmas digitales para que una operación sea válida. De esta forma, si por ejemplo se llegase a robar o hackear una de estas firmas, sería imposible mover las criptomonedas debido a que la dirección se desbloquea con más firmas.

El esquema va perfecto para empresas o personas que almacenan grandes cantidades de dinero, como por ejemplo, los exchanges. De esta forma, un exchange puede resguardar sus criptomonedas en una dirección multifirma que necesita de 2 o más firmas para desbloquearse. Incluso, este proceso les permite almacenar las claves en diferentes lugares y formatos. De esta forma se elimina la típica situación del único punto de fallo.

Pero hagamos un ejercicio más claro. Por ejemplo, en una dirección 2 de 3, una clave podrías tenerla en el teléfono móvil, la otra impresa en papel y escondida en casa de tus padres y la tercera, impresa y guardada en una caja fuerte en un tercer lugar. De repente tienes un monedero en frío (cold wallet), pero multifirma: mucho más seguro. Esto quiere decir que si alguien quiere robarte, debería corromper la seguridad de dos de los sitios. Si por algún motivo alguna de las claves deja de estar operativa, tendrás dos para crear inmediatamente una nueva dirección multifirma y, con las dos claves, mover los bitcoins a la nueva dirección.

Puedes complicar o simplificar el ejemplo tanto como necesites.

3. Arbitraje sin confianza

Un proceso de arbitraje permite que un tercero actúe de juez para determinar el resultado de una transacción entre dos partes. Por ejemplo, si una persona te vende algo, tú puedes mandar el dinero a un tercero y, cuando la otra persona te mande el producto, el árbitro le entrega el dinero. Por supuesto, el árbitro debe ser una persona de confianza para ambas partes y totalmente neutral.

Esto no tiene ningún misterio y podría hacerse sin multifirma. Pero gracias a la multifirma, se añade la parte de “sin confianza”. Veamos por qué.

En el escenario planteado imaginemos que creamos una dirección multifirma 2 de 3 para la transacción. Pues bien, solo si dos de los tres se ponen de acuerdo, el dinero podría moverse. Ninguno de los tres por separado puede quedarse con el dinero, lo que fuerza a intentar encontrar la mejor solución. Esto es algo que podemos ver en la teoría de juegos.

Un símil simplificado del mundo tradicional son las cartas de pago. Un instrumento financiero gestionado por los bancos, donde es el banco quien actúa como árbitro entre ambas partes. Un proceso donde sólo puedes depender de empresas muy reputadas como el banco, quien se aprovecha justamente de esto, pues él es quien tiene el control total de tu dinero, cobrando además una comisión enorme por ello.

De repente no necesitas al banco. Bitcoin te permite hacer esto sin figuras de gran reputación que almacenan tu dinero, los usuarios son capaces de autoorganizarse.

De hecho, este escenario es una práctica muy usual en muchas plataformas que venden productos o servicios entre particulares y soportan Bitcoin como medio de pago. Incluso en los más innovadores como son los descentralizados. Puedes ver el capítulo dedicado a OpenBazaar.

4. Creatividad al poder

Los que sean capaces de entender la esencia del concepto de las direcciones multifirma podrán encontrar nuevos casos de uso prácticos donde se eliminen fricciones de procesos tradicionales ahorrando tiempo, eliminando intermediarios y, por consiguiente, eliminando costes.

¿Cuál es el proceso de creación de una dirección multifirma?

Actualmente, y como veremos más abajo, existen monederos que te evitan tener que comprender el proceso de creación de una dirección multifirma. Presionas 4 clicks y listo. Pero si tu monedero no lo facilita, eres un programador informático o, simplemente, tienes curiosidad, a continuación te explicamos el proceso que se sigue para la creación de una dirección multifirma:

  1. Para la creación de una clave multifirma es necesario contar con tantas direcciones Bitcoin como participantes quieras que la gestionen. Imagina que vamos a hacer una dirección 2 de 3, pues necesitaremos tres direcciones (dos de ellas serán necesarias para autorizar).
  2. Una vez creadas las direcciones se entregan las claves públicas de las tres a uno de ellos.
  3. Con las tres claves públicas e indicando el número de claves mínimas que serán necesarias podrá crear la dirección P2SH (la dirección multifirma que empieza por “3”).
  4. Tras esto, cualquiera de las tres personas puede iniciar una transacción. Para ello debe firmarla con su clave privada individual y pasar el resultado a la siguiente persona (no importa cuál sea el orden de las personas) para que lo firme con su clave privada.
  5. Como en nuestro ejemplo solo son necesarias dos firmas para autorizar, esta segunda persona podría firmar la transacción y mandarla a la red Bitcoin.

Si te das cuenta, solo se han usado las claves públicas de las direcciones, jamás las claves privadas que solo las tienen sus respectivos dueños.

Si eres informático, existen librerías en casi todos los lenguajes de programación (e incluso existen comandos en el propio monedero Bitcoin Core) para abstraerse de las fórmulas matemáticas y donde únicamente le debes indicar los elementos arriba mencionados. Con ello podrás crear nuevas ideas.

Además, en este enlace podrás poner a prueba lo recién mencionado y hacer pruebas manuales con la creación y gestión de direcciones Bitcoin multifirma, y todo ello a golpe de click.

Conociendo P2SH (Pay To Script Hash), el origen de las direcciones multifirma

En Bitcoin existen hasta ahora dos tipos de direcciones:

  • Las direcciones estándar, por ejemplo esta “15Cytz9sHqeqtKCw2vnpEyNQ8teKtrTPjp“. Estas son llamadas técnicamente como P2PKH (Pay To Public Key Hash) y empiezan por “1”.
  • Las direcciones multifirma, por ejemplo esta “347N1Thc213QqfYCz3PZkjoJpNv5b14kBd“. Que son llamadas técnicamente P2SH (Pay To Script Hash) y empiezan por “3”.

El uso más común de las direcciones P2SH son las direcciones multifirma, pero es importante resaltar que este no es su único uso. Por lo tanto, aunque habitualmente cuando vemos una dirección Bitcoin que empieza con el número “3” tendemos a pensar que se trata de una dirección multifirma, no siempre es así.

Todas las direcciones que empiezan por “3” son direcciones P2SH. Todas las direcciones multifirma empiezan por “3”. Pero no todas las direcciones que empiezan por “3” son direcciones multifirma, en su caso pueden ser direcciones SegWit.

El origen de las direcciones multifirma

Las direcciones P2SH fueron desarrolladas por Gavin Andresen y, entre los muchos usos que tiene, pueden ser usadas como direcciones multifirma. La idea fue presentada en marzo de 2012 a través del BIP16. Un mes más tarde a la publicación del BIP16, en abril de 2012, las direcciones P2SH se implementaron en Bitcoin.

Hasta esa fecha solo existían direcciones estándar, las de tipo P2PKH que empiezan por “1”. Ahora bien, esto no quiere decir que hasta la aparición de las direcciones P2SH fuera imposible crear direcciones multifirma. Era posible, pero tenían que hacerse de forma muy rudimentaria y no existía un proceso estándar y consensuado para crearlas.

Fue en el bloque 170052 (7 de marzo del 2012) cuando se recibió, por primera vez en la historia, una transacción en una dirección multifirma. La dirección fue 342ftSRCvFHfCeFFBuz4xwbeqnDw6BGUey. No obstante fue una dirección creada sin seguir el estándar BIP16, aunque, como podemos ver (al empezar por “3”), sí seguía el estándar BIP13.

La capacidad de realizar transacciones colaborativas de forma descentralizada es una innovación tecnológica increíble, pero es una innovación que viene motivada por una práctica con cientos de años de antigüedad: en Oriente Medio, quienes custodiaban criptas y cámaras de seguridad guardaban tesoros con puertas que necesitaban de múltiples llaves para ser abiertas, en este pequeño vídeo puedes verlo.

Es gracias a la magia de la criptografía (usando el Esquema del secreto compartido de Shamir) y la informática lo que ha hecho que esta práctica milenaria pueda ser llevada a un nuevo nivel.

Usando direcciones multifirma en Bitcoin

Bitcoin es la criptomoneda reina en el uso de direcciones multifirma, al ser la primera en implementarlas. Es por ello por lo que en la actualidad existen muchos monederos para esta criptomoneda capaz de administrar este tipo de direcciones.

Entre los diferentes monederos que permiten esta funcionalidad, hemos filtrado 4 por orden de preferencia:

En Bit2Me nos gusta mucho Copay, pues lleva a la sencillez extrema la gestión de las direcciones multifirma. Copay es un monedero que funciona gracias a los servidores de BitPay. Son estos los que se preocupan de orquestar y simplificar el intercambio de la información necesaria entre los participantes de una dirección multifirma. No obstante, tanto por la gestión de este tipo de tareas como por el simple hecho de ser un monedero ligero, tiene fugas de privacidad. Así que debes tener muy en cuenta esto si deseas mantener tu privacidad protegida en todo momento. De lo contrario, si quieres el máximo control, lo mejor es usar el monedero Bitcoin Core.

¿Cómo encajan los monederos basados en hardware con las direcciones multifirma?

Muy sencillo. Como hemos dicho antes, una dirección multifirma se crea a través de las claves públicas de diferentes direcciones Bitcoin. Esto quiere decir que puedes usar la clave pública asociada a la clave privada que gestiona tu monedero hardware para la creación de una dirección multifirma. Si no sabes qué son los monederos basados en hardware, cómo funcionan o cuáles son los más destacados, pásate por el capítulo de nuestra guía dedicado a los hardware wallets.

¿Cuánto sabes, criptonauta?

¿Las direcciones multifirmas fueron un gran logro para mejorar la funcionalidad de las criptomonedas?

¡CIERTO!

Gracias a la creación de las direcciones multifirmas, las criptomonedas que implementen este tipo de funcionalidad pueden ampliar su capacidad de funcionamiento y de realizar tareas de gestión más complejas. Un buen ejemplo de ello lo podemos ver la aplicación de servicio de escrow, que pueden verse mejorados ampliamente con este tipo de capacidad.

CLTV: La funcionalidad Check Lock Time Verify

Bitcoin, posiblemente, es el mejor dinero que existe hasta la fecha. Es más, su innovación es tan dinámica y excitante que, en un solo mes de innovaciones en Bitcoin y la tecnología Blockchain, supera con creces a toda la innovación financiera ocurrida durante siglos, y otra prueba de ello es la funcionalidad llamada CLTV.

Se trata de una propuesta presentada en el BIP65 por Peter Todd y que habla de la capacidad de poder permitir que en una transacción se pueda especificar la fecha concreta en la que se hará efectiva (es decir, la fecha en la que el receptor podrá hacer uso de los fondos enviados).

CTLV combinado con multifirma permite que una dirección multifirma 2 de 3 se convierta en 1 de 3 pasada una fecha determinada. Pudiendo una persona recuperar los fondos ante determinadas condiciones previamente pactadas y que se definen en la transacción debido a la capacidad de ser Bitcoin dinero programable.

Nuevamente, los casos de uso, dependen más de la imaginación que de otra cosa. Por ejemplo el caso mencionado anteriormente de la hucha: una dirección Bitcoin multifirma con CLTV activado puede ser usada de hucha para un hijo que hasta que cumpla los 18 años debe necesitar de la autorización de, al menos, uno de sus padres, pero una vez cumplido los 18 debe obtener control individual. Si quieres saber más sobre CLTV te recomendamos este post de BitcoinMagazine donde se explica en más detalle.

Como ven la tecnología de las direcciones multifirmas abre todo un nuevo abanico de posibilidades para las criptomonedas. Un abanico que va más allá del Bitcoin y que permitiría sin duda alguna, brindar mejores opciones para desarrollar toda una gama de servicios alrededor de las mismas.