Cuando hablamos de Bitcoin, hablamos de una tecnología que ha iniciado su uso en el año 2009 y tomado al mundo por sorpresa. Ha sido de esos productos que escapan al mundo tecnológico para formar parte de la novedad del día a día. Seguramente tenemos conocidos que poseen esta moneda, hacen transacciones con ella, así como vemos en las noticias, comentarios sobre su avance y sus distintos usos.

Por este motivo, en este artículo intentamos presentar los detalles de su funcionamiento desde el punto de vista técnico. Por ejemplo, ¿cuál es el motivo por el que se ha manifestado que se trata de una tecnología antiecológica? ¿Cómo puede una moneda tener impacto en el medio ambiente?

Raíces Libertarias

El Libertarismo es una ideología política, en la cual se cree que las autoridades centralizadas deben reducirse al mínimo posible. Los individuos deben tener el poder necesario para decidir sobre el curso de sus vidas y no deben sacrificar sus derechos o propiedades de forma excesiva ante un gobierno.

A partir de discusiones en foros y listas de correos, se formaron dos grupos: los cypherpunks y los cripto-anarquistas, impulsores ambos del uso de criptografía para la protección de la privacidad individual.

Cypherpunks y Cripto-anarquistas

La privacidad es necesaria para una sociedad abierta en la era electrónica.

La privacidad no es secretismo. Una cuestión privada es algo que no queremos que todo el mundo sepa, pero una cuestión secreta es algo que no queremos que nadie sepa. La privacidad es la capacidad de revelarse selectivamente al mundo.

– Eric Hughes, A Cypherpunk Manifesto (1993) | Traducción: Suburbia (2003)

Este origen ideológico es de suma importancia para el desarrollo de Bitcoin, ya que condicionará muchas de las decisiones técnicas tomadas en su implementación

Satoshi Nakamoto

En octubre del 2008 se publica un whitepaper , titulado Bitcoin: A Peer-to-Peer Electronic Cash System. Su autor figura bajo el nombre de Satoshi Nakamoto, quién al día de hoy, se desconoce si se trata de una persona o un grupo.

Estructura de Bitcoin

Identidades

Ejemplos de identidades son:

  • Las casas tienen direcciones y llaves.
  • Los correos electrónicos tienen direcciones de correo y contraseñas
  • En Bitcoin, se tienen claves públicas y claves privadas.

Las claves privadas son secretas, y serán las que nos permiten reclamar los fondos bitcoin que poseemos. La clave pública, podemos distribuirla, porque al igual que una dirección de correo, sirve para identificarnos.

Como se carece de una Autoridad Central para generar las identificaciones de usuario, cada usuario crea sus propias claves privadas y públicas a partir de funciones matemáticas que garantizan que las mismas serán únicas (en realidad garantizan que la posibilidad que se repitan es despreciable).

Las identidades pueden ser creadas libremente sin brindar ningún tipo de información sobre el solicitante, por tanto, se garantiza el anonimato.

Transacciones

Para que una transacción sea válida, se debe cumplir:

  • Prueba de propiedad (una firma)
  • Disponer de fondos
  • Ninguna otra transacción debe utilizar los mismos fondos

En una estructura centralizada tradicional, como los Bancos, estos desafíos son sencillos de resolver, ya que se tiene el concepto de Cuenta del usuario, donde en todo momento se registra su saldo disponible.

Implementar un concepto de saldo similar en una estructura descentralizada no es posible, por lo que bitcoin utiliza UTXO, o Unspent Transaction Output.

Una forma de entender su funcionamiento es imaginar que usamos alcancías para dar seguimiento a las transacciones.

alcancia

Cada vez que quiero gastar una parte de mi dinero, procedo a romper mi alcancía, y utilizar una nueva para almacenar lo que me queda luego del gasto. De esta forma, en vez de validar si tengo fondos para hacer determinado gasto, sólo se debe validar si mi alcancía tiene dicha suma. Por otro lado, para saber todo el dinero que poseo, se deben sumar los montos de todas mis alcancías.

Blockchain

Tenemos que guardar la historia de las transacciones, para conocer quien es dueño de qué, en el presente, así como usar el histórico para confirmar la validez de transacciones futuras.

Para almacenar esta información, se requiere de alguna forma de base de datos, que no sea tradicional porque se busca evitar las entidades centralizadas. Tampoco puede ser una base descentralizada mantenida por algunos nodos, porque les estaría dando poder y requiere confianza.

La única solución que nos permite mantener los principios que guían el Bitcoin es que todos los nodos tengan una copia del histórico de transacciones.

