Archive | agosto, 2014

¿Adiós al dinero B? El verdadero valor del Bitcoin y Ethereum (Bitcoin 2.0)

19 Ago

La Wikipedia dicta:

Bitcoin, también Bitcóin3 (signo: ฿; abr.: BTC, XBT4 ) es una criptodivisa descentralizada concebida en 2009 por Satoshi Nakamoto. El término se aplica también al protocolo y a la red P2P que lo sustenta.

Las transacciones en Bitcoin se realizan de forma directa, sin la necesidad de un intermediario. Al contrario de la mayoría de las monedas, Bitcoin no está respaldado por ningún gobierno ni depende de la confianza en ningún emisor central,5 sino que utiliza un sistema de prueba de trabajo para impedir el doble gasto y alcanzar el consenso entre todos los nodos que integran la red.6

Bitcoin es un proyecto relativamente nuevo que se encuentra en evolución. Por esta razón, sus desarrolladores recomiendan ser cautos y tratarlo como software experimental.7

Da la casualidad, con toda esta moda de las monedas virtuales, que justo al lado de nuestra oficina, está la oficina más grande de las Crypto Currencies en Estados Unidos, Bitrópolis. Brock, miembro del consejo del Bitcoin Foundation y fundador de la oficina, estuvo en nuestra oficina de Kuapay durante un buen rato discutiendo sobre el futuro del Bitcoin y las demás monedas virtuales. Su conclusión, igual que la que le he oído decir a Myron Scholes, es que el Bitcoin como moneda en realidad tiene un valor muy pequeño. El Bitcoin es una forma de especulación que puede que salga muy bien -los analistas ponen su valor alrededor de los $10.000 dólares a finales del año que viene. Todos los que saben algo de Bitcoins saben que esto es una apuesta binaria, donde el Bitcoin puede desaparecer, y valer cero, o puede encontrar su espacio en las remesas internacionales, y por tanto, tener un valor tangible.

Si miramos con detalle el funcionamiento del Bitcoin encontraremos que en realidad los Bitcoins no existen. Es decir, no existe como tal una linea de texto o un fichero que sea un bitcoin. Lo que existen son las transacciones que se han realizado desde los orígenes de la moneda. Este sistema transaccional es donde realmente está puesta la mirada de todos los expertos financieros que entienden el Bitcoin.

El Blockchain

Los Bitcoins tienen por detrás un complejo lenguaje de programación y compilador que convierten todas las operaciones que se realizan con la moneda en meros programas computacionales. Para mirar cuántos Bitcoins hay en una cuenta no puedes ir a dicha cuenta y mirar un número sino que tienes que recorrer toda la historia de transacciones y construir  el balance de la cuenta a día de hoy. Toda la historia transaccional completa de los Bitcoins reside en un único lugar llamado Blockchain. Cada vez que quieres mirar alguna información actualizada sobre tu cuenta, tienes que descargarte del Blockchain las últimas transacciones que no tengas ya almacenadas y construir el balance de nuevo. Técnicamente existen algunos atajos a este cálculo tedioso que requiere que te descargues más de 5 Gigabytes de información para tener un mínimo de información suficiente para calcular tu balance.

Sebastián Vidal, compañero en Sistemas de Tuenti y co fundador de Kuapay tardó hace un año en descargarse el Blockchain más de dos días, teniendo una conexión en su casa de casi 50 Megabits, demostrando así que se tarda menos en abrirse una cuenta en un banco que crearse una cuenta en el Bitcoin.

Si ignoramos el problema de escalabilidad, el Blockchain da un sin fin de ventajas. Por ejemplo, saber de manera exacta cómo estaba la cuenta en el instante que quieras mirar, sin ningún margen de error, además de saber dónde están cada uno de los Bitcoins que han pasado por dicha cuenta, dándonos la historia de cada moneda desde su origen hasta el día de hoy:  adiós al dinero en B.

Siendo uno de los primeros protocolos que salieron a la luz como moneda virtual, tiene una serie de limitaciones que hacen que los programas que puedes ejecutar en esta moneda se limiten a ser meras transacciones sin ningún tipo de complejidad añadida. Además, estas transacciones solamente pueden ser iniciadas por las personas dueñas de las cuentas o Wallets.

