Los cimientos de Bitcoin

Por Andreas Antonopoulos

Bitcoin es un sistema compuesto por un protocolo de red, algunas funciones de cifrado fundamentales y un grupo de sistemas de equilibrio basados en la teoría de juegos que se ajustan dinámicamente (léase: procesos de escala global que influyen sobre el funcionamiento del protocolo de red).

softwareComo muchas tecnologías, Bitcoin no es completamente nuevo. De hecho, su idea central está basada en 5 ó 6 tecnologías creadas en los años 70, 80 y 90 y las combina para crear algo completamente nuevo. Todos los componentes fundamentales de Bitcoin existían al menos 15 años antes de que Bitcoin fuera creado, pero nadie las había combinado de esta manera en particular.

Lo realmente novedoso de Bitcoin es su arquitectura y las características del diseño que hacen que pueda funcionar. Piénsalo como si se tratara de una receta: todos los ingredientes estaban allí pero a nadie se le había ocurrido combinarlos de esta forma.

SHA256

Uno de los componentes más importantes de Bitcoin es el uso de funciones hash de cifrado, específicamente SHA256.

SHA256 es un algoritmo que toma una entrada o input de datos de cualquier tamaño o forma, la «mezcla», y produce una salida o output de datos de un tamaño fijo (256 bits), llamada hash. A este hash se lo puede considerar como una huella digital de los datos.

Cuando ingresas datos en el SHA256 es imposible saber qué va a salir, y lo que sale parece aleatorio. Si haces cualquier tipo de prueba estadística sobre las salidas del SHA256 te parecerá aleatorio. Sin embargo, es determinístico. Es decir, si ingresas lo mismo obtendrás la misma salida, siempre. Lo que significa que si ya tienes una “huella digital” y alguien te da datos, puedes ingresar estos datos y verificar si se corresponden con la huella digital.

Con esta tecnología, en 1997 Adam Back creó un sistema anti-spam llamado hashcash. Su idea fue utilizar la función SHA256 para hacer que quienes quisieran enviar un mensaje tuvieran que hacer cierto trabajo. El trabajo consistía en unas cientos de miles de operaciones SHA256 consecutivas, y al final de eso se producía una huella digital. Luego de ello era fácil comprobar si la persona había hecho el trabajo. Como resultado, si querías enviar un mensaje debías hacer quizás medio segundo de procesamiento computacional. Para un usuario legítimo, medio segundo de cómputos no es nada. Pero si eres un spammer y quieres enviar un millón de mensajes, debes hacer medio millón de segundos de trabajo; eso cambiará tu economía.

A este mecanismo se lo llama Prueba de Trabajo. Lo que hizo Satoshi Nakamoto fue utilizar este mecanismo de prueba de trabajo para establecer el consenso en una red global descentralizada. Este es un componente central de Bitcoin. El SHA256 ha existido por décadas, hashcash ha existido desde 1997; lo que hizo Satoshi Nakamoto fue combinar esto con una red Peer to Peer que opera de manera similar a BitTorrent y tantas otras redes P2P.

Fragmento de conferencia en la UCL