a16z: Làm thế nào để xác minh thuật toán học máy trên chuỗi bằng chứng không kiến thức?
Tiêu đề gốc: Checks and balances: Machine learning and zero-knowledge proofs
Tác giả gốc: Elena Burger, a16z
Biên dịch: DeFi之道
Trong vài năm qua, chứng minh không có kiến thức trên blockchain chủ yếu được sử dụng cho hai mục đích chính: (1) mở rộng quy mô của mạng lưới tính toán bị hạn chế bằng cách xử lý giao dịch ngoài chuỗi và xác minh kết quả trên mạng chính; (2) bảo vệ quyền riêng tư của người dùng bằng cách thực hiện giao dịch ẩn danh, chỉ những người sở hữu khóa giải mã mới có thể xem. Trong bối cảnh blockchain, những đặc điểm này rõ ràng là mong muốn: mạng phi tập trung (như Ethereum) không thể tăng thông lượng hoặc kích thước khối mà không đặt ra yêu cầu không thể chịu đựng được đối với khả năng xử lý, băng thông và độ trễ của người xác minh (do đó cần có sự cuộn hiệu quả), tất cả giao dịch đều có thể nhìn thấy bởi bất kỳ ai (do đó cần có giải pháp quyền riêng tư trên chuỗi).
Nhưng chứng minh không có kiến thức cũng hữu ích cho một loại chức năng thứ ba: xác minh hiệu quả bất kỳ loại tính toán nào (không chỉ là tính toán được thực hiện ngoài chuỗi trong EVM). Điều này cũng có ảnh hưởng lớn đến các lĩnh vực bên ngoài blockchain.
Hiện nay, sự tiến bộ trong các hệ thống sử dụng chứng minh không có kiến thức để xác minh khả năng tính toán một cách ngắn gọn cho phép người dùng yêu cầu mức độ không tin cậy và khả năng xác minh tương tự từ mỗi sản phẩm kỹ thuật số, đặc biệt là từ các mô hình học máy. Nhu cầu cao về tính toán trên blockchain đã thúc đẩy nghiên cứu về chứng minh không có kiến thức, tạo ra các hệ thống chứng minh hiện đại với mức tiêu thụ bộ nhớ nhỏ hơn và thời gian chứng minh và xác minh nhanh hơn ------ cho phép xác minh một số thuật toán học máy nhỏ trên chuỗi.
Cho đến nay, chúng ta có thể đã trải nghiệm tiềm năng tương tác với một sản phẩm học máy rất mạnh mẽ. Vài ngày trước, tôi đã sử dụng GPT-4 để giúp tôi tạo ra một AI có thể liên tục đánh bại tôi trong cờ vua. Điều này cảm giác như là một hình ảnh thơ mộng của tất cả những tiến bộ mà học máy đã đạt được trong vài thập kỷ qua: các nhà phát triển của IBM đã mất mười hai năm để tạo ra Deep Blue, một mô hình chạy trên máy tính IBM RS/6000 SP với 32 nút, có thể đánh giá gần 200 triệu nước cờ mỗi giây, đã đánh bại nhà vô địch cờ vua Garry Kasparov vào năm 1997. So với đó, tôi chỉ mất vài giờ ------ với rất ít mã hóa từ phía tôi ------ để tạo ra một chương trình có thể đánh bại tôi.
Chắc chắn, tôi nghi ngờ liệu AI mà tôi tạo ra có thể đánh bại Garry Kasparov trong cờ vua hay không, nhưng đó không phải là điểm chính. Điểm chính là bất kỳ ai chơi với GPT-4 đều có thể có trải nghiệm tương tự về việc có được siêu năng lực: bạn chỉ cần bỏ ra rất ít nỗ lực để tạo ra thứ gần hoặc vượt qua khả năng của chính mình. Chúng ta đều là nhà nghiên cứu của IBM; chúng ta đều là Garry Kasparov.
Rõ ràng, điều này vừa thú vị vừa có chút đáng sợ. Đối với bất kỳ ai làm việc trong ngành công nghiệp tiền điện tử, phản ứng tự nhiên (sau khi ngạc nhiên về những gì học máy có thể làm) là xem xét các con đường tập trung tiềm năng và cách để phi tập trung hóa chúng, tạo thành một mạng lưới mà mọi người có thể kiểm toán một cách minh bạch và sở hữu. Các mô hình hiện tại được tạo ra bằng cách tiêu thụ một lượng lớn văn bản và dữ liệu công khai có sẵn, nhưng hiện tại chỉ có một số ít người kiểm soát và sở hữu những mô hình này. Cụ thể hơn, vấn đề không phải là "trí tuệ nhân tạo có giá trị lớn hay không", mà là "chúng ta làm thế nào để xây dựng những hệ thống này, để bất kỳ ai tương tác với chúng đều có thể nhận được lợi ích kinh tế của mình, và trong trường hợp họ muốn, đảm bảo rằng dữ liệu của họ được sử dụng một cách tôn trọng quyền riêng tư".
Gần đây, có người kêu gọi tạm dừng hoặc làm chậm sự phát triển của các dự án trí tuệ nhân tạo lớn như Chat-GPT. Ngăn chặn sự tiến bộ có thể không phải là giải pháp: một cách tốt hơn là thúc đẩy các mô hình mã nguồn mở và trong trường hợp các nhà cung cấp mô hình muốn bảo vệ trọng số hoặc tính riêng tư của dữ liệu của họ, sử dụng chứng minh không có kiến thức bảo vệ chúng, những chứng minh này có thể được kiểm toán hoàn toàn trên chuỗi. Hiện nay, trường hợp sử dụng thứ hai về trọng số và dữ liệu mô hình riêng tư vẫn chưa thể thực hiện trên chuỗi, nhưng sự tiến bộ của hệ thống chứng minh không có kiến thức sẽ đạt được mục tiêu này trong tương lai.
Học máy có thể xác minh và sở hữu
AI cờ vua mà tôi xây dựng bằng Chat-GPT hiện tại có vẻ tương đối vô hại: đầu ra của nó là một chương trình tương đối nhất quán, không sử dụng dữ liệu xâm phạm quyền sở hữu trí tuệ có giá trị hoặc xâm phạm quyền riêng tư. Nhưng điều gì sẽ xảy ra khi chúng ta muốn đảm bảo rằng mô hình mà chúng ta được thông báo đang chạy phía sau API thực sự là mô hình đã chạy? Hoặc, nếu tôi muốn đưa dữ liệu đã được xác thực vào mô hình trên chuỗi và đảm bảo rằng dữ liệu thực sự đến từ bên hợp pháp? Nếu tôi muốn đảm bảo rằng "người" nộp dữ liệu thực sự là con người chứ không phải là robot đang cố gắng thực hiện một cuộc tấn công Byzantine vào mạng của tôi? Chứng minh không có kiến thức và khả năng của nó trong việc biểu diễn và xác minh bất kỳ chương trình nào một cách ngắn gọn là một giải pháp.
Cần lưu ý rằng, hiện tại trong bối cảnh học máy trên chuỗi, mục đích chính của chứng minh không có kiến thức là xác minh tính toán đúng. Nói cách khác, trong bối cảnh học máy, chứng minh không có kiến thức và SNARK (chứng minh không tương tác ngắn gọn) cụ thể hơn có ích nhất ở đặc tính ngắn gọn của chúng. Điều này là vì chứng minh không có kiến thức bảo vệ người chứng minh (và dữ liệu mà họ xử lý) khỏi sự xâm phạm của những kẻ nhìn trộm. Các công nghệ tăng cường quyền riêng tư như mã hóa hoàn toàn đồng nhất (FHE), mã hóa chức năng hoặc môi trường thực thi đáng tin cậy (TEE) phù hợp hơn để cho phép những người chứng minh không đáng tin cậy thực hiện tính toán trên dữ liệu đầu vào riêng tư (khám phá sâu hơn về những công nghệ này vượt quá phạm vi của bài viết này).
Hãy lùi lại một bước và hiểu từ góc độ cao hơn về các loại ứng dụng học máy có thể được biểu diễn bằng chứng minh không có kiến thức (để tìm hiểu sâu hơn về chứng minh không có kiến thức, hãy tham khảo bài viết của chúng tôi về cải tiến thuật toán và phần cứng chứng minh không có kiến thức, xem nghiên cứu của Justin Thaler về hiệu suất SNARK, hoặc xem tài liệu học tập về chứng minh không có kiến thức của chúng tôi). Chứng minh không có kiến thức thường biểu diễn chương trình dưới dạng mạch số học: bằng cách sử dụng những mạch này, người chứng minh tạo ra chứng minh từ đầu vào công khai và riêng tư, người xác minh thông qua các phép toán toán học để đảm bảo rằng đầu ra của câu tuyên bố này là đúng ------ mà không nhận được bất kỳ thông tin nào về đầu vào riêng tư.
Chúng ta vẫn đang ở giai đoạn rất sớm trong việc sử dụng chứng minh không có kiến thức trên chuỗi để xác minh tính toán, nhưng sự cải tiến của thuật toán đang mở rộng phạm vi khả thi. Dưới đây là năm cách ứng dụng chứng minh không có kiến thức trong học máy.
1. Tính xác thực của mô hình: Bạn muốn đảm bảo rằng mô hình học máy mà một thực thể tuyên bố đã chạy thực sự là mô hình đã chạy. Ví dụ, trong trường hợp một mô hình nằm phía sau API, thực thể cung cấp mô hình cụ thể có thể có nhiều phiên bản, chẳng hạn như một phiên bản rẻ hơn với độ chính xác thấp hơn và một phiên bản đắt hơn với hiệu suất cao hơn. Không có chứng minh, bạn không thể biết khi bạn thực sự trả tiền cho phiên bản đắt hơn, nhà cung cấp có cung cấp cho bạn mô hình rẻ hơn hay không (ví dụ, nhà cung cấp muốn tiết kiệm chi phí máy chủ và tăng lợi nhuận).
Để làm điều này, bạn cần cung cấp chứng minh riêng cho mỗi phiên bản mô hình. Một cách thực tế là thông qua khung cam kết chức năng của Dan Boneh, Wilson Nguyen và Alex Ozdemir, đây là một giải pháp cam kết không có kiến thức dựa trên SNARK, cho phép chủ sở hữu mô hình cam kết một mô hình, người dùng có thể nhập dữ liệu của họ vào mô hình đó và nhận được xác minh của mô hình đã chạy. Một số ứng dụng dựa trên Risc Zero (một máy ảo dựa trên STARK tổng quát) cũng đã thực hiện điều này. Nghiên cứu khác của Daniel Kang, Tatsunori Hashimoto, Ion Stoica và Yi Sun cho thấy có thể xác minh suy diễn hợp lệ trên tập dữ liệu ImageNet với độ chính xác 92% (tương đương với mô hình ImageNet không có chứng minh không có kiến thức có hiệu suất cao nhất).
Nhưng chỉ nhận được chứng minh rằng mô hình đã nộp đã chạy không nhất thiết là đủ. Một mô hình có thể không chính xác biểu diễn chương trình đã cho, vì vậy bạn sẽ muốn bên thứ ba kiểm toán mô hình đã nộp. Cam kết chức năng cho phép người chứng minh chứng minh rằng họ đã sử dụng mô hình đã cam kết, nhưng không thể đảm bảo bất kỳ thông tin nào về mô hình đã cam kết. Nếu chúng ta có thể làm cho chứng minh không có kiến thức hoạt động đủ tốt trong việc chứng minh đào tạo (xem ví dụ dưới đây #4), chúng ta cũng có thể bắt đầu nhận được những đảm bảo này trong tương lai.
2. Tính toàn vẹn của mô hình: Bạn muốn đảm bảo rằng cùng một thuật toán học máy chạy theo cùng một cách trên dữ liệu của các người dùng khác nhau. Điều này rất hữu ích trong các lĩnh vực mà bạn không muốn áp dụng bất kỳ thiên lệch nào, chẳng hạn như quyết định điểm tín dụng và đơn xin vay. Bạn cũng có thể sử dụng cam kết chức năng để thực hiện điều này. Để làm điều này, bạn cần cam kết một mô hình và các tham số của nó, và cho phép mọi người nộp dữ liệu. Đầu ra sẽ xác minh xem mô hình đó đã chạy với các tham số đã cam kết cho dữ liệu của từng người dùng hay không. Hoặc, có thể công khai mô hình và các tham số của nó, và để người dùng tự chứng minh rằng họ đã áp dụng mô hình và tham số thích hợp cho dữ liệu (đã được xác thực) của họ. Điều này có thể đặc biệt hữu ích trong lĩnh vực y tế, vì pháp luật yêu cầu một số thông tin về bệnh nhân phải được giữ bí mật. Trong tương lai, điều này có thể đạt được một hệ thống chẩn đoán y tế có thể học hỏi và cải thiện từ dữ liệu người dùng hoàn toàn riêng tư theo thời gian thực.
3. Chứng thực: Bạn muốn tích hợp chứng thực từ bên ngoài đã được xác thực (ví dụ, bất kỳ nền tảng kỹ thuật số hoặc thiết bị phần cứng nào có thể tạo chữ ký số) vào mô hình chạy trên chuỗi hoặc bất kỳ loại hợp đồng thông minh nào khác. Để làm điều này, bạn sẽ sử dụng chứng minh không có kiến thức để xác minh chữ ký và đưa chứng minh đó làm đầu vào cho chương trình. Anna Rose và Tarun Chitra gần đây đã tổ chức một tập podcast về chứng minh không có kiến thức, với khách mời là Daniel Kang và Yi Sun, họ đã thảo luận về những tiến bộ mới nhất trong lĩnh vực này.
Cụ thể, Daniel và Yi gần đây đã công bố một nghiên cứu khám phá cách xác minh hình ảnh được chụp bởi camera có cảm biến đã được chứng thực có trải qua các biến đổi như cắt, thu nhỏ hoặc che chắn hạn chế hay không, điều này rất hữu ích khi bạn muốn chứng minh rằng hình ảnh không bị giả mạo sâu nhưng thực sự đã trải qua một số chỉnh sửa hợp pháp. Dan Boneh và Trisha Datta cũng đã thực hiện nghiên cứu tương tự, sử dụng chứng minh không có kiến thức để xác minh nguồn gốc của hình ảnh.
Nhưng rộng hơn, bất kỳ thông tin nào đã được chứng thực kỹ thuật số đều là ứng viên cho hình thức xác minh này: Jason Morton đang phát triển thư viện EZKL (sẽ có thêm thông tin trong phần tiếp theo), mà anh gọi là "trao cho blockchain khả năng nhìn". Bất kỳ điểm cuối nào đã được ký (ví dụ, dịch vụ SXG của Cloudflare, công chứng viên bên thứ ba) sẽ tạo ra chữ ký số có thể xác minh, điều này có thể rất hữu ích để chứng minh nguồn gốc và tính xác thực đến từ bên đáng tin cậy.
4. Suy diễn hoặc đào tạo phân tán: Bạn muốn thực hiện suy diễn hoặc đào tạo học máy theo cách phân tán và cho phép mọi người nộp dữ liệu cho mô hình công cộng. Để làm điều này, bạn có thể triển khai mô hình hiện có lên chuỗi hoặc thiết kế một mạng hoàn toàn mới và sử dụng chứng minh không có kiến thức để nén mô hình. Thư viện EZKL của Jason Morton đang tạo ra một phương pháp để tiếp nhận các tệp ONNX và JSON và chuyển đổi chúng thành mạch ZK-SNARK. Một buổi trình diễn gần đây tại ETH Denver cho thấy công nghệ này có thể được sử dụng để tạo ra một trò chơi săn kho báu trên chuỗi dựa trên nhận diện hình ảnh, nơi người sáng tạo trò chơi có thể tải lên hình ảnh, tạo chứng minh cho hình ảnh đó, và người chơi có thể tải lên hình ảnh; người xác minh kiểm tra xem hình ảnh mà người dùng tải lên có đủ khớp với chứng minh mà người sáng tạo đã tạo ra hay không. EZKL hiện có thể xác minh mô hình với tối đa 100 triệu tham số, có nghĩa là nó có thể được sử dụng để xác minh mô hình kích thước ImageNet trên chuỗi (các mô hình này có 60 triệu tham số).
Các nhóm khác, như Modulus Labs, đang thực hiện kiểm tra hiệu suất cho các hệ thống chứng minh khác nhau cho suy diễn trên chuỗi. Kiểm tra hiệu suất của Modulus bao gồm tối đa 18 triệu tham số. Về đào tạo, Gensyn đang xây dựng một hệ thống tính toán phân tán, nơi người dùng có thể nhập dữ liệu công cộng và đào tạo mô hình thông qua mạng lưới các nút phân tán, đồng thời xác minh tính đúng đắn của việc đào tạo.
5. Chứng minh con người: Bạn muốn xác minh rằng một người là một cá thể độc nhất mà không làm tổn hại đến quyền riêng tư của họ. Để làm điều này, bạn sẽ tạo ra một phương pháp xác minh, chẳng hạn như quét sinh trắc học hoặc phương pháp gửi ID chính phủ một cách mã hóa. Sau đó, bạn sẽ sử dụng chứng minh không có kiến thức để kiểm tra xem một người đã được xác minh hay chưa mà không tiết lộ bất kỳ thông tin nào về danh tính của người đó, dù danh tính đó có thể hoàn toàn nhận diện được hay chỉ là một bí danh như khóa công khai.
Worldcoin thực hiện điều này thông qua giao thức chứng minh con người của họ, giao thức này đảm bảo khả năng chống tấn công bằng cách tạo ra mã mống mắt độc nhất cho người dùng. Điều quan trọng là khóa riêng được tạo ra cho WorldID (cũng như các khóa riêng khác cho ví mã hóa của người dùng Worldcoin) hoàn toàn tách biệt với mã mống mắt được tạo ra cục bộ bởi máy quét mắt của dự án. Sự tách biệt này hoàn toàn tách biệt các định danh sinh trắc học với bất kỳ hình thức khóa người dùng nào có thể quy cho một người nào đó. Worldcoin cũng cho phép các ứng dụng nhúng một SDK, cho phép người dùng đăng nhập bằng WorldID và sử dụng chứng minh không có kiến thức để bảo vệ quyền riêng tư, nhưng không cho phép theo dõi người dùng cá nhân (để biết thêm chi tiết, hãy tham khảo bài viết blog này).
Ví dụ này sử dụng đặc tính bảo vệ quyền riêng tư của chứng minh không có kiến thức để chống lại trí tuệ nhân tạo yếu hơn và độc hại, do đó nó rất khác với các ví dụ khác đã nêu (chẳng hạn như chứng minh bạn là một con người thực sự chứ không phải robot, trong khi không tiết lộ bất kỳ thông tin nào về bản thân).
Kiến trúc mô hình và thách thức
Những đột phá trong việc triển khai hệ thống chứng minh SNARK (chứng minh không tương tác ngắn gọn) đã trở thành động lực chính để đưa nhiều mô hình học máy lên chuỗi. Một số nhóm đang tạo ra các mạch tùy chỉnh trong các kiến trúc hiện có (bao gồm Plonk, Plonky2, Air, v.v.). Trong lĩnh vực mạch tùy chỉnh, Halo 2 đã trở thành backend được sử dụng rộng rãi trong công việc của Daniel Kang và dự án EZKL của Jason Morton. Thời gian chứng minh của Halo 2 gần như tuyến tính, kích thước chứng minh thường chỉ vài kilobyte, thời gian xác minh là hằng số. Có thể quan trọng hơn, Halo 2 có các công cụ phát triển mạnh mẽ khiến nó trở thành backend SNARK được các nhà phát triển ưa chuộng. Các nhóm khác, như Risc Zero, đang tìm kiếm chiến lược VM tổng quát. Một số nhóm khác đang sử dụng hệ thống chứng minh siêu hiệu quả dựa trên giao thức kiểm tra tổng của Justin Thaler để tạo ra khung tùy chỉnh.
Thời gian tạo chứng minh và thời gian của người xác minh hoàn toàn phụ thuộc vào phần cứng tạo và kiểm tra chứng minh cũng như kích thước mạch tạo chứng minh. Nhưng điểm quan trọng cần lưu ý là, bất kể chương trình đại diện là gì, kích thước chứng minh luôn tương đối nhỏ, do đó gánh nặng của người xác minh chứng minh là hạn chế. Tuy nhiên, có một số điểm tinh tế ở đây: đối với các hệ thống chứng minh như Plonky2 sử dụng kế hoạch cam kết dựa trên FRI, kích thước chứng minh có thể tăng lên. (Trừ khi cuối cùng sử dụng các SNARK dựa trên cặp như Plonk hoặc Groth16, những chứng minh này sẽ không tăng lên theo độ phức tạp của tuyên bố được chứng minh).
Sự tiết lộ cho mô hình học máy là, một khi thiết kế một hệ thống chứng minh chính xác biểu diễn mô hình, chi phí thực tế để xác minh đầu ra sẽ rất rẻ. Điều quan trọng nhất mà các nhà phát triển cần xem xét là thời gian và bộ nhớ của người chứng minh: biểu diễn mô hình theo cách có thể chứng minh tương đối nhanh và kích thước chứng minh lý tưởng là vài kilobyte. Để chứng minh rằng mô hình học máy thực hiện đúng trong điều kiện không có kiến thức, bạn cần mã hóa và biểu diễn kiến trúc mô hình (các lớp, nút và hàm kích hoạt), tham số, ràng buộc và phép nhân ma trận dưới dạng mạch. Điều này liên quan đến việc phân tích những thuộc tính này thành các phép toán số học có thể thực hiện trên trường hữu hạn.
Lĩnh vực này vẫn đang ở giai đoạn khởi đầu. Trong quá trình chuyển đổi mô hình thành mạch, độ chính xác và độ trung thực có thể bị ảnh hưởng. Khi mô hình được biểu diễn dưới dạng mạch số học, các tham số mô hình, ràng buộc và phép nhân ma trận đã đề cập trước đó có thể cần được xấp xỉ và đơn giản hóa. Khi mã hóa các phép toán số học thành các phần tử trong trường hữu hạn của chứng minh, có thể mất đi một số độ chính xác (hoặc nếu không thực hiện những tối ưu hóa này, chi phí để tạo chứng minh trong khung chứng minh không có kiến thức hiện tại sẽ trở nên quá tải). Hơn nữa, các tham số và kích hoạt của mô hình học máy thường được mã hóa bằng 32 bit để tăng độ chính xác, nhưng chứng minh không có kiến thức hiện nay không thể biểu diễn phép toán số học 32 bit trong định dạng mạch cần thiết mà không tạo ra chi phí khổng lồ. Do đó, các nhà phát triển có thể chọn sử dụng các mô hình học máy đã được định lượng, trong đó các số nguyên 32 bit đã được chuyển đổi thành độ chính xác 8 bit. Những loại mô hình này có lợi cho việc biểu diễn dưới dạng chứng minh không có kiến thức, nhưng mô hình được xác minh có thể là một xấp xỉ thô của mô hình ban đầu có chất lượng cao hơn.
Ở giai đoạn này, đây thực sự là một cuộc đua để bắt kịp. Khi chứng minh không có kiến thức trở nên tối ưu hơn, các mô hình học máy trở nên phức tạp hơn. Đã có một số lĩnh vực tối ưu hóa đầy hứa hẹn: chứng minh đệ quy có thể giảm kích thước chứng minh tổng thể bằng cách cho phép chứng minh được sử dụng làm đầu vào cho chứng minh tiếp theo, từ đó đạt được nén chứng minh. Cũng có một số khung mới nổi, như nhánh Apache Tensor Virtual Machine (TVM) của Linear A, khung này đã giới thiệu một bộ chuyển đổi có thể chuyển đổi số thực thành biểu diễn số nguyên thân thiện với chứng minh không có kiến thức. Cuối cùng, chúng tôi tại a16z crypto cảm thấy lạc quan về công việc trong tương lai sẽ làm cho việc biểu diễn số nguyên 32 bit trong SNARK trở nên hợp lý hơn.
Hai định nghĩa về "quy mô" Chứng minh không có kiến thức đạt được quy mô thông qua nén: SNARK cho phép bạn biểu diễn một hệ thống cực kỳ phức tạp (như máy ảo hoặc mô hình học máy) bằng cách toán học, khiến cho chi phí xác minh nó thấp hơn chi phí chạy nó. Mặt khác, học máy đạt được quy mô thông qua mở rộng: các mô hình hiện nay trở nên tốt hơn với nhiều dữ liệu hơn, nhiều tham số hơn và nhiều GPU/TPU hơn tham gia vào quá trình đào tạo và suy diễn. Các công ty tập trung có thể vận hành máy chủ với quy mô gần như không giới hạn: thu phí hàng tháng cho các cuộc gọi API và thanh toán chi phí vận hành.
Thực tế kinh tế của mạng blockchain gần như hoàn toàn ngược lại: các nhà phát triển được khuyến khích tối ưu hóa mã của họ để chạy trên chuỗi vừa khả thi vừa rẻ. Sự không đối xứng này có lợi thế lớn: nó tạo ra một môi trường cần cải thiện hiệu suất của hệ thống chứng minh. Chúng ta nên tìm kiếm yêu cầu về quyền sở hữu có thể xác minh và khái niệm thực tế chia sẻ tương tự như những gì blockchain cung cấp trong học máy.
Mặc dù blockchain đã thúc đẩy việc tối ưu hóa zk-SNARKs, nhưng mọi lĩnh vực liên quan đến tính toán đều sẽ được hưởng lợi.
Cảm ơn: Justin Thaler, Dan Boneh, Guy Wuollet, Sam Ragsdale, Ali Yahya, Chris Dixon, Eddy Lazzarin, Tim Roughgarden, Robert Hackett, Tim Sullivan, Jason Morton, Peiyuan Liao, Tarun Chitra, Brian Retford, Daniel Kang, Yi Sun, Anna Rose, Modulus Labs, DC Builder.
Bài viết nổi bật