Ethereum

Estudiando un poco más las monedas y su evolución me encontré -hablando con un viejo compañero de Tuenti, Kenny- con Ethereum. Una serie de desarrolladores escribieron un white paper al respecto de lo que estamos comentando en este post, la utilidad del blockchain para otros métodos que no sean solamente monedas virtuales. En este documento los fundadores discuten sobre la utilidad que un sistema completamente descentralizado y automatizado puede dar a contratos legales, hipotecas, incluso sistemas de almacenamiento descentralizado.

En estos momentos están en la infancia, y han conseguido levantar aproximadamente unos 24 millones de dólares en Bitcoins para poder lanzar la plataforma de pruebas que tienen a día de hoy a producción en seis meses.

// Aviso de zona Geek

Yo personalmente he estado trasteando con los clientes, especialmente el que está desarrollado en Go y he escrito ya algunos programas para definir contratos específicos en su red de pruebas actual. Si hacen todo lo que prometen, la plataforma realmente puede tener un sin fin de posibilidades…

// Fin zona Geek

Os adjunto un video de los fundadores donde explican el potencial de la plataforma. Aviso que el lenguaje que usan es bastante avanzado, pero si has llegado hasta aquí no deberías de tener problemas 🙂

La razón de que haya puesto Ethereum en este Post es porque dentro del mundo de las monedas virtuales, esta plataforma es la única que ha conseguido levantar formalmente suficiente capital para lanzar la plataforma en vez de la propia moneda virtual. Esto es lo que los hace tan diferentes del resto, incluido el Bitcoin.

Veamos todo esto con ejemplos

Para dar un buen ejemplo, en el mundo financiero convencional, cuando transfieres dinero entre dos cuentas bancarias, ambos bancos tienen un histórico de transacciones donde guardan que tú has hecho una transferencia de tanto dinero a otra cuenta corriente. Por otro lado, el banco de destino hace lo mismo. Finalmente, ambos bancos, para poder conciliar sus cuentas, intercambian estos ficheros y casan que todo esté bien hecho. Normalmente hay entidades como el banco central o el Banco de España en el caso de España que se encargan de que estas conciliaciones se hagan adecuadamente.

En el caso del Bitcoin, cuando alguien decide transferir balance de Bitcoins a otra cuenta (en el mundo del Bitcoin, las cuentas se les llaman Wallets) lo que sucede es que el que origina la transacción en realidad crea un pequeño trozo de código fuente (en el lenguaje del Bitcoin) que dice algo así:

 

1. { "hash":"7c4025...", 
2.   "ver":1, 
3.   "vin_sz":1, 
4.   "vout_sz":1, 
5.   "lock_time":0, 
6.   "size":224, 
7.   "in":[ 
8.     { "prev_out": 
9.       { "hash":"2007ae...", 
10.        "n":0}, 
11.      "scriptSig":"304502... 042b2d..."}], 
12.      "out":[ 
13.        { "value":"0.31900000", 
14.          "scriptPubKey":"OP_DUP OP_HASH160 a7db6f OP_EQUALVERIFY OP_CHECKSIG"}]}

 

Este código es después firmado y enviado a la red de nodos de Bitcoins que hay repartida por el mundo. Cada uno de estos nodos concilia esta transacción en su propio código fuente (el famoso blockchain) y manda una aprobación de este código al resto de los nodos para avisarles que esta transacción está bien por su parte. Cuando esta pieza de código tiene la aprobación de suficientes nodos, entonces se da por válido que el monto de Bitcoins se ha movido de una cuenta a otra.

La mayor diferencia entre el Blockchain y el banco central en el caso de las transacciones convencionales es que el banco central mantiene un histórico de las transacciones, por lo que cuando se quiere devolver una transacción por cualquier motivo, tiene que ir en el histórico, marcar la transacción y volver a escribir otra de vuelta. Sin embargo, en los Bitcoins, no existe tal cosa como cancelación de transacción ya que todas las transacciones que acaban aprobadas dentro del Blockchain no son reversibles. Pero son modificables.

