-
Adam Back, creador de Hashcash, es un reconocido cypherpunk e incluso se comunicรณ con Nakamoto.
-
La prueba de trabajo hace a Bitcoin resistente al doble gasto de sus criptomonedas.
Bitcoin es una tecnologรญa nacida a partir de la combinaciรณn de otros desarrollos tecnolรณgicos anteriores. Para la creaciรณn de este software, Satoshi Nakamoto utilizรณ partes de otros proyectos a su conveniencia, tomando lo que era รบtil para su proyecto. En el caso de la prueba de trabajo (Proof of work; PoW), fue una herencia de Hashcash, un sistema para evitar el spam en los correos electrรณnicos, creado por Adam Back.
Mรกs de 10 aรฑos despuรฉs, el producto de esta uniรณn sigue andando, trabajando sin errores desde hace mรกs de 5 aรฑos, de manera que la elecciรณn de Nakamoto parece haber sido correcta.
Si bien el Hashcash de Back no fue diseรฑado para cumplir los mismos objetivos, su relaciรณn con Bitcoin es clara, no solo porque hay una menciรณn directa al proyecto en el whitepaper original de Nakamoto, sino porque de รฉl se deriva la utilizaciรณn de la PoW en Bitcoin.
En este trabajo especial le presentaremos Hashcash, un importante antecedente para la concreciรณn y desarrollo de Bitcoin como buen dinero, escaso y sobre todo, tolerante al doble gasto.
ยฟQuรฉ es Hashcash?
Si bien el whitepaper de esta tecnologรญa fue publicado por Back en 2002, los miembros del mailing list del movimiento cypherpunk recibieron informaciรณn sobre el protocolo en 1997. El objetivo principal de Hashcash era minimizar la recepciรณn de grandes cantidades de correos electrรณnicos no deseados, utilizando la colisiรณn de hashes para ello.
He estado hablando de un esquema de franqueo basado en colisiรณn hash parcial en las listas criptogrรกficas de los รบltimos dรญas. La idea de usar hashes parciales es que pueden ser arbitrariamente costosos de computar (por elegir el nรบmero deseado de bits de colisiรณn), y sin embargo puede ser verificado al instante.
Adam Back
Este sistema se basa en el hashing,ย proceso que se emplea para la generaciรณn de un nรบmero o hash รบnico para cada correo, lo que requiere la realizaciรณn de un cรกlculo matemรกtico para su creaciรณn y resoluciรณn. Con el hashing, cualquier dato se puede formalizar, convirtiรฉndose en un nรบmero รบnico, aparentemente aleatorio pero con una longitud predeterminada.
El hash puede definirse como ยซuna funciรณn algorรญtmica que emite una direcciรณn alfanumรฉrica que resume y protege la informaciรณn insertada a travรฉs de una entradaยป.
Tambiรฉn los metadatos de un correo electrรณnico (direcciรณn, destinatario, emisor, etc.) pueden ser formalizados de esta manera, como en el caso del sistema de Back. En el sistema propuesto, cada correo enviado debe agregar un โnonceโ propio, dรกndole una identidad formal o hash รบnico a cada cual.
No obstante, en Hashcash no todos los hashes son considerados vรกlidos: solo aquellos hashes cuya versiรณn binaria empiece con una cantidad de ceros determinada, lo que hace mรกs complicado hallar el nรบmero, pues implica una mayor cantidad de cรณmputo. Esto significa que la รบnica manera de encontrar un hash determinado es probar varios hashes, hasta que se produzca la soluciรณn necesaria, sino, el correo serรก rechazado por el receptor. Todo esto requiere recursos computacionales, por ello se le considera un sistema de prueba de trabajo.
Un elemento significativo es que, en la propuesta de Back, cada hash correctamente formado y solucionado representa โdineroโ (cash), de allรญ el nombre. Segรบn el propio criptรณgrafo, se trata de una mejora a la propuesta Ecash, de David Chaum.
No obstante, los hashes no podรญan ser reutilizados, de manera que los hashes recibidos por un destinatario determinado, en realidad no podรญan ser intercambiados.
La prueba de trabajo en Bitcoin
Hashcash es un antecedente directo de Bitcoin. A pesar de que existรญan sistemas previos, que plantean una prueba de trabajo con fines similares, solo el trabajo de Back fue reseรฑado por Nakamoto, inclusive en el propio libro blanco de Bitcoin.
La PoW estรก directamente relacionada con uno de los elementos centrales de la propuesta de Nakamoto: el servidor de marcas de tiempo, a travรฉs del cuรกl se asigna una identidad รบnica a cada bloque, con un orden cronolรณgico y que permite seguir un registro global de todas las transacciones que se realizan en la red. Este elemento es bรกsico para el consenso de la red y para mantener el registro descentralizado, fundamental en todo el diseรฑo de Nakamoto.
โPara implementar un servidor de marca de tiempo distribuido P2P, tendremos que usar un sistema de prueba de trabajo similar al Hashcash de Adam Backโ, se lee en el libro blanco publicado por Nakamoto en 2009. El servidor de marcas de tiempo es lo que se conoce como blockchain.
La diferencia fundamental es que, mientras Back consideraba como dinero los hashes correctamente creados y resueltos, permitiendo el funcionamiento del sistema anti-spam, en Bitcoin estos hashes tienen funciones diferentes y no constituyen el valor de los bitcoins por sรญ mismos.
En la red de intercambio de valor creada por Nakamoto, la creaciรณn de hashes y la prueba de trabajo permiten establecer una identidad รบnica para los bloques, asรญ como incentivar la competencia entre los mineros, que son los que crean nuevos bloques en la red: el primero en dar con el hash correcto recibirรก una recompensa, aรฑadiendo un bloque de transacciones nuevo a la cadena.
La tecnologรญa de hashcash, con sus revisiones, permite prevenir el doble gasto de los bitcoins que circulan en la red. La probabilidad de que un atacante pueda reversar las transacciones, para gastar dos veces los bitcoins, es baja (por no decir nula), y disminuye a medida que las transacciones reciben confirmaciones. Ademรกs, hay que considerar que el hashrate de Bitcoin es el mayor de todas las criptomonedas existentes, y se ubica en 43.088.722 TH/s, por lo que un ataque semejante serรญa extremadamente caro.
Ademรกs, con la adiciรณn de cada nuevo bloque se ponen en circulaciรณn nuevas monedas, de manera que la resoluciรณn de los hashes tambiรฉn sirve para la emisiรณn de bitcoins sin un ente central que realice la operaciรณn. Asรญ, al aรฑadir la prueba de trabajo ideada por Back a Bitcoin, Nakamoto pudo resolver el problema tanto el problema del doble gasto como el de la emisiรณn de nuevas monedas de manera descentralizada.
โEs un diseรฑo muy interconectado donde la minerรญa estรก haciendo varias cosas. Ya sabes, es incentivar, es liberar las monedasโ, ha dicho Back sobre la implementaciรณn de su idea en Bitcoin.
Adam Back y su relaciรณn con Bitcoin
Cuando Back escribiรณ a los cypherpunks sobre Hashcash en 1997 estaba a punto de terminar su PhD. En ciencias de la computaciรณn y sistemas distribuidos, siendo un activo miembro de las discusiones que allรญ se dieron. Privacidad, libertad financiera y criptografรญa fueron algunos de los temas sobre los que Back opinรณ durante su participaciรณn en la lista.
A pesar de haber sido citado en el libro blanco y estar en el pequeรฑo grupo de personas que conociรณ de primera mano Bitcoin, Back nunca se involucrรณ en el desarrollo del software original y ha afirmado varias veces no haber conocido nunca a Nakamoto. โRealmente me interesรฉ en Bitcoin a inicios de 2013โ, ha afirmado.
A partir de entonces, Back se ha involucrado cada vez mรกs con la tecnologรญa, e incluso cofundรณ Blockstream, una empresa enfocada en el desarrollo de la tecnologรญa de Bitcoin y la creaciรณn de servicios asociados a su protocolo. Otros miembros de la empresa son Gregory Maxwell, Pieter Wuille o Matt Corallo, reconocidos desarrolladores de Bitcoin Core.
La idea de Blockstream es profundizar el desarrollo de Bitcoin. La empresa, registrada en Canadรก, recaudรณ USD 21 millones en 2014, en una ronda de financiamiento inicial liderada por Reid Hoffman cofundador de LinkedIn, y primer inversionista de marcas como Facebook o Airbnb.
Cabe decir que, debido a la relaciรณn de Blockstream con Bitcoin Core, algunos han insinuado que Bitcoin se ha convertido en una red centralizada, bajo el control de la empresa. Sin embargo, segรบn un estudio de WhaleCalls, entre el 12 y el 20% de las modificaciones hechas al protocolo han sido impulsadas y llevadas a cabo por desarrolladores relacionados con la empresa.
Hashcash y la PoW diseรฑada para su funcionamiento ha sido utilizada con otros fines. La prevenciรณn de ataques de denegaciรณn de servicio, las garantรญas de la integridad del anรกlisis web, asรญ como servicios asociados a la comprobaciรณn de contraseรฑas en lรญnea han utilizado la tecnologรญa implรญcita en el invento de Back.
La influencia de Back es significativa en Bitcoin, especialmente por el anรกlisis e implementaciรณn de su tecnologรญa hecha por Nakamoto. Se le podrรญa considerar uno de los grandes abuelos de la comunidad, y Hashcash un referente claro para su propio funcionamiento.
Imagen destacada por Naeblys / stock.adobe.com