Tạo cặp khóa EdDSA+Pasta

Bài viết này được dịch máy
Xem bản gốc

Xin chào,

Tôi đang cố gắng xây dựng một blockchain hoàn toàn mới (hãy thoải mái hỏi tại sao, tôi rất vui được cung cấp thông tin về dự án của mình) và tôi đang nguyên mẫu hóa việc triển khai nút đầu tiên bằng Rust.

Blockchain này sẽ có khả năng thực thi các smartcontracts được biên dịch dưới dạng các mô-đun WebAssembly, tạo ra bằng chứng zk-SNARK về việc thực thi chính xác của chúng. Tôi khá mới với zk-SNARKs nhưng sau nhiều nghiên cứu, tôi tin rằng sơ đồ tốt nhất để sử dụng là Halo2, không cần bất kỳ thiết lập đáng tin nào và cũng hỗ trợ các bằng chứng đệ quy, cho phép tôi triển khai rollups.

Tôi hiểu rằng nếu sử dụng Halo2 thì:

  • EdDSA,
  • Đường cong elliptic Pallas/Vesta (còn được gọi là Pasta),
  • và hàm hash Poseidon được tối ưu hóa cho các đường cong Pasta

về cơ bản là các lựa chọn bắt buộc, vì việc sử dụng các đường cong và hàm hash khác sẽ khiến kích thước của tất cả các mạch SNARK tăng lên.

Tất cả những điều đó là đúng, tôi sẽ sử dụng các crate như halo2_proofs, halo2_gadgets, cũng như ffpasta_curves. Câu hỏi đầu tiên của tôi là: tôi có thể tìm một ví dụ Rust nào để tạo một cặp khóa EdDSA không? Các crate ffpasta_curves có đủ để tạo một cặp khóa không?

Cảm ơn trước!


Nguồn
Tuyên bố từ chối trách nhiệm: Nội dung trên chỉ là ý kiến của tác giả, không đại diện cho bất kỳ lập trường nào của Followin, không nhằm mục đích và sẽ không được hiểu hay hiểu là lời khuyên đầu tư từ Followin.
Thích
Thêm vào Yêu thích
Bình luận