taiko-mono icon indicating copy to clipboard operation
taiko-mono copied to clipboard

Enhancing Network Layer Incentives to Bolster Decentralization

Open hugo-blue opened this issue 1 year ago • 6 comments

Describe the feature request

Recently, I have been pondering a particular topic: the provision of additional incentives by the network layer to both sequencers and provers with the ultimate aim of promoting decentralization.

Taiko aspires to construct a decentralized framework for sequencers and provers. From my perspective, it is imperative that the network compensates for the pursuit of decentralization. But why is this necessary?

Consider Bitcoin (BTC) as an example. Tokens are distributed to miners as a mechanism to encourage decentralization. Although we do not employ proof-of-work (PoW) in this context, the underlying principle remains that decentralization necessitates incentives and, in essence, becomes a byproduct of these incentives.

An additional illustration can be drawn from Layer 1 (L1)'s validator economy. If the decentralization of validators isn’t pursued, L1 could theoretically employ a single centralized validator for block generation, thereby obviating the need to incentivize multiple validators and saving costs.

Let’s delve into another instance. In Layer 2 (L2), wouldn’t it be most cost-effective to consistently operate centralized sequencers and provers, always opting to procure the most cost-efficient provers? When the decision is made to transition to a decentralized system, certain costs are incurred to motivate proposers and provers to participate.

This is particularly pertinent during the network's cold boot stage, where predicting a stable economy proves challenging. It’s difficult to foresee the transaction fees available to proposers or to determine the costs for provers. A period is required to establish a dynamic balance of costs among users, proposers, and provers.

Moreover, from what I observe in Taiko A5, there is a semblance of incentive provided to sequencers, which can be considered as additional incentives. I propose that this should also be extended to provers. Absent extra incentives for provers, they assume a passive role and may be discouraged.

Describe alternatives you've considered

Description of the alternatives you've considered here.

Additional context

Additional context here.

hugo-blue avatar Oct 06 '23 02:10 hugo-blue

Hugo, thank you for bringing up this important issue. While I understand the argument for direct incentives to provers, I remain unconvinced that this is the optimal approach for Taiko. In the current setup, provers are indirectly incentivized through the fees paid by proposers, who themselves receive block rewards. If provers are interested in holding Taiko tokens, they have the option to acquire them using the proving fees they've earned.

dantaik avatar Oct 09 '23 07:10 dantaik

Internally, we are not even sure we should reward proposer in protoco because (brecht) "... empty block problems, where creating an empty block will be much cheaper than creating an actual block including transactions, ...._". It means we may have to run the network for sometime without in-protocol proposer reward and only distribute rewards based on off-chain analytic data for blocks that included enough transactions...

dantaik avatar Oct 09 '23 13:10 dantaik

I had discussions with the L1 MEV team, which has solid experience. These discussions provided me with valuable insights. The conclusion we reached is that the prover should be the one to choose proposers with the highest price, and the prover should be given a network reward.

Allow me to explain the logic behind this.

The principle is that the ecosystem should incentivize participants to stay and have opportunities to profit.

In L1's flashbot mechanism, the MEV-boost and validator select blocks with the most profits. These profits come from MEV searchers.

Although searchers complain that validators take too much profit, they still remain in the ecosystem because searchers can find various profit opportunities due to the numerous on-chain scenarios. We can even say that there is unlimited profit potential for searchers. On the other hand, validators' profit is limited. Therefore, to keep validators in the ecosystem, L1 MEV strives to provide them with as much profit as possible, including the network's staking reward. This fosters decentralization within L1. image

Now let's consider the L2 scenario. The proposers are likely to be L1/L2 searchers as well. In the based rollup system, proposers/searchers have the opportunity to profit significantly. Even without a network reward, they will stay in the ecosystem as long as there is MEV profit. On the other hand, the role of L2 prover is some similar to that of L1's validators. Furthermore, L2 provers bear higher gas fees, hardware costs, and slash risks. Compared to L1's validators, they face more challenges. If the provers' profit is limited and diminishing, it discourages them from staying in the ecosystem, which is not conducive to decentralization. By providing network rewards to provers and allowing them to choose blocks with higher prices, similar to what L1 does for validators, the ecosystem will be healthier and more sustainable. image

I understand that the proposed changes to the design may be significant. Not because I stand with the role of provers, but because I believe the logic presented above is reasonable. I hope this will be helpful for future disscutions.

hugo-blue avatar Oct 09 '23 15:10 hugo-blue

Thanks Hugo for this detailed analysis!

The conclusion we reached is that the prover should be the one to choose proposers with the highest price,

The current protocol allows the block profit to be shared between the proposer and the prover. Do you think this setup is not flexible enough to create a proposer/prover market like you describe? Because block proposal is completely open (required to be a base rollup), I don't think it really matters who submits the block because both the prover and the proposer can do it and so some agreement needs to be reached between then. But with our current setup the proposer can choose to keep the block data private from the prover (if the prover would propose it that would not be possible in an easy way).

On the other hand, the role of L2 prover is some similar to that of L1's validators

By providing network rewards to provers and allowing them to choose blocks with higher prices, similar to what L1 does for validators,

It is true that more value could be given to the prover if there is a similar setup like in L1 PoS where there are privileged actors that have exclusive rights to do something. However, our protocol does not have such a privileged actor, any proposer can submit a block using any prover, and so the L1 validator in this setup is still the most privileged actor, not any L2 specific actor.

and the prover should be given a network reward

Neutral network rewards for an L2 are very tricky I think! We have to be careful of rewards not being exploitable or the value just flowing to the L1 validator. The work a prover does is more measurable which may help, but we still have to be very careful of trying to subsidize certain actors, but with the value actually flowing elsewhere.

Brechtpd avatar Oct 09 '23 19:10 Brechtpd

Brecht,

I have understood all the points you mentioned.

I acknowledge that economic behavior is very complex and difficult to predict fully. Regardless of the design, we will be happy to participate and gain experience from it. Now, most of ZKP projects are still using the closed proving system. Taiko is the first project to be open for both sequencers and provers.

hugo-blue avatar Oct 10 '23 16:10 hugo-blue

This issue is stale because it has been open for 30 days with no activity.

github-actions[bot] avatar May 16 '24 01:05 github-actions[bot]

This issue was closed because it has been inactive for a week since being marked as stale.

github-actions[bot] avatar May 24 '24 01:05 github-actions[bot]