Electrónico, digital, virtual, criptográfico.

El dinero, como los euros o el dólar (denominado FIAT), es prácticamente digital porque la mayor parte existe solo en formato informático. También es virtual porque aunque no tenga forma física, podemos comprar cosas con él. Es obvia la razón por la que también se define como electrónico. Pero a diferencia de Bitcoin, su distribución y su seguridad dependen de terceras partes.

Bitcoin es una moneda criptográfica porque su seguridad y su distribución dependen de ésta rama de las matemáticas. Las transacciones en su red también se aseguran con la ayuda de la criptografía.

Traducido directamente del documento original, Satoshi explica las transferencias así:

“Definimos las monedas electrónicas cómo una cadena de firmas digitales. Cada propietario transfiere su moneda al siguiente, al firmar digitalmente un hash de la transacción anterior, junto a la llave pública del siguiente propietario que queda añadida al final de la moneda. El que cobra puede verificar las firmas que verifican la cadena de propietarios.”

El gráfico con el que nos ayuda a entender este lío es así:

03-12-2015 - Post05 -Transacciones

La primera transacción de la izquierda ya la ha recibido el propietario del par de llaves 1. Imaginemos que el valor es una moneda electrónica, como se define arriba en la explicación de Satoshi.

El hash que le ha llegado a este propietario 1 contiene la cantidad enviada, la hora a la que se envió y la llave pública que identifica al propietario anterior. Además lleva una representación de su llave privada, en un formato que solo nos indica que ha sido enviada a través de la única llave privada que podría haber enviado esa moneda electrónica. Dicha confirmación se denomina en el gráfico como “Firma propietario 0”.

A través de la criptografía, el hash en este caso, las llaves privadas que han liberado la moneda no se podrán revelar nunca,  pero el sistema y los demás usuarios pueden comprobar que la transferencia ha sido realizada por alguien que está autorizado.

Hasta aquí tenemos una moneda que legítimamente ha llegado al monedero del propietario 1 (El rectángulo grande superior de la izquierda). Los saldos se han ajustado, el del monedero 0 es una moneda menos, y el del usuario 1 una moneda más.

Ahora el usuario 1 puede enviar la moneda a otro usuario, por lo que prepara una transferencia desde su monedero digital. Cuando la envía libera la cantidad con su llave privada (el rectángulo inferior de la izquierda). Del hash resultante de la operación se puede verificar que la firma corresponde a la llave privada que empareja la llave pública del usuario 1, y que su saldo le ha permitido hacer la transferencia; por lo que el usuario 2 puede ahora transferir la moneda con su llave privada, y así sucesivamente.

La moneda en realidad nunca queda identificada como tal. Solo se identifica la parte del saldo disponible que un usuario envía a otro, al pagarle a través de la red. Esto lo explica Satoshi el texto original, a continuación de lo que he traducido arriba, dando paso al sistema por el que funciona el algoritmo Proof o work, mediante el que se asegura el historial de las transacciones, e incentiva a los usuarios que deseen hacer el trabajo de asegurarla: Los mineros.

Cuando efectuamos una transacción y la transmitimos por la red para que le llegue a su destinatario. Éste, en caso de disponer solamente el saldo de esa transferencia que le acaba de llegar, no podrá enviar ninguna cantidad a otro usuario hasta que la transferencia haya sido confirmada.

Durante este tiempo en el que no puede disponer de su saldo positivo, los usuarios que tienen copia de la cadena de bloques comprueban que todo es correcto y se agrupa con otras hasta que forman un bloque de 1Mb. Cuando se une el bloque de nuestra transacción se producen la primera confirmación. El saldo no estará disponible hasta la sexta confirmación, o hasta que se hayan unido cinco bloques más a la cadena.

Hay diversos servicios gratuitos con los que podemos hacer un seguimiento a cualquier transacción y conocer su estado. Esta captura la acabo de hacer en Blocchain.info:

03-12-2015 - Post05 -TransferenciasPorConfRemitente

He marcado en amarillo el hash de la transacción que, como he explicado antes, es el que contiene toda la información relevante. La raya roja está debajo de la dirección, o llave pública, del remitente, y la verde debajo de la del receptor.

Mediante el enlace al que lleva la dirección del receptor he sacado esta otra captura de pantalla:

03-12-2015 - Post05 -TransferenciasPorConfRecept

Esta información es toda la que nos ofrece el monedero del receptor. En color morado he marcado la que corresponde al total las transferencias recibidas, o realizadas, desde este monedero; el total de los bitcoins que ha recibido; y su saldo final. El resto de las señales coinciden con las del cuadro anterior.

Vemos que aunque el monedero afirma tener saldo (maraca morada),  la transferencia todavía está sin confirmar por lo que su usuario no podrá disponer de él (realzado en el cuadro rojo).

Esta otra captura contiene la primera confirmación de que la transferencia es buena:

03-12-2015 - Post05 -TransferenciasConf

Cuando en el recuadro azul marque “6 confirmaciones”, se podrá disponer del saldo del monedero, que en este caso coincide con el de la transferencia, y que ahora está incluida en el último bloque añadido a la cadena. A medida que se vayan sumando bloques encima, la posibilidad de malearla se reduce exponencialmente.