Al momento de definir la estructura que tendrá dicha base de datos, se podría elegir almacenar cada transacción, de forma individual. Sin embargo, estamos hablando de millones de transacciones por segundo, que deben comunicarse a todos los nodos, lo cual saturaría la red.

Como solución a este problema, nace Blockchain. Cada actualización a la base de datos distribuida, contiene un conjunto de transacciones, agrupadas en bloques. Cada bloque se construye a partir, o encadenado (chain) al bloque previo. Esta estructura recibe el nombre de Blockchain.

Consenso

Debido a que todos los participantes están guardando información sobre el blockchain, deben llegar a un consenso (acuerdo entre varias partes) para definir las transacciones aceptadas y su órden histórico. Se debe considerar la actualización, así como también que no ingrese información corrupta o malintencionada a la red.

La complejidad para llegar a un consenso radica en la falta de una entidad central que los coordine, se debe lograr el acuerdo entre individuos a enormes distancias unos de otros, quizás con interrupciones de comunicación, e incluso, con intenciones de fraude o engaño al grupo.

Este desafío fue planteado mediante el uso de una metáfora, en el año 1982, en un artículo llamado Problema de los generales bizantinos.

generales

El objetivo de los generales bizantinos es atacar una ciudad bajo asedio. Pero los generales se encuentran en distintos puntos del asedio, y deben coordinar el momento del ataque. Solamente un ataque conjunto garantiza la victoria. El desafío es lograr el consenso entre todos los generales (se sospecha incluso que algunos son traidores).

Proof of Work

Proof of Work (o Prueba de Trabajo) es el algoritmo utilizado por Bitcoin como algoritmo de consenso, y empleado para validar transacciones y propagar nuevos bloques en una Blockchain.

Para su funcionamiento, los distintos nodos de la red (que reciben el nombre de mineros) compiten entre sí tratando de resolver rompecabezas computacionales muy complejos. Estos rompecabezas son muy difíciles de resolver, pero resulta muy fácil comprobar que su solución sea correcta.

Cuando un minero ha encontrado una solución, puede distribuir el bloque a toda la red, donde todos los otros mineros verificarán la solución. Una vez que la solución es verificada, el bloque puede ser integrado al histórico de transacciones.

Este método evita numerosos tipos de ataques ya que para que un ataque sea exitoso, se requiere de un gran poder computacional y de mucho tiempo dedicado, haciendo que los costos asociados sean mayores a la recompensa.

Un problema con este tipo de algoritmo, es que requiere de equipos informáticos muy caros y que ha llevado a una especialización de equipos, dedicados únicamente para resolver estos rompecabezas. Por otro lado, todo el consumo eléctrico y gastos dedicados a esta resolución no producen resultados tangibles para nadie, más que la sola prueba de haber realizado el trabajo.

Por este motivo se menciona su falta de eficiencia con el medio ambiente y actualmente otras monedas trabajan en algoritmos de consenso alternativos

Bitcoin como Moneda

Bitcoin fue diseñado como una moneda deflacionaria. Existe un número limitado de bitcoins que van a existir, específicamente, 21 millones.

En las monedas “tradicionales”, usualmente los Bancos Centrales de cada país son los responsables por emitir nueva moneda. En el caso de Bitcoin, se introducen mediante el resultado del Proof of Work, llamado minería.

Cada vez que un minero ingresa con éxito un nuevo bloque de transacciones al blockchain, se le recompensa con un monto en bitcoins, el cual es introducido al sistema, es decir, se está emitiendo más moneda en el sistema.

De esta forma es como al día de hoy se han introducido aproximadamente 18.5 millones de bitcoin. Lo que lleva a que únicamente quedan 2.5 millones de bitcoin por ser generados. Para controlar su circulación, se ha ido reduciendo a la mitad la recompensa otorgada a los mineros.

halving

Se espera que para cuando se llegue al límite de moneda introducida, los mineros cobrarán un pequeño impuesto sobre las transacciones para obtener de allí su ganancia. De todas formas, es cuestión de debate las medidas que bitcoin tomará cuando llegue dicho momento.

Dinero en la vida real

Lo que comenzó como un experimento de laboratorio (los usuarios realizaban transacciones como forma de experimentar con el sistema), tomó un matiz más “real” cuando el 22 de mayo de 2010, Laszlo Hanyecz, realizó la compra de una pizza por 10.000 BTC, mediante la publicación en un foro, ofreciendo el intercambio. Este fue la primera transacción en el mundo, de Bitcoin por un bien tangible. Algo gracioso (o triste para Laszlo), es que, al día de hoy, la pizza le ha costado aproximadamente U$S 81.000.000.

En IDEATI estamos a disposición para ayudarte a abordar tus desafíos de transformación digital, puedes agendar una cita aquí.