Capítulo 5: El problema de Satoshi Nakamoto, parte II
En el capítulo anterior describimos el problema que Satoshi Nakamoto se propuso resolver. Su objetivo, diseñar una forma de dinero que funcione parecido al oro (sin un banco central), pero con la misma facilidad que internet nos ofrece hoy en día.
Todas las formas de dinero que hemos usado en la historia cumplen con 3 características, que satoshi debía imitar.
1. Los números de cuenta en el mundo Bitcoin
Así como un banco te da un número de cuenta para que puedas guardar tu plata, en el mundo Bitcoin tenemos las "direcciones Bitcoin". Se ven parecidas a esto 14AXUV8yYozTA6eBiWtQy6UV7hYLRKaDFn. Aunque son más feas que los números de cuenta de banco, tienen una particularidad muy especial. Obtener una nueva "dirección bitcoin" es gratis, instantáneo y no tienes que pedirle permiso a nadie. Cualquiera lo puede hacer desde su computador o teléfono, incluso sin internet.
Es simplemente una fórmula matemática que te entrega, de manera aleatoria, una dirección bitcoin y una contraseña.
¿Qué pasa si dos personas le sale la misma dirección bitcoin? Si hubieran pocas direcciones posibles, tendríamos un grave problema. Pero la cantidad total de direcciones bitcoins es tan ridículamente alto, que esto se hace imposible. Hay más direcciones bitcoins que estrellas en el universo o granos de arena en tierra.
El beneficio de esto, es que no dependemos de nadie más para obtener nuestras propias direcciones bitcoins, y de hecho, puedes tener la cantidad que quieras.
2. Quién dice cuánta plata tiene cada cuenta
Cuando entramos a nuestra página del banco, podemos ver cuanta plata tiene nuestra cuenta. En el mundo Bitcoin esa cuenta la lleva un "Minero". El minero cumple esta función del banco. Cualquiera se puede conectar a un minero y preguntar cuánto saldo tiene la dirección 14AXUV8yYozTA6eBiWtQy6UV7hYLRKaDFn.
Si este minero estuviera solo, entonces tendríamos el mismo problema de tener un banco. Tendría el poder de equivocarse y afectar a todas las personas que esperan que él haga bien su trabajo.
Satoshi propone un esquema de muchos mineros. Que la responsabilidad se distribuya entre varios, y nadie tenga el poder suficiente para equivocarse o hacer trampa. La solución es un poco ineficiente pero creativa a la vez.
Todos los mineros deben calcular de manera independiente el saldo de cada dirección. ¿Pero entonces quién tiene la razón? ¿A quién le creo? A lo que diga la mayoría. Es como un sistema bancario democrático. El saldo de la dirección 14AXUV8yYozTA6eBiWtQy6UV7hYLRKaDFn es lo que lo que la mayoría de los mineros dice.
Esto hace que los mineros que se equivoquen o mientan, quedarán fuera del sistema. Para hacer trampa debes convencer a muchos, lo que se hace extremadamente difícil y costoso.
3. Transferencia de saldo entre las cuentas
Estamos acostumbrados a entrar a la página del banco, poner el monto, cuenta de destino y confirmar. Así logramos mover fondos de mi cuenta a la cuenta de otra persona.
En el mundo bitcoin es distinto. Obviamente.
La persona que quiere transferir escribe una especie de carta transferncia que dice "Yo, dirección 14AXUV8yYozTA6eBiWtQy6UV7hYLRKaDFn quiero transferir 0.1 bitcoins a la dirección 3PsWACcY2E8AhsiDKSqUqD1AN94TMrTBYW".
Esa carta uno se la pasa a un minero, ese minero se encarga de difundirla entre el resto de los mineros, y si todo se ve bien, entonces lo incorporan en sus cuentas, y cambian los saldos de las dos cuentas involucradas.
El problema de hacerlo así no más, es que cualquiera podría pasar una carta, haciéndose pasar como dueño de la dirección de origen. Acá es donde entra otra magia de la criptografía. La carta se "firma", y es una firma que usa la contraseña asociada a esa dirección bitcoin (la que obtuvimos al momento de crear la dirección). Si la dirección de origen no calza con la contraseña usada para firmar, entonces, la firma es reconociblemente falsa, y los mineros no tomarán esa "carta transferencia".
En la práctica
Se logra, de manera teórica, un esquema en que el poder se distribuye entre todos. Cualquier puede crearse direcciones, cualquiera puede transferir sin preguntarle a nadie y cualquiera puede ser minero. Nadie tendría el poder suficiente como para poder hacer trampa.
Tienes que tomar en cuenta que así funciona bitcoin pone debajo. Lo que no quiere decir que lo tienes que entender a la perfección para usarlo. De hecho, no tienes por qué saber que existen los mineros, o cómo se escribe una "carta transferencia". Pero la gracia es que cualquiera puede crear software sobre estas reglas para hacer aplicaciones que te hagan la vida más fácil. Buda.com es un ejemplo de eso.
Octubre del 2008
En octubre del 2008 Satoshi mandó un paper con estas reglas al mailing list de los Cypherpunks. A muchos les gustó y también recibió algunas miradas escépticas.
Pero lo más importante es que, en paralelo, Satoshi llevó las reglas al código. Programó como se debía comportar un "profesor" en el sistema.
Tenía pensado invitar a más gente y empezar a rodar la bola a principios del 2009. En el siguiente capítulo sabrás cómo le fue.