En los últimos días, el precio del bitcoin ha estado en una montaña rusa. Lo que comenzó como un emocionante viaje a la Luna ha sido efímero por factores que ni siquiera los aficionados a la criptografía pueden comprender. Bueno, en ese sentido, esto ha planteado la pregunta, tal vez la gente ha olvidado algunos de los detalles esenciales sobre Bitcoin.
El artículo de Satoshi Nakamoto de 2009 titulado „Bitcoin: un sistema de dinero electrónico de igual a igual“ introdujo Bitcoin como una versión puramente de igual a igual de dinero electrónico que permite que los pagos en línea se envíen directamente de una parte a otra sin pasar por un intermediario centralizado como un banco. Como tal, Bitcoin sustituye las funciones de las instituciones financieras en la cadena de transacciones por personas anónimas que verifican la exactitud y fiabilidad de la transacción a través de Internet.
En la red de Bitcoin, las funciones de una institución financiera en el procesamiento de pagos se sustituyen por el software de código abierto de la red, lo que permite a los miembros descentralizados de la red, es decir, a los nodos, votar con su poder de computación/CPU para determinar la validez de una transacción.
Bitcoin emplea una arquitectura de red peer-to-peer basada en Internet. Al ser una red P2P, los nodos de Bitcoin son todos iguales, y todos los nodos comparten la carga de dirigir la red en igual medida. A pesar de la enorme popularidad de Bitcoin, pocas personas entienden realmente la arquitectura de la red. Aquí hay un vistazo a las características no documentadas de la arquitectura de Bitcoin
La arquitectura de red Peer-to-Peer de Bitcoin
La arquitectura de la red P2P de Bitcoin se parece mucho al sistema de dinero digital peer-to-peer por diseño. La red de Bitcoin es esencialmente una colección de nodos que ejecutan el protocolo P2P. Además del protocolo P2P, la red Bitcoin constituye otros protocolos como Stratum, que lleva a cabo varias funciones en la red como la minería y el soporte de carteras móviles.
Los protocolos adicionales de la red están respaldados por servidores de enrutamiento de pasarelas que acceden a la red de Bitcoin utilizando su protocolo P2P, y luego ofrecen la red a los nodos que operan con otros protocolos. La red general de Bitcoin que consiste en el protocolo P2P de Bitcoin, el protocolo Stratum y cualquier otro protocolo que se conecte a los componentes de la arquitectura de la red Bitcoin se denomina colectivamente „red Bitcoin extendida“.
Ejecución de la red Bitcoin
Como ya se ha dicho, los nodos son los responsables de ejecutar la red de Bitcoin. Un nodo Bitcoin consiste en un conjunto de funciones, incluyendo la base de datos de cadenas de bloques, enrutamiento, minería y servicios de cartera.
Todos los nodos de la red Bitcoin propagan y validan las transacciones en la red y mantienen conexiones con otros nodos de la red. Un nodo completo de Bitcoin consiste en las cuatro funciones, es decir, cartera, minero, base de datos de cadenas de bloques completa y enrutamiento de la red.
Los nodos completos pueden verificar de forma autónoma y autorizada cualquier transacción sin referencia externa. Aparte de los nodos completos, la red de Bitcoin también está gestionada por otros tipos de nodos. Entre ellos se encuentran los nodos de verificación de pagos ligeros o simplificados (SPV) encargados de verificar las transacciones.
Los nodos de minería aprovechan el consenso de la Prueba de Trabajo para crear nuevos bloques. Para ejecutar la red Bitcoin, los nodos siguen un paso predeterminado como se indica a continuación:
Todos los nodos son notificados de una nueva transacción en la red
Cada nodo recoge las nuevas transacciones en un bloque
Cada nodo trabaja entonces para establecer una difícil prueba de trabajo para su bloque
Después de encontrar una prueba de trabajo, el nodo transmite el bloque a todos los nodos
Los nodos de la red aceptan entonces el bloqueo pero sólo si todas las transacciones en él son válidas y no se gastan
Para representar su aceptación del bloque, los nodos empiezan a trabajar en el siguiente bloque de la cadena, usando el hash del bloque aceptado como en el hash anterior
A veces, dos nodos de la red de Bitcoin pueden emitir versiones diferentes del siguiente bloque, lo que hace que otros nodos reciban cualquiera de las diferentes versiones del bloque. En este caso, los nodos trabajan en el primer bloque que han recibido pero aún así guardan el otro bloque en caso de que se alargue.
No todos los nodos reciben la emisión de la nueva transacción. Sin embargo, las nuevas transacciones que llegan a la mayoría de los nodos de la red pueden ser aceptadas en el bloque mucho más rápido, y si un nodo no recibe un bloque, puede solicitarlo al recibir el siguiente bloque y darse cuenta de que le faltaba un bloque.
Transacciones en la red de Bitcoin
Las transacciones en la red de Bitcoin se realizan electrónicamente mediante una cadena de firmas digitales. Esto significa que cada propietario de Bitcoin transfiere una moneda a la siguiente persona firmando digitalmente un hash de la transacción anterior y la clave pública del siguiente propietario e incorporando una firma al final de la moneda. El beneficiario puede verificar la firma para comprobar la cadena de propiedad.
Para asegurar que un beneficiario pueda verificar que uno de los propietarios no gastó la moneda dos veces, la red de Bitcoin implementa un servidor de marca de tiempo. Un servidor de marca de tiempo funciona tomando un hash de un bloque de elementos a marcar y publicando ampliamente el hash.
Obviamente, debe existir una transacción en ese momento en particular para entrar en el hash. Los sellos de tiempo de la red forman una cadena en la que cada sello de tiempo incluye el anterior en su hash y cada sello de tiempo adicional refuerza el anterior.
La red de Bitcoin implementa la funcionalidad de las marcas de tiempo aprovechando el algoritmo de prueba de trabajo. El PoW de Bitcoin implica el escaneo de un valor como el SHA-256 de tal forma que cuando se realiza el hash, éste comienza con un número de bits cero. Para marcar la hora de las transacciones, la red de Bitcoin implementa el algoritmo de prueba de trabajo incrementando un nonce en el bloque hasta que se encuentra un valor que da el hash de cero bits del bloque.
Empleando PoW, Bitcoin también resuelve el problema de determinar las decisiones importantes a través de la votación. El PoW en la red es básicamente un CPU-un-voto; por lo tanto, la decisión mayoritaria se determina por la cadena más larga, que tiene vinculado el mayor esfuerzo de prueba de trabajo.
Una media móvil se dirige a un número medio de bloques por hora para equilibrar la generación de bloques y compensar el interés variable en los nodos en funcionamiento; si los bloques se generan demasiado rápido, aumenta la dificultad de la prueba de trabajo.
Conclusión
Bitcoin es una red peer-to-peer que utiliza pruebas de trabajo para registrar un historial público de transacciones. La red principal de bitcoin, que ejecuta el protocolo P2P de bitcoin, consta de entre 7.000 y 10.000 nodos de escucha que ejecutan varias versiones del cliente de referencia de bitcoin (Bitcoin Core) y unos pocos cientos de nodos que ejecutan otras implementaciones del protocolo P2P de bitcoin, incluyendo BitcoinJ, btcd y Libbitcoin.
Los nodos de la red Bitcoin actúan como enrutadores de borde de red que soportan varios servicios de red como intercambios, carteras, exploradores de bloques y procesamiento de pagos de comerciantes. La arquitectura de red única de Bitcoin se puede implementar en otras industrias para ofrecer descentralización y mejorar la seguridad de la red.