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

Update Prysm client to pay block fees to validators and Commons Budget as defined in Bosagora whitepaper. #5

Closed
MichaelKim20 opened this issue May 6, 2022 · 10 comments

Comments

@MichaelKim20
Copy link
Member

Ethereum burns transaction fees when creating blocks.
Here's what the White Paper on BOSAGORA says.

Transaction Fee: Transaction fees are adjusted flexibly (see Appendix 3). Congress Nodes receive 70%
of the collected transactions fee in a block, and 30% is sent to the Commons Budget. Transaction fees can be
adjusted through the Congress. 

But I don't think it's going to be easy to calculate this.
So I want to implement all of this as a Common's Budget receiving. And we'll have to revise the white paper.

The Beacon chain has a number of implementations.
We use prysm.
https://github.com/zeroone-boa/prysm

@MichaelKim20 MichaelKim20 changed the title Complement the fee handling function. Complement the tracsaction fee handling function. May 6, 2022
@MichaelKim20 MichaelKim20 changed the title Complement the tracsaction fee handling function. Complement the transaction fee handling function. May 6, 2022
@MichaelKim20
Copy link
Member Author

The link below contains the following:
https://ethereum.org/en/staking/

After The Merge you'll receive unburnt transaction fees for blocks you propose

@hewison-chris hewison-chris changed the title Complement the transaction fee handling function. Update Prysm client to pay block fees to validators and Commons Budget as defined in Bosagora White Paper. May 10, 2022
@hewison-chris hewison-chris changed the title Update Prysm client to pay block fees to validators and Commons Budget as defined in Bosagora White Paper. Update Prysm client to pay block fees to validators and Commons Budget as defined in Bosagora whitepaper. May 10, 2022
@omerfirmak
Copy link

@hewison-chris hewison-chris transferred this issue from another repository May 12, 2022
@mkykadir
Copy link

mkykadir commented May 18, 2022

this one is for the sync committee, see #6

Are we going to include attestation rewards to validators? These are easy to nullify with following config params;

TimelySourceWeight
TimelyTargetWeight
TimelyHeadWeight

but 0'ing them out will result in 0 propose reward (which also we might want).
Also in beacon chain, currently, all rewards are calculated from "BaseReward" which is calculated with total staked ETH; so rewards are not gathered from TX fees.

base reward calc
Source

There is a "Fee recipient" configuration parameter for validators for future use when Bellatrix (merge) will bring execution engine and TX fees is included in Beacon chain, this address will be used for TX fees. Currently I couldn't find any implementations both on spec and Prysm code that utilizes this address.

@mkykadir
Copy link

mkykadir commented May 18, 2022

We investigated this with @omerfirmak in detail;
Here Prysm allows configuration of a Fee Recipient Address to be used after the Merge. This address is transferred to execution layer through Engine API as coinbase address. This address can be utilized to transfer TX fees in execution layer. Currently Geth's Finalize for beacon consensus doesn't implement TxFee rewards but ethash consensus has an accumulateRewards function. Apart from reward calculations (which can be easily configured with config params), we cannot do TX fees on Beacon chain, thus work is needed on execution layer.

@omerfirmak
Copy link

Since EIP-1559 burns base fees, all we have to do is override fee recipient address to be the commons budget for all validators.

@mkykadir
Copy link

TXFees are transferred to miners here

@mkykadir
Copy link

mkykadir commented Jun 7, 2022

Related PR bosagora/agora-el#6

@mkykadir
Copy link

^ Fixes this

@mkykadir mkykadir removed their assignment Sep 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants