-
Notifications
You must be signed in to change notification settings - Fork 955
Implementation of RIP-7212 / EIP-7951 #8750
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
Implementation of RIP-7212 / EIP-7951 #8750
Conversation
🔥🔥🔥🔥🔥🔥🔥 |
df00a07
to
d6252b9
Compare
05e8c63
to
28a6f83
Compare
Neither bouncycastle nor OpenSSL secp256r1 verify implementations are particularly performant:
|
0286b8c
to
d7895e0
Compare
021296b
to
e7bfdcb
Compare
This comment was marked as resolved.
This comment was marked as resolved.
a20d5e2
to
0665ae5
Compare
Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: garyschulte <garyschulte@gmail.com>
Signed-off-by: garyschulte <garyschulte@gmail.com>
0665ae5
to
a8fabee
Compare
As far as I can tell, openssl and boringssl both implement the R' checks for point-at-infinity and R'.x % n ≡ r I asked on eth r&d discord on the #cryptography channel to verify this assertion. |
727be23
to
f6dee81
Compare
Signed-off-by: garyschulte <garyschulte@gmail.com>
f6dee81
to
bb5f61a
Compare
this implementation utilizes openssl, and will be superseded by boringssl, but the supporting config, classes and tests will be leveraged by the future besu-native implementation of boringssl |
evm/src/test/java/org/hyperledger/besu/evm/gascalculator/OsakaGasCalculatorTest.java
Show resolved
Hide resolved
Signed-off-by: garyschulte <garyschulte@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
PR description
Draft Implementation of RIP-7212 / EIP-7951.
Outstanding to-dos:
enable non-canonical/malleable signatures (needs besu-native and besu-native-ec changes)benchmarkingcheck/verify malleable signatures with bouncycastleadd secp256r1 to mainnet required native libscachingaddress point-at-infinitymodular comparisonFixed Issue(s)
fixes #8605
blocked by pr 270blocked by pr 22Thanks for sending a pull request! Have you done the following?
doc-change-required
label to this PR if updates are required.Locally, you can run these tests to catch failures early:
./gradlew spotlessApply
./gradlew build
./gradlew acceptanceTest
./gradlew integrationTest
./gradlew ethereum:referenceTests:referenceTests