Rethinking Consensus Incentive

Monetary incentive will naturally, over time, put monetary incentive as a driver, if not the primary driver, of protocol development decisions.

I have an idea for an alternative, that does not change the game theory of incentive to run a node being tied with the benefit of the protocol/network itself.

There are a lot more non-participation nodes than there are participation nodes, because fundamentally people need a reliable node to transact with. The motive is inherently there for a robust reliable fleet of nodes across the network. Removing the ability for non-participating nodes to transact will provide the missing incentive for participation in consensus. Furthermore, higher transaction rates should require higher stake.

Thoughts?

Edit: Clarification.

What I mean here is that all nodes would have to be participating nodes. So that any node broadcasting transactions is also participating in consensus. From there it could be considered whether to put limits on txn broadcast volume based on the stake of a given node.

2 Likes
  1. This could inhibit developer activity. It should be as easy as possible for devs to set up an environment and test things out. Adding roadblocks is the opposite of what we should do.

  2. Non-participation nodes serve a purpose. By not being burdened by the load of participating in consensus, they can focus resources on transmitting transactions for their users.

  3. More nodes for the sake of more nodes isn’t necessarily good. If people running client nodes are forced to make them participation nodes, you might just get a scenario where they have only 1 Algo in consensus. A glut of low stake nodes doesn’t meaningfully help decentralization and could have negative effects on the network, especially with P2P.

4 Likes
  1. Devs test on localnet and testnet, and have low volume of transactions broadcast. A small free tier without consensus could be possible.

  2. The more transactions you broadcast the more reliant you are on the network and the more burden you put on the network. You SHOULD be held responsible for helping to secure the network.

  3. Sure we can keep a higher minimum stake and allow some low free tier level outside of consensus in that case.

  1. Testnet is essentially a copy of the same protocol as main net except that the assets don’t have “real” value. Are we going to make devs run a participation node in testnet? Or are we making the protocol different as between testnet and main net?

  2. You pay for that burden via transaction fees. And those fees should be the incentive for others to participate in consensus.

  3. Or, we could avoid these unnecessary complications.

Transaction fees are minimal, and paid by the end user, not the node that is broadcasting the txn. I disagree entirely that those fees should incentivize consensus, and they would have to be MUCH higher to provide enough APY to incentivize.

This is not an unnecessary complication, this is trying to align the motive of consensus to the health of the network. The motive for rewards is profit, nothing more nothing less and the health/design/security of the chain is not more important.

Just look at any other chain with incentives for consensus. It will centralize and will change the protocol in unpredictable and unintended ways.

Silvio was explicitly against this for that reason.