Un nodo es la base fundamental de la tecnología blockchain. Gracias a estos podemos crear una enorme red de computadores interconectadas que comparten información de forma segura, rápida y descentralizada, además de permitirnos disfrutar de todas las bondades que la tecnología blockchain puede ofrecernos. 

En informática y computación un nodo es, en general, un punto de conexión físico o virtual donde se puede crear, enviar y recibir toda clase de datos e información. Así, desde el punto de vista de la tecnología blockchain (cadena de bloques) y las criptomonedas, los nodos se constituyen por todos aquellos ordenadores que están interconectados a la red de una criptomoneda, ejecutando el software que se encarga de todo su funcionamiento

Estos nodos están interconectados entre sí a través de una red de pares conocida como red peer-to-peer (P2P). Lo que significa que todos los nodos operan de forma igual y equivalente entre sí. Además, los nodos pueden comunicarse entre ellos para transmitir y compartir datos e información a través de dicha red. De esta manera, los nodos de una red blockchain pueden orquestar toda la información necesaria para el funcionamiento de la misma. 

Pero los nodos son mucho más que un software que hace funcionar a la red blockchain. Existen diferentes tipos, cada uno con su propia funcionalidad y objetivo. Por esa razón, en este nuevo articulo de Bit2Me Academy, nos dedicaremos a explicar que son estos nodos. Con ello sabremos que funciones cumplen y por qué son tan importantes en la tecnología blockchain.

Origen de las redes distribuidas e interconectadas 

Bitcoin fue la primera criptomoneda en emplear una red de nodos para operar de forma descentralizada y autónoma a través de la blockchain. Sin embargo, ésta no fue la primera en crear o introducir el concepto de nodo de una red P2P. Este honor se lo debemos a Napster, desarrollado en 1999 por los empresarios Sean Parker y Shawn Fanning en los Estados Unidos, que fueron quienes popularizaron el concepto de red distribuida de forma masiva entre los usuarios. 

Napster fue un proyecto creado con la finalidad de permitir el intercambio y distribución de música. Lo único que necesitan sus usuarios era descargar su software y formar parte de la red. Esto fue aceptado en gran medida, llegando a superar los 26 millones de usuarios. Una cantidad increíble teniendo en cuenta que por aquel entonces solo habían 248 millones de usuarios de Internet. Y aunque Napster operaba de forma centralizada, ya que disponía de un servidor central para mantener a los suscriptores en línea, los usuarios de Napster podían intercambiar sus archivos de música sin ningún tipo de intermediarios. Pero debido al hecho de que Napster distribuía música sin pago de derechos de autor, la plataforma fue finalmente cerrada. 

Posteriormente, el proyecto SETI@Home fue el segundo en implementar la estructura de nodos en la red, con la finalidad de realizar investigaciones y analizar datos de radiotelescopios, destinados a la búsqueda de vida e inteligencia extraterrestre. Este proyecto fue desarrollado de igual forma en 1999, y estuvo dirigido por el laboratorio Space Sciences Laboratory de la Universidad de California, Estados Unidos. En SETI@Home cualquier usuario que dispusiera de un ordenador con conexión a Internet, y que estuviera interesado en realizar este tipo de trabajos, podía conectarse al proyecto con tan sólo descargar y ejecutar el software, que además, era gratuito. Lastimosamente el proyecto SETI@Home ha dejado de funcionar recientemente

Entonces, la forma de operar de este último proyecto es la que mayor similitud y relación guarda con el funcionamiento actual de las redes de nodos en las blockchains de Bitcoin y otras criptomonedas.

  • Napster uno de los primeros servicios P2P del mundo
  • SETI@HOME una red P2P dedicada al análisis de datos de radiotelescopios

¿Cómo funciona un nodo Bitcoin?

Cualquier persona que desee unirse y contribuir con la red del sistema Bitcoin, puede hacerlo libremente con tan sólo descargar e instalar el software de Bitcoin Core en su ordenador. Si estás interesado en hacer este proceso, te dejo este artículo donde te explicamos fácilmente cómo puedes instalar un nodo Bitcoin en tu ordenador en muy poco tiempo. 

