Revista Informática

Bitcoin, una idea genial (I)

Publicado el 23 junio 2013 por Iyanmv @iyanmv

Hace ya cinco años desde que el curioso y desconocido Satoshi Nakamoto (seguramente sea el psudónimo para un grupo y no una única persona) elaborara el protocolo de Bitcoin. En tan solo nueve hojas plasmó una idea genial: una moneda descentralizada sin bancos, estados o intermediarios. Un año después, el 4 de febrero de 2009 se creo la red y aparecieron los primeros Bitcoins.

¿Alguna vez os habéis parado a pensar qué es el dinero? ¿Por qué la gente está dispuesta a vender sus productos o servicios a cambio de un trozo de papel? La respuesta es muy sencilla: la confianza. La única diferencia entre un trozo de papel cualquiera y un billete de cinco euros por ejemplo, es que nadie confía en el valor de ese trozo de papel mientras que el euro está avalado por una gran institución y millones de personas confían en su valor. Tienen la certeza de que cuando quieran podrán utilizar ese dinero para comprar otro bien o servicio.

Alicia vive muy lejos de Bob y quiere comprarle sus calcetines de Alpaca. A cambio, ella quiere enviarle un billete de un dolar a él. El billete de un dolar es una pieza de papel que es fácil de crear (por aquellos que pueden), que es aceptado por la gente en cambio por productos de valor y servicios en el mundo real, como los calcetines que Alicia quiere comprar. Algo sencillo que puede hacer Alicia es poner el billete de un dolar dentro de un sobre, enviarlo por correo a Bob, y esperar que Bob le envié los calcetines a ella.

Lo mismo ocurre cuando queremos hacer una transferencia de dinero a otra persona. Necesitamos un intermediario de “confianza”: un banco. Lo vemos normal porque este sistema lleva muchos años en vigencia pero, ¿no creéis que un sistema sin intermediarios sería mucho más sencillo? Evidentemente. Bitcoin nace con esta idea, veamos cómo funciona.

Otra cosa que puede hacer Alicia es “transferir” el dinero a Bob. Lo que ella debe hacer primero es darle su billete de un dolar a una institución llamado Banco, el trabajo de susodicha institución es la de resguardar el dinero de Alicia, a cambio, Alicia recibe una promesa por escrito (llamado “estado de cuenta”) que, cuando ella lo desee, puede ir al banco y tomar de vuelta la misma cantidad de dolares que ella deposito. Puesto que el dinero sigue siendo de Alicia, ella esta en propiedad de hacer lo que a ella mas le convenga con él, y el banco (como la mayoría de ellos), por una pequeña cuota, hará por Alicia el servicio de “dar” el billete de un dolar a Bob.

Bitcoin se basa en la criptografía y en una red P2P (peer-to-peer) para funcionar. La criptografía permitie generar un par de claves, una pública y una privada, a cada usuario y hace posible la transferencia entre dos nodos sin intermediario. La red P2P  imposibilita el doble gasto evitando así el fraude.

Cuando alguien quiere entrar en esta red lo primero que debe hacer es crearse una cartera electrónica. Esta cartera o monedero se puede crear con un software en su ordenador (hay clientes para todos los sistemas operativos), en el móvil o también a través de algunas webs (aunque en este último caso tendremos que fiarnos nuevamente de un tercero, el proovedor del servicio). Desde este monedero podemos crear las direcciones que necesitaremos para recibir y enviar bitcoins. Estas direcciones son las claves publicas de nuestro par de claves criptográficas y podremos tener tantas como deseemos, la creación es prácticamente instantánea.

Monedero

Supongamos que quiero hacer una transferencia a alguien, llamémoslo Tomás . En primer lugar Tomás se tiene que poner en contacto conmigo y enviarme su dirección o clave pública. Cuando la reciba, en la transacción incluiré esta clave y la cantidad de Bitcoins que quiero pasarle. Por último la firmaré con mi clave privada. Como todo el mundo puede tener acceso a la claves públicas de Tomás y mías, verán que estoy de acuerdo en transferirle ese dinero. Por el contrario, ese dinero sólo pertenece a Tomás ya que el el único poseedor de su clave privada (recordad que en la transferencia figuraba su clave pública). Ahora supongamos que Tomás quiere transferir ese dinero que acaba de recibir a otra persona, Ana. El proceso se repite, Tomás tendrá que añadir en la cadena de transferencias la dirección de Ana y firmarla con su clave privada. Precisamente Tomás es el único que puede hacer esto, porque su clave privada es la única que concuerda con su clave pública que figura en la anterior transacción. ¿Me seguís? Lo más interesante de este procedimiento es que con cada nueva transferencia todas las anteriores se confirman una y otra vez. Cuando el nuevo dueño de mis antiguos Bitcoins firma, está reconociendo y aceptando que esos Bitcoins pasaron por mis manos, las de Tomás y por último las de Ana.

Si habéis leído y comprendido todo hasta aquí ya os podéis ir haciendo una idea bastante clara de cómo funciona la red Bitcoin. En la segunda parte me centraré en la verdadera innovación de este protocolo: el uso de una red P2P descentralizada para evitar el fraude del doble gasto, es decir, prevenir que alguien que hace una transferencia replique su dinero y vuelva a disponer de él para hacer otra transferencia.


Volver a la Portada de Logo Paperblog