¿Qué es un nodo Ethereum y cómo funciona?

¿Cuál es la importancia de un nodo Ethereum dentro de la cadena de bloques y cómo interactúa con otros?

Ethereum en realidad no es una criptomoneda, sino una red P2P descentralizada basada en un protocolo informático público y de código abierto. 

Su criptomoneda nativa es Ether (ETH), aunque suele llamarse por el nombre de toda la red, que es Ethereum. 

Las redes P2P, o redes peer-to-peer, consisten en nodos peer que se comunican entre sí a través de Internet. Por lo tanto, son los nodos los constituyentes fundamentales de estas redes. 

Por tanto, los constituyentes fundamentales de Ethereum son sus nodos, que forman la red P2P, y obviamente el protocolo en el que se basan. 

Para ser parte de la red Ethereum P2P e interactuar con otros nodos, un nodo Ethereum debe adherirse a su protocolo básico al pie de la letra, que por supuesto debe ser absolutamente idéntico para todos los nodos, o será excluido de la red. sí mismo. 

El funcionamiento de un nodo Ethereum

Los nodos de Ethereum son computadoras, o servidores, conectados a Internet y en los que se ejecuta un software especial. 

Este software en la jerga se llama cliente de red y es absolutamente esencial para ejecutar un nodo. Es precisamente este software el que se conecta con los demás nodos de la red P2P, y el que debe cumplir al pie de la letra con el protocolo Ethereum. 

Lo curioso es que como el protocolo es público y de código abierto, cualquiera puede hacer un cliente de red para ejecutar un nodo en la red Ethereum. 

Lo importante es que el cliente cumpla con todas las reglas del protocolo, ya que si no lo hace no será compatible con el resto de nodos, quedando excluido a priori de la propia red. 

Actualmente, solo hay 4 clientes que más se usan, porque aunque hay muchos, la mayoría se usan muy poco. 

Sin embargo, se debe hacer una distinción entre Clientes de Consenso y Clientes de Ejecución. 

Los Clientes de Ejecución son los nodos de la denominada “Capa de Ejecución” (EL) de Ethereum, es decir, los derivados del antiguo protocolo basado en Prueba de Trabajo (PoW). 

Con mucho, el cliente de ejecución más utilizado es el histórico Geth, que existe desde hace mucho tiempo y es el líder indiscutible de la red basada en el antiguo protocolo. Le siguen, pero con porcentajes mucho más bajos, Erigon, Nethermind y Besu. 

Desde que el protocolo Ethereum cambió a Prueba de participación (PoS) con la Fusión del 15 de septiembre, se ha agregado la llamada "Capa de consenso" (CL), con diferentes clientes. 

En el caso de los clientes de CL hay más diversidad, con Prysm con un 42%, Lighthouse con un 36% y Teku con un 18%. Le sigue Nimbus con solo un 3%. 

Todo este software es de código abierto, libre y gratuito para todos. 

Qué hacen los nodos de red

Con el tiempo, la función de los nodos ha evolucionado. 

Inicialmente hacían de todo, es decir, el único software existente en la red Ethereum eran los nodos. 

En otras palabras: 

  • aseguraron y controlaron la cadena de bloques 
  • minaron los bloques con el PoW 
  • verificaron el cumplimiento de todos los bloques y transacciones con el protocolo
  • ejecutaron contratos inteligentes
  • actuaron como billeteras al permitir el envío y la recepción de tokens. 

Sin embargo, con el tiempo perdieron algo de funcionalidad. 

En particular, perdieron la funcionalidad de minar bloques, porque se requería un software más optimizado y rápido para hacer esto con éxito. Así, se desarrolló un software ad hoc para minería

Teóricamente, todavía se pueden usar como billeteras, pero son muy inconvenientes. De hecho, a estas alturas, casi todas las billeteras que se usan ampliamente no son nodos. 

El hecho es que un nodo tiene que proteger y verificar la cadena de bloques, que es un archivo de casi 350 GB donde se han registrado todas las transacciones en Ethereum en el historial, que un nodo debe verificar una por una. 