Pero, ¿Cómo funciona el nodo? El funcionamiento de la red de pares de Bitcoin comienza con el levantamiento del primer nodo. Esta acción fue iniciada por Satoshi Nakamoto, quien fue el primero el correr un nodo de Bitcoin, seguido de Hal Finney. Ahora bien, en este punto con un solo nodo no se le puede llamar red. Para ello es necesario que más y más nodos se unan. En este punto, los ordenadores o equipos de computación ejecutan el software de Bitcoin Core del sistema Bitcoin comienzan a unirse.

Desde ese momento comienzan a sincronizar entre ellos e inician su proceso de operación y funcionamiento. El proceso se sigue repitiendo con cada nuevo nodo agregado a la red, intercambiando información para que todos funcionen de forma coordinada. Así la blockchain de Bitcoin opera como un sistema descentralizado. Esto por lo que los nodos deben compartirse y distribuirse la responsabilidad de crear, almacenar y transmitir la información dentro de la red. No existen niveles ni jerarquías, en la blockchain de Bitcoin todos los nodos operan por igual. 

Una vez conectados, los nodos pueden realizar distintas funciones. Como por ejemplo la retransmisión o almacenamiento de dato o  servicio de envío o recepción de operaciones. Así como servicio de minería para la creación de nuevos bloques, validación y confirmación de transacciones, entre otras. Aunque existen varios tipos de nodos que ejecutan funciones diferentes entre sí. No obstante, todos los nodos interconectados se rigen por las mismas reglas del protocolo de consenso establecidas. De hecho, cada uno tomará una conclusión propia sobre la validez de una transacción, indiferentemente de los demás nodos. 

Así mismo, los nodos en la red Bitcoin y en la red de otras criptomonedas pueden ser esos puntos de conexión que retransmiten toda la información que reciben, o pueden ser ese punto de comunicación final que almacena todos los datos. 

En la actualidad, para que un nodo funcione correctamente se requiere de un cierto grado de capacidad y poder computacional, además de espacio de almacenamiento suficiente. Por ello, hoy en día es común que muchos usuarios inviertan en los recursos informáticos que desean destinar para desempeñar el papel de nodos.

Tipos de nodos en la red Bitcoin

Como ya mencionamos, en Bitcoin existen varios tipo de nodos, y cada uno de ellos ejecuta funciones específicas y diferentes. 

Nodos Completos 

Son aquellos equipos de computación u ordenadores que implementan el cliente de Bitcoin, siendo el más común Bitcoin Core, y almacenan una copia exacta, completa y actualizada, de la blockchain de Bitcoin. Los nodos completos son los que hacen cumplir todas las reglas del protocolo Bitcoin, y por tanto, son los que verdaderamente le brindan robustez, seguridad y estabilidad a la red. 

Los nodos completos transmiten sus propias transacciones, al tiempo que también transmitirán las transacciones de otros usuarios. Además, actualizan la blockchain cada vez que se genera un nuevo bloque, confirmando previamente que éste cumple con todas las reglas del consenso establecida en el sistema. Por ejemplo, que la cantidad de bitcoins generados como recompensa sea la correcta, que el tamaño del bloque no supere el límite de 1 MB, que las firmas de las transacciones añadidas sean válidas, que no exista problemas de doble gasto, entre otros. Si alguna de estas u otra regla del protocolo se incumple, los nodos completos rechazarán de forma inmediata el bloque generado, garantizando la máxima seguridad e integridad de la red.

Bitcoin Core es el software para nodos completos de Bitcoin

Supernodos

Los supernodos, también conocidos como nodos de escucha, son todos aquellos nodos completos que operan en la red Bitcoin de forma pública y abierta. Actualmente se estima que existen alrededor de 10.000 nodos públicos conocidos y distribuidos a nivel mundial. 

Estos nodos operan como un punto de comunicación e interconexión con otros nodos de la red. Cualquier nodo que desee conectarse con un supernodo, lo puede hacer de manera abierta. Ya que generalmente éstos operan de forma continua e ininterrumpida para transmitir datos e información hacia varios puntos de la red.  

Nodos de Minería

Los nodos de minería, como su nombre lo indica, son aquellos nodos completos que, además de almacenar una copia completa de la blockchain, también ejecutan un software de minería. Por ejemplo BTCMiner u otro con la finalidad de minar bitcoins y generar nuevos bloques dentro de la blockchain. Además, los nodos mineros también se encargarán de recibir y transmitir las transacciones que se efectúen en la red. 