Para ver el potencial de Ethereum, pongamos otro ejemplo, donde en vez de un código fuente para hacer una transferencia, hacemos un código fuente que represente un préstamo a 10 días. Es decir, un programa que básicamente transfiera un monto específico de Bitcoins a otra cuenta y que al cabo de 10 días, esta cantidad vuelva a mi cuenta. Y en el caso de no tener suficiente en la cuenta de destino, entonces todo lo que se han usado en la cuenta de destino, independientemente de a dónde se transfieran durante esos 10 días, vuelvan a mí. Este programa va a hacer que cada uno de esas monedas, cuando sean usadas, tengan la condición de que en 10 días, si no se ha devuelto un total de monedas al acreedor, esa moneda va a ser devuelto automáticamente. Es decir, las monedas están marcados.

Los destinatarios terceros de las monedas de mi préstamo no van a ver el balance en su cuenta hasta que el préstamo se haya confirmado, y entonces, pueden optar por decirle al deudor que no le aceptan esas monedas, o sí, dependiendo de la confianza que tengan en él.

Si al cabo de 10 días se ha cumplido la condición del préstamo, entonces el programa finaliza la transacción y libera las monedas para que puedan ser usados por los terceros que han recibido las monedas. En el mundo financiero, esto no podría ser posible, y lo más probable es que el dinero que se ha prestado a terceros ya no sea recuperable en el caso de que el deudor no pague a tiempo su deuda.

Conclusión

Esto es lo que se llama un lenguaje programático financiero. Y es lo que realmente tiene valor de todas las monedas virtuales que han salido y siguen saliendo. Todas ellas tienen un Blockchain detrás, que va evolucionando con el tiempo y perfeccionan al Bitcoin a medida que siguen creciendo. Ese es el verdadero valor de todo este mundo virtual descentralizado de monedas, de donde las entidades financieras y los cuenta habientes pueden aprovecharse para mantener en línea a todos. Es decir, el problema que tuvo Caja Madrid con las preferentes no podría haber sucedido si dichas preferentes fueran una porción de código que hubiera mantenido marcados los Euros usados en dichas transacciones. En el momento en el que no se cumplieran las condiciones de las preferentes, entonces todo ese capital habría vuelto automáticamente a los que compraron las preferentes y se habrían eliminado dichas preferentes.

Lo mismo con los Bonos de los Estados, como el de Argentina, donde se habría podido evitar que Argentina pudiera no pagar, dado que los dólares usados por Argentina para pagar a otros serían dólares marcados que tendrían vuelta automática a los acreedores.

A priori, un sistema perfecto y que evita fraude. Pero como en todo sistema que creamos los seres humanos, existe un factor que nadie podrá evitar, que es que esos programas los siguen escribiendo las personas. Y al igual que los contratos, estos programas ejecutarán lo que se ha acordado entre las partes, por lo que si el acreedor no decide incorporar al programa la devolución automática, los Bitcoins nunca volverán a su cuenta en caso de que haya impago, porque el programa no tiene la cláusula que le permitiría realizar esto.

En conclusión, los Bitcoins y las monedas virtuales son un primer paso que el mundo financiero mira de reojo. Los grandes bancos experimentan en sus laboratorios y la NACHA en Estados Unidos (la asociación detrás del ACH) considera el protocolo financiero del Bitcoin (que no la moneda) de alto interés para su uso en la conciliación y clearing interbancario.

El Bitcoin y las monedas virtuales son lo que la Radio fue para Internet; un primer paso

– Wojciech Szela (amigo y compañero de Kuapay y Tuenti)

Veremos en un futuro no muy lejano como cuando nos metamos en una hipoteca, en vez de firmar un papel, firmaremos digitalmente la hipoteca con nuestra clave privada, y que cuando queramos traspasar la hipoteca, lo que tengamos que hacer es desbloquear la hipoteca  con la misma clave privada para que el siguiente dueño lo firme con su propia clave privada, y así ahorrarnos miles de euros y tiempo en intermediarios y procesos que ya no tendrán sentido.