TL;DR — Ethereum Grid is a new desktop application that allows users to securely download, configure and use various clients and tools in the Ethereum ecosystem.
Among its potential benefits, Grid can help:
- a less technical audience safely interact with technical tools
- projects in the ecosystem to reach audiences and build up infrastructure
- provide a platform to accelerate hacking on Ethereum
A fragmented landscape
The Ethereum clients and services landscape has grown significantly over the last few years. Today, a variety of tools exist that allow users to connect to the Ethereum network and many other previously unimaginable things.
Unfortunately, for people new to the space, the ecosystem appears very fragmented and vast. Decentralization means there is no single source that dictates development. Many open source implementations exist for the similar purposes and the differences between clients and other tools can be difficult to decipher. Many are lacking detailed documentation, but require complex setup, knowledge of build systems, multiple programming languages, container managers such as Docker, or version control systems like Git. Unsurprisingly, this drives a lot of users to more convenient and user-friendly solutions, such as MetaMask with Infura, which routes traffic through gateways and creates single points of failure, centralization and gate keepers — things that all these tools initially aimed to eliminate.
It can also be intimidating for new users to download an application and let it handle one’s finances. On top of that, attacks on Ethereum clients and wallets pose one of the most lucrative targets. To avoid the risk of compromised binaries, users are expected to perform checksum and signature verification, which are rarely done due to the complexity of these tasks. Even worse, poorly designed checksum systems provide no value or the false assertion of security thereby exposing all parties to avoidable risks.
Experienced users or hackathon participants will find themselves spending a lot of valuable time setting up their environment and going through pages of flags that can be passed to different clients via CLI. People who go through these complex setups are exposed to the risk that misconfiguration could result in loss of their funds or a hostile takeover of the user’s machine via remote code execution attacks (RCE).
Ethereum Grid was started as an experiment to remove the above-mentioned complexity, and many of the related attack vectors. It was announced earlier this year at EthCC in Paris and is in an alpha stage where it can already be very useful.
We want to provide new and experienced users alike with a powerful tool to help them find, download, configure, and use binaries in a secure way, enabling them not only to become participants in the Ethereum network, but also strengthen the core philosophies. Grid tries to make the Ethereum ecosystem, and access to powerful financial and cryptographic applications, more inclusive and accessible for everyone.
Grid is a platform. Projects in the community may create their own integrations, which could take several forms. Some examples of the possible scope of integrations:
- Binary management (e.g. download, configure, and run a Geth or Parity node)
- Client dependencies (e.g. Clef, which relies on Geth)
- User Interfaces (e.g. drag-and-drop Swarm content uploader)
Some examples of plugins we would like to see in the future:
- ETH 2.0 clients
- Privacy tooling (e.g. ZoKrates)
- Hackathon tooling (e.g. Ganache CLI)
- (Your idea here)
To date, half a dozen clients and services have been integrated into Grid to various degrees. A plugin architecture is under development and will allow for the rapid creation of new integrations. If you’re interested in integrating your project into Grid, please reach out to us by creating an issue in GitHub or by filling out the feedback form.
We believe that as a side-effect of putting multiple projects into one playground, Grid can encourage the creation and adoption of interoperability standards. If you’re an EIP author trying to garner support for a relevant standard, consider making a reference implementation with Grid.
Please also give the alpha software a try. We would love to hear your thoughts and have made it simple to provide us with feedback; a prominent button in the corner of the app will take you to the same feedback form linked above. We are particularly interested in learning about use cases and project integrations that would be valuable to you.