Esta explicación no abarca todo lo que se puede conocer sobre las transferencias, pero espero que ayude a hacerse una idea sobre cómo funcionan.

El programa evita el problema del double spending, que es el problema por el que hasta ahora no se había podido crear un sistema monetario no gubernamental globalizado. La dependencia de una central que garantiza el consenso los convierte a todos vulnerables a ser censurados.

Bitcoin es un mundo. Aunque su diseño y funcionamiento solo permita efectuar transferencias, el hecho de que a su vez sea un protocolo de comunicación, permite añadirle funciones a través de la programación sin comprometer nunca sus características principales ni su seguridad.

Pliego de descargas:

Bitcoin es un experimento y nada de lo que hayas leído representa la intención de aconsejarte, o de influir en tus decisiones respecto a tus inversiones, o a tu economía personal. El propósito de los artículos de este blog es el de explorar un nuevo ecosistema tecnológico, aprendiendo sobre sus posibilidades, sus propiedades y características innovadoras.

Los bitcoins no existen.

Se calcula que el PIB del planeta asciende a unos 70 billones de dólares, y la deuda mundial a 200 (también billones). Es decir, que si el dinero que ganamos todos lo guardamos en una hucha para pagar la deuda, tardaríamos tres años en romper el cerdito, durante los que no habríamos podido llevarnos nada a la boca.

El dinero FIAT está basado en la deuda, y ésta solo está representada en apuntes contables que se compran y se venden en mercados como el Nasdaq, mientras sigue su camino hacia arriba separándose del PIB.

La figura del siguiente gráfico, aunque refleja esta situación en EEUU, prácticamente no se diferenciaría de otro con datos de índices mundiales.

11-30-2015 - Deuda GDP USA 1940 - 2005

En el gráfico siguiente podemos ver cómo el sistema bancario diferencia cada tipo de dinero del comprendido en el PIB, es decir, el que no es deuda porque es el que ganamos con nuestro trabajo. Lo divide en cuatro grupos y cada uno contiene al de más abajo.

El grupo M3, o la primera capa, son los depósitos a largo plazo; el M2 los depósitos a corto; el  M1 es el dinero disponible en nuestras cuentas; y el M0 es el cash, o el dinero físico que hay en circulación.

11-30-2015 Post04Pict -

El uso del dinero electrónico está masificado. En la actualidad representa el 90% de las transacciones que se realizan en el mundo diariamente. Si sumásemos la deuda con otra capa por encima de la morada en el gráfico, podríamos decir que el dinero físico, la capa azul, prácticamente no existe.

Los bitcoins tampoco existen, lo que guarda nuestro monedero es la llave privada con la que podemos liberar el saldo que tenemos anotado en la cadena de bloques. Los bitcoins no son un archivo más de nuestro ordenador o de nuestro móvil, como lo podría ser una foto, un documento pdf, o una canción. No son más que el balance entre las transacciones que hemos recibido, y las que hemos realizado  desde el monedero al que le corresponda esa llave privada.

Cuando abrimos un monedero nuevo, Bitcoin crea unas llaves privadas. Estas, mediante un algoritmo matemático son relacionadas con otras llaves públicas, creadas también en ese instante a partir de las privadas, de forma que ambas sean las únicas que coinciden de entre todas las que puedan llegar a existir en la red Bitcoin. El sistema está programado de forma que puede haber tantos pares de llaves distintos, como átomos en el universo.

Las llaves públicas son anónimas hasta que no se las demos a alguien para que nos envíe bitcoins (hablo de las públicas, las privadas no se deben dar a NADIE). Desde ese momento, debido a que la cadena de bloques es pública, esa persona podrá seguir la historia del saldo de ese monedero sabiendo a quién pertenece. Esta característica hace de Bitcoin un protocolo semi-anónimo.

Cuando creamos un monedero con alguna aplicación de escritorio, como por ejemplo Bitcoin Core, en nuestro disco duro se habrá creado un archivo “Wallet.json”. Esto es nuestro monedero. No es necesario hacer copia de seguridad del archivo con la intención de recuperar nuestros bitcoins, si se estropease el ordenador algún día. El archivo solo son nuestras claves privadas que interactúan con la cadena de bloques desde el programa que las ha creado. El formato de las llaves en este archivo no se parece en nada a las que hemos de conservar nosotros para efectuar transacciones. Ni los mejores hackers podrán hacer funcionar ese archivo sin ellas, como tampoco nosotros mismos si las perdemos.

Existen muchos monederos de escritorio que añaden funciones distintas al Bitcoin core, que tiene el inconveniente de que el usuario ha de mantener una copia de la cadena de bloques para usarlo, y actualmente ésta pesa unos 30 Gb. Algunos de los más populares son MultiBit o Electrum. Hay otros como Armory que añaden aspectos que refuerzan la seguridad, pero que resultan más complicados para usuarios no avanzados.

