Supposedly I'd like to help Ethereum to expand (in terms of the World Computer), so I'd like to setup a Linux machine which can run smart contracts.

  1. What kind of benefits I can get from doing that?
  2. Do I earn anything particular?
  3. If so, what I can get and would it increase over time?
up vote 23 down vote accepted

[EDIT] this answer was edited to add more information about non monetary valuable benefits provided by a full node. This edit was triggered by one of @fraxture comment on this answer.


TL;DR

No, you won't earn "old world" money or Ether (ETH).

However you would have a lot of other benefits from helping the Ethereum project grow and increase your investments value to technical benefits like fast transactions sending and validation or even better security and more privacy. All that reasons are worth having a full node even if you don't earn direct money.


1 - What kind of benefits I can get from doing that?

There is a nice explaination by Anthony on Ethereum Classic forum (but it's also true for Ethereum for the moment):

You have a few reasons why you’d run a node, including:

  1. You’re solo mining or running a mining pool, if this is the case then you need a node in order to talk to the network.
  2. You want to make sure your transactions to the network yourself. Remote nodes are generally reliable but are controlled by 3rd parties and typically throttle heavy usage.
  3. You want to help secure the network; the more independent nodes running the more copies there are of the blockchain and the more resilient it is.
  4. You want to make the network faster and secure; the more nodes the lower the latency in sharing blocks and the more copies of the blockchain that exist.

A first and not the least important incentive is then to help Ethereum to become more secure (you verify transactions) and faster. This doesn't goves you any reward at first but if that means that the Ethereum project can live and grow, what you invested as knowledge, time and money will become more and more valuable. This is a big incentive at least for me.

Also, having a full node is mandatory if you are solo mining (not mining in a pool) but even without mining, running a full node makes you able to have a direct access to the Ethereum blockchain and being connected to other pears directly. If you don't have one, you will have to connect to another node, mainly using RPC connection.

It means that one direct benefit for you is that you won't have problem with overloaded tier nodes that would prevent you from including your transactions on the network. You'll still have problem including your transaction to a block as mining nodes may include transactions with higher fees first, but at least you will skip the first obstacle.

Also if you have a look at this nice article on Ethereum transaction lifecycle in chapter "2.3 Transaction is validated locally", you'll notice that if you have a local node, it will validate your transaction prior to broadcast it. This can make you save some time.

Indeed, if you don't use your own full node, you'll have to trust someone's node for this validation. Running your own removes your need to trust anyone except you and your hardware.

You will also be ensured that the node you send your transaction to is on the chain you expect it to be. This is not very important in normal days, but think about it when a fork occurs.

Also, having your own node, and to me that's probably the more valuable benefit, ensures more privacy.

(note that no absolute privacy is possible. You can mitigate the risk of any curious person trying to find you but not completely stop a well organized group or person).

When you connect a third party node, trustful or not, you have to send your signed transaction to it to be broadcasted to the whole Ethereum network. Doing so will expose you, even if you use secured HTTP communication, because not only the data can give information about your stake or your actions on the network but also meta data like your IP, time of the connection, size of data, target server, ... It won't be very hard for anyone having access to your internet log (your internet provider, government, pirates, spies, ...) on the time range of a block to know that you did an action in this block, filter by content size and then find a few sender addresses or even just one that could link you to your Ethereum account. Once you're linked to an account it's an opened door to multiple side effects from social engineering to funds extortion or for special cases like in censorship contexts to link someone to some messages on the internet and then put him in jail... bad...

When you have a local node, you send your transaction to it and then your transaction is broadcasted to the whole network with all other transactions. It's more difficult for one to say which transaction you added to your local node pool as they would have to check the difference between all incoming and outgoing transactions on your node by decrypting the P2P datas exchanged with all your peers, not impossible but hard to reach I think, see for this how P2P security on Ethereum works for now.

There's probably some more benefits but I will edit this post when I find them. Also switch to Ethereum 2.0 with Sharding and Casper FFG will change many things so I'll edit it when it will be in production anyway.

2 - Do I earn anything particular?

If you talk about money (ETH) and you setup a full node alone today, you won't get any ether reward.

But you can run it AND mine using GPUs. You will earn ether as block reward. Note that it's not very valuable today due to the difficulty to mine in front of the cost of purchasing mining hardware and and the cost of electricity. But you can get pleasure to do it and learn a lot of things. Just be sure to buy hardware that perhaps you can reuse for gaming when you'll notice that it's a bit pointless to expect rewards with a small setup.

In a near future, Ethereum will move to PoS (Proof of Stake) system instead of PoW (Proof of Work). So mining will stop working. Having a node will only make you able to access the network except if you are one of the lucky validators that will stake their Ether and be "the miners of PoS", but without GPUs need. However, hardware requirements to be a validator will be a bit hard to reach for regular people (needs of security, availability, many RAM and CPU, ... and of course some Ether to stake).

3 - If so, what I can get and would it increase over time?

No, as you won't earn anyting by simply running a full node without mining, this won't increase over time.

  • Can you describe some scenarios in which trusting/not trusting someone can make a crucial difference? – fraxture May 18 at 20:30
  • 1
    @fraxture well, this is the whole purpose of all the crypto thing: not having to trust anyone. If one single part of the trust less chain is not trusted, all the trust is broken all along the chain. It then begins with trusting the node you use to communicate with the blockchain. – Nicolas Massart May 18 at 21:34
  • 1
    @NicholasMassart thanks for the explanation. A follow-on question: since these nodes exist in a network, if one node isn't trustworthy, couldn't that corrupt the whole network of nodes? Or is it that your point of entry onto that network is a particularly vulnerable spot? – fraxture May 18 at 22:15
  • @fraxture I'm sorry for not answering you. I didn't forget you but I'm working on a real answer (the question is a bit tricky and very interesting) but please allow me some more time as I have a lot of work aside... – Nicolas Massart May 23 at 10:02
  • Looking forward :) – fraxture May 23 at 14:50

protected by eth Aug 12 at 1:38

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.