Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(protocol): partially randomize prover reward #13184

Merged
merged 24 commits into from
Feb 22, 2023
Merged

Conversation

dantaik
Copy link
Contributor

@dantaik dantaik commented Feb 18, 2023

Introduce a new config: proverRewardRandomizedPercentage. If it is set to 0, then the proof rewards are distributed as before this PR, if it is 100, then the proof rewards are distributed randomly. We can choose a value between 0 and 100 so the reward are partially random and partially fixed.

@dantaik dantaik changed the base branch from main to minor_lint February 18, 2023 13:50
@dantaik dantaik marked this pull request as ready for review February 18, 2023 14:33
Base automatically changed from minor_lint to main February 18, 2023 19:33
davidtaikocha
davidtaikocha previously approved these changes Feb 22, 2023
cyberhorsey
cyberhorsey previously approved these changes Feb 22, 2023
@dantaik dantaik added this pull request to the merge queue Feb 22, 2023
Merged via the queue into main with commit 16993cd Feb 22, 2023
@dantaik dantaik deleted the random_proof_reward branch February 22, 2023 03:42
@github-actions github-actions bot mentioned this pull request Feb 22, 2023
@Brechtpd
Copy link
Contributor

I have some doubts about the PoWification of proof generation.

  • Rewards less efficient provers which could be good, but it seems inevitable that these will still end up being unprofitable because the proof price will adjust down until the price where the more efficient provers are just profitable. So seems likely to me that these provers will still not want to prove blocks because it will unlikely to be profitable for them.
  • The above could be untrue if the protocol knows it overpays for the proof generation, and faster provers cannot take advantage of these higher price. But higher prover costs will increase transaction costs so not great for users and and a potential disadvantage compared to other rollups. But that may also not true because
  • The protocol doesn't know if indeed different provers are submitting proofs. You would think that the most efficient prover submits all the proofs until it's not profitable anymore, and so less efficient provers which would be good for "decentralization" are still out-competed. But the extra transaction fees paid by the users actually did not help get multiple different provers to proof the block, so the users pay a higher transaction fee for no benefit at all.
  • It actually seems good to me that inefficient provers are not profitable and will stop generating proofs? Does multiple provers proving the same block really benefit users?
  • The PoW factor also seems to make uncle rewards unnecessary because they have the same goal with a different implementation. Which is actually a good thing because that means always only a single proof to check on-chain.

I'm not sure it's possible to come up with a good mechanism that achieves the specified goal of actual multiple distinct provers proving the same block without knowing the identity of provers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

feat: Reward the provers with some random mechanism to promote decentralization
5 participants