Skip to content

💡 Compute and verify the SHA-256 random beacons used in the Zcash MPC ceremonies.

License

Notifications You must be signed in to change notification settings

plutomonkey/verify-beacon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

verify-beacon

This is for computing and verifying the randomness beacon used in the Powers of Tau and Sapling MPC ceremonies, using hardware acceleration if available.

The beacon is computed using 2^42 iterations of SHA-256.

The files powersoftau.txt and sapling.txt each contain 1025 hashes (1024 sequential pairs), allowing the beacon to be verified more quickly in parallel.

Two hardware-accelerated implementations are available, along with a non-accelerated fallback. Currently, Intel SHA extensions (e.g. AMD Ryzen) and ARMv8 cryptographic extensions are supported.

Usage

  • cargo run --release --bin compute > pairs.txt
  • cargo run --release --bin verify < pairs.txt

Benchmarks

The time taken is around 130 cycles per iteration on AMD Ryzen, which is ~1h45m to verify on on 24 cores running at 3.8GHz.

About

💡 Compute and verify the SHA-256 random beacons used in the Zcash MPC ceremonies.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages