b-money es una propuesta de dinero digital presentada por Wei Dai en 1998. Describe dos formas de mantener saldos compartidos y gestionar contratos entre personas con seudónimos digitales. No fue una moneda en funcionamiento ni una versión anterior del programa Bitcoin. El whitepaper de Bitcoin lo incluyó después como primera referencia.
Imagine que Ana encarga a Pedro una ilustración por internet. Solo conocen sus alias. Quieren pagar y acordar qué ocurrirá si alguien incumple su promesa, sin identificarse primero ante un banco u otra autoridad. Esa cuestión interesaba a los Cypherpunks, que investigaban cómo proteger la privacidad mediante criptografía. Wei Dai respondió con b-money en 1998. El seudónimo digital no era simplemente un nombre inventado: era una clave pública: un dato que no necesita mantenerse en secreto y permite comprobar la firma de un mensaje. Mantener oculta la identidad real también dependía de la comunicación anónima que el proyecto daba por supuesta. [1] [2]
En nuestro ejemplo, Ana tiene 10 unidades y quiere enviar 3 a Pedro. Publicaría un mensaje de transferencia y lo firmaría digitalmente. No se trata de una imagen de la firma: el programa la calcula a partir del mensaje y una clave privada, un dato que Ana mantiene en secreto. Los demás pueden usar la clave pública para comprobar que la orden fue firmada por quien posee la clave privada correspondiente. Los responsables de las cuentas verificarían firma y saldo suficiente, restarían 3 a Ana y los abonarían a Pedro; a Ana le quedarían 7. No viaja un archivo con una moneda: cambian los registros de saldos. Enseguida surge la pregunta crucial: ¿cómo mantener todas las copias de acuerdo si Ana envía órdenes incompatibles? La firma por sí sola no consigue ese acuerdo. [1] [5]
El primer protocolo, el conjunto de reglas propuesto, hace que cada participante mantenga una base de saldos. Para que todos apliquen las mismas actualizaciones, presupone un canal de difusión anónimo, síncrono e imposible de bloquear. Es decir, los mensajes deben llegar a todos con la coordinación temporal necesaria, sin que se pueda impedir su difusión ni identificar al emisor. Es mucho más exigente que una conexión habitual a internet, donde los mensajes se retrasan o se pierden. El propio Dai calificaba por eso esta primera versión de impracticable. Era el punto de partida de la segunda, no una red lista para funcionar. [1] [2]
Los saldos deben tener un origen. Dai propuso que cualquiera pudiera publicar la solución de un nuevo problema de cálculo exigente y recibir unidades monetarias. Los demás tendrían que evaluar fácilmente el trabajo, y la solución no debía tener otro valor práctico o intelectual. El dinero creado dependería del coste del cálculo expresado en una cesta estándar de materias primas: un conjunto acordado de bienes para comparar costes. Recuerda a Proof of Work, la prueba de un esfuerzo computacional, pero aún no es minería de bloques Bitcoin. Un bloque es un conjunto de transacciones que se añade al historial compartido de pagos. Además exige una estimación común, aunque las personas tengan ordenadores de distinto rendimiento y coste. [1] [2] [5]
En el segundo protocolo, ya no todos mantienen el registro completo. Un subconjunto de participantes, llamados servidores, asumiría esa tarea. Ana y Pedro comprobarían que el pago se procesó consultando una selección aleatoria de esos servidores. Como esto introduce cierta confianza en los gestores, cada servidor debía depositar una garantía monetaria para sancionar conductas indebidas demostradas. Los servidores también publicarían periódicamente saldos y creación de dinero. Los usuarios comprobarían su propio saldo y que la suma total no excediera el dinero creado. Son controles concretos sobre los gestores, no el mismo sistema que los actuales nodos y mineros de Bitcoin. [1]
El dinero era solo una parte de b-money. En el encargo de Ana y Pedro, un contrato establecería condiciones y compensaciones máximas por incumplimiento. Las partes y un posible árbitro, encargado de resolver disputas, firmarían y depositarían cantidades fijadas en una cuenta especial. Tras una conclusión acordada, el dinero se repartiría según el resultado. La propuesta iba más lejos: si ni el arbitraje resolvía el conflicto, las partes publicarían argumentos y cada responsable de cuentas decidiría las compensaciones o multas. Ahí aparece un límite. La firma confirma el consentimiento, pero no decide si se entregó realmente la ilustración ni garantiza el mismo criterio de todos los gestores. [1] [2]
Dai reconocía la dificultad de acordar el coste real del cálculo. La tecnología cambia y algunos participantes pueden tener ventajas desconocidas para otros. El apéndice A propuso una alternativa aplicable a ambos protocolos. Los responsables de cuentas planificarían primero cuántas unidades crear. Los candidatos ofrecerían después resolver un problema concreto a cambio del dinero solicitado, harían el cálculo y publicarían la solución. Seguiría la emisión según las ofertas aceptadas. Estas cuatro fases —planificación, ofertas, cálculo y creación— sustituirían una mera estimación de costes. No son el límite predefinido de 21 millones de Bitcoin ni su Halving, la reducción periódica a la mitad de los nuevos bitcoins creados por bloque. [1] [3]
Adam Back analizó la propuesta en diciembre de 1998. Entre otras cosas, señaló los distintos costes de cálculo y que los pagos bajo seudónimos persistentes podían vincularse. Ocultar el nombre civil no vuelve automáticamente imposibles de relacionar los pagos. El texto original incluye controles de los servidores; sería incorrecto decir que ignoraba por completo su deshonestidad. Sin embargo, no ofrecía un método completo y probado en la práctica para mantener todas las bases de acuerdo ante fallos y disputas. Esas situaciones forman parte de la distancia entre propuesta y sistema en funcionamiento. Por eso conviene leer el debate conservado junto con el diseño. [1] [3] [7]
El 22 de agosto de 2008, Satoshi Nakamoto escribió a Wei Dai que Adam Back le había indicado b-money y pidió el año de publicación para citarlo. Dai contestó que lo había anunciado en 1998. El whitepaper de Bitcoin colocó después b-money como primera referencia. En otro correo, del 10 de enero de 2009, Satoshi anunció Bitcoin v0.1 y opinó que cumplía casi todos los objetivos de b-money. Son contactos documentados y reconocimiento de una idea anterior. No prueban que Wei Dai escribiera Bitcoin, que ambos diseños funcionen igual ni cuántas soluciones técnicas se tomaron directamente del otro. [4] [5] [6]
b-money es una etapa importante en la historia de las ideas, no una moneda que hoy pueda guardar en una cartera siguiendo esta propuesta. No se implementó como el sistema de pagos en funcionamiento descrito aquí. No tenía la cadena de bloques de Bitcoin ni su regla para elegir la cadena válida con mayor trabajo acumulado. Pero planteó una pregunta clara: ¿cómo unir firmas digitales, creación de dinero y contabilidad compartida sin que un único banco lo gestione todo? Bitcoin reunió después sus propias respuestas en una red funcional. Leer b-money separa la idea de dinero digital de la tarea más difícil de mantener un estado común y verificable entre personas que no necesitan confiar entre sí. [1] [4] [5]
Para obtener la imagen más completa, lee esta entrada junto con Wei Dai, Cypherpunks, Reusable Proofs of Work, Proof of Work, Hashcash, Bit Gold. También enlazan con esta entrada Cypherpunks, Bit Gold, Wei Dai, The Genesis Book.