你好,
我正在嘗試構建一個全新的區塊鏈(隨時歡迎詢問原因,我很樂意提供關於我專案的資訊),並且正在使用Rust開發第一個節點實現。
這個區塊鏈將能夠執行編譯為WebAssembly模組的智慧合約,並生成其正確執行的zk-SNARK證明。我對zk-SNARKs還比較陌生,但經過大量探索,我相信最佳方案是Halo2,它不需要任何可信設定,並且還支援遞迴證明,使我能夠實現zk-rollups。
我瞭解到如果使用Halo2,那麼:
- EdDSA,
- Pallas/Vesta(又稱Pasta)橢圓曲線,
- 以及為Pasta曲線最佳化的Poseidon雜湊函式
都是實際上被強制要求的選擇,因為使用任何其他曲線和雜湊函式都會導致所有SNARK電路的大小急劇膨脹。
所有這些都是正確的,我將使用諸如halo2_proofs、halo2_gadgets,以及ff和pasta_curves等包。我的第一個問題是:我在哪裡可以找到生成EdDSA金鑰對的Rust示例?僅使用ff和pasta_curves包是否足以生成金鑰對?
提前感謝!



