La base del ecosistema Web3 es la billetera, una aplicación o extensión del navegador que permite a los usuarios verificar sus identidades web y autorizar transacciones. Pero el uso de una billetera siempre ha implicado una curva de aprendizaje pronunciada. Los nuevos usuarios deben aprender a copiar sus palabras clave y almacenarlas en un lugar seguro, crear una contraseña segura para cifrar su archivo de almacén de claves, copiar direcciones con precisión al enviar fondos y otras cosas que tal vez nunca tengan que aprender al usar una aplicación Web2.
Si un nuevo usuario quiere que la incorporación sea más accesible, una opción es utilizar un proveedor de billeteras de custodia, como un exchange centralizado. Pero los usuarios de criptomonedas experimentados casi siempre le advertirán que no lo haga por una buena razón. El mundo ha sido testigo de cómo exchanges centralizados como Mt. Gox, QuadrigaX y FTX se declararon en quiebra debido a ataques informáticos o fraudes directos, lo que provocó que algunos clientes perdieran todos sus fondos debido al uso de una billetera de custodia.
Debido a este riesgo, muchos usuarios de criptomonedas aún consideran que una billetera sin custodia respaldada por un conjunto de palabras clave es la única forma segura para que un usuario proteja su identidad Web3.
Pero, ¿los usuarios siempre tienen que elegir entre seguridad y conveniencia? ¿O hay una manera de combinar la seguridad de una billetera sin custodia con la conveniencia de un exchange?
Algunas empresas de Web3 están intentando crear monederos que sean fáciles de usar pero que no requieran que el usuario deposite toda su confianza en un custodio centralizado. Empresas como Magic, Dfns, Kresus, Web3Auth, Immutable y otras creen que un monedero puede ser tan fácil de usar como una cuenta de correo electrónico y lo suficientemente seguro como para que se confíe en él para proteger la identidad y los fondos del usuario. Estas empresas están utilizando diferentes tipos de nueva infraestructura de monederos para hacer realidad esta idea.
A continuación se muestra un resumen de algunas de las soluciones utilizadas por los desarrolladores de billeteras:
Magia
Un nuevo sistema es el kit de desarrollo de software (SDK) Magic, producido por Magic Labs. Es un kit de desarrollo y una infraestructura de billetera que permite a los desarrolladores crear billeteras sin semillas para los usuarios.
En lugar de almacenar la clave privada en el dispositivo del usuario, se guarda una copia cifrada en un módulo de seguridad de hardware (HSM) de Amazon Web Services. El cifrado se realiza mediante una clave maestra que no puede salir del HSM. Todas las firmas se realizan dentro del HSM, lo que evita que la clave del usuario se transmita a Internet.
Las billeteras mágicas no utilizan contraseñas. En cambio, cuando los usuarios se registran por primera vez en una billetera mágica, envían su dirección de correo electrónico al retransmisor Magic. Luego, el retransmisor envía un token de un solo uso al usuario a través de su correo electrónico. Este token solo funcionará si lo usa el dispositivo que envió la solicitud y solo por un tiempo limitado.
El token se utiliza para autenticarse con Amazon Web Services cuando el usuario hace clic en un enlace dentro del correo electrónico. Las claves privadas y públicas de la cuenta de la billetera blockchain se generan en el dispositivo del usuario y se envían al HSM. Magic Labs dice que no pueden ver la clave privada generada, ya que nunca llega a sus servidores.
Cuando los usuarios dejan de usar sus billeteras y cierran sus navegadores, pueden volver a abrirlas repitiendo el proceso. Envían su dirección de correo electrónico a Magic nuevamente y reciben un nuevo token de un solo uso. Esta vez, después de autenticarse, recuperan el acceso a su billetera.
Magic Labs ha creado una demostración que muestra cómo funciona el sistema. Parece permitir que cualquiera pueda crear una billetera sin descargar una extensión del navegador ni copiar palabras clave. También permite a los usuarios cerrar sus navegadores y volver a sus billeteras más tarde, iniciando sesión nuevamente en la misma cuenta Web3.
Actualmente, la demostración solo funciona en redes de prueba como Goerli, Sepolia y Mumbai.
Monederos basados en Magic
Se han lanzado o están en desarrollo algunas billeteras diferentes que utilizan Magic. Un ejemplo notable es la billetera Kresus, una aplicación móvil que permite a los usuarios almacenar y conservar Bitcoin (BTC), Ether (ETH), Solana (SOL), Polygon (MATIC) y tokens de estas redes. También permite a los usuarios enviar criptomonedas utilizando nombres de dominio .kresus en lugar de direcciones de criptomonedas.
Kresus se lanzó en la App Store de Apple el 11 de mayo. El equipo le dijo a Cointelegraph que una versión para Android llegaría más adelante en 2023.
Immutable Passport es otro ejemplo. Se trata de una interfaz de programación de aplicaciones (API) creada por el desarrollador de juegos Web3 Immutable. Cuando los juegos participantes integran sus sitios web con Passport, los jugadores pueden crear billeteras directamente a través del sitio del juego.
Immutable le dijo a Cointelegraph que las billeteras Passport se conectan a la red Immutable X, un protocolo Ethereum de capa 2, que permite a los jugadores almacenar todos sus coleccionables de juegos Immutable en una cuenta, independientemente del juego en el que se registraron inicialmente.
Immutable implementó recientemente Passport como el método de inicio de sesión predeterminado para su portal para desarrolladores, y planean usarlo para la página de inicio de sesión de al menos un juego para el verano de 2023, dijo el equipo.
Preocupaciones de seguridad con Magic
El Magic SDK contiene una falla de seguridad conocida, que los desarrolladores han tomado medidas para mitigar. Debido a que depende de tokens de correo electrónico para autenticar a un usuario, un atacante podría potencialmente obtener acceso al HSM de un usuario pirateando su cuenta de correo electrónico y luego solicitando la autenticación desde el propio dispositivo del atacante. Una vez que obtienen acceso al HSM, pueden autorizar cualquier transacción desde la cuenta del usuario.
Por este motivo, tanto Immutable Passport como Kresus planean utilizar la autenticación de dos factores (2FA) como una capa adicional de seguridad en caso de que la cuenta de correo electrónico de un usuario se vea comprometida.
Las billeteras basadas en Magic no tienen contraseñas, por lo que no pueden ser hackeadas a través del método habitual de robar y descifrar un hash de contraseña.
Autenticación Web3
Otra nueva infraestructura de billetera que los desarrolladores suelen utilizar es Web3Auth.
Web3Auth es una red de administración de claves que se basa en computación multipartita (MPC) para que las claves privadas sean recuperables. Cuando los usuarios se registran para una cuenta usando Web3Auth, generan una clave privada como de costumbre. Luego, esta clave se divide en tres "partes".
El primer recurso compartido se almacena en el dispositivo, el segundo se almacena en la red Web3Auth a través de un proveedor de inicio de sesión y el tercero es un recurso compartido de respaldo que debe almacenarse en un dispositivo independiente o sin conexión. El tercer recurso compartido también se puede generar a partir de preguntas de seguridad si el usuario lo prefiere.
Debido a la forma en que funciona el cómputo multipartito, un usuario puede generar la clave privada y confirmar transacciones con solo dos de las tres partes. Esto significa que el usuario aún puede recuperar su billetera si su dispositivo falla o pierde su clave de respaldo. Al mismo tiempo, el proveedor de inicio de sesión no puede realizar transacciones sin el permiso del usuario, ya que el proveedor solo tiene una parte.
El proveedor tampoco puede censurar las transacciones. Si el proveedor se niega a darle al usuario su segunda clave después de que se haya autenticado correctamente, el usuario puede generar su clave privada utilizando una combinación de la clave almacenada en su dispositivo más la clave de respaldo.
En Web3Auth, el recurso compartido del proveedor de inicio de sesión se divide en nueve fragmentos diferentes y se distribuye en una red de nodos de almacenamiento; se necesitan cinco fragmentos para reconstruir el recurso compartido del proveedor. Esto evita que el proveedor de inicio de sesión almacene sus recursos compartidos en su propia infraestructura.
Monederos Web3Auth
Web3Auth se ha integrado en varias billeteras minoristas, incluidas Binance Wallet y una versión beta cerrada de Trust Wallet. En la versión de extensión de Binance Wallet, los usuarios pueden crear cuentas de billetera usando sus inicios de sesión de Google. En la versión de Trust Wallet, Google, Apple, Discord y Telegram son opciones de proveedores de inicio de sesión, según un video oficial de la cuenta de Twitter de Web3Auth.
En cualquier caso, el usuario debe copiar las palabras clave. Sin embargo, la cuenta se puede recuperar incluso si se pierden estas palabras, siempre que el usuario siga teniendo acceso tanto a su dispositivo como a su cuenta del proveedor de inicio de sesión.
En declaraciones a Cointelegraph, el director ejecutivo de Web3Auth, Zhen Yu Yong, argumentó que la transición al uso de múltiples claves compartidas en Web3 es similar a la evolución de 2FA en los sitios Web2, afirmando:
“A principios de la década de 2000 o finales de la de 1990, era muy fácil perder los nombres de usuario y las contraseñas. En aquel entonces, pensábamos que nunca se crearían aplicaciones financieras en Internet”.
“Con los nombres de usuario y las contraseñas, finalmente pasamos a la autenticación de dos factores”, continuó Yong. “Creo que esa es la misma transición que estamos tratando de impulsar aquí [...] En lugar de usar una frase inicial de un solo factor, estamos dividiendo esto en múltiples factores diferentes [...] y lo estamos haciendo de tal manera que sean todos sus puntos de acceso, por lo que todo sigue siendo autocustodiado”.
Dfns
Dfns, que se pronuncia como “defensa”, es una red de gestión de claves MPC que permite a las instituciones, desarrolladores y usuarios finales crear billeteras sin contraseñas ni semillas. Contiene la clave privada de cada cadena de bloques en forma de múltiples fragmentos distribuidos entre los nodos de toda la red Dfns.
Para autorizar una transacción, los nodos Dfns deben producir conjuntamente una firma utilizando cada fragmento.
A diferencia de Web3Auth, Dfns no guarda una parte de la clave privada de la cadena de bloques en el dispositivo del usuario ni como copia de seguridad. Todos los fragmentos se guardan en la propia red.
Los nodos de Dfns utilizan un protocolo llamado “WebAuthn” para verificar que un usuario haya autorizado una transacción. Este protocolo fue creado por el World Wide Web Consortium para permitir que los usuarios inicien sesión en sitios web sin una contraseña. En Dfns, los nodos están programados para firmar una transacción con su fragmento solo si el usuario final se ha autenticado utilizando este protocolo.
Cuando un usuario se registra en un sitio web mediante WebAuthn, el sitio crea una clave privada en el dispositivo del usuario. Esta clave privada no se utiliza en ninguna cadena de bloques. Solo existe para permitir que el usuario inicie sesión en el sitio.
Al crear la llave, se le solicita al usuario que proteja la llave con un código PIN o un candado biométrico. En una PC con Windows, este candado se puede crear a través de Windows Hello, que forma parte del sistema operativo, o a través de un dispositivo independiente, como un teléfono móvil o Yubikey. En un dispositivo móvil, el candado se genera utilizando la seguridad integrada del dispositivo.
Ejemplo de un mensaje de registro de WebAuthn. Fuente: WebAuthn.io
En un sitio web que implementa el registro WebAuthn, el usuario no necesita una dirección de correo electrónico ni una contraseña para registrarse, sino que el dispositivo utiliza su propio sistema de seguridad para identificar al usuario.
Cuando un equipo de desarrollo de billeteras crea una billetera usando Dfns, puede transmitir este método de autenticación al usuario final. En este caso, la billetera se considera sin custodia porque el proveedor de la billetera no tiene el dispositivo, el código PIN ni los datos biométricos del usuario y, por lo tanto, no puede autorizar transacciones.
El usuario final también puede agregar dispositivos a una billetera si el primero falla.
Los desarrolladores de billeteras también pueden crear billeteras de custodia usando Dfns. En este caso, el desarrollador de la billetera debe autenticarse en la red usando WebAuthn. Pueden usar cualquier método para autenticar a un usuario consigo mismo, incluso nombres de usuario y contraseñas.
Carteras que usan Dfns
En declaraciones a Cointelegraph, la fundadora de Dfns, Clarisse Hagège, afirmó que muchos de los clientes de la plataforma son instituciones y equipos de desarrollo en el mercado de empresa a empresa.
Sin embargo, el equipo ha comenzado a atraer recientemente a más proveedores de billeteras de empresa a consumidor. La aplicación de ahorro de criptomonedas para minoristas SavingBlocks utiliza Dfns, y la empresa está en conversaciones con un par de intercambios descentralizados para ayudar a crear billeteras para sus clientes también, dijo.
Hagège argumentó que para que se produzca una adopción masiva de criptomonedas, los usuarios ni siquiera deberían ser conscientes de que existe una clave privada de blockchain cuando realizan transacciones.
“A lo que nos dirigimos son los cientos de miles de desarrolladores que crearán casos de uso orientados a la adopción masiva de blockchain, dirigidos a personas que no quieren saber que tienen una clave privada”, explicó. “Tenemos una red de servidores que opera esa generación de claves […], y lo importante no es realmente poseer la clave privada o la clave compartida, sino poseer el acceso a la API”.
¿La nueva tecnología de billetera será adoptada por las masas?
Todavía queda por ver si estas nuevas tecnologías de billeteras generarán una adopción masiva o incluso serán aceptadas por los usuarios actuales. A pesar de su simplicidad, aún pueden ser demasiado complejas para los usuarios que prefieren guardar sus criptomonedas en un exchange. Por otro lado, los usuarios que creen en el mantra “no son tus claves, no son tus criptomonedas” pueden desconfiar de confiar en una red MPC o un módulo de seguridad de hardware propiedad de Amazon para autorizar transacciones por ellos.
Aun así, algunos usuarios pueden decidir que las ventajas de MPC o de los enlaces mágicos son demasiado buenas como para dejarlas pasar. Solo el tiempo lo dirá.
Mientras tanto, estas nuevas tecnologías probablemente provocarán debates sobre cómo garantizar que los usuarios mantengan el control de sus fondos o qué significa realmente la “autocustodia”.



