-
Notifications
You must be signed in to change notification settings - Fork 325
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
Ethereum Core Devs Meeting 94 Agenda #200
Comments
Can we add a section talking about the new EIP statuses from EIPIP? |
I'll need to leave to see a doctor by 14:30, so will want to make a quick status update on EIP-1057 before I go. I intend to put it on the agenda for ACD Meeting 95, will say more later tonight. |
Progress on EIP-1057 has been slow - two of the co-authors have been very ill, and one is still in and out of hospital. The reference code hasn't changed since @AndreaLanfranchi's May 1, 2020 PR to fix the Kik exploit and mitigate the "Light Evaluation" attack as suggested by Least _Authority. The EIP itself mostly needs minor edits and final review of the spec. The current EIP PR is here. Note: We Do Not recommend that this Proposal be deployed at this time. Rather it is being offered in the spirit of Ben DiFrancesco's compromise, which @vbuterin and others have taken to be the consensus of Meeting 82. |
Necessary benchmarks for EIP 2666 were provided by the clients and raw form is assembled in here Besu benchmarks Short summary:
BNADD cost will need to be adjusted when EIP 2046 is accepted
Besu result is surprising (I was told that some Rust lib is used, and addition looks fast, but multiplication is very slow). Only little repricing will be necessary when EIP 2046 is accepted
Currently it's 60 gas + 12 gas per 32 byte word. Proposed formula is
EIP 2666 proposes A = 9, B = 5. Besu implementation is Java built-in, so I doubt it can be improved, so it would be better to set A = 9, B = 10 that largely fits everyone. There are no large one-off costs in this precompile, so it's EIP 2046 - safe.
Currently it's 600 gas + 120 gas per 32 byte word. Proposed formula is
EIP 2666 proposes A = 12, B = 6. There are no large one-off costs in this precompile, so it's EIP 2046 - safe. Besu expects to have performance improvements by the end of the year
Currently it's 30 gas + 6 gas per 32 byte word. Proposed formula is
EIP 2666 proposes A = 15, B = 13. There are no large one-off costs in this precompile, so it's EIP 2046 - safe. Besu expects to have performance improvements by the end of the year |
If there is time, the Ewasm team would be interest to present our findings regarding "evm384": https://notes.ethereum.org/@axic/evm384 There is also an EthMagicians topic for discussion. |
@axic Added to the agenda! |
Nice one, @axic. I've briefly looked at the code and speed-wise arithmetic operations should have the same performance in 1962 and your implementation. Then what is a source of 3x performance difference? Memory checks and copies/dereferences? |
Do you mean the implementation in evmone? There is definitely overhead in the EVM for memory operations, and crafting an optimal stack layout is not trivial in many languages for the EVM. We have used Yul which definitely struggles with optimal stack allocation. It seems that Huff would be a good candidate for creating higher performance bytecode, but partly due to lack of time and our unfamiliarity with Huff we have not used it yet. |
Yes, I’ve briefly looked at add/sub/mont_mul code. Assembly could have given 30-40% boost there, but 1962 does not use it, so it’s quite apples to apples for arithmetic performance. |
If we get time, I can share a quick summary of the survey results - "The state of client diversity in Ethereum". |
vbuterin: One topic I want to bring up is short-term gas cost increases for storage-accessing operations. I can talk about why I think this is necessary; the short form is (i) the regenesis plan advocated by Alexey and co includes witness size bounding for partially stateless clients, but there's reasons why we need witness size bounding for fully stateless clients as well, and (ii) it's a quick short-term path to mitigating the "30 second DoS block" issue that is simultaneously very well aligned with 1.x and 2.0 objectives regarding witnesses |
Closed in favor or #203 |
Ethereum Core Devs Meeting 94 Agenda
Agenda
a. Vitalik's Idea
Next call: September 4th, 2020 14:00 UTC
The text was updated successfully, but these errors were encountered: