Nos encanta Bitcoin, desde que sea open-source hasta su poder para revolucionar completamente lo que entendemos por el dinero. En este post explicaré qué significa tener bitcoin; y para eso ahondaré en varios conceptos clave.
Me gustaría partir con una pregunta:
¿Quién es el dueño del dinero en tu cuenta bancaria?
Si tu respuesta es “duh, obvio que yo” lamento decirte que estás muy equivocado. El número que se muestra en tu cuenta es en realidad cuánto te debe el banco. En el momento que haces un depósito esa plata deja de ser tuya y pasa a ser del banco. Efectivamente estás prestándole plata al banco. Plata con la que pueden hacer lo que quieran.
Pero entonces, ¿se puede realmente tener dinero?
Sí. En el caso del sistema tradicional si quieres ser dueño realmente de tu plata la única opción es el efectivo. En el caso de Bitcoin tu opción es “controlar tus llaves privadas”.
¿Mis qué?
Hay un mundo de llaves ahí fuera
Bitcoin es como tú y yo, tiene su aspecto más extrovertido, llaves públicas. Y también tiene un lado que es más reservado, llaves privadas.
Para entender qué son las llaves públicas y privadas, tenemos que meternos un poco en la parte “cripto” de “criptomoneda”. Bitcoin es una criptomoneda, y hace uso de criptografía asimétrica donde se tienen pares de llaves: Una llave privada y una llave pública (derivada de la llave privada).
En simple, Bitcoin (la red) funciona como un grupo de buzones que guardan bitcoins (las monedas) en su interior. Cada buzón tiene una dirección pública única, como un código postal, y está protegido con una llave. Quien tenga esa llave, podrá sacar bitcoins de ese buzón y mandarlos a cualquier otro buzón.
Ahora en ñoño: Cada llave tiene una función específica donde, usando firmas digitales, nos permite demostrar la posesión de los bitcoin. En esencia, las direcciones de bitcoin (el código postal) se derivan de la llave pública (el buzón) y para gastar de estas se requiere una firma que solo se puede producir usando la llave privada correspondiente a esa dirección y llave pública.
Las llaves privadas son la información secreta que se necesita para firmar transacciones. Comúnmente se representan como una lista de 24 palabras. Generar una llave privada es elegir un número de 256 bits al azar. Es muy importante que ese número se elija de forma aleatoria ya que cualquiera que tenga tus llaves privadas puede gastar tus bitcoin.
Entonces, tener bitcoin es tener las llaves privadas que me permiten moverlos. Tener las llaves privadas es tener bitcoin. Your keys, your bitcoin; not your keys, not your bitcoin. Problema resuelto, es cosa de guardar mis llaves privadas.
Espera... ¿Ahora cómo los gasto?
Para producir las firmas digitales a partir de las llaves privadas vamos a necesitar otro componente: un dispositivo electrónico que firma, el cual tome los detalles de la transacción a realizar junto con las llaves privadas y produzca una transacción firmada. Este “dispositivo que firma” puede ser un computador común y corriente o un teléfono. Otra opción popular es tener un aparato físico dedicado específicamente al propósito de firmar transacciones de Bitcoin. Estos aparatos son comúnmente llamados “hardware wallets” o “billeteras de hardware”.
La principal razón de porqué tener uno de estos aparatos es que te permiten evitar tener tus llaves privadas en un computador conectado a internet y en su lugar tenerlas en un dispositivo offline dedicado únicamente a este fin. Esto reduce el riesgo de exponer tus llaves privadas y por lo tanto de que se roben tus preciados bitcoin.
Es importante recordar que los bitcoin en sí no están atados al dispositivo que firma (ya sea una billetera de hardware u otro) sino que a las llaves privadas. Es recomendable hacer un respaldo de la lista de 24 palabras que representan las llaves privadas para no perder acceso a los fondos (y mejor aun si agregas una contraseña o passphrase adicional a elección, pero eso es tema de otro post), pero a la vez es muy importante ser extremadamente cuidadosos con cómo guardamos esas palabras. Cualquiera que tenga acceso a ellas puede llevarse tu plata. No necesita acceso a tu billetera de hardware. Basta con las llaves privadas ya que puede importarlas en otra billetera para gastar tu plata.
Si ahora estás pensando “no tengo idea qué llaves tengo, ni dónde se firman las transacciones Bitcoin que he hecho", entonces probablemente estás usando un servicio que hace todo eso por ti. Ese servicio es quien tiene realmente los bitcoin.
Billeteras Bitcoin
El último componente que me gustaría introducir es el de “software wallet” o billetera de software. Este es un programa que sirve para ver cuántas y cuáles monedas pueden ser gastadas por las llaves privadas, generar direcciones y armar transacciones (que luego sean firmadas por el dispositivo correspondiente) y propagarlas a la red.
Una billetera de software podría a la vez ser el dispositivo que firma y almacena las llaves privadas. Sin embargo, en muchos casos es preferible separar estas responsabilidades para mantener las llaves privadas mejor aisladas, no en un aparato conectado a internet. Esto es porque la billetera de software tiene que estar conectada a la red Bitcoin (y por lo tanto, a internet y sus peligros).
Ahora que sabes que la magia está en las llaves privadas podrás entender los distintos tipos de billeteras Bitcoin, y cuáles son los tradeoffs involucrados. Algunas categorías típicas en las que se describen las billeteras son:
- Custodial / Non-custodial: Si tus llaves privadas las tiene un tercero entonces se dice que la billetera es ‘custodial’. Esto significa que el servicio que estás utilizando puede en cualquier momento mover los fondos y no puedes hacer mucho para evitarlo. Acá la confianza en el servicio juega un papel clave. Yo uso Buda.com para comprar bitcoin así que por lo general tengo algunos satoshis (fracciones de bitcoin) ahí.
- Software Wallet: Billetera de software, programa que sirve para ver tu balance, armar y propagar transacciones. Una buena alternativa para el computador es WasabiWallet.
- Hardware Wallet: Un dispositivo físico que almacena tus llaves privadas y permite firmar transacciones, como la ColdCard.
- Mobile Wallet: Es una billetera de software, pero para el celular. Green: Bitcoin Wallet es una opción bastante popular.
- Cold / Hot Storage: Si tus llaves privadas son almacenadas en un aparato conectado a internet se dice que es un almacenamiento “caliente”, por el contrario se le llama almacenamiento frío cuando las llaves no están en algo conectado a internet. Una mobile wallet como Green es un ejemplo de hot storage, una ColdCard es un ejemplo de cold storage.
- Paper Wallet: Es literalmente un papel con tus llaves privadas. A diferencia de una hardware wallet necesitarás usar otro dispositivo donde importar las llaves privadas cuando quieras gastar los bitcoin para que éste firme la transacción.
En resumen, para tener 100% control de tus bitcoins debes tener 100% control de tus llaves privadas.
Las llaves privadas son información (generalmente representada como una lista de 24 palabras) que se necesita para generar direcciones (con su respectiva llave pública) y para firmar transacciones.
Para firmar una transacción se necesita un dispositivo electrónico que lo haga, utilizando las llaves privadas. Este dispositivo puede ser un aparato dedicado a este propósito (una hardware wallet) o bien puede ser un computador normal o un teléfono. Una vez firmada una transacción está lista para ser propagada al resto de la red.
Para esto necesitamos una billetera de software, el cual es un programa que se comunica con la red Bitcoin para recibir los datos de las transacciones hechas hacia nuestras direcciones y para propagar las transacciones hechas por nosotros desde esas direcciones.