¿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.

7 respuestas to “¿Adiós al dinero B? El verdadero valor del Bitcoin y Ethereum (Bitcoin 2.0)”

  1. Isaac Arruebarrena Lun 1, septiembre 2014 a 03:00 #

    Buen artículo, se agradece leer artículos en castellano que expliquen bien Bitcoin y el mundo de las cryptocurrencies. Varios comentarios:

    1. En realidad sí que se puede conocer el balance de cualquier wallet de Bitcoin, siempre y cuando se conozcan los public keys que contiene la wallet. Como estoy seguro que sabrás, Bitcoin se sustenta en public-private key crypotography, por lo que al conocer el public key de una cuenta directamente puedes saber el balance de la misma (un wallet puede tener de 1 a n cuentas). La descarga del blockchain sólo es necesaria para los miners (validadores de transacciones), un usuario normal no necesita descargarse el histórico del blockchain. Son los miners quienes necesitan conocer el histórico para saber qué cuenta posee los bitcoins siendo transmitidos en las transaciones a aplicar en el block actual.

    • Isaac Arruebarrena Lun 1, septiembre 2014 a 03:01 #

      2. Ethereum no es el único proyecto lanzado para los smart contracts con capital para su desarollo. Hay un proyecto muy prometedor lanzado por Ripple Labs llamado Codius (codius.org). Lo que me gusta de Codius es que no se crea un nuevo blockchain (a diferencia de Ethereum, que tiene su propio blockchain y su propia moneda, el «ether»). Codius está pensado para las mismas finalidades que Ethereum, que muy bien explicas en tus ejemplos, y utiliza como blockchain cualquier protocolo/servicio ya existente. Es mucho más flexible. El usuario y/o las empresas que prestan los servicios (los host del contrato) son quienes deciden el blockchain que quieren utilizar (Bitcoin, Ripple, Litecoin, Dogecoin, etc.). Codius incluso puede utilizarse sobre protocolos o sistemas que no son monedas virtuales, como por ejemplo SMTP (protocolo de email) o servicios web (i.e. Dropbox, AWS, Google Drive, etc.).

      • Isaac Arruebarrena Lun 1, septiembre 2014 a 03:01 #

        3. En los ejemplos de aplicaciones de Ethereum que pones, la devolución de los fondos automática sólo sería posible en contratos/productos/servicios en los que los fondos se pongan en modo escrow (controlados por una o varias terceras partes imparciales que puedan determinar que las condiciones del contrato se han cumplido o no). El programa creado sobre Ethereum o Codius necesita de un input exterior (e imparcial) para ejecutar las condiciones del contrato. Si tienes varias terceras partes imparciales (i.e. Google Drive, Amazon, Intuit, GoDaddy…) que transmiten a Ethereum o Codius el input del mundo exterior puedes asegurarte que las condiciones del contrato se van a cumplir. El ejemplo de los bonos de Argentina no sería posible dado que el Gobierno de Argentina controlaría completamente los fondos recibidos por la venta de los bonos y los utilizaría para otros fines como gasto público, inversiones, pago de intereses previos, etc. La única forma en la que veo posible la devolución de los fondos en este ejemplo sería si Argentina pusiera alguna garantía en escrow controlada por uno o varios host imparciales, cuya propiedad se pudiera transmitir de forma digital.

    • joax Mar 2, septiembre 2014 a 07:14 #

      Hola Isaac,

      En realidad sigue siendo necesario obtener el Blockchain, lo que pasa es que lo que mencionas es llamando al API del Blockchain precisamente, que es donde reside una de las copias. Para un usuario que quiera ver balances, solamente tiene que hacer llamadas contra el API, y la gestión y cálculos del Blockchain ya están hechos por el propio Blockchain. (https://blockchain.info/q).

      Los mineros sirven esencialmente (aparte de para obtener más monedas) para comprobar y aprobar de manera distribuida las transacciones que se mandan al Blockchain. En esencia, el Bitcoin es la recompensa por procesar todas esas transacciones que se mandan y aprobarlas de manera distribuida, sin necesidad de entidades centralizadas. Los nodos que aprueban las incorporaciones al Blockchain son precisamente los mineros.

      • joax Mar 2, septiembre 2014 a 07:21 #

        Con respecto a los escrow, en realidad es el propio contrato el que hace de monitor del escrow. La naturaleza de las cuentas escrow es precisamente porque no existe la posibilidad automática de controlar los fondos, por eso se dejan delegados en terceros las responsabilidades de liberarlos.

        En el caso de los contratos en Ethereum o Codius (no lo he analizado todavía, pero tiene muy buena pinta) esta forma de escrow es automática, incorporando los controles a Ethereum para que tengan los triggers.

        En el caso de Argentina, los fondos no le darían el dinero al gobierno Argentino al menos que se acaten los triggers automatizados en el contrato. De nuevo, como en todo contrato, todo depende de las condiciones que se escriban en él. Por tanto, no depende de la soberanía de cada uno, sino del mutuo acuerdo sobre la soberanía del contrato.

        Es más, Ethereum tiene como base precisamente distribuir la soberanía al mutuo acuerdo de las partes, para que los contratos sean justos en ambas partes ya que el árbitro del contrato es una red mundial distribuida sin influencias. 😉

      • Isaac Arruebarrena Mié 3, septiembre 2014 a 04:44 #

        Sí, de acuerdo. Al fin y al cabo un usuario normal que tenga un wallet en Blockchain.info no se descarga el blockchain en su smartphone.

        El problema que le veo al mining de Bitcoin, y todos los forks de Bitcoin, es que no es escalable a volumenes mainstream, como por ejemplo transferencias internacionales (SWIFT), Visa o MasterCard. Además en su arquitectura actual tampoco son posibles los micro-pagos.

        Intentando mejorar el sistema de validación de transacciones de forma distribuída de Bitcoin, unos pioneros de Bitcoin (Arthur Britto, Stefan Thomas, Jed McCaleb y David Schwartz) crearon Ripple, que en vez de utilizar el proof-of-work de Bitcoin que llevan a cabo los miners para validar las transacciones y añadirlas al blockchain, utiliza un sistema de peering llamado Consensus. Las ventajas de esta forma de validación de transacciones son varias:
        1. No hay posible el 51% attack, en Ripple es indiferente el poder computacional de los validadores de transaciones dado que no hay mining.
        2. Al no haber mining, se llega a consenso de qué transacciones son válidas y se incluyen en el blockchain en cuestión de segundos (2-6 segundos) a diferencia de los 8-10 minutos de Bitcoin. Eso hace que las transacciones se confirmen casi en real-time.
        3. La arquitectura de Ripple hace que el sistema sea mucho más escalable dado que es eficiente energéticamente, las transacciones se pueden confirmar en paralelo (lo que hace que el número de transacciones por segundo sea mucho mayor) y además existe un sistema anti-ataques que permite que Ripple siga procesando transacciones incluso en condiciones de estrés (gran volumen, ataques…).
        4. En Ripple además no es necesario descargarse el blockchain completo para ver los balances de las cuentas y validar transacciones futuras 😉
        Puedes echarle un vistazo. Es muy interesante. Y podemos hablar al respecto cuando quieras. Un saludo

Trackbacks/Pingbacks

  1. ¿Adiós al dinero B? El verdadero valor del Bitcoin y Ethereum (Bitcoin 2.0) - Vie 22, agosto 2014

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

Deja un comentario