Participating in the Ethereum Network

What is an Ethereum node?

“Ethereum node” is a term that can be used to describe a program that interacts with the Ethereum network in some way. An Ethereum node can be anything from a simple mobile phone wallet application to a computer that stores an entire copy of the blockchain.

All nodes work as a communication point somehow, but there are different types of nodes on the Ethereum network.

How does an Ethereum node work?

Ethereum, unlike Bitcoin, doesn’t have a single program as its reference implementation. Where the Bitcoin ecosystem has Bitcoin Core as its primary node software, Ethereum has a range of individual (but compatible) programs based on its Yellow Paper. Popular options include Geth and Parity.

Ethereum full nodes

To interface with the Ethereum network in a way that allows you to validate blockchain data independently, you need to run a full node using software like the ones mentioned above.

The software will download blocks from other nodes and verify if the transactions included are correct. It will also run all of the smart contracts that have been called to ensure that you’re receiving the same information as other peers. If all is working as intended, we can expect every node to have an identical copy of the blockchain on their machines.

Full nodes are vital to the functioning of Ethereum. Without multiple nodes spread around the globe, the network would lose its censorship-resistant and decentralized properties.

Ethereum light nodes

Running a full node allows you to contribute directly to the health and security of the network. But a full node often requires a separate machine to operate as well as occasional maintenance. Light nodes might be a better option for the users that are unable to run a full node (or that simply prefer not to do it).

As the name might suggest, light nodes are lightweight – they use less resources and take up minimal space. As such, they can run on lower-spec devices like phones or laptops. But these low overheads come at a cost: light nodes are not entirely self-sufficient. They don’t sync the blockchain in full and therefore require full nodes to feed them relevant information.

Light nodes are popular amongst merchants, services, and users. They’re used extensively for making and receiving payments in scenarios where full nodes are deemed unnecessary and too costly to run.

Ethereum mining nodes

A mining node can be either a full client or a light one. The term “mining node” isn’t really used as it is in the Bitcoin ecosystem, but it’s nonetheless worth identifying these participants.

To mine Ethereum, users need additional hardware. A common practice involves the construction of a mining rig. With these, users connect multiple GPUs (graphics processing units) together to hash data at high speeds.

Miners have two options: mining solo, or in a mining pool. Solo mining means that the miner works alone to create blocks. If they’re successful, they do not share their mining rewards with anyone. Alternatively, when joining a mining pool, they combine their hashing power with that of other users. This will make them more likely to find a block, but they’ll also need to share their rewards with pool members.

How to run an Ethereum node

One of the great aspects of blockchains is open access. This means that anyone can run an Ethereum node and strengthen the network by validating transactions and blocks.

Similarly to Bitcoin, there are a number of businesses that offer plug-n-play Ethereum nodes. This might be the best option if you’d just like to get a node up and running – however, be prepared to pay extra for the convenience.

As mentioned, Ethereum has a number of different node software implementations, such as Geth or Parity. If you’d like to run your own node, you’ll need to get familiar with the setup process for the implementation you choose to run.

Unless you’d like to run a special node called an archival node, a consumer-grade laptop should suffice for running an Ethereum full node. At the same time, it’s best not to use your day-to-day machine, as it could slow it down significantly.

Running your own node works best on devices that can always be online. If your node goes offline, it might take a considerable amount of time for it to synchronize with the network once it’s online again. As such, the best solutions are devices that are cheap to build and easy to maintain. For example, you can run a light node on even a Raspberry Pi.

How to mine on Ethereum

As the network is soon to transition to Proof of Stake, mining on Ethereum isn’t the safest long-term bet. After the transition happens, Ethereum miners will likely point their mining equipment to another network or sell it entirely.

Even so, if you’d like to participate in Ethereum mining, you’re going to need specialized hardware, such as GPUs or ASICs. If you’re looking for reasonable returns, you’ll most likely require a custom mining rig and access to cheap electricity. In addition, you’ll need to set up an Ethereum wallet and configure the mining software to use it. This all requires a significant investment of time and money, so carefully consider if you’re up for the challenge.

What is Ethereum ProgPoW?

ProgPoW stands for Programmatic Proof of Work. It’s a proposed extension of the Ethereum mining algorithm, Ethash, that’s designed to make GPUs more competitive with ASICs.

ASIC-resistance has been a heavily debated topic for years in both the Bitcoin and the Ethereum community. In the case of Bitcoin, ASICs have become the dominant mining force on the network.
On Ethereum, however, ASICs are present but much less prominent – a considerable portion of miners are still using GPUs. This situation might change soon, though, as more and more companies bring Ethereum ASIC miners to the market. But why could ASICs pose a problem?

For one thing, ASICs could drastically reduce the decentralization of the network. If GPU miners aren’t profitable and have to shut down their mining operations, the hash rate could concentrate in the hands of only a handful of miners. What’s more, developing ASIC chips is costly, and only a few companies have the capabilities and resources to do so. This creates a threat of monopolization on the manufacturing side by potentially centralizing the Ethereum mining industry in the hands of a few corporations.

The integration of ProgPow has been a topic of controversy since 2018. While some think it could be healthy for the Ethereum ecosystem, others are opposed to it due to the potential of it causing a hard fork. With the coming transition to Proof of Stake, it remains to be seen whether ProgPow is ever implemented on the network.

Who develops the Ethereum software?

Like Bitcoin, Ethereum is open-source. Anyone is free to participate in the development of the protocol itself, or to build applications on top of it. In fact, Ethereum currently has the largest developer community in the blockchain space.

Resources such as Andreas Antonopoulos and Gavin Wood’s Mastering Ethereum and Ethereum.org’s Developer Resources are excellent starting points for developers that want to get involved.

What is Solidity?

Smart contracts were initially described in the 1990s, but enabling them on top of blockchains posed an entirely new set of challenges. Solidity was proposed in 2014 by Gavin Wood, and since has become the primary programming language for developing smart contracts on Ethereum. Syntactically, it resembles Java, JavaScript, and C++.

Essentially, Solidity is what makes it possible for developers to write code that can be broken down into instructions that the Ethereum Virtual Machine (EVM) can understand. If you’d like to get a better understanding of how it works, the Solidity GitHub is a good place to start.
It should be noted that Solidity is not the only language available to Ethereum developers. Another popular option is Vyper, which more closely resembles Python in its syntax.