This project is written for EigenDA SRS related works. It includes
- Extract G1 and G2 points used by EigenDA from ptau challenge file, created from the perpetual power of tau MPC instance run by EF
- Verify the extracted points are indeed correct based on approaches used by EF KZG ceremony
- Provide utility tools for miscellaneous tasks
wget https://pse-trusted-setup-ppot.s3.eu-central-1.amazonaws.com/challenge_0085
See more informations from
- https://docs.axiom.xyz/docs/transparency-and-security/kzg-trusted-setup
- https://github.com/privacy-scaling-explorations/perpetualpowersoftau/tree/master
The challenge file has 103079215232 Bytes.
go run main.go help
go run main.go parse --ptau-path <Path to challenge file>
It produces two files, g1.point and g2.point. g1.point contains 8589934592 Bytes and g2.point 17179869184 Bytes
This procedure takes roughly 10 minutes.
Note: The challenge files contains 2^29 G1 points and 2^28 G2 points with secret tau. We use only the first 2^28 G1 points for EigenDA.
go run main.go parse --g1-path <Path to g1.point> --g2-path <Path to g2.point>
The verification is based on method listed here (https://github.com/ethereum/kzg-ceremony-specs/blob/master/docs/sequencer/sequencer.md#pairing-checks)
This procedures takes roughly 27 Hours on a 8 thread machines.
The program periodically prints out the time spent and its progress of validating 2^28 G1 and G2 points. If no error message is shown and program terminates with "Done. Everything is correct". Then SRS is deemed as correct.