Trong những năm gần đây, xu hướng thiết kế giao thức STARKs là chuyển sang sử dụng các trường nhỏ hơn. Các triển khai STARKs đầu tiên sử dụng trường 256 bit, nhưng thiết kế này có hiệu suất thấp. Để giải quyết vấn đề này, STARKs đã bắt đầu sử dụng các trường nhỏ hơn, như Goldilocks, Mersenne31 và BabyBear.
Sự chuyển đổi này đã nâng cao đáng kể tốc độ chứng minh. Ví dụ, Starkware có thể chứng minh 620.000 giá trị băm Poseidon2 mỗi giây trên máy tính xách tay M3. Điều này có nghĩa là chỉ cần tin tưởng Poseidon2 như một hàm băm, có thể giải quyết bài toán phát triển ZK-EVM hiệu quả.
Bài viết này sẽ khám phá cách hoạt động của những công nghệ này, đặc biệt chú ý đến giải pháp Circle STARKs tương thích với trường Mersenne31.
Các câu hỏi thường gặp về việc sử dụng các trường nhỏ
Khi tạo ra chứng minh dựa trên hàm băm, một mẹo quan trọng là xác minh gián tiếp tính chất của đa thức bằng cách đánh giá đa thức tại các điểm ngẫu nhiên. Điều này đơn giản hóa đáng kể quá trình chứng minh.
Để ngăn chặn tấn công, chúng ta cần chọn điểm ngẫu nhiên sau khi kẻ tấn công cung cấp đa thức. Trong trường trường hợp số lớn, có thể đơn giản chọn số ngẫu nhiên 256 bit. Nhưng trong trường hợp số nhỏ, số giá trị có thể chọn quá ít, dễ dàng bị kẻ tấn công thử hết.
Có hai giải pháp:
Thực hiện nhiều lần kiểm tra ngẫu nhiên
Trường mở rộng
Nhiều lần kiểm tra đơn giản và hiệu quả, nhưng hiệu suất tương đối thấp. Trường mở rộng tương tự như số phức, cho phép thực hiện các phép toán phức tạp hơn trên miền hữu hạn. Điều này nâng cao tính bảo mật, đồng thời giữ lại tính hiệu quả của các trường nhỏ.
Circle FRI
Điểm tinh tế của Circle STARKs là, với một số nguyên tố p, có thể tìm thấy một nhóm có kích thước p, có tính chất hai-một tương tự. Nhóm này được tạo thành từ các điểm thỏa mãn các điều kiện cụ thể, chẳng hạn như tập hợp các điểm mà x^2 mod p bằng một giá trị cụ thể.
Các điểm này tuân theo một quy luật cộng:
(x1,y1) + (x2,y2) = (x1x2 - y1y2, x1y2 + x2y1)
Hình thức gấp đôi là:
2 * (x,y) = (2x^2 - 1, 2xy)
Circle FRI sẽ thu thập tất cả các điểm lại thành một đường thẳng, sau đó thực hiện tổ hợp tuyến tính ngẫu nhiên, tạo ra đa thức một chiều P(x).
Từ vòng thứ hai, ánh xạ trở thành:
f0(2x^2-1) = (F(x) + F(-x)) / 2
Sự ánh xạ này mỗi lần giảm một nửa kích thước của tập hợp, chuyển đổi tọa độ x của hai điểm đối xứng trên vòng tròn thành tọa độ x của điểm đã nhân đôi.
Circle FFTs
Circle group cũng hỗ trợ FFT, cách cấu trúc tương tự như FRI. Một sự khác biệt quan trọng là, Circle FFT xử lý không phải là đa thức theo nghĩa chặt chẽ, mà là không gian Riemann-Roch.
Là một nhà phát triển, bạn gần như có thể bỏ qua điều này. STARKs chỉ cần lưu trữ đa thức như một tập hợp các giá trị đánh giá. Nơi duy nhất cần FFT là để thực hiện mở rộng bậc thấp.
Thương mại toán
Trong STARK, các phép toán thường gặp là thực hiện phép chia trên các điểm cụ thể. Trong nhóm vòng tròn, do không có hàm tuyến tính tại một điểm đơn, cần sử dụng các kỹ thuật khác nhau.
Chúng tôi buộc phải đánh giá ở hai điểm để chứng minh, từ đó thêm một điểm ảo không cần chú ý.
Đa thức biến mất
Trong circle STARK, hàm đa thức biến mất tương ứng là:
Z1(x,y) = y
Z2(x,y) = x
Zn+1(x,y) = (2 * Zn(x,y)^2) - 1
Thứ tự ngược
Circle STARKs cần điều chỉnh thứ tự ngược để phản ánh cấu trúc gập của nó. Chúng ta cần đảo ngược mọi vị trí ngoại trừ vị trí cuối cùng, dùng vị trí cuối cùng để quyết định có đảo ngược các vị trí khác hay không.
Hiệu suất
Circle STARKs rất hiệu quả. Một phép tính đã được chứng minh thường liên quan đến:
Toán học nguyên thủy cho logic kinh doanh
Số học gốc được sử dụng cho mã hóa
Tìm kiếm tham số
Chìa khóa của hiệu suất là tận dụng tối đa không gian trong theo dõi tính toán. Circle STARKs lãng phí ít không gian hơn trong trường trường kích thước 2^31.
Kết luận
Circle STARKs không phức tạp hơn STARKs thông thường đối với các nhà phát triển. Mặc dù các toán học đứng sau rất phức tạp, nhưng sự phức tạp này đã được che giấu rất tốt.
Kết hợp các công nghệ như Mersenne31, BabyBear và Binius, chúng tôi đang tiến gần tới giới hạn hiệu suất của lớp cơ sở STARKs. Hướng tối ưu hóa trong tương lai có thể bao gồm:
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
Circle STARKs:Công nghệ đột phá chứng minh hiệu quả với trường nhỏ
Khám phá Circle STARKs
Trong những năm gần đây, xu hướng thiết kế giao thức STARKs là chuyển sang sử dụng các trường nhỏ hơn. Các triển khai STARKs đầu tiên sử dụng trường 256 bit, nhưng thiết kế này có hiệu suất thấp. Để giải quyết vấn đề này, STARKs đã bắt đầu sử dụng các trường nhỏ hơn, như Goldilocks, Mersenne31 và BabyBear.
Sự chuyển đổi này đã nâng cao đáng kể tốc độ chứng minh. Ví dụ, Starkware có thể chứng minh 620.000 giá trị băm Poseidon2 mỗi giây trên máy tính xách tay M3. Điều này có nghĩa là chỉ cần tin tưởng Poseidon2 như một hàm băm, có thể giải quyết bài toán phát triển ZK-EVM hiệu quả.
Bài viết này sẽ khám phá cách hoạt động của những công nghệ này, đặc biệt chú ý đến giải pháp Circle STARKs tương thích với trường Mersenne31.
Các câu hỏi thường gặp về việc sử dụng các trường nhỏ
Khi tạo ra chứng minh dựa trên hàm băm, một mẹo quan trọng là xác minh gián tiếp tính chất của đa thức bằng cách đánh giá đa thức tại các điểm ngẫu nhiên. Điều này đơn giản hóa đáng kể quá trình chứng minh.
Để ngăn chặn tấn công, chúng ta cần chọn điểm ngẫu nhiên sau khi kẻ tấn công cung cấp đa thức. Trong trường trường hợp số lớn, có thể đơn giản chọn số ngẫu nhiên 256 bit. Nhưng trong trường hợp số nhỏ, số giá trị có thể chọn quá ít, dễ dàng bị kẻ tấn công thử hết.
Có hai giải pháp:
Nhiều lần kiểm tra đơn giản và hiệu quả, nhưng hiệu suất tương đối thấp. Trường mở rộng tương tự như số phức, cho phép thực hiện các phép toán phức tạp hơn trên miền hữu hạn. Điều này nâng cao tính bảo mật, đồng thời giữ lại tính hiệu quả của các trường nhỏ.
Circle FRI
Điểm tinh tế của Circle STARKs là, với một số nguyên tố p, có thể tìm thấy một nhóm có kích thước p, có tính chất hai-một tương tự. Nhóm này được tạo thành từ các điểm thỏa mãn các điều kiện cụ thể, chẳng hạn như tập hợp các điểm mà x^2 mod p bằng một giá trị cụ thể.
Các điểm này tuân theo một quy luật cộng: (x1,y1) + (x2,y2) = (x1x2 - y1y2, x1y2 + x2y1)
Hình thức gấp đôi là: 2 * (x,y) = (2x^2 - 1, 2xy)
Circle FRI sẽ thu thập tất cả các điểm lại thành một đường thẳng, sau đó thực hiện tổ hợp tuyến tính ngẫu nhiên, tạo ra đa thức một chiều P(x).
Từ vòng thứ hai, ánh xạ trở thành: f0(2x^2-1) = (F(x) + F(-x)) / 2
Sự ánh xạ này mỗi lần giảm một nửa kích thước của tập hợp, chuyển đổi tọa độ x của hai điểm đối xứng trên vòng tròn thành tọa độ x của điểm đã nhân đôi.
Circle FFTs
Circle group cũng hỗ trợ FFT, cách cấu trúc tương tự như FRI. Một sự khác biệt quan trọng là, Circle FFT xử lý không phải là đa thức theo nghĩa chặt chẽ, mà là không gian Riemann-Roch.
Là một nhà phát triển, bạn gần như có thể bỏ qua điều này. STARKs chỉ cần lưu trữ đa thức như một tập hợp các giá trị đánh giá. Nơi duy nhất cần FFT là để thực hiện mở rộng bậc thấp.
Thương mại toán
Trong STARK, các phép toán thường gặp là thực hiện phép chia trên các điểm cụ thể. Trong nhóm vòng tròn, do không có hàm tuyến tính tại một điểm đơn, cần sử dụng các kỹ thuật khác nhau.
Chúng tôi buộc phải đánh giá ở hai điểm để chứng minh, từ đó thêm một điểm ảo không cần chú ý.
Đa thức biến mất
Trong circle STARK, hàm đa thức biến mất tương ứng là:
Z1(x,y) = y Z2(x,y) = x
Zn+1(x,y) = (2 * Zn(x,y)^2) - 1
Thứ tự ngược
Circle STARKs cần điều chỉnh thứ tự ngược để phản ánh cấu trúc gập của nó. Chúng ta cần đảo ngược mọi vị trí ngoại trừ vị trí cuối cùng, dùng vị trí cuối cùng để quyết định có đảo ngược các vị trí khác hay không.
Hiệu suất
Circle STARKs rất hiệu quả. Một phép tính đã được chứng minh thường liên quan đến:
Chìa khóa của hiệu suất là tận dụng tối đa không gian trong theo dõi tính toán. Circle STARKs lãng phí ít không gian hơn trong trường trường kích thước 2^31.
Kết luận
Circle STARKs không phức tạp hơn STARKs thông thường đối với các nhà phát triển. Mặc dù các toán học đứng sau rất phức tạp, nhưng sự phức tạp này đã được che giấu rất tốt.
Kết hợp các công nghệ như Mersenne31, BabyBear và Binius, chúng tôi đang tiến gần tới giới hạn hiệu suất của lớp cơ sở STARKs. Hướng tối ưu hóa trong tương lai có thể bao gồm: