domingo, abril 10, 2011

Una llamada a las armas (II): dinero P2P (II)

En Constructive Direct Action Against Censorship, la Electronic Frontier Foundation (EFF) nos propone 4 proyectos de lucha contra la censura en Internet. No son manifiestos, no son ataques de denegación de servicio distribuidos (DDoS), ni tampoco son pérdidas de tiempo como llamar a acciones "en el mundo real". Las propuestas son:

Voy a contextualizar y analizar cada una de las propuestas (excepto Tor, sobre la que no tengo nada que decir). Como se va a alargar, voy a hacerlo en varias partes, manteniendo esta cabecera en cada entrada.

Hace mucho mucho, tiempo, en una anterior entrada, estábamos hablando de dinero P2P y de Ripple Project. Pero, por no alargarme demasiado, y por documentarme un poco mejor, quedó pendiente hablar de Bitcoin, que era la propuesta de la EFF para intercambio de dinero electrónico no centralizado.

Bitcoin se define a sí misma como una moneda virtual P2P. Con P2P nos referimos a que no existe una autoridad central que genere las monedas o verifique las transacciones, y que por lo tanto pueda vetarlas o controlarlas, sino que es una red distribuida (P2P) la que se encarga de esa tarea.

Video explicativo de Bitcoin de Weusecoins.com

A diferencia de lo que comentamos en Ripple, Bitcoin no es sólo un sistema de pago electrónico sino que define su propia moneda. ¿Y en qué está soportada ésta moneda? En potencia de computación. Me explico.

Podéis imaginaros cada bitcoin como un número. Un número muy grande y especial, resultado de un complejo cálculo matemático. Para crear ese número, hace falta un montón de tiempo de ordenador. Tú puedes poner tu ordenador a trabajar para crearte monedas (lo que llaman en el argot "minado"), pero puesto que los ordenadores consumen electricidad, y la electricidad tiene un coste (en dinero del Mundo Real™), el dinero que generas no es gratis. Es más, según sea el valor actual de intercambio de Bitcoins a la moneda de tu país, lo habitual es que te cueste más caro minar las monedas que lo que sacarías si te pagaran en dólares o euros o la divisa que sea por esas monedas creadas. De eśta forma a) se asegura no crear dinero de la nada b) el dinero está respaldado en algo "tangible" pero no limitado (me refiero a no limitado como la cantidad de oro disponible). En realidad el sistema de creación de dinero está indirectamente basado en la energía, lo cual, dado que las leyes de la termodinámica son más difíciles de violar que la legislación financiera, nos permite tener cierto nivel de confianza.

Sin embargo aún nos podemos preguntar qué impide a quienes tienen potencia de cálculo abundante y ociosa a lanzarse a generar bitcoins y más bitcoins a mansalva. Pues que la generación de nuevas monedas es un "poquíto" más complicada de lo que he contado, y que la introducción de nuevos bitcoins está regulada en el tiempo:

Las nuevas monedas se generan por un nodo de la red cada vez que éste encuentra la solución a cierto problema de cálculo (esto es, crea un nuevo bloque), para el cual el tiempo medio de solución puede ser calculado. Se ha ajustado la dificultad del problema para que en los 4 primeros años de existencia de la red Bitcoin, se creen 10.500.000 monedas. La cantidad se divide por dos cada 4 años, de forma que serán  5.250.000 monedas entre los años 4 y 8, 2.625.000 entre los años 8 y 12 y así sucesivamente. De esta forma, el número total de monedas se aproximará con el tiempo a 21 millones. — FAQ de Bitcoin
El hecho de que exista un límite en la masa monetaria total tendrá consecuencias cuando luego lo analicemos desde el punto de vista monetario.
 Generación de bitcoins en el tiempo

Pero no sólo hay una cantidad máxima de monedas que se pueden generar, así como una cantidad máxima de monedas que se pueden generar para cada periodo de tiempo, sino que además el valor de las monedas creadas decrece en el tiempo:
El número de bloques [ya generados] marca el valor de la moneda del bloque.  El valor es de 50 bitcoins por bloque para los primeros 210.000 bloques, de 25 bitcoins para los siguientes 210.000 bloques, luego 12.5 bc, 6.25 bc, etcétera. FAQ de Bitcoin
Por si tenéis curiosidad, tanto en el propio cliente oficial como en Bitcoin Charts tenéis el número de bloques generados hasta la actualidad (117.635 en el momento de escribir esto). Esto quiere decir que todavía estamos en el periodo en el que cada bloque generado son 50 bitcoins, con lo que el valor total de dinero generado es de unos 5,88 millones de bitcoins. También podéis observar que actualmente se genera un bloque nuevo cada 8 minutos aproximadamente.

Todas estas medidas de control de la generación de moneda y otras han sido tomadas para distribuir el minado y que una sóla organización no acapare las nuevas coins. Sin embargo, no evita que se hayan creado aunténticas "granjas" de minar monedas, incluso con software especializado basado en la potencia de computación de las modernas tarjetas gráficas (como se puede inferir de echar un vistazo al foro oficial, sección de minado) de que disponen los ordenadores actuales, verdaderas máquinas de "triturar números". El resultado es que, según mi experiencia, para un particular con su único ordenador es bastante costoso obtener bitcoins a partir del proceso de generación de nuevas monedas. Según esta calculadora, a mi modesto ordenador (2400 khash/s) le costaría más de 4 años y medio obtener mi primer bloque. Por comparar, una tarjeta gráfica de última generación es capaz de 250 megahash/s, las cooperativas de minado andan del orden de las decenas de gigahash/s y la potencia total de la red se estima actualmente de 684 gigahash/s.

Eso por el lado de la generación de moneda. Por el lado de la verificación de las transacciones, la red Bitcoin es capaz de funcionar descentralizadamente debido a que todas las transacciones son públicas. Para garantizar la seguridad de la moneda y las transacciones, así como el anonimato, se usa extensivamente criptografía asimétrica o de clave pública (por ello Bitcoin es denominada a veces como una criptomoneda). Los nodos de la red se dedican a firmar digitalmente todas las transacciones para que éstas no sean repudiables. Es decir, si yo hago un pago a otro miembro de la red, la propia red sirve de testigo o "tercera parte" para confirmar que esa operación efectivamente se ha hecho, y que luego más tarde yo no voy a volver a usar las mismas monedas para otro pago (lo que se llama el problema del doble gasto). La red se encarga de guardar todas las transacciones realizadas, así como de firmar las nuevas transacciones pendientes.

Tanto para el firmado de transacciones pendientes como para la generación de nuevas monedas (que en realidad son también una forma de transacción pendiente) la red se dedica a gastar un tiempo en resover esos cálculos matemáticos que mencionábamos, hasta que alguno de los participantes encuentra la solución, y esas soluciones son parte del bloque de firmado. De esta forma, los bloques de transacciones se encadenan en el tiempo, unos tras otros, y obliga a que, para falsificar una transacción habría que rehacer todo el trabajo previo. Sólo una red de una potencia superior combinada podría hacer los cálculos más rápidos y adelantar y ser capaz de falsificar transacciones (pero una red más rápida tendría mayor incentivo participando en la red oficial y generando bitcoins que falsificando, o al menos esa es la teoría).

No quiero meterme en demasiados tecnicismos, si os interesa con más detalle el funcionamiento exacto del sistema, os remito a este artículo técnico del creador de Bitcoin, o si queréis algo un poco más suave, a la página de Wikipedia sobre Bitcoin. [Añadido posterior: este artículo de LWN también aporta una introducción técnica a Bitcoin]

Desde el punto de vista monetario, el hecho de que la creación de nueva moneda sea distribuida y predecible significa que no puede ser intervenida por un banco central produciendo inflación (para ser exactos inflación no predecible). Eso aporta estabilidad a la moneda, lo cual, junto a su respaldo "energético" la hacen, monetariamente hablando, atractivas. Sin embargo, como mencioné en el artículo anterior, el hecho de existir límites al crecimiento de la masa monetaria puede ser un hándicap importante, en este caso agravado porque el tope no es dinámico respecto a los participantes (como pasaba en Ripple) sino absolutamente estático (los famosos 21 millones de monedas).

El sistema está diseñado así para "recompensar" a los que mantienen activa la red, ya que son los mismos que mantienen el trabajo de generación de cálculos y firmado los que obtienen las nuevas monedas que se van creando. Pero a medida que avance el tiempo y las monedas ganadas sean cada vez menos, tendrán menos alicientes para seguir haciéndolo (aunque a su vez los bitcoins serán más valiosos a medida que se acercan al límite de bitcoins). Para este escenario se propone que en el futuro se cobre una pequeña tasa en concepto de impuesto de transacción que repercutiría en los nodos firmantes/validadores. Aunque a mí personalmente esta idea me parece algo precisamente en contra de una de las bondades del sistema Bitcoin (la ausencia de intermediarios y sus comisiones en las transacciones).

Otro de los frentes que tiene abierto Bitcoin es el legal. Los estados y sus monopolios monetarios obviamente no ven con buenos ojos un posible competidor fuera de control, y advierten sobre su posible uso para el blanqueado de dinero, la evasión fiscal y otras "preocupaciones regulatorias" que dice la EFF en su análisis.

Pero tal vez el mayor handicap que tiene cualquier propuesta de sistema monetario alternativo es su uso práctico. Podemos tener un magnifico sistema de moneda electrónica segura, no centralizada y todas las ventajas adicionales que se os ocurran, que si luego no podemos comprar y vender cosas con ella, su utilidad real es cero. Porque la moneda, al fin y al cabo, no es más que algo que utilizamos como medio de conveniencia para el intercambio de bienes y servicios, y su único respaldo real y definitivo es la confianza que la gente le otorga. La confianza de que voy a ir a la tienda y me van a dar la comida que quiero o necesito a cambio de esos euros o dólares o la divisa que uses. Así que, la moneda tendrá sentido en tanto en cuanto haya gente dispuesta a suministrar bienes y servicios a cambio de la misma.

