El concepto de Wallet, Billetera, Monedero, o Cartera (todos significan los mismo), es fundamental para entender cómo funciona el protocolo Blockchain.

¿Qué es una Wallet Blockchain?

A grandes rasgos, se puede decir que una Wallet se encarga de generar y almacenar una colección de claves digitales que serán utilizadas para enviar, recibir, y firmar las transacciones que se dan en las Blockchains.

Las claves siempre están formadas por un par de una Clave Privada y de una Clave Pública. La Clave Privada es un número elegido aleatoriamente. A partir de la Clave Privada, se genera la Clave Pública (generalmente mediante Criptografía de Curva Elíptica). Por último, a partir de la Clave Pública, se genera una Dirección Pública mediante una función Hash de sentido único.
Para que se entienda el concepto de claves y direcciones, podemos explicarlo mediante el siguiente símil: la Dirección Pública sería el IBAN de una cuenta bancaria, y la Clave Privada sería el PIN que permite gestionar dicha cuenta.

¿Qué tipos de Wallets Blockchain existen?

En la actualidad, existen multitud de wallets que cubren la mayoría de las necesidades que tienen los usuarios que interacionan con las diferentes Blockchains existentes. Se pueden clasificar según diferentes criterios, entre los más importantes podemos destacar los siguientes:

  • Wallets No Deterministas: almacenan colecciones de claves privadas generadas aleatoriamente. Su manejo es complicado, así como su importación y backup. Para asegurar las claves se debe realizar un respaldo de todas, por lo que si se van generando nuevas claves, hay que realizar el respaldo de forma frecuente. Por otro lado, si se decide no generar nuevas claves y reusar las existentes para varias transacciones se pierde privacidad y seguridad en las mismas. Por todo lo anterior, si se puede, no es aconsejable el uso wallets no deterministas.
  • Wallets Deterministas: almacenan claves privadas que provienen a partir de una semilla común, mediante la ejecución de una función hash unidireccional. La semilla suele estar formada por un conjunto de entre 12 y 24 palabras aleatorias. Con hacer un backup de la semilla, es suficiente para migrar y recuperar todas las claves privadas.
  • Wallets Deterministas Jerárquicas: se trata de una versión avanzada de las wallets deterministas, en las que las claves se almacenan según una estructura de árbol. De una clave padre pueden derivarse claves hijas, y de cada una de estas claves hijas pueden derivarse una secuencia de claves nietas, y así sucesivamente. Este tipo de wallets permiten generar claves públicas sin tener acceso a las claves privadas, lo que permite que se puedan utilizar en entornos poco seguros.
  • Wallets Full Node: este tipo de wallets requieren descargar una copia completa de la blockchain con la que trabajan, por lo que suelen necesitar una alta capacidad de recursos y almacenamiento. A parte de ejercer como wallets, también participan del protocolo de la blockchain, ejerciendo de nodos y por lo tanto validando las transacciones. Son hot wallets que están permanentemente conectadas a la red y se suelen utilizar en servicios en los que sea necesario gestionar transacciones ininterrumpidamente, como en el caso de las casas de cambio. Están expuestas permanentemente a ataques provenientes de la red, por lo que la seguridad es un factor clave a tener en cuenta. El cliente Parity de Ethereum, trabajando en modo nodo completo, es un ejemplo de Wallet Full Node.
  • Wallets Light Node: operan a través de una pasarela o servicio de nodo que habilita el acceso a la blockchain subyacente sin necesidad de descargar una copia completa de todas las transacciones de dicha blockchain. Suelen existir tanto en versión desktop, como mobile, dependiendo de la criptomoneda. Pueden ser instalables (Desktop/Mobile Wallets) o funcionar a través de una aplicación web (Web Wallet). Además, algunas pueden configurarse para funcionar como Cold Wallet. Se suelen usar para realizar operaciones ágiles y rápidas sin necesidad de descargar la blockchain completa mediante dispositivos de baja capacidad (raspberry pi, smartphone, etc). Un ejemplo de este tipo de wallets es MyEtherWallet la cual opera en la red de Ethereum, e incluso es integrable con Wallets Hardware.
  • Wallets Calientes (Hot Wallets): en este caso, el wallet está conectado permanentemente a internet, ya que se deben realizar permanentemente transacciones par dar un servicio, como puede ser una casa de cambio o una compañía de préstamos. Estos wallets están permanentemente expuestos a ataques externos procedentes de la red a la que están conectados.
  • Wallets Fríos (Cold Wallets): son wallets implementadas por dispositivos (Wallets Hardware u ordenadores) que están desconectados de la red para aumentar la seguridad y paliar las vulnerabilidades de los Hot Wallets. No son recomendables para servicios en los que hay que realizar múltiples transacciones en periodos cortos de tiempo. Se suelen utilizar para almacenar fondos o patrimonios que no van a ser movidos en mucho tiempo.
  • Wallets Hardware: en este tipo de wallets, las claves son almacenadas en un dispositivo físico, parecido a un pendrive, el cual sólo se usa en el caso de querer realizar transacciones. Operan a través de pasarelas de terceros para obtener el estado de la red. Al no estar conectados permanentemente a la red, hace que estos dispositivos sea una forma muy segura de almacenar las claves privadas. Ledger y Trezor son dos de las empresas que desarrollan este tipo de wallets (Figura 1).
  • Wallets de Papel: las claves están impresas es un papel (o cualquier otro soporte, como metal o madera), por lo que son una forma muy efectiva de crear copias de seguridad de las claves en frío (desconectado de la red). Aunque se pueden representar de muchas formas, siempre debe contener una clave privada (en ocasiones protegida por una contraseña) y una dirección pública (Figura 2). Suelen utilizarse para realizar regalos, donaciones, o simplemente almacenar fondos durante periodos prolongados. En la web https://www.bitaddress.org se pueden generar este tipo de wallets para la blockchain de Bitcoin.
  • Wallet Browser Add-on: se trata de extensiones de navegadores web que aportan todas las funcionalidades de una Light Wallet, y además son un puente entre las dApps y las Blockchains. Uno de los ejemplos más conocidos es Metamask, la cual permite ejecutar dApps de Ethereum directamente mediante un navegador web sin tener que ejecutar un nodo completo (Figura 3). Incluye un almacén seguro de identidad, y proporciona un interfaz de usuario para administrar las identidades de diferentes sitios, así como firmar transacciones dentro de la blockchain.

Ledger Wallet Master Blockchain OnlineTrezor Wallet Master Blockchain Online

             Figura 1: Ledger Nano, y Trezor Model T. Fuente: https://www.ledger.com/ y https://trezor.io/start/

Paper Wallet Master Blockchain Online

Figura 2: Paper Wallet de Bitcoin generada desde https://www.bitaddress.org/

Metamask Wallet Master Blockchain Online

Figura 3: Metamask. Fuente: https://metamask.io/

En conclusión

Se puede decir que las Wallets son las herramientas que permiten a los usuarios interaccionar con las cadenas de bloques. Son el puente entre los usuarios y las diferentes Blockchains, por ello, es muy importante entender que una Wallet no almacena tokens ni criptomonedas, sólo contiene claves. Los tokens y las criptomonedas son almacenados en la cadena de bloques mediante las transacciones que en ella se realizan.