Cuando hablamos de wallets, no hace falta irse mucho más lejos de nuestro bolsillo del pantalón para encontrar una analogía de lo que entendemos en el ecosistema web3 sobre este concepto.
Hoy, en 101web3 vamos a aprovechar este inicio de verano para volver a explicar algunos conceptos básicos que se nos pasaron por alto y que creemos que son importantes de conocer y de entender en profundidad. De todas formas, los seguiremos intercalando con términos más complejos como estábamos haciendo hasta ahora.
Una billetera o wallet no es más que un sistema que almacena una serie de claves que nos sirven para identificarnos en la blockchain a la hora de hacer transacciones. Es importante conocer una de las principales diferencias entre una cartera física (de las que llevamos todos en nuestro bolsillo) y una crypto wallet, y es que la segunda no tiene un registro de qué tokens, NFTs, cryptos, … tienes en tu propiedad. Es como cuando vas al banco con tu documento de identidad. Lo puedes utilizar para saber el saldo de tus cuentas y para hacer transacciones, pero ese documento no contiene esa información per se.
Aunque os hablaremos sobre criptografía más abajo, que os vaya sonando que las wallets están compuestas por dos claves: una privada y otra pública. La clave privada se utiliza para acceder a la blockchain y hacer transacciones, mientras que la pública se usa para recibir criptomonedas. Es por esa misma razón por la que es muy importante que tu clave privada sea personal e intransferible, ya que se podría utilizar con fines maliciosos por otras personas. En cuanto a la clave pública, la puedes compartir sin problema. Hoy en día están surgiendo protocolos como el ENS (Ethereum Name Service), del que os hablamos en una pasada newsletter, para que sea mucho más simple compartir nuestra clave pública con otros usuarios.
Pese a existir muchos tipos de wallets, podemos diferenciar entre las dos más imortantes:
Son aquellas que se encuentran en línea, es decir, podemos acceder a ella desde cualquier dispositivo con Internet. Son muy cómodas y fáciles de usar, además de ser las más utilizadas por los usuarios para las transacciones del día a día. Esto, claramente conlleva una serie de riesgos. Al estar expuestas a la red, son susceptibles de ser atacadas por terceros con fines maliciosos como robar tu clave privada. Y también, de que sea una que pertenece al exchange de turno y decida bloquearte o quitarte tus fondos. Recuerda: Not your keys, not your coins.
Las wallets frías, por el contrario, se almacenan en dispositivos hardware como un pendrive o un chip. La principal ventaja es que son tan seguras como aseguradas las tengas. Puedes guardarlas en una caja fuerte o esconderla para que nadie la encuentre. Esa seguridad extra que tienen este tipo de billeteras es un arma de doble filo, ya que muchos usuarios han terminado olvidando dónde la dejaron, o peor aún, olvidaron la contraseña para acceder a ellas. A su vez, según el tipo de protocolo criptográfico que use podemos encontrar diferentes tipos:
Multi-sig (multi-firma) es un proceso de firma digital que permite a dos o más usuarios firmar transacciones en grupo.
Antes de que los monederos multisig entraran en la corriente principal, las criptomonedas se almacenaban generalmente utilizando una única clave privada. Quien tenía acceso a la propia clave privada podía acceder a los fondos asociados a esa clave. Multi-sig añadió una capa adicional de seguridad a la ecuación mediante la creación de carteras que requieren la firma de múltiples claves.
Aunque la multi-firma ofrece soluciones potenciales a algunos de los problemas de los monederos de firma única (por ejemplo, el punto único de fallo), también introduce nuevos problemas. Esto se debe a que, cuando se introdujo la firma múltiple en 2012, el espacio de la cadena de bloques era diferente en varios aspectos. Por ejemplo, el bitcoin era la única criptomoneda, por lo que el concepto de crear una tecnología de seguridad que funcionara en varias cadenas de bloques era irrelevante.
MPC (multi-party computation) es un protocolo de firma en el que las claves privadas y su control se dividen entre varios dispositivos. Cada uno de estos dispositivos tiene bajo su control una clave que, al unirse al resto, permite el uso de los fondos dentro de dicho monedero. A primera vista, parece que estamos hablando de un wallet o monedero multifirma, y hasta cierto punto, la construcción de los monederos MPC es idéntica.
Esto con la salvedad de que los monederos MPC incluyen otras mejoras, como el hecho de que los dispositivos de control pueden generar claves dinámicas de un solo uso y con una caducidad de tiempo, que sumadas al resto, permiten el uso de los fondos. Además, los monederos MPC pueden utilizar esquemas como el común ECDSA, EdDSA, otros formatos de firma más actualizados como las firmas umbral, las firmas Schnorr u otros esquemas de seguridad adicionales.