-
Notifications
You must be signed in to change notification settings - Fork 3
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
Initial reference implementations #6
Comments
I intend to implement this myself in Trinity this week, to start. I don't think it will be too complex. (Famous last words.) |
Responding to @GregTheGreek's comment from #5:
Could you share this math/code? Why do you think adding one tx per block is such a big deal?
I don't think miners should have an option where to send the reward. I think that should be specified and hardcoded in-protocol to begin. @owocki and I have discussed this a bunch but governance over where the funds go, and what the percentage gets set to, will be contentious so the simplest thing to do in the beginning is to hardcode things in-protocol (so that they can only be changed via a hard fork). (If miners have the choice where to send it, they could opt to send it to themselves, thus bypassing the tax completely. This is counter to the idea of a community fund.) |
The ~115kb was in reference to expanding the
100% i agree with you, but I didn't really view it as a tax rather as an option. As a tax, it would be very simple to implement I could provide an example in for you on the go-ethereum code base :) I've actually done this before for a client! |
Good. I'll do it in Trinity, you do it in geth, I check your code, you check my code, bada-bing, bada-boom, we have two reference implementations. Race you. Go! |
EIP coding competitions. I love it |
It's a thing now. EIP codeathon. |
@lrettig soooo here it is without any tests: EDIT: Update commit hash |
Here's the initial reference implementation in Trinity: lrettig/py-evm@ee5a23f |
@lrettig Looks good to me! |
Forgive the naive question, but is it enough to build a fee into each individual client? How do other client's that are validating the blocks produced validate that the fee went to the right beneficiary and for the right amount? It would seem we need to protect against some rogue client sending 100000 ETH to a bad beneficiary! Do we need to add some code that validates blocks by other miners, that they've correctly added the fee? |
All of the changes we've made here are in-protocol. That means that all clients must agree on them and implement the exact same change or we have a consensus failure. Simple right? That's the beauty of the protocol 😇 |
|
@owocki To add to Lane's comment. This version would mean its a fixed number to a fixed address. So everyone would need to agree with it! If you want it to be dynamic, so that anyone could chose their how much and where to send, it gets quite complicated and requires a more extensive mods. Which I eluded to in previous discussions |
No description provided.
The text was updated successfully, but these errors were encountered: