zkPass là giao thức oracle, cho phép dữ liệu internet riêng tư được xác minh trên chuỗi. zkPass được xây dựng trên zkTLS, bao gồm công nghệ 3P-TLS và ZK hỗn hợp, cung cấp các công cụ và ứng dụng cho việc chia sẻ dữ liệu an toàn và có thể xác minh, đồng thời đảm bảo tính riêng tư và toàn vẹn từ bất kỳ trang web HTTPS nào mà không cần OAuth API.
zkPass hoạt động như thế nào? Cấu trúc tổng thể và khái niệm cốt lõi
zkPass hoạt động như thế nào? Để hiểu cấu trúc của nó, trước tiên cần nhận biết ba vai trò cốt lõi: P (Người chứng minh/Cá nhân), V (Người xác thực/Doanh nghiệp/Nút zkPass), S (Máy chủ TLS/Nguồn dữ liệu). Trong quy trình xác thực dữ liệu truyền thống, người chứng minh sẽ gửi thông tin cho người xác thực, người xác thực sẽ trích xuất dữ liệu này và hợp tác với Nguồn dữ liệu để thực hiện kiểm tra xác thực. Mô hình này tồn tại ba vấn đề lớn: Người chứng minh phải đối mặt với rủi ro lộ quá nhiều thông tin cá nhân; Nguồn dữ liệu mặc dù đáng tin cậy nhưng không thể cung cấp dịch vụ xác thực cá nhân hóa; Người xác thực nắm giữ tất cả dữ liệu cá nhân của khách hàng, có tiềm năng rủi ro lộ dữ liệu lớn.
zkPass đã đưa ra một giải pháp cách mạng, định vị người chứng minh giữa các trình xác thực và nguồn dữ liệu. Khác với các phương pháp truyền thống, người chứng minh sử dụng mã thông báo truy cập của họ để định vị và lấy dữ liệu trực tiếp từ nguồn dữ liệu, sau đó tạo ra bằng chứng không biết (ZKP) để trình xác thực kiểm tra. Quá trình này đảm bảo rằng các trình xác thực vẫn không biết thông tin cá nhân của người chứng minh. Kiến trúc này tích hợp công nghệ 3P-TLS, MPC (tính toán đa bên) và ZK (không biết) hỗn hợp.
Công nghệ cốt lõi:
3P-TLS: Bảo mật lớp truyền tải ba bên dựa trên giao thức DH đường cong elip, kết hợp MPC và Chuyển giao không biết (OT) để ngăn chặn gian lận.
Hỗn hợp ZK: Hệ thống chứng minh hai lớp kết hợp ZK tương tác (VOLE-ZK 23) và ZK không tương tác (SNARK/Circom)
zkSBT: Token gắn liền với linh hồn dựa trên tiêu chuẩn NFT kết hợp ERC998, lưu trữ các tuyên bố chính và tuyên bố truy vấn.
3P-TLS và MPC: bước đột phá công nghệ trong bắt tay ba bên
Điểm chính đầu tiên về cách zkPass hoạt động là giao thức 3P-TLS. Bảo mật tầng truyền tải (TLS) là giao thức truyền thông an toàn của HTTPS, hầu như tất cả các nguồn dữ liệu đều hỗ trợ. zkPass xây dựng giao thức 3P-TLS dựa trên giao thức DH đường elip và kết hợp nó với MPC và Chuyển giao Ẩn danh, để thực hiện giao tiếp an toàn ba bên.
Giai đoạn đầu tiên: Ba bên bắt tay P, V và S cùng nhau tạo ra khóa phiên, P và V mỗi người nhận được một phần của những khóa này. Điều này được thực hiện bằng cách sử dụng thuật toán mã hóa Paillier, thuật toán này cung cấp tính đồng nhất trong phép cộng. Khóa chủ trước được chia thành hai phần, P và V mỗi người nhận được một nửa, trong khi S giữ nguyên khóa chủ trước đầy đủ. Để ngăn chặn việc khách hàng giả mạo trang web giả, khách hàng sẽ yêu cầu máy chủ trả lại chứng chỉ, đảm bảo sự tin cậy về nguồn dữ liệu.
Giai đoạn thứ hai: Trao đổi khóa và thực hiện tính toán MPC với P và V để mã hóa khóa (enc_key) và khóa xác thực thông điệp (mac_key). Thiết kế quan trọng là V chỉ nắm giữ một phần của mac_key và không có enc_key, điều này đảm bảo V không thể truy cập thông tin riêng tư của người dùng. Ngược lại, P giữ một phần của mac_key, có thể truy cập thông tin danh tính cụ thể nhưng không thể sửa đổi, bất kỳ sự sửa đổi nào đều có thể được phát hiện thông qua việc xác thực tính xác thực của thông điệp bằng mac_key.
Giai đoạn ba: Chuẩn bị dữ liệu ứng dụng TLS tiêu chuẩn và ZKP Thực hiện theo quy trình giao thức truyền thông TLS tiêu chuẩn, P và V trao đổi khóa, chuẩn bị cho giai đoạn sắp tới liên quan đến chứng minh không biết. Thuật toán MPC của zkPass đã được tối ưu hóa đáng kể về thời gian giao tiếp, hàm băm và thao tác bộ nhớ, hiệu suất tăng hơn ba lần. Phương pháp chứng minh AES128 mới đã giảm số lượng khối xuống 300 lần, thời gian thực thi Garbler/Evaluator tăng gấp mười lần. Cụ thể, zkPass sử dụng Silent OT để thực hiện các thao tác OT, tận dụng GC chồng để giảm kích thước của mạch mã hóa, rút ngắn đáng kể thời gian thực hiện toàn bộ quy trình MPC.
Hỗn hợp ZK: Sự kết hợp hoàn hảo giữa tương tác và không tương tác
Khía cạnh thứ hai của cách hoạt động của zkPass nằm ở phương pháp kết hợp kiến thức ẩn. Bước cuối cùng của giao thức zkPass liên quan đến việc khách hàng tạo ra chứng minh kiến thức ẩn, và hợp đồng thông minh trên blockchain sẽ xác minh điều đó. Phương pháp kết hợp này kết hợp các ưu điểm của giao thức ZK tương tác và không tương tác.
Tri thức không tương tác (IZK): VOLE-ZK 23 zkPass sử dụng giao thức ZK tương tác dựa trên VOLE để xác thực danh tính, đảm bảo dữ liệu đến từ nguồn dữ liệu chính xác và bảo vệ nó khỏi sự tấn công từ phía khách hàng. Giao thức VOLE-ZK 23 là một khung “gửi và chứng minh”, trong đó người chứng minh (P) và người xác thực (V) cùng tạo ra một lượng lớn các phiên bản VOLE, mỗi phiên bản đều thỏa mãn công thức tuyến tính “m = k + w * delta”. P sẽ gửi một số thành phần của công thức đó như một cam kết, V sẽ chứa các thành phần còn lại.
Độ tuyến tính này là lý do chính khiến giải pháp trở nên hiệu quả về chi phí, khác biệt với các giải pháp đa thức bậc cao khác như SNARK. P chỉ cần truyền hai phần tử cột cho trình xác thực, sau đó V sử dụng tham số VOLE của mình để xác minh tính liên quan. Giai đoạn này có năm hạn chế chính, đảm bảo rằng yêu cầu sử dụng khóa mã hóa để mã hóa, yêu cầu phải được tạo ra bằng mã thông báo truy cập của người dùng, người dùng phải sở hữu khóa mã hóa để giải mã phản hồi, người dùng không thể thay đổi phản hồi, và dữ liệu phản hồi phải tuân theo các điều kiện cụ thể được nêu trong mẫu.
Công nghệ tối ưu hóa zkPass đã trải qua nhiều cải tiến để tăng cường tính khả dụng của giao thức. Việc giới thiệu SoftSpoken giảm khoảng 50% chi phí mạng và tăng tốc độ tạo VOLE. Sử dụng đặc tính đồng hình của VOLE, cam kết của các cổng XOR và INV được giảm xuống còn bằng không. Đối với các trường hợp cụ thể liên quan đến cùng một thao tác, có thể tái sử dụng các tham số VOLE, chuyển đổi phép nhân thành phép cộng, điều này được gọi là “đầu vào tín hiệu dữ liệu đa dạng”, tương tự như kiến trúc CPU SIMD.
Chứng minh không tương tác (NIZK) sau đó chuyển từ chứng minh IZK sang chứng minh NIZK, với mục đích ẩn đi mẫu thực tế, cho phép người dùng lựa chọn tiết lộ chứng minh để bất kỳ bên nào công khai xác minh. Sử dụng khung SNARK, đặc biệt là Circom. Khi máy khách thành công vượt qua xác minh IZK, nút sẽ cung cấp chữ ký cho kết quả, máy khách sẽ chèn kết quả và chữ ký liên quan của nó vào cây Merkle, và cập nhật gốc trong hợp đồng SBT. Khi máy khách cần chứng minh kết quả, chỉ cần cung cấp chứng minh không biết, chứng minh rằng kết quả là một lá trong cây Merkle và đã được nút ký.
zkSBT: Hệ thống token liên kết linh hồn có thể kết hợp
Khía cạnh thứ ba của cách thức hoạt động của zkPass nằm ở cấu trúc zkSBT. zkPass tuân thủ tiêu chuẩn ERC998, một tiêu chuẩn NFT có thể kết hợp. tSBT đại diện cho các loại danh tính pháp lý, mạng xã hội và thông tin tài chính, trong khi dSBT bao gồm các chứng chỉ thực tế mà người dùng tuyên bố. Những tuyên bố này có hai loại: tuyên bố chính và tuyên bố truy vấn.
Các yêu cầu chính liên quan đến việc người dùng lấy dữ liệu cá nhân của họ từ nguồn dữ liệu sau khi thực hiện MPC, chẳng hạn như quốc gia/khu vực, tuổi tác, giới tính và thông tin khác từ các trang web của chính phủ. Dựa trên những dữ liệu này, xây dựng cây yêu cầu, mỗi nút đại diện cho giá trị băm của các nút con của nó. Sử dụng chữ ký babyjub để thêm số ngẫu nhiên nhằm ngăn chặn các cuộc tấn công chi tiết, lưu trữ giá trị băm gốc của cây tuyên bố chính trong dSBT, phải được hợp đồng thông minh tạo ra và xác minh tính chính xác của cây bằng chứng không kiến thức.
Trong việc kiểm tra tuyên bố, ví dụ như xác định xem người dùng có lớn hơn 18 tuổi hay không, người dùng chỉ cần cung cấp chứng minh, chứng minh này đại diện cho tuổi của họ nằm trong cấu trúc cây, và giá trị của lá này lớn hơn 18. Người dùng có thể trực tiếp chuyển chứng minh này cho người xác thực, người xác thực có thể thực hiện hàm trên chuỗi để xác minh chứng minh. Điều này đảm bảo rằng dữ liệu cá nhân thực tế của người dùng được giữ kín với tất cả các bên liên quan, chỉ có tuyên bố về việc truy vấn dữ liệu sẽ được tiết lộ theo cách có chọn lọc cho các người xác thực cụ thể.
Xem bản gốc
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.
zkPass hoạt động như thế nào? 3P-TLS + hỗn hợp ZK xây dựng Máy Oracle không biết.
zkPass là giao thức oracle, cho phép dữ liệu internet riêng tư được xác minh trên chuỗi. zkPass được xây dựng trên zkTLS, bao gồm công nghệ 3P-TLS và ZK hỗn hợp, cung cấp các công cụ và ứng dụng cho việc chia sẻ dữ liệu an toàn và có thể xác minh, đồng thời đảm bảo tính riêng tư và toàn vẹn từ bất kỳ trang web HTTPS nào mà không cần OAuth API.
zkPass hoạt động như thế nào? Cấu trúc tổng thể và khái niệm cốt lõi
zkPass hoạt động như thế nào? Để hiểu cấu trúc của nó, trước tiên cần nhận biết ba vai trò cốt lõi: P (Người chứng minh/Cá nhân), V (Người xác thực/Doanh nghiệp/Nút zkPass), S (Máy chủ TLS/Nguồn dữ liệu). Trong quy trình xác thực dữ liệu truyền thống, người chứng minh sẽ gửi thông tin cho người xác thực, người xác thực sẽ trích xuất dữ liệu này và hợp tác với Nguồn dữ liệu để thực hiện kiểm tra xác thực. Mô hình này tồn tại ba vấn đề lớn: Người chứng minh phải đối mặt với rủi ro lộ quá nhiều thông tin cá nhân; Nguồn dữ liệu mặc dù đáng tin cậy nhưng không thể cung cấp dịch vụ xác thực cá nhân hóa; Người xác thực nắm giữ tất cả dữ liệu cá nhân của khách hàng, có tiềm năng rủi ro lộ dữ liệu lớn.
zkPass đã đưa ra một giải pháp cách mạng, định vị người chứng minh giữa các trình xác thực và nguồn dữ liệu. Khác với các phương pháp truyền thống, người chứng minh sử dụng mã thông báo truy cập của họ để định vị và lấy dữ liệu trực tiếp từ nguồn dữ liệu, sau đó tạo ra bằng chứng không biết (ZKP) để trình xác thực kiểm tra. Quá trình này đảm bảo rằng các trình xác thực vẫn không biết thông tin cá nhân của người chứng minh. Kiến trúc này tích hợp công nghệ 3P-TLS, MPC (tính toán đa bên) và ZK (không biết) hỗn hợp.
Công nghệ cốt lõi:
3P-TLS: Bảo mật lớp truyền tải ba bên dựa trên giao thức DH đường cong elip, kết hợp MPC và Chuyển giao không biết (OT) để ngăn chặn gian lận.
Hỗn hợp ZK: Hệ thống chứng minh hai lớp kết hợp ZK tương tác (VOLE-ZK 23) và ZK không tương tác (SNARK/Circom)
zkSBT: Token gắn liền với linh hồn dựa trên tiêu chuẩn NFT kết hợp ERC998, lưu trữ các tuyên bố chính và tuyên bố truy vấn.
3P-TLS và MPC: bước đột phá công nghệ trong bắt tay ba bên
Điểm chính đầu tiên về cách zkPass hoạt động là giao thức 3P-TLS. Bảo mật tầng truyền tải (TLS) là giao thức truyền thông an toàn của HTTPS, hầu như tất cả các nguồn dữ liệu đều hỗ trợ. zkPass xây dựng giao thức 3P-TLS dựa trên giao thức DH đường elip và kết hợp nó với MPC và Chuyển giao Ẩn danh, để thực hiện giao tiếp an toàn ba bên.
Giai đoạn đầu tiên: Ba bên bắt tay P, V và S cùng nhau tạo ra khóa phiên, P và V mỗi người nhận được một phần của những khóa này. Điều này được thực hiện bằng cách sử dụng thuật toán mã hóa Paillier, thuật toán này cung cấp tính đồng nhất trong phép cộng. Khóa chủ trước được chia thành hai phần, P và V mỗi người nhận được một nửa, trong khi S giữ nguyên khóa chủ trước đầy đủ. Để ngăn chặn việc khách hàng giả mạo trang web giả, khách hàng sẽ yêu cầu máy chủ trả lại chứng chỉ, đảm bảo sự tin cậy về nguồn dữ liệu.
Giai đoạn thứ hai: Trao đổi khóa và thực hiện tính toán MPC với P và V để mã hóa khóa (enc_key) và khóa xác thực thông điệp (mac_key). Thiết kế quan trọng là V chỉ nắm giữ một phần của mac_key và không có enc_key, điều này đảm bảo V không thể truy cập thông tin riêng tư của người dùng. Ngược lại, P giữ một phần của mac_key, có thể truy cập thông tin danh tính cụ thể nhưng không thể sửa đổi, bất kỳ sự sửa đổi nào đều có thể được phát hiện thông qua việc xác thực tính xác thực của thông điệp bằng mac_key.
Giai đoạn ba: Chuẩn bị dữ liệu ứng dụng TLS tiêu chuẩn và ZKP Thực hiện theo quy trình giao thức truyền thông TLS tiêu chuẩn, P và V trao đổi khóa, chuẩn bị cho giai đoạn sắp tới liên quan đến chứng minh không biết. Thuật toán MPC của zkPass đã được tối ưu hóa đáng kể về thời gian giao tiếp, hàm băm và thao tác bộ nhớ, hiệu suất tăng hơn ba lần. Phương pháp chứng minh AES128 mới đã giảm số lượng khối xuống 300 lần, thời gian thực thi Garbler/Evaluator tăng gấp mười lần. Cụ thể, zkPass sử dụng Silent OT để thực hiện các thao tác OT, tận dụng GC chồng để giảm kích thước của mạch mã hóa, rút ngắn đáng kể thời gian thực hiện toàn bộ quy trình MPC.
Hỗn hợp ZK: Sự kết hợp hoàn hảo giữa tương tác và không tương tác
Khía cạnh thứ hai của cách hoạt động của zkPass nằm ở phương pháp kết hợp kiến thức ẩn. Bước cuối cùng của giao thức zkPass liên quan đến việc khách hàng tạo ra chứng minh kiến thức ẩn, và hợp đồng thông minh trên blockchain sẽ xác minh điều đó. Phương pháp kết hợp này kết hợp các ưu điểm của giao thức ZK tương tác và không tương tác.
Tri thức không tương tác (IZK): VOLE-ZK 23 zkPass sử dụng giao thức ZK tương tác dựa trên VOLE để xác thực danh tính, đảm bảo dữ liệu đến từ nguồn dữ liệu chính xác và bảo vệ nó khỏi sự tấn công từ phía khách hàng. Giao thức VOLE-ZK 23 là một khung “gửi và chứng minh”, trong đó người chứng minh (P) và người xác thực (V) cùng tạo ra một lượng lớn các phiên bản VOLE, mỗi phiên bản đều thỏa mãn công thức tuyến tính “m = k + w * delta”. P sẽ gửi một số thành phần của công thức đó như một cam kết, V sẽ chứa các thành phần còn lại.
Độ tuyến tính này là lý do chính khiến giải pháp trở nên hiệu quả về chi phí, khác biệt với các giải pháp đa thức bậc cao khác như SNARK. P chỉ cần truyền hai phần tử cột cho trình xác thực, sau đó V sử dụng tham số VOLE của mình để xác minh tính liên quan. Giai đoạn này có năm hạn chế chính, đảm bảo rằng yêu cầu sử dụng khóa mã hóa để mã hóa, yêu cầu phải được tạo ra bằng mã thông báo truy cập của người dùng, người dùng phải sở hữu khóa mã hóa để giải mã phản hồi, người dùng không thể thay đổi phản hồi, và dữ liệu phản hồi phải tuân theo các điều kiện cụ thể được nêu trong mẫu.
Công nghệ tối ưu hóa zkPass đã trải qua nhiều cải tiến để tăng cường tính khả dụng của giao thức. Việc giới thiệu SoftSpoken giảm khoảng 50% chi phí mạng và tăng tốc độ tạo VOLE. Sử dụng đặc tính đồng hình của VOLE, cam kết của các cổng XOR và INV được giảm xuống còn bằng không. Đối với các trường hợp cụ thể liên quan đến cùng một thao tác, có thể tái sử dụng các tham số VOLE, chuyển đổi phép nhân thành phép cộng, điều này được gọi là “đầu vào tín hiệu dữ liệu đa dạng”, tương tự như kiến trúc CPU SIMD.
Chứng minh không tương tác (NIZK) sau đó chuyển từ chứng minh IZK sang chứng minh NIZK, với mục đích ẩn đi mẫu thực tế, cho phép người dùng lựa chọn tiết lộ chứng minh để bất kỳ bên nào công khai xác minh. Sử dụng khung SNARK, đặc biệt là Circom. Khi máy khách thành công vượt qua xác minh IZK, nút sẽ cung cấp chữ ký cho kết quả, máy khách sẽ chèn kết quả và chữ ký liên quan của nó vào cây Merkle, và cập nhật gốc trong hợp đồng SBT. Khi máy khách cần chứng minh kết quả, chỉ cần cung cấp chứng minh không biết, chứng minh rằng kết quả là một lá trong cây Merkle và đã được nút ký.
zkSBT: Hệ thống token liên kết linh hồn có thể kết hợp
Khía cạnh thứ ba của cách thức hoạt động của zkPass nằm ở cấu trúc zkSBT. zkPass tuân thủ tiêu chuẩn ERC998, một tiêu chuẩn NFT có thể kết hợp. tSBT đại diện cho các loại danh tính pháp lý, mạng xã hội và thông tin tài chính, trong khi dSBT bao gồm các chứng chỉ thực tế mà người dùng tuyên bố. Những tuyên bố này có hai loại: tuyên bố chính và tuyên bố truy vấn.
Các yêu cầu chính liên quan đến việc người dùng lấy dữ liệu cá nhân của họ từ nguồn dữ liệu sau khi thực hiện MPC, chẳng hạn như quốc gia/khu vực, tuổi tác, giới tính và thông tin khác từ các trang web của chính phủ. Dựa trên những dữ liệu này, xây dựng cây yêu cầu, mỗi nút đại diện cho giá trị băm của các nút con của nó. Sử dụng chữ ký babyjub để thêm số ngẫu nhiên nhằm ngăn chặn các cuộc tấn công chi tiết, lưu trữ giá trị băm gốc của cây tuyên bố chính trong dSBT, phải được hợp đồng thông minh tạo ra và xác minh tính chính xác của cây bằng chứng không kiến thức.
Trong việc kiểm tra tuyên bố, ví dụ như xác định xem người dùng có lớn hơn 18 tuổi hay không, người dùng chỉ cần cung cấp chứng minh, chứng minh này đại diện cho tuổi của họ nằm trong cấu trúc cây, và giá trị của lá này lớn hơn 18. Người dùng có thể trực tiếp chuyển chứng minh này cho người xác thực, người xác thực có thể thực hiện hàm trên chuỗi để xác minh chứng minh. Điều này đảm bảo rằng dữ liệu cá nhân thực tế của người dùng được giữ kín với tất cả các bên liên quan, chỉ có tuyên bố về việc truy vấn dữ liệu sẽ được tiết lộ theo cách có chọn lọc cho các người xác thực cụ thể.