a16z ra mắt Lattice Jolt: Chứng minh nhanh gấp 3 lần, chống lại tấn công lượng tử
PanewslabTác giả: a16z crypto
Biên dịch: TechFlow
Giới thiệu từ TechFlow: zkVM vốn bị chê là "chứng minh quá chậm, kích thước quá lớn". Lần này a16z thay thế đường cong elliptic bằng mật mã lưới, trực tiếp làm tốc độ chứng minh nhanh gấp 3 lần và kích thước chứng minh giảm xuống dưới 100KB. Đây hiện là giải pháp hậu lượng tử duy nhất có thể đánh bại các giải pháp đường cong elliptic truyền thống về tốc độ, có ảnh hưở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 phát hành Lattice Jolt, phiên bản mới nhất của zkVM (máy ảo không kiến thức) 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 nền tảng mật mã đã được thay thế: từ đường cong elliptic sang mật mã lưới. Sự thay đổi này mang lại ba điều cùng lúc:
- Jolt trở nên an toàn hậu lượng tử.
- Tốc độ của prover (người chứng minh) và verifier (người xác minh) tăng 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 dưới 100 KB, và có thể tiếp tục nén thêm. Chứng minh cần được đưa lên chuỗi và truyền qua mạng, chứng minh càng nhỏ thì chi phí xác minh càng thấp.
Những đặc điểm này bao phủ mọi kịch bản sử dụng của zkVM. Cùng một prover, trên GPU có thể xử lý hàng tỷ chu kỳ CPU, 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 chương trình bình thường, không cần viết tay các mạch đòi hỏi kiến thức chuyên môn. Đây là lý do chúng tôi gọi Jolt là "SNARK đa 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à áp dụng SNARK. Hiện nay hầu hết các SNARK hậu lượng tử đã được triển khai trong sản xuất đều dựa trên hàm băm. Lattice Jolt chứng minh rằng SNARK dựa trên lưới có thể nhanh hơn và gọn hơn. Chữ ký số đang trải qua sự chuyển đổi tương tự: giải pháp băm là lựa chọn bảo thủ, nhưng giải pháp lưới mới là thứ thế giới đang triển khai rộng rãi. Chúng tôi dự đoán SNARK cũng sẽ đi theo con đường này, phần sau của bài viết sẽ giải thích lý do.
Thay thế đường cong elliptic bằng lưới
Trước đây, lược đồ cam kết đa thức của Jolt gọi là Dory, 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 lược đồ cam kết đa thức hoàn toàn mới dựa trên giả định mạng Module-SIS. Lattice Jolt dựa trên giả định tiêu chuẩn, được nghiên cứu kỹ lưỡng này, nhắm đến mức bảo mật 128 bit đầy đủ.
Module-SIS và người anh em Module-LWE thuộc cùng một họ giả định, và cơ sở hạ tầng số của thế giới đang di chuyển sang họ giả định này. 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 thủy mật mã hậu lượng tử được triển khai rộng rãi nhất 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 đầu, với sự tham gia của các nhà nghiên cứu từ Đại học Carnegie Mellon, Đại học Nam California cùng đội ngũ kỹ sư và nghiên cứu của chúng tôi tại a16z crypto.
Vì sao Lattice Jolt nhanh hơn
Lattice Jolt không chỉ an toàn hậu lượng tử, nó còn nhanh hơn phiên bản đường cong elliptic bị thay thế.
Tăng tốc chủ yếu đến từ một lý do đơn giản. Đường cong elliptic buộc Jolt phải làm việc trên trường hữu hạn 256 bit, trong khi mật mã lưới đạt được mức bảo mật tương đương trên trường hữu hạn 128 bit. Công việc chính của prover Jolt là nhân các phần tử của trường (về bản chất là nhân các số cực lớn), nên khi kích thước số giảm một nửa, mỗi phép nhân nhanh hơn nhiều lần.
Jolt với Dory vốn đã rất nhanh: bản cập nhật hiệu năng gần đây của chúng tôi cho thấy Jolt có thể chứng minh khoảng 700.000 chu kỳ RISC-V (RV64IMAC) mỗi giây trên máy tính xách tay, và các tối ưu sau đó đã đẩy phiên bản đường cong của Jolt vượt qua 1 triệu chu kỳ mỗi giây.
Lattice Jolt trên cùng một máy có thể chứng minh hơn 2 triệu chu kỳ mỗi giây.
Phần lớn thời gian trong sáu tháng qua, chúng tôi không chỉ dành để phát triển Akita và tích hợp vào Jolt, mà còn viết lại toàn bộ cơ sở mã của Jolt từ đầu. Jolt trước đây đã chạy khá tốt trên GPU, nhưng lần viết lại này giúp việc cài đặt GPU dễ xây dựng và tối ưu hơn.
Kết quả đầu tiên là cài đặt Apple Metal, mang lại khả năng tăng tốc lớn cho phần cứng Apple. (Metal là khung của Apple dùng để chạy mã trên GPU tích hợp trong các thiết bị như MacBook và iPhone.)
- Lattice Jolt tăng tốc GPU có thể chứng minh hơn 10 triệu chu kỳ RV64IMAC mỗi giây trên MacBook.
- Lattice Jolt chỉ dùng CPU trên cùng một máy có thể chứng minh hơn 2 triệu chu kỳ mỗi giây.
- Ngay cả phiên bản đường cong của Jolt với Metal trên MacBook giờ cũng đạt khoảng 4 triệu chu kỳ mỗi giây.
Nghĩa là, chỉ với một lần phát hành, Jolt trên MacBook đã tăng từ khoảng 1 triệu chu kỳ mỗi giây (phiên bản đường cong, chỉ dùng CPU) lên hơn 10 triệu chu kỳ mỗi giây (phiên bản lưới, với Metal).
Đặt những con số này vào bối cảnh lớn hơn: bốn năm trước, khi chúng tôi lần đầu viết về chi phí của prover SNARK, việc chứng minh một phép tính đắt hơn hàng triệu lần so với thực thi trực tiếp. Lattice Jolt đã giảm chi phí này xuống còn khoảng mười nghìn lần. Vẫn chưa dừng lại ở đó, vẫn còn không gian tối ưu ở cấp độ kỹ thuật và giao thức.
Kích thước chứng minh cũng quan trọng không kém tốc độ prover. Dưới 100 KB, chứng minh của Lattice Jolt đã nhỏ hơn nhiều so với các zkVM hậu lượng tử khác, với chứng minh của các giải pháp khác dao động từ hơn 200 KB đến khoảng 600 KB hoặc hơn.
Sau khi chuyển sang lưới, mức sử dụng bộ nhớ vốn đã xuất sắc của Jolt còn được cải thiện hơn nữa: mức sử dụ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.
Một bài báo đi kèm sắp được phát hành sẽ bổ sung tính không kiến thức cho Lattice Jolt, một thuộc tính cần thiết cho các ứng dụng bảo mật.
Vì sao chọn lưới thay vì băm
Trong nhiều năm, sự chú ý của cộng đồng SNARK (và về cơ bản là tất cả các triển khai sản xuất) đều tập trung vào SNARK dựa trên hàm băm, coi đó là lộ trình dẫn đến an toàn hậu lượng tử.
Nhưng cũng luôn có một hướng nghiên cứu liên tục về SNARK lưới và cam kết lưới, bao gồm LaBRADOR, Greyhound, LatticeFold, SuperNeo, và tiền thân trực tiếp của Akita là Hachi. Lattice Jolt xây dựng trên những nghiên cứu này, đưa lớp cam kết lưới vào kiến trúc zkVM hiệu năng 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à độ gọn.
Điều này không có gì đáng ngạc nhiên. Như đã nói, mô hình tương tự đã từng xảy ra với chữ ký số.
Các nhà mật mã học đã xây dựng 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: giả định an toàn của chúng đơn giản và lâu đời. Nhưng thế giới chủ yếu chuyển sang chữ ký lưới vì chúng ngắn hơn và nhanh hơn:
- Chữ ký ML-DSA chỉ khoảng vài KB.
- Giải pháp thay thế băm được NIST chuẩn hóa là SLH-DSA lớn hơn nhiều lần.
- Đối với mã hóa và trao đổi khóa, tình hình còn rõ ràng hơn: hoàn toàn không có giải pháp băm nào khả dụng (có bằng chứng cho thấy điều này là không thể), và việc triển khai hậu lượng tử áp đảo dựa trên lưới. ML-KEM (tiêu chuẩn thiết lập khóa chính được NIST xác nhận vào năm 2024) đã được triển khai mặc định trong các trình duyệt chính, ứng dụng nhắn tin, và được sử dụng trong một lượng lớn kết nối TLS trên Internet.
Sự tương đồng giữa SNARK và chữ ký không chỉ là bề ngoài. Chữ ký số về bản chất là một bằng chứng kiến thức về 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 phát biểu hẹp sang tính toán tùy ý. Vì vậy, sẽ là kỳ lạ 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.
Ở đây cũng có một hiểu lầm đáng làm rõ: SNARK băm thường được mô tả là lựa chọn hậu lượng tử bảo thủ vì "chúng chỉ phụ thuộc vào hàm băm". Điều này chỉ đúng khi hàm băm nền tảng là phi đại số.
Ngày 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 việc băm được tính đúng với chi phí thấp. Điều này đặc biệt quan trọng đối với đệ quy (ở đây đệ quy nghĩa là chứng minh bạn sở hữu một bằng chứng SNARK hợp lệ). Những cấu trúc này có nhiều cấu trúc hơn các hàm băm tiêu chuẩn, và phân tích mật mã của chúng vẫn chưa trưởng thành.
Nói ngắn gọn, chúng tôi không có niềm tin vào tính an toàn của các hàm băm đại số. Mặc dù vậy, chúng vẫn được sử dụng rộng rãi trong các hệ thống SNARK sản xuất ngày nay. (Tuy nhiên, có một tín hiệu tiến bộ: Ethereum Foundation gần đây đã tuyên bố sẽ từ bỏ việc sử dụng chúng.)
Băm đại số không phải là giả định ẩn duy nhất trong các SNARK dựa trên hàm băm đã triển khai: nhiều hệ thống trong lịch sử đã sử dụng các giới hạn proximity-gap mang tính suy đoán để thiết lập 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ác SNARK dựa trên hàm băm mang tính suy đoán nói 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 128 bit đầy đủ 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ì sai số độ tin cậy của chúng tỷ lệ với n/|F|, trong đó n xấp xỉ quy mô của phát biểu được chứng minh và |F| là kích thước trường. Do đó, việc chứng minh một phát biểu 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ó dưới 100 bit. Ngược lại, sai số độ tin cậy của Lattice Jolt tỷ lệ với log(n)/|F|, gần như giữ nguyên bảo mật 128 bit đầy đủ trên cùng một trường (mất mát log(n) nhỏ có thể được phục hồi bằng các kỹ thuật tiêu chuẩn).
Trớ trêu thay, một số hệ thống được quảng cáo là lựa chọn hậu lượng tử "bảo thủ" thực ra đồng thời phụ thuộc vào hàm băm đại số, giới hạn proximity-gap suy đoán, và mức bảo mật mục tiêu dưới 128 bit. Vì vậy, 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 nghĩ.
Một Jolt, ba nền tảng: đường cong, lưới và 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 nên có các SNARK trưởng thành và hiệu năng cao dựa trên đường cong, băm và lưới. Các giả định và đặc điểm hiệu năng khác nhau sẽ phù hợp với các kịch bản khác nhau.
Nhưng nếu lấy chữ ký số làm tham chiếu, 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 ở vị trí thuận lợi bất thường trong quá trình 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 đặc biệt hữu ích cho cam kết, bao gồm cam kết nhanh đối với vector thưa. Cam kết lưới có cùng đặc tính: 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, và Jolt hầu như chỉ cam kết các vector như vậy. Đặc tính này cho phép chúng tôi thay thế Dory bằng Akita trong khi giữ nguyên 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. Nhưng so với 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 kém hiệu quả về không gian hơn, chứng minh lớn hơn, và có nhiều vấn đề phức tạp. Điều này là do SNARK dựa trên hàm băm triển vọng nhất hoạt động trên trường nhị phân. Hệ số này thuận tiện cho việc chứng minh tính toán băm, nhưng không khớp với cách tính toán của CPU. Sự không khớp này khiến việc chứng minh phép nhân CPU thông thường trở nên đắt đỏ. Dù vậy, hệ sinh thái cũng nên có zkVM dưới mỗi họ giả định chính, giống như lĩnh vực chữ ký số.
SNARK đa năng
Lattice Jolt đáp ứng cùng lúc mọi nhu cầu của nhà xây dựng đối với zkVM: hậu lượng tử, minh bạch, nhanh, gọn và hiệu quả về không gian. Nó đưa hướng nghiên cứu SNARK lưới từ LaBRADOR đến Hachi vào zkVM cấp sản xuất, đồng thời không từ bỏ bất kỳ lợi thế nào ban đầu khiến Jolt trở nên nhanh.
Mục tiêu của chúng tôi không chỉ là mã nguồn mở zkVM hiệu năng mạnh nhất cho bất kỳ ai sử dụng, mà còn là loại bỏ đáng kể nhu cầu tinh chỉnh thủ công SNARK cho các ứng dụng cụ thể. Điều này không đòi hỏi Jolt phải nhanh bằng các prover được tinh chỉnh thủ công. Đó là một mục tiêu bất khả thi, giống như yêu cầu CPU phải sánh ngang ASIC chuyên dụng trong mọi tác vụ. Nó chỉ đòi hỏi Jolt đủ nhanh để mang lại trải nghiệm người dùng chấp nhận được.
Đối với các phát biểu "nhỏ" liên quan đến chứng minh phía khách hàng (nơi các mạch tối ưu thủ công hiện đang chiếm ưu thế), tiêu chí then chốt là tạo chứng minh trong khoảng một giây trên điện thoại. Jolt đã tiến gần đến việc đạt được điều này, và vẫn còn nhiều phương án tăng tốc đang được triển khai.
Kỷ nguyên của SNARK lưới đã đến.
Nội dung này chỉ mang tính chất tham khảo và cung cấp thông tin, không phải lời khuyên đầu tư liên quan đến BTCC. BTCC luôn cố gắng cung cấp thông tin chính xác, nhưng không đảm bảo tuyệt đối về tính xác thực, độ chính xác hoặc bản quyền nội dung trên.