Use the correct trusted_setup_4096.json
#3583
Merged
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.
Problem
The incorrect version of the trusted-setup was used in the specs.
Solution
Use the correct trusted setup as generated by ethereum/kzg-ceremony-verifier with the final ceremony transcript (transcript sha256:
8ed1c73857e77ae98ea23e36cdcf828ccbf32b423fddc7480de6
).Detailed explanation
When adding the
g1_monomial
points totrusted_setup_4096.json
in ethereum/kzg-ceremony-verifier#2, I mistakenly used the wrong version of the ceremony transcript which resulted in all downstream repos that depend on the ceremony ingesting the incorrect SRS. This was then included into the consensus-specs presets in #3557.This was entirely the result of me working too quickly and using a random ceremony-transcript I had lying around and not verifying it was the actual transcript output (I have many
transcript.json
files on disk).The updated
trusted_setup_4096.json
in this PR are from the final ceremony transcript (sha256 hash8ed1c73857e77ae98ea23e36cdcf828ccbf32b423fddc7480de658f9d116c848
) which yields the sameg1_lagrange
andg2_monomial
outputs as before #3557 and plus theg1_monomial
as per the needs of #3557.What do
As far as I am aware, none of the consensus clients have upgraded to the version of the
trusted_setup_4096.json
deployed in #3557 and so this should have no effect on any of the test-nets (nor mainnet).Trust, but verify
Please do not take my word that this is the correct file, go and run ethereum/kzg-ceremony-verifier yourself and check:
transcript.json
it downloads matches sha-2568ed1c73857e77ae98ea23e36cdcf828ccbf32b423fddc7480de6
output_setups/trusted_setup_4096.json
is the same as this PR.g1_lagrange
andg2_monomial
intrusted_setup_4096.json
match those from before EIP-7594: Add cryptography specs for sampling #3557Attribution
Huge thank you to @zilm13 for finding this! 🙏🙏 Also thanks to @jtraglia & @hwwhww for helping ensure this is now the correct file.
This was a stupid mistake on my part for which I am entirely responsible but yet is a great example of why open source is so important.