This repository has been archived by the owner on Aug 2, 2022. It is now read-only.
replace old libsecp256k1 fork with upstream; boosts k1 recovery performance #9885
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Change Description
Replace usage of an old libsecp256k1 fork with latest upstream. This allows us to make use of (recently expired patented) improvements boosting key recovery performance. My measurements of the improvement:
(exact performance numbers will vary based on hardware and many other factors; these numbers we gathered with only a single core loaded)
Okay, full disclosure: the old secp256k1 fork we were using could have the patented code enabled (and the performance improvement) with a compile time option. However, I'm taking this opportunity to upgrade us to the upstream mainline code instead of an old fork. Some users have voiced concern over using an aging non-upstream fork (#8984) and while I don't think there is any reasonable chance that Cryptonomex's repos will disappear, secp256k1's main upstream repo almost certainly won't.
Needs EOSIO/fc#180, where much of the changes actually are
Change Type
Select ONE:
Testing Changes
Select ANY that apply:
Consensus Changes
API Changes
Documentation Additions