No obstante, aunque en 2009 se podía minar bitcoins con un simple CPU, hoy en día, y debido a la enorme dificultad de la red, hace falta disponer de equipos especializados para dedicarse a esta actividad. Aunque también existen nuevas modalidades como las mining pool que permiten unir el poder computacional de un grupo de mineros, donde sólo el administrador del grupo de minería ejecutará el nodo completo.

Granja de mineros todos ellos ejecutando el software de minería que los hace un nodo de minería en la red Bitcoin

Nodos Ligeros

Los nodos ligeros, también conocidos como nodos broadcast son aquellos que dependen de un tercero para realizar las validaciones de las transacciones en la red. Estos nodos no requieren almacenar una copia completa de la blockchain, sino que reciben la información de la blockchain de parte de los supernodos. 

Al no descargar una copia completa de la blockchain, los nodos ligeros son ejecutables en dispositivos móviles como teléfonos y tablets. Y se utilizan para ejecutar los servicios de wallets y monederos para verificar si algunas de las transacciones realizadas se incluyen o no dentro de la blockchain. 

¿Cuánto sabes, criptonauta?

¿Los nodos resultan ser fundamentales para el funcionamiento de la tecnología blockchain?

¡CIERTO!

Dado que las redes blockchain son redes P2P, cada nodo que forma parte de la red es una extensión vital de la misma. No importa si es un nodo completo o ligero, el ser un nodo en una red blockchain agrega seguridad, resiliencia y descentraliza la red aun más. Dicho esto podemos decir con total certeza que los nodos son fundamentales para el buen funcionamiento de una red blockchain, y mientras más existan, mejor para dicha red.

Seguridad y protección a la red Bitcoin

Los nodos completos o supernodos que están en constante conexión con la red Bitcoin, reciben, almacenan y transmiten de forma continua todas las actualizaciones de la blockchain. Cada vez que se genera un bloque válido, estos nodos actualizan y almacenan la nueva información. Esto le brinda robustez y seguridad a la red frente ataques de actores malintencionados o fallas en el sistema. Ya que si ocurre una caída de energía o un intento de hackeo en uno de los nodos, todos los demás nodos restantes tienen respaldada la información actual. Algo que sería imposible si habláramos de un servidor central. 

Así, incluso si gran parte de la red de nodos sufre una falla o pirateo, con tan sólo un nodo que quede intacto se puede mantener operativa la red Bitcoin. Ya que este permitiría recuperar toda la blockchain y la información almacenada en ésta. Entonces, mientras más cantidad de nodos completos existan en la red Bitcoin, más segura y confiable será.

Nodos en otras redes blockchain

Otras blockchain y criptomonedas como Dash o PIVX emplean masternode o nodos maestros, que además de poder ejecutar las funciones de los nodos que ya hemos mencionado, también pueden tener participación en otro tipo de funciones y servicios dentro de una blockchain. Generalmente, para la ejecución de este tipo de nodos, se requiere la posesión de una cierta cantidad de criptomonedas. Esto a fin de garantizar la correcta participación del nodo dentro de la blockchain.  

Las funciones que realizará un masternode dependen y están ligadas al tipo de blockchain donde vayan a ser ejecutados. Así pues podrán tener participación en eventos de votación, ejecutar operaciones de protocolo y cumplir con todas las reglas establecidas dentro de una blockchain. Además pueden ofrecer otras funciones como validar o transmitir transacciones. Así mismo, este tipo de nodos debe permanecer operativo de forma continua e ininterrumpida. Y también deben contar con una buena capacidad de procesamiento y espacio de almacenamiento. 

También existen nodos de almacenamiento de datos como los que podemos ver en blockchain como Sia. La función de estos nodos es construir una red gigante de almacenamiento de datos estilo nube de datos. Pero controlada enteramente por los smart contracts de la blockchain Sia. Como resultado, los usuarios de Sia pueden alquilar espacio de almacenamiento en estos nodos de almacenamiento. Y desde allí subir los datos que deseen de forma segura y completamente descentralizada. 

Como ven la finalidad y la utilidad de los nodos es variada. Y todo depende de la infraestructura y desarrollo de la red de la cual formen parte.