Entonces, con el tiempo, los nodos han terminado haciendo principalmente dos cosas: por un lado, custodian y verifican la cadena de bloques, o libro de transacciones, y por otro lado, ejecutan las instrucciones contenidas en los contratos inteligentes. 

El cambio a PoS

El ir, con el paso a PoS, ha cambiado las cosas. 

De hecho, el abandono de PoW eliminó la necesidad de extraer bloques, por lo que los mineros de Ethereum simplemente desaparecieron o se trasladaron a otras cadenas de bloques que aún se basan en PoW. 

Pero cuando ya no eran los mineros los que creaban los bloques con transacciones para agregar a la cadena de bloques, se tuvo que crear otro software para validar los bloques. 

Dicho software son los nuevos clientes de Consensus Layer, concretamente Prysm, Lighthouse, Teku y Nimbus. 

Estos nodos CL validan bloques ahora que los mineros ya no lo hacen. 

Sin embargo, PoS se basa en el replanteo, por lo que los nodos CL también tienen tokens ETH puestos en replanteo. 

La capa de consenso se basa en una nueva cadena de bloques, llamada Beacon Chain y basada en PoS, en la que los tokens ETH se pueden apostar en los nodos relevantes para que se pueda realizar PoS. La antigua capa de ejecución utiliza la antigua cadena de bloques basada en PoW, pero no se agregan más bloques nuevos, ya que las transacciones ahora se registran solo en la nueva Beacon Chain. 

Configuración de un nodo Ethereum

El funcionamiento de un nodo es relativamente sencillo. De hecho, una vez instalado, el cliente simplemente debe dejarse funcionando conectado a Internet. 

Sin embargo, la instalación no es un asunto baladí. 

Primero, cuando el cliente está instalado, debe descargar toda la cadena de bloques y verificarla, transacción por transacción. Este proceso resulta ser particularmente largo. 

Además, una vez instalado hay que configurarlo para que pueda conectarse a otros nodos, de lo contrario queda efectivamente excluido de la red P2P. 

Este último es un proceso técnico que requiere un mínimo de experiencia. Por lo tanto, no es adecuado para aquellos que recién están dando sus primeros pasos en esta área, sobre todo porque requiere habilidades informáticas y de sistemas. 

Es aún más complicado en el caso de un nodo CL, ya que al tener que custodiar al menos 32 ETH en el staking hace que el tema de la seguridad sea aún más relevante. 

Seguridad

La seguridad de un nodo es crucial para permitir que funcione correctamente, porque tiene una billetera incorporada y, en el caso de los nodos CL, tiene ETH en participación. 

El único gran problema en caso de una brecha es el posible robo de fondos, porque incluso si fuera atacado o pirateado, toda la red no se vería afectada. 

Dado que pueden estar sujetos al robo de fondos, es esencial un alto nivel de protección de las máquinas y redes en las que se ejecuta. 

Un tema algo más complicado es el de la seguridad de la red P2P. 

Dado que esto se basa en sus propios nodos, si muchos de ellos se violan, la red en sí podría tener problemas. La posible violación de un solo nodo, o de un número limitado de nodos, no genera mayores problemas para la red, pero si se violan muchos los problemas también pueden ser muy graves. 

Es por esto que sería necesario el uso de múltiples clientes en todo momento, ya que en el caso de que uno tenga un bug o vulnerabilidad, es difícil que los otros clientes también los tengan. 

En lo que respecta a la capa de ejecución, Geth ahora está tan bien probado que parece poco probable que tenga problemas serios. Aun así, no deja de ser útil que también haya otros clientes a los que recurrir en el hipotético caso de un problema en Geth. 

En cambio, en el caso de los clientes de la Capa de Consenso, la cosa es diferente, ya que en realidad llevan pocos meses en una. 

Fuente: https://en.cryptonomist.ch/2022/11/26/what-is-an-ethereum-node-and-how-it-works/