En el caso de Bitcoin, existe una sección de trade de la wiki no oficial con algunos ejemplos de negocios o empresas que aceptan el pago de sus bienes o servicios en bitcoins, aunque como podéis imaginar son escasos. Así es bastante difícil que Bitcoin o cualquier otra sistema monetario tenga alguna posibilidad de ganar momentum... Por algún lado hay que empezar, y como no vas a empezar comprando petróleo u otras materias primas en bitcoins (porque no los venden) la única idea de empezar a echar a rodar una nueva moneda es usarla para el mercado de segunda mano: aquellas cosas que, por estar ya producidas, no suponen un gasto (en otro tipo de moneda) para el vendedor, por lo que puede estar predispuesto a utilizar otra moneda si sabe que a su vez puede obtener equivalentes en las mismas condiciones. Por ejemplo, no se me hace nada raro el pensar un sistema de compraventa de libros usados en bitcoins (u otra moneda similar). O incluso algo del estilo eBay que venda o subaste objetos pero basado en este tipo de monedas. Sería una forma de darle uso a la moneda, y por lo tanto convertirla en una moneda real.


Otras monedas/proyectos

Aunque Bitcoin y Ripple son los dos proyectos de monedas P2P que más menciones y atención están recibiendo, la P2P Foundation en su web recoge otros proyectos de P2P Money en diversos estados. Puede ser un punto de entrada a un tema que cada vez despierta más interés y no sólo entre la comunidad open source.

7 comentarios:

Timón dijo...

Hola, quería hacer algunas aclaraciones sobre ripple:

IOU no es término exclusivo de Ripple. Su traducción sería "Pagaré".

http://es.wikipedia.org/wiki/Pagaré

Ripplepay es ya completamente funcional. No obstante, se pretende mejorarlo:

http://code.ripplepay.com/wiki/Roadmap

Pero es necesario un servidor para ejecutar ripplepay. Lo que sí está en proceso es el protocolo distribuido. Con él, cada persona usaria so propio cliente en vez de conectarse a una web.

Sobre bitcoin, he de decir que no está respaldada por energia ni por potencia de calculo. Es completamente fiat:

https://en.bitcoin.it/wiki/Myths#Bitcoin_is_backed_by_CPU_cycles

https://en.bitcoin.it/wiki/Myths#Bitcoins_value_is_based_on_how_much_electricity_and_computing_power_it_takes_to_mine_them

Muy interesante el blog

Timón dijo...

https://en.bitcoin.it/wiki/Myths#Bitcoins_value_is_based_on_how_much_electricity_and_computing_power_it_takes_to_mine_them

Ingeniero Imperial 14 dijo...

Visto el avance de la tecnología en los últimos años (ni siquiera me remonto a la última década), me parece un poco inquietante la limitación de 21 millones de bitcoins.
Está claro que con la tecnología que tenemos disponible hoy y con una previsión cercana a esta realidad la curva de progresión tiene su lógica, ¿pero que pasa si empezamos a hablar por ejemplo de ordenadores cuanticos o de una evolución tecnológica que haga que el nivel de procesamiento de hoy nos parezca el de hace 40 años?

Javier Cantero dijo...

@Ingeniero Imperial 14: Con computación cuántica, el sistema estaría roto (al menos con computación cuántica real). Pero créeme, ese sería el menor de los problemas, ya que toda la criptografía no cuántica -incluyendo todos los sistemas de seguridad actuales- estarían rotos inmediatamente.

Me preocupa más el límite de los 21 millones por sus efectos monetarios a largo plazo.

Timón dijo...

El límite de 21 millones no tiene nada que ver con el avance de la tecnología, como dice Javier, es una cuestión monetaria más que tecnológica. Los "mineros" también mejorarán sus computadores, no solo los que se usen para los posibles ataques al sistema. La comunidad de bitcoin se compone en su mayoría por seguidores de la escuela austriaca de economía y consideran una base monetaria fija como una cualidad positiva de bitcoin. Con una base monetaria constante, la deflacción será sólo fruto del crecimiento económico. Como 1 bitcoin es potencialmente divisible hasta el infinito (actualmente "sólo" 8 cifras decimales, pero se podrá cambiar facilmente cuando sea necesario), que un bitcoin tenga un valor muy grande no inhabilita la moneda para el comenrcio: los precios simplemente estarán puestos en microBitcoins.

Javier Cantero dijo...

Este análisis de Wired sobre Bitcoin es muy completo, aunque es casi un "Post-mortem". Lo dejo aquí para futuras referencias y futuros visitantes.

Timón dijo...

Yo no creo que bitcoin este muerto ni mucho menos. Hay muchos desarrollos en marcha. Todavía no ha despegado. Cuando valió 30 dolares fue una burbuja.
Por cierto, hay una página que usa ripple por dentro y que es muy simple (sólo horas como unidad) y práctica (ripplepay no tenia mercado de ofertas y demandas):

https://villages.cc/

Echárle un vistazo. Lo mismo la podéis utilizar con vuestros amigos y vecinos.