En muchos ámbitos solemos valorar la simplicidad. En el caso de los clientes de Ethereum, cuanto más complejo sea el entramado, mejor. Por complejo nos referimos a diverso, compuesto por múltiples partes, heterogéneo.
En otras blockchains, un solo cliente se encarga del flujo completo de operaciones de la red. En Ethereum, tanto las tareas de consenso como las de ejecución son llevadas a cabo por una diversidad creciente de clientes. Y esto es celebrado e impulsado proactivamente por los desarrolladores y la comunidad del ecosistema.
¿Qué es un cliente?
En el mundo del software, un cliente es un programa que accede a datos o servicios alojados en otro dispositivo llamado servidor. Desde la aparición de internet, la arquitectura cliente-servidor se volvió cotidiana.
En Ethereum, los clientes son programas que, instalados en los nodos, ejecutan tareas específicas en las dos capas de la red: consenso y ejecución. Todo nodo validador debe tener un cliente de ejecución y uno de consenso, cada uno especializado en las funciones que el protocolo asigna a su respectiva capa.
Como explica la documentación de Ethereum.org: "Cada cliente tiene casos de uso y ventajas únicas. La diversidad permite que las implementaciones se enfoquen en distintas características y públicos. Es posible elegir un cliente según sus funciones, soporte, lenguaje de programación o licencias."
Clientes de ejecución
- Go-Ethereum (Geth): una de las implementaciones originales. Es el más utilizado, con una base de usuarios y herramientas muy amplia. Escrito en Go.
- Nethermind: escrito en C# .NET, compatible con múltiples plataformas, incluyendo ARM.
- Besu: cliente empresarial de Ethereum, escrito en Java.
- Erigon: derivado de Geth, enfocado en eficiencia y rendimiento. Escrito en Go.
- Reth: implementación en Rust, modular, rápida y eficiente.
Vale la pena mencionar también ethrex, un cliente de ejecución para Ethereum y L2s desarrollado por el equipo de LambdaClass desde Argentina. Escrito en Rust, busca destacarse por su enfoque en la simplicidad y eficiencia. Su desarrollo no solo refleja la capacidad técnica de la región sino que cobra relevancia particular dado que Buenos Aires se consolida como un punto central en el ecosistema Ethereum.
Clientes de consenso
- Lighthouse: en Rust, enfocado en seguridad y escalabilidad.
- Lodestar: escrito en TypeScript.
- Nimbus: eficiente en recursos, apto tanto para dispositivos limitados como para infraestructura robusta.
- Prysm: en Go, con una interfaz web opcional.
- Teku: uno de los clientes originales, escrito en Java, con licencia Apache 2.0.
Por qué importa la diversidad
Un dato llamativo es que estos clientes están escritos en distintos lenguajes: Go, Java, Rust, C#, TypeScript. Esa diversidad de lenguajes es clave para atraer talento que quizás no desarrolla smart contracts pero sí tiene experiencia en otras áreas.
Pero más allá del aspecto técnico, la diversidad es vital para la fortaleza de la red. Si un cliente comenzara a fallar y hubiera demasiada concentración en su uso, las consecuencias podrían ser graves: una bifurcación involuntaria donde los nodos afectados continúen con una versión errónea de la red.
Esto no es teórico. En 2021, un bug en una versión específica de Geth (1.10.7) provocó exactamente ese tipo de problema. Se resolvió gracias al funcionamiento correcto de otros clientes que mantuvieron el estado actualizado. Ese mismo año, Nethermind sufrió un ataque directo. La red se recuperó porque no todos los nodos dependían de él.
Como señala la documentación de Ethereum.org: un error en un cliente de consenso con más del 33% de los nodos podría impedir que la capa de consenso finalizara, lo que significa que los usuarios no podrían confiar en que sus transacciones no se revertirían.
Hay también una dimensión humana en esto. Si el mantenimiento de la red recayera sobre un único cliente, recaería también sobre un único equipo. Contar con diversos equipos sosteniendo diversos clientes distribuye las responsabilidades y hace la red más sostenible a largo plazo.
La situación actual
En 2022, tras The Merge, más del 80% de los nodos de ejecución usaban Geth y más del 60% de los de consenso, Prysm. Hoy (julio 2025), Geth representa el 58% y Prysm bajó al 25%, siendo superado por Lighthouse con un 45%. La tendencia es positiva, aunque el camino es largo.
La comunidad impulsa activamente el uso de clientes minoritarios. Y tiene sentido: quien decida correr un nodo propio debería, en la medida de lo posible, evitar los clientes mayoritarios. Claro que no es solo una cuestión de voluntad, ya que los distintos clientes tienen distintos requisitos de hardware, diferencias de UX y están optimizados para distintas funciones.
Además de los operadores individuales, hacen falta instituciones, empresas y exchanges que se comprometan con esta diversificación. Ellos tienen los recursos para adaptarse.
Recursos para seguir
- Ethereum.org — Nodos y clientes
- Ethereum.org — Diversidad de clientes
- clientdiversity.org — métricas de consenso
- supermajority.info — métricas de ejecución
- ethernodes.org
- rated.network