#dusk $DUSK @Dusk
Tôi đã nghĩ chỉ cần một hệ thống chứng minh cần thiết lập tin cậy, còn hệ thống kia chỉ việc bỏ qua. Nhưng không phải vậy—thiết lập riêng của Dusk đã làm rõ điều đó với tôi.
Sự thật là: cả PlonK và Groth16 đều cần một thiết lập tin cậy. Dusk hỗ trợ cả hai, tích hợp sẵn ngay trong engine Piecrust dưới dạng các hàm native. Điểm khác biệt thực sự không phải là bạn có cần một hay không. Mà là tần suất.
Groth16 cần thiết lập mới cho *mỗi* mạch (circuit) một lần. Mỗi lần có logic hợp đồng (contract logic) mới thì lại phải thiết lập mới. Việc tổ chức điều này tốn kém, nhưng bù lại hiệu quả. Bằng chứng (proof) rất nhỏ và việc xác minh diễn ra nhanh.
PlonK làm theo cách khác. Một thiết lập, thực hiện một lần, sau đó tái sử dụng cho bất kỳ mạch nào bạn xây dựng về sau. Linh hoạt hơn rất nhiều. Nhưng các bằng chứng sẽ lớn hơn và việc kiểm tra chúng tốn kém hơn.
Vì vậy Dusk không chọn một “kẻ thắng” ở đây. Nó cung cấp cho nhà phát triển cả hai công cụ và để bạn tự quyết tradeoff (đánh đổi). Muốn tốc độ và không ngại phải tổ chức lại phần thiết lập theo từng mạch? Groth16. Muốn linh hoạt và có thể “chịu” bằng chứng lớn hơn? PlonK.
Trước đây tôi nghĩ thiết lập tin cậy chỉ là câu hỏi có hay không. Tài liệu của Dusk cho tôi thấy đó thực sự là câu hỏi bạn sẵn sàng phải làm lại bao nhiêu công việc thiết lập và bạn sẵn sàng mang theo một bằng chứng lớn cỡ nào.
Tôi đã nghĩ chỉ cần một hệ thống chứng minh cần thiết lập tin cậy, còn hệ thống kia chỉ việc bỏ qua. Nhưng không phải vậy—thiết lập riêng của Dusk đã làm rõ điều đó với tôi.
Sự thật là: cả PlonK và Groth16 đều cần một thiết lập tin cậy. Dusk hỗ trợ cả hai, tích hợp sẵn ngay trong engine Piecrust dưới dạng các hàm native. Điểm khác biệt thực sự không phải là bạn có cần một hay không. Mà là tần suất.
Groth16 cần thiết lập mới cho *mỗi* mạch (circuit) một lần. Mỗi lần có logic hợp đồng (contract logic) mới thì lại phải thiết lập mới. Việc tổ chức điều này tốn kém, nhưng bù lại hiệu quả. Bằng chứng (proof) rất nhỏ và việc xác minh diễn ra nhanh.
PlonK làm theo cách khác. Một thiết lập, thực hiện một lần, sau đó tái sử dụng cho bất kỳ mạch nào bạn xây dựng về sau. Linh hoạt hơn rất nhiều. Nhưng các bằng chứng sẽ lớn hơn và việc kiểm tra chúng tốn kém hơn.
Vì vậy Dusk không chọn một “kẻ thắng” ở đây. Nó cung cấp cho nhà phát triển cả hai công cụ và để bạn tự quyết tradeoff (đánh đổi). Muốn tốc độ và không ngại phải tổ chức lại phần thiết lập theo từng mạch? Groth16. Muốn linh hoạt và có thể “chịu” bằng chứng lớn hơn? PlonK.
Trước đây tôi nghĩ thiết lập tin cậy chỉ là câu hỏi có hay không. Tài liệu của Dusk cho tôi thấy đó thực sự là câu hỏi bạn sẵn sàng phải làm lại bao nhiêu công việc thiết lập và bạn sẵn sàng mang theo một bằng chứng lớn cỡ nào.