Tác giả: a16z crypto
Biên dịch: Shenchao TechFlow
Dẫn nhập của Shenchao: zkVM từng bị chỉ trích vì “chứng minh quá chậm và kích thước quá lớn”. Lần này, a16z thay thế đường cong elliptic bằng mật mã lưới, giúp tăng tốc độ chứng minh lên 3 lần và giảm kích thước chứng minh xuống dưới 100KB. Đây là giải pháp hậu lượng tử duy nhất hiện nay có thể vượt trội về tốc độ so với các phương án đường cong elliptic truyền thống, có tác động trực tiếp đến chi phí xác minh trên chuỗi và các ứng dụng bảo mật.

Hôm nay, chúng tôi chính thức ra mắt Lattice Jolt, phiên bản mới nhất của zkVM (máy ảo zero-knowledge) mã nguồn mở của chúng tôi. Jolt vốn đã là zkVM nhanh nhất và đơn giản nhất hiện nay, kiến trúc của nó không thay đổi. Nhưng mật mã học nền tảng đã được thay thế: từ đường cong elliptic sang mật mã lưới. Một thay đổi này đồng thời mang lại ba điều:
- Jolt trở nên an toàn trước máy tính lượng tử.
- Tốc độ của prover và verifier được tăng lên 2-3 lần.
- Lattice Jolt trở thành zkVM hậu lượng tử có chứng minh ngắn nhất: hiện tại dưới 100 KB và vẫn có thể nén thêm. Chứng minh cần được ghi lên chuỗi và truyền qua các mạng khác nhau, chứng minh càng nhỏ thì chi phí xác minh càng thấp.
Các tính năng này bao quát mọi kịch bản sử dụng zkVM. Cùng một prover, trên GPU có thể xử lý hàng tỷ chu kỳ CPU, và trên điện thoại cũng có thể chứng minh hàng triệu chu kỳ. Trong cả hai trường hợp, nhà phát triển đều viết các chương trình thông thường, không cần viết tay các mạch yêu cầu kiến thức chuyên sâu. Đó là lý do chúng tôi nói Jolt là “SNARK vạn năng”.
Nhưng câu chuyện lớn hơn là ý nghĩa của Lattice Jolt đối với thiết kế và việc áp dụng SNARK. Hiện tại, hầu hết tất cả các SNARK sau lượng tử đã được triển khai trên thị trường đều dựa trên hàm băm. Lattice Jolt đã chứng minh rằng các SNARK dựa trên lưới có thể nhanh hơn và nhỏ gọn hơn. Các chữ ký số đang trải qua sự chuyển đổi tương tự: các giải pháp dựa trên hàm băm là lựa chọn bảo thủ, nhưng các giải pháp dựa trên lưới mới là những gì thế giới đang triển khai quy mô lớn. Chúng tôi dự kiến SNARK cũng sẽ đi theo con đường này, và phần sau của bài đăng này sẽ giải thích lý do.
Thay đường cong elliptic bằng lưới
Trước đây, sơ đồ cam kết đa thức của Jolt là Dory, đây là thành phần duy nhất trong toàn bộ hệ thống phụ thuộc vào mật mã đường cong elliptic. Lattice Jolt thay thế Dory bằng Akita, một sơ đồ cam kết đa thức hoàn toàn mới dựa trên giả định Module-SIS. Lattice Jolt dựa trên giả định chuẩn này, đã được nghiên cứu kỹ lưỡng, để đạt mức bảo mật đầy đủ 128 bit.
Module-SIS và người anh em của nó Module-LWE thuộc cùng một họ giả định, mà cơ sở hạ tầng số toàn cầu đang chuyển dịch sang. Những giả định này không chỉ hỗ trợ tiêu chuẩn chữ ký số ML-DSA, mà còn hỗ trợ tiêu chuẩn thiết lập khóa ML-KEM, vốn đã là nguyên lý hậu lượng tử được triển khai rộng rãi nhất trên toàn cầu.
Việc phát triển và triển khai Akita do các nhà nghiên cứu và kỹ sư của LayerZero dẫn dắt, cùng sự tham gia của các nhà nghiên cứu từ Đại học Carnegie Mellon, Đại học Nam California và đội ngũ kỹ thuật và nghiên cứu của chúng tôi tại a16z crypto.
Tại sao Lattice Jolt nhanh hơn
Lattice Jolt không chỉ an toàn sau lượng tử mà còn nhanh hơn phiên bản đường cong elliptic mà nó thay thế.
Sự tăng tốc chủ yếu đến từ một lý do đơn giản. Đường cong elliptic buộc Jolt phải hoạt động trên trường 256-bit, trong khi mật mã lưới có thể đạt mức độ bảo mật tương đương chỉ với trường 128-bit. Công việc chính của Jolt prover là phép nhân phần tử trường (cốt lõi là phép nhân các số cực lớn), do đó, khi kích thước số giảm một nửa, mỗi phép nhân sẽ nhanh hơn nhiều lần.
Jolt với Dory đã rất nhanh: Cập nhật hiệu suất lần trước cho thấy Jolt có thể chứng minh khoảng 700.000 chu kỳ RISC-V (RV64IMAC) mỗi giây trên laptop, và các tối ưu hóa sau đó đã đẩy phiên bản đường cong của Jolt vượt quá 1.000.000 chu kỳ mỗi giây.
Lattice Jolt có thể chứng minh hơn 2 triệu chu kỳ mỗi giây trên cùng một máy.
Trong phần lớn sáu tháng qua, chúng tôi không chỉ dành thời gian phát triển Akita và tích hợp vào Jolt, mà còn viết lại toàn bộ mã nguồn Jolt từ đầu. Trước đây, Jolt đã chạy khá tốt trên GPU, nhưng lần viết lại này giúp việc xây dựng và tối ưu hóa phiên bản GPU trở nên dễ dàng hơn.
Kết quả đầu tiên là việc triển khai Apple Metal, mang lại tốc độ tăng đáng kể cho phần cứng của Apple. (Metal là khung của Apple dùng để thực thi mã trên GPU tích hợp trong các thiết bị như MacBook và iPhone.)
- GPU được tăng tốc Lattice Jolt có thể chứng minh hơn 10 triệu chu kỳ RV64IMAC mỗi giây trên MacBook.
- Lattice Jolt thuần CPU có thể chứng minh hơn 2 triệu chu kỳ mỗi giây trên cùng một máy.
- Ngay cả phiên bản đường cong của Jolt hiện cũng có thể đạt khoảng 4 triệu chu kỳ mỗi giây trên MacBook có Metal.
Nói cách khác, một lần cập nhật đã giúp Jolt trên MacBook tăng từ khoảng 1 triệu chu kỳ mỗi giây (phiên bản đường cong, thuần CPU) lên hơn 10 triệu chu kỳ mỗi giây (phiên bản lưới, có Metal).
Khi xem những con số này trong bối cảnh rộng hơn: bốn năm trước, khi chúng tôi lần đầu tiên viết về chi phí của SNARK prover, việc chứng minh một phép tính tốn kém hơn vài triệu lần so với việc chạy trực tiếp nó. Lattice Jolt đã giảm chi phí này xuống còn khoảng mười nghìn lần. Và đây chưa phải là giới hạn cuối cùng — vẫn còn không gian để tối ưu hóa cả về mặt kỹ thuật lẫn giao thức.
Kích thước bằng chứng và tốc độ prover đều quan trọng như nhau. Với kích thước dưới 100 KB, bằng chứng của Lattice Jolt nhỏ hơn nhiều so với các zkVM hậu lượng tử khác, mà các giải pháp khác có bằng chứng từ hơn 200 KB đến khoảng 600 KB hoặc nhiều hơn.
Sau khi chuyển sang cấu trúc grid, dung lượng bộ nhớ của Jolt vốn đã xuất sắc nay còn được cải thiện thêm: dung lượng không gian của prover giảm từ khoảng 300 byte mỗi chu kỳ xuống còn 200 byte. Điều này có nghĩa là bạn có thể chứng minh hàng triệu chu kỳ RISC-V trên điện thoại di động.
Một bài báo nghiên cứu đi kèm sẽ được công bố sớm, thêm tính năng zero-knowledge cho Lattice Jolt — thuộc tính cần thiết cho các ứng dụng bảo mật.
Tại sao chọn Grin thay vì Hash?
Trong nhiều năm, sự chú ý của cộng đồng SNARK (và về cơ bản tất cả các bản triển khai sản xuất) đều tập trung vào các SNARK dựa trên hàm băm, coi đó là con đường dẫn đến an toàn sau lượng tử.
Tuy nhiên, luôn tồn tại một dòng nghiên cứu liên tục về SNARK và cam kết lưới, bao gồm LaBRADOR, Greyhound, LatticeFold, SuperNeo và Hachi — tiền thân trực tiếp của Akita. Lattice Jolt được xây dựng trên nền tảng những nghiên cứu này, mang lớp cam kết lưới vào kiến trúc zkVM hiệu suất cao, đồng thời chứng minh rằng SNARK dựa trên lưới không có đối thủ về tốc độ và tính gọn nhẹ.
Điều này không nên khiến ai ngạc nhiên. Như đã nêu trước đó, cùng một mô hình đã từng xảy ra với chữ ký số.
Các nhà mật mã học đã xây dựng nhiều loại chữ ký dựa trên nhiều giả định. Chữ ký băm thường được coi là lựa chọn bảo thủ nhất: các giả định bảo mật của chúng đơn giản và cổ xưa. Tuy nhiên, thế giới đang dần chuyển sang chữ ký dựa trên lưới, vì chúng ngắn gọn và nhanh hơn:
- Chữ ký ML-DSA khoảng vài KB.
- SLH-DSA, phương án thay thế hàm băm được chuẩn hóa bởi NIST, lớn hơn nhiều lần.
- Đối với mã hóa và trao đổi khóa, tình hình rõ ràng hơn: không có sơ đồ băm nào khả thi (đã được chứng minh là không thể), và việc triển khai sau lượng tử chủ yếu dựa trên lưới. ML-KEM (tiêu chuẩn thiết lập khóa chính do NIST xác định năm 2024) đã được triển khai mặc định trong các trình duyệt và ứng dụng liên lạc chính流, được sử dụng rộng rãi trong các kết nối TLS trên mạng.
Sự so sánh giữa SNARK và chữ ký số không chỉ là bề ngoài. Chữ ký số về bản chất là bằng chứng về kiến thức khóa riêng đối với một thông điệp được ủy quyền. SNARK mở rộng mô hình này từ một tuyên bố hẹp sang bất kỳ phép tính nào. Do đó, nếu bản đồ mật mã dài hạn của SNARK hoàn toàn khác với bản đồ của chữ ký và mã hóa, thì mới thật kỳ lạ.
Cũng có một sự hiểu lầm cần làm rõ: Hash SNARK thường được gọi là lựa chọn hậu lượng tử bảo thủ vì “chúng chỉ dựa vào các hàm băm”. Điều này chỉ đúng khi hàm băm cơ sở là phi đại số.
Hiện nay, hầu hết các triển khai SNARK dựa trên hàm băm đều phụ thuộc vào các cấu trúc băm đại số thân thiện với SNARK (như Poseidon) để chứng minh chi phí thấp rằng hàm băm đã được đánh giá chính xác. Điều này đặc biệt quan trọng đối với tính lặp lại (ở đây, tính lặp lại có nghĩa là chứng minh bạn sở hữu một bằng chứng SNARK hợp lệ). Các cấu trúc này có nhiều cấu trúc hơn so với các hàm băm tiêu chuẩn, nhưng phân tích mật mã của chúng vẫn chưa phát triển đầy đủ.
Nói tóm lại, chúng ta không tin tưởng vào tính bảo mật của các hàm băm đại số. Tuy nhiên, chúng hiện vẫn được sử dụng rộng rãi trong các hệ thống SNARK cấp sản xuất. (Tuy nhiên, đã xuất hiện một tín hiệu tiến bộ: Quỹ Ethereum gần đây đã công bố sẽ từ bỏ việc sử dụng chúng.)
Đại số hash không phải là giả định ẩn duy nhất trong các SNARK dựa trên hash đã được triển khai: nhiều hệ thống trước đây đã sử dụng các giới hạn proximity-gap mang tính phỏng đoán để xác định mức độ bảo mật cụ thể, thay vì sử dụng các giới hạn được chứng minh đầy đủ. Một số giới hạn được cho là mạnh nhất sau đó đã được chứng minh là sai.
Ngay cả khi tránh các SNARK dựa trên hàm băm được suy đoán ở trên, mục tiêu bảo mật của chúng thường thấp hơn 128 bit, vì bảo mật đầy đủ 128 bit sẽ gây ra chi phí hiệu năng đáng kể. Tại sao? SNARK dựa trên hàm băm không thể đạt được bảo mật 128 bit trên trường 128 bit, vì lỗi độ tin cậy của chúng tỷ lệ với n/|F|, trong đó n xấp xỉ kích thước của mệnh đề được chứng minh và |F| là kích thước trường. Do đó, chứng minh một mệnh đề gồm một tỷ bước trên trường 128 bit sẽ mất khoảng 30 bit bảo mật, khiến nó thấp hơn 100 bit. Ngược lại, lỗi độ tin cậy của Lattice Jolt tỷ lệ với log(n)/|F|, gần như giữ nguyên bảo mật đầy đủ 128 bit trên cùng một trường (số ít bit mất do log(n) có thể được khôi phục bằng các kỹ thuật chuẩn).
Thú vị thay, một số hệ thống được quảng bá là các lựa chọn hậu lượng tử “bảo thủ” thực tế lại đồng thời phụ thuộc vào hàm băm đại số, các giới hạn proximity-gap suy đoán, và mức độ bảo mật mục tiêu dưới 128 bit. Do đó, mặc dù SNARK dựa trên hàm băm là một hướng quan trọng, chúng không tự động trở thành lựa chọn rủi ro thấp như nhiều người tưởng tượng.
Một Jolt, ba nền tảng cơ bản: đường cong, lưới và hàm băm
Chúng tôi luôn cho rằng Jolt không nên bị ràng buộc vào một nền tảng mật mã duy nhất. Chúng ta cần có các SNARK trưởng thành và hiệu suất cao dựa trên đường cong, hàm băm và lưới. Các giả định và đặc điểm hiệu suất khác nhau sẽ phù hợp với các bối cảnh khác nhau.
Tuy nhiên, nếu lấy chữ ký số làm tiêu chuẩn, SNARK dựa trên lưới sẽ trở thành lựa chọn hậu lượng tử được triển khai rộng rãi nhất.
Jolt đang ở vị thế ưu việt trong sự chuyển đổi này. Thiết kế ban đầu của Jolt tận dụng các đặc tính của đường cong elliptic rất hữu ích cho cam kết, bao gồm khả năng cam kết nhanh với các vector thưa. Cam kết lưới có cùng đặc tính này: khi hầu hết các phần tử của vector bằng không hoặc nhỏ, chi phí cam kết vector rất thấp, trong khi Jolt gần như chỉ cam kết với các vector loại này. Đặc tính này cho phép chúng tôi thay thế Dory bằng Akita mà không thay đổi phần còn lại của Jolt.
Chúng tôi sẽ xây dựng phiên bản Jolt dựa trên hàm băm. Tuy nhiên, so với các phiên bản Jolt dựa trên đường cong và dựa trên lưới, phiên bản dựa trên hàm băm có hiệu suất không gian kém hơn, chứng minh lớn hơn và gặp nhiều vấn đề phức tạp khác. Điều này là do các công trình SNARK dựa trên hàm băm đầy hứa hẹn nhất hoạt động trên trường nhị phân. Hệ đếm này thuận tiện để chứng minh đánh giá hàm băm, nhưng không phù hợp với cách tính toán của CPU. Sự không phù hợp này khiến việc chứng minh phép nhân CPU thông thường trở nên tốn kém. Dù vậy, hệ sinh thái nên có zkVM trên mỗi nhóm giả định chính, giống như trong lĩnh vực chữ ký số.
SNARK toàn năng
Lattice Jolt đáp ứng đầy đủ mọi nhu cầu của các nhà phát triển đối với zkVM: hậu lượng tử, minh bạch, nhanh chóng, gọn nhẹ và tiết kiệm không gian. Nó mang toàn bộ lộ trình nghiên cứu về格 SNARK từ LaBRADOR đến Hachi vào zkVM sẵn sàng sản xuất, đồng thời không từ bỏ bất kỳ lợi thế nào ban đầu giúp Jolt trở nên nhanh chóng.
Mục tiêu của chúng tôi không chỉ là mở nguồn zkVM hiệu năng mạnh nhất để bất kỳ ai cũng có thể sử dụng, mà còn nhằm loại bỏ đáng kể nhu cầu tối ưu hóa thủ công SNARK cho các ứng dụng cụ thể. Điều này không yêu cầu Jolt phải nhanh bằng các trình chứng minh được tối ưu hóa thủ công. Đó là một mục tiêu không thể đạt được, giống như yêu cầu CPU phải sánh ngang với ASIC chuyên dụng trong mọi nhiệm vụ. Nó chỉ yêu cầu Jolt nhanh đủ để cung cấp trải nghiệm người dùng có thể chấp nhận được.
Đối với các câu lệnh “nhỏ” liên quan đến chứng minh khách hàng (hiện nay các mạch được tối ưu hóa thủ công chiếm ưu thế trong các tình huống này), tiêu chí then chốt là tạo ra chứng minh trong thời gian dưới một giây trên điện thoại. Jolt đã gần đạt được điều này, và nhiều giải pháp tăng tốc đang được triển khai.
Thời đại của SNARK đã đến.
Nội dung này chỉ mang tính chất tham khảo và không nên được dựa vào như lời khuyên pháp lý, thương mại, đầu tư hoặc thuế. Đối với các vấn đề này, bạn nên tham khảo ý kiến từ cố vấn của riêng mình. Mọi đề cập đến chứng khoán hoặc tài sản số đều chỉ mang tính minh họa, không cấu thành lời khuyên đầu tư hay lời mời chào cung cấp dịch vụ tư vấn đầu tư. Ngoài ra, nội dung này không nhằm hướng đến bất kỳ nhà đầu tư hay tiềm năng nhà đầu tư nào và không được sử dụng trong bất kỳ trường hợp nào làm cơ sở để ra quyết định đầu tư vào bất kỳ quỹ nào do a16z quản lý. (Lời mời chào đầu tư vào quỹ của a16z chỉ được thực hiện thông qua hồ sơ chào bán riêng, thỏa thuận đăng ký và các tài liệu liên quan khác của quỹ, và bạn nên đọc đầy đủ các tài liệu này.) Danh sách các khoản đầu tư hoặc công ty trong danh mục được đề cập, trích dẫn hoặc mô tả không đại diện cho toàn bộ danh mục đầu tư của các công cụ do a16z quản lý, và không đảm bảo rằng các khoản đầu tư này sẽ sinh lời, cũng như không đảm bảo rằng các khoản đầu tư khác trong tương lai sẽ có đặc điểm hoặc kết quả tương tự. Danh sách các khoản đầu tư do các quỹ do Andreessen Horowitz quản lý (không bao gồm các khoản đầu tư mà người phát hành không cho phép a16z công khai tiết lộ, cũng như các khoản đầu tư vào tài sản số niêm yết chưa công khai) có thể xem tại https://a16z.com/investments/.
Biểu đồ được cung cấp trong bài viết chỉ mang tính chất tham khảo và không nên được sử dụng làm cơ sở cho bất kỳ quyết định đầu tư nào. Hiệu suất trong quá khứ không phản ánh kết quả trong tương lai. Nội dung này chỉ phản ánh tình hình tại ngày được nêu. Mọi dự đoán, ước tính, tuyên bố mang tính chất tương lai, mục tiêu, triển vọng và/hoặc ý kiến được thể hiện trong các tài liệu này có thể thay đổi bất kỳ lúc nào mà không cần thông báo trước và có thể khác hoặc trái ngược với ý kiến của những người khác. Xem thêm thông tin quan trọng tại https://a16z.com/disclosures.