También tenemos monederos que podemos llevar en el móvil cómo Airbiz o Samourai, éste último es de reciente aparición y hace nuestras transacciones completamente anónimas; no será de extrañar que veamos próximamente que otros añadan esta característica. El dinero en metálico es completamente anónimo, ya que no tenemos porqué saber cuánto dinero lleva otra persona en la cartera por el hecho de que nos haya pagado en efectivo. Si los bitcoins han de llegar a ser usados como dinero de forma masiva, tienen que tener esta característica.

Algunos de los monederos móviles se pueden sincronizar con nuestro monedero online y viceversa, como es el caso de Bolckchain.info. También hay monederos como Kryptokit, que son extensiones que se instalan en nuestro navegador.

Los que más protección ofrecen, y por tanto los que deberíamos considerar para guardar cantidades importantes de bitcoins, son los monederos hardware como Ledger Wallet, o Trezor. Su particularidad es que las llaves privadas nunca salen del dispositivo, las transferencias se firman internamente sin que estas sean reveladas ni siquiera a nuestro propio ordenador. Esto le añade un nivel de seguridad muy efectivo que evita determinados ataques con los que las contraseñas pueden ser absorbidas a través de nuestro teclado, por ejemplo.

La seguridad de nuestra llave privada depende de su nivel de entropía. Esto quiere decir que cuanto más aleatoria sea, mejor. Con una clave que conste de 12 palabras no relacionadas entre sí, de las que podamos estar seguros que memorizaremos sin olvidarnos nunca, podremos disponer de lo que se conoce como un brain wallet. Es recomendable ser un usuario avanzado para usar un brain wallet como monedero habitual, ya que su fortaleza añadida radica en que las llaves privadas jamás saldrán de nuestra cabeza si las usamos adecuadamente. Las transferencias que hagamos las deberemos configurar en un ordenador sin conexión, del que estemos seguros que está libre de virus antes de transmitirlas por otro que tenga conexión. Esto es lo que hacen automáticamente los hardware wallets, pero estos últimos no son gratis.

Los monederos de papel o paper wallets también ofrecen un alto nivel de seguridad que los hacen aptos para utilizarlos como almacén de bitcoins, ya que las llaves tampoco quedarán expuestas al tráfico de Internet hasta que decidamos transferir con él. Además tendremos nuestras claves impresas para guardarlas físicamente donde mejor nos parezca.

Los monederos son inviolables si les damos un uso adecuado, pero son la parte más vulnerable de Bitcoin desde el punto de vista del usuario. Podemos crear todos los que queramos e ir transfiriendo nuestros fondos a uno nuevo siempre que sospechemos que las llaves privadas del actual puedan haber sido comprometidas, y muchas otras cosas por el estilo que nos ayudarán a asegurar nuestros bitcoins. Pero hay que tener muy claro que no hay ninguna entidad detrás que nos vaya a devolver nuestro dinero si este escapa de nuestro control y desaparece, por lo que es recomendable practicar antes de usar cantidades importantes.

También hay servicios que convierten automáticamente a dólares los bitcoins que nos envíen, o parte de ellos. Son muy convenientes para comerciantes que desean cobrar en bitcoins, pero que no quieren estar expuestos a su volatilidad actual. Coinbase y Circle son dos de los que llevan más tiempo funcionando.

Bitcoin es dinero programable al que se puede adaptar cualquier servicio imaginable. Ya hay monederos que editan varias llaves privadas de las que podemos requerir dos de tres, por ejemplo, para retirar todos los fondos, mientras que cada una individualmente solo puede transferir hasta una cantidad límite del total. Los hay que pueden crear hasta 18 llaves, por lo que las combinaciones posibles son casi infinitas. Se conoce como multisig, y el servicio lo ofrecen algunos de los mencionados aquí, cómo es el caso de Electrum.

Los bitcoins también se pueden programar para que no se puedan transferir hasta una fecha determinada, e incluso que se transfieran automáticamente al llegar ese día, a otro monedero que especifiquemos previamente.

Las posibilidades que abre bitcoin al mundo de las finanzas son inimaginables. El fenómeno es muy similar al potencial que tenía el protocolo TCP/IP, en el mundo de las comunicaciones, durante los comienzos de internet.

¿Será posible que esta tecnología pueda hacer que la horquilla del primer gráfico cambie las tornas? Pudiera ser que no, nadie sabe el efecto que ningún invento pueda conseguir en el tiempo. Pero las dudas que plantea el sistema financiero actual, de ser capaz de solucionar sus descuadres, son muchas. Bitcoin en un solo programa emite y transfiere valor, de forma transparente y blindada por la matemática. El mecanismo mediante el que lo consigue es software libre y forma parte de su protocolo de comunicación descentralizado, por lo que ningún interés personal o colectivo puede decidir cambiar las reglas a su favor, pero si adaptar servicios que mejoran y facilitan su uso, como hemos visto en este artículo con el caso de los monederos.

Pliego de descargas:

Bitcoin es un experimento y nada de lo que hayas leído representa la intención de aconsejarte, o de influir en tus decisiones respecto a tus inversiones, o a tu economía personal. El propósito de los artículos de este blog es el de explorar un nuevo ecosistema tecnológico, aprendiendo sobre sus posibilidades, sus propiedades y características innovadoras.