
Chuyên gia bảo mật Web3 tiết lộ bí mật về zkTLS và các ứng dụng của nó
Tuyển chọn TechFlowTuyển chọn TechFlow

Chuyên gia bảo mật Web3 tiết lộ bí mật về zkTLS và các ứng dụng của nó
zkTLS đại diện không chỉ cho việc nâng cao khả năng sử dụng dữ liệu Web2 trong hệ sinh thái Web3, mà còn là sự chuyển đổi về quyền sở hữu dữ liệu.
Tác giả bài viết: Xavier, Đồng sáng lập@Primus Lab
Tiến sĩ mật mã học, có hơn 10 năm kinh nghiệm nghiên cứu về MPC/ZK/PPML và các lĩnh vực riêng tư khác
Mặc dù công nghệ ZK đại diện bởi zkSNARKs đã đạt được sự phát triển chưa từng có trong ngành blockchain, nhưng vẫn còn cách xa rất nhiều so với kỳ vọng cuối cùng của ngành. Một mặt, zkRollup mang lại một số lợi thế nhất định cho việc đột phá hiệu suất của Ethereum, nhưng khi các ứng dụng trên chuỗi ngày càng khan hiếm, tình trạng cơ sở hạ tầng dư thừa mà thiếu sử dụng vẫn không thể phá vỡ. Mặt khác, bản thân công nghệ zk vẫn chưa ươm tạo ra các ứng dụng zk có giá trị cao —— dù là giao dịch trên chuỗi tập trung vào riêng tư hay thanh toán bảo mật, hay các loại zk + XXX (zkEmail, zkLogin, zkPassport,...), đều vẫn đang trong tình trạng nhu cầu không rõ ràng, hoặc cố gắng "dựa hơi" zk để tô điểm công nghệ, chưa thực sự giải quyết được các điểm đau của ứng dụng.
zkTLS là gì?
Một ví dụ dễ hiểu là, làm thế nào bạn chứng minh với người khác rằng tài khoản ngân hàng của bạn có rất nhiều tiền? Phương pháp truyền thống là yêu cầu ngân hàng cấp giấy chứng nhận tài sản. Loại giấy tờ này có dấu xác nhận của ngân hàng, mang tính xác thực rõ ràng (authenticity).

(Ảnh minh họa từ Internet)
Vậy nếu câu hỏi thay đổi thành: Làm sao để bạn chứng minh điểm tín dụng, mức chi tiêu thương mại điện tử hoặc thời lượng chơi game của mình cho người khác? Chúng ta không thể mong đợi những trang web lưu trữ dữ liệu cá nhân của bạn sẽ đứng ra bảo lãnh riêng lẻ và cung cấp dịch vụ chứng minh liên quan. Hoặc bạn có thể trực tiếp dùng ảnh chụp màn hình để thuyết phục người khác, nhưng quá trình này vẫn bị nghi ngờ là giả mạo, đồng thời tiềm ẩn nguy cơ rò rỉ thông tin nhạy cảm.
zkTLS là một công nghệ xác thực dữ liệu dựa trên giao thức TLS, có thể khách quan cung cấp bằng chứng xác thực cho bất kỳ dữ liệu nào trên Internet.
Sản phẩm công nghệ zkTLS đầu tiên là PageSigner do dự án TLSNotary ra mắt năm 2015, dựa trên trình duyệt Chrome. Từ cái tên này cũng dễ thấy, mục đích ban đầu của TLSNotary chính là tạo ra một công cụ có thể cung cấp bằng chứng xác thực dữ liệu trang web. Thực tế, mãi đến năm 2020, nhóm ChainLink công bố bài báo DECO thì zkTLS mới dần thu hút sự chú ý của ngành, mọi người mới biết rằng còn tồn tại một loại oracle khác có thể lấy được dữ liệu riêng tư bên ngoài chuỗi.
Xét về khách quan, trước năm 2023, công nghệ zkTLS khi kết nối với nhu cầu nghiệp vụ thực tế chỉ dừng ở mức “có thể dùng”, còn cách xa “dễ dùng”, thời gian tạo một bằng chứng đơn lẻ thường mất vài phút. Năm 2023, trước bối cảnh chi phí truyền tải cao khi áp dụng MPC trong công nghệ zkTLS trước đó, reclaim đề xuất công nghệ zkTLS dựa trên mô hình proxy (chế độ đại lý), thông qua zkSNARKs truyền thống và giới thiệu một nút trung gian cần tin tưởng để đạt được khả năng kiểm chứng dữ liệu TLS. Giữa năm 2023, nhóm Primus (trước đây gọi là “PADO”) đã cải thiện hiệu suất tổng thể của công nghệ zkTLS dựa trên MPC lên hơn 10 lần nhờ kỹ thuật garble-then-prove kết hợp với thuật toán quicksilver; đồng thời trong chế độ proxy, bằng cách thay thế zkSNARKs truyền thống bằng thuật toán quicksilver, hiệu suất tổng thể cũng được nâng cao hơn 10 lần. Hiện tại, công nghệ zkTLS của Primus về cơ bản đã đáp ứng được nhu cầu của các kịch bản nghiệp vụ khác nhau về mặt hiệu suất.

Độc giả có thể tham khảo các đánh giá chuẩn hóa liên quan để biết thêm chi tiết về hiệu suất zkTLS
(https://hackmd.io/@-fI_Eu_rR8qs02aOhOPWNg/HkRyz5OF1g)
Phân loại công nghệ zkTLS
Nói chung, zkTLS thực hiện xác minh tính xác thực của dữ liệu trang web, phụ thuộc vào một bên thứ ba Attestor. Attestor giống như một người quan sát, bằng cách "đọc" các tin nhắn yêu cầu và phản hồi trong quá trình thực thi giao thức TLS, để đảm bảo dữ liệu người dùng (từ tin nhắn phản hồi của máy chủ) thực sự đến từ nguồn dữ liệu cụ thể (lưu ý: nguồn dữ liệu ở đây là tên miền máy chủ và API endpoint tương ứng).
Giao thức TLS thường được chia thành hai giai đoạn: bắt tay (handshake) và phiên làm việc (session). Trong giai đoạn bắt tay, client và server thông qua một loạt giao tiếp để cùng tính toán khóa phiên phục vụ cho việc mã hóa trong giai đoạn tiếp theo. Trong giai đoạn phiên làm việc, client gửi tin nhắn yêu cầu tới server, server trả lại tin nhắn phản hồi, tất cả các tin nhắn đều được mã hóa bằng khóa phiên, đảm bảo không bên thứ ba nào có thể đánh cắp.
Dựa trên các thành phần công nghệ cốt lõi khác nhau, zkTLS chủ yếu được chia thành hai loại lớn: dựa trên Tính toán an toàn đa bên (MPC) và dựa trên công nghệ proxy.
Chế độ MPC
Chế độ MPC chủ yếu dựa vào việc sử dụng MPC. Trong giải pháp MPC, Attestor và Client (máy khách) sử dụng giao thức tính toán hai bên (2PC) để mô phỏng phần máy khách trong quá trình bắt tay TLS. Điều này có nghĩa là sau khi hoàn thành giai đoạn bắt tay, client sẽ không trực tiếp nhận được toàn bộ khóa phiên. Chỉ khi Attestor nhận được văn bản phản hồi được mã hóa, nó mới gửi phần chia sẻ khóa đến client, giúp client có thể giải mã toàn bộ văn bản mã hóa.
« Kiến thức nhỏ: MPC tức là Tính toán an toàn đa bên, thường có hai bên tham gia (gọi là 2PC) hoặc ba bên trở lên (gọi là MPC). Dù là 2PC hay MPC, đều yêu cầu các bên tham gia đảm bảo dữ liệu đầu vào tính toán của mình không bị bên khác biết, đồng thời có thể cộng tác hoàn thành một nhiệm vụ tính toán nhất định, ví dụ như nhiều người cùng tính lương trung bình mà không tiết lộ mức lương của bất kỳ ai, hoặc nhiều nhà cung cấp dữ liệu cùng tham gia huấn luyện mô hình AI mà không tiết lộ dữ liệu riêng của mình. »

Các bước trực quan của chế độ MPC như sau:
-
Giai đoạn bắt tay: Client và Attestor chạy giao thức 2PC, cùng tính toán khóa phiên. Trong quá trình này, Client và Attestor chỉ nắm giữ phần chia sẻ của khóa phiên, chứ không phải khóa đầy đủ.
-
Mã hóa yêu cầu: Client và Attestor chạy lại giao thức 2PC để tính toán dữ liệu yêu cầu đã mã hóa.
-
Xử lý phản hồi: Client nhận văn bản phản hồi được mã hóa từ Nguồn dữ liệu và chuyển tiếp cho Attestor.
-
Giải phóng khóa và xác minh: Attestor gửi phần chia sẻ khóa đến Client, giúp Client có được khóa phiên đầy đủ. Client dùng khóa này để giải mã phản hồi và chứng minh với Attestor rằng văn bản mã hóa là hợp lệ và thỏa mãn các thuộc tính bảo mật được thiết lập trong giao thức. Lưu ý rằng, Client và Attestor sẽ không dùng giao thức 2PC để giải mã văn bản phản hồi, việc giải mã do Client tự thực hiện độc lập sau khi có khóa đầy đủ.
Chế độ Proxy
Trong chế độ proxy, Attestor đóng vai trò là trung gian, chuyển tiếp tất cả dữ liệu tương tác TLS giữa Client (máy khách) và Data Source (nguồn dữ liệu) (bao gồm thông tin bắt tay và dữ liệu truyền thông được mã hóa). Khi giao thức TLS kết thúc, Client cần chứng minh tính hợp lệ của văn bản mã hóa với Attestor theo phương pháp kiến thức không (ZK).
Động lực thiết kế của chế độ Proxy là loại bỏ giao thức 2PC trong MPC-TLS vì 2PC là phần tốn kém tính toán nhất, giảm độ phức tạp tính toán để nâng cao hiệu quả thực thi tổng thể của giao thức.

zkTLS mang lại điều gì cho chúng ta?
Giá trị cốt lõi của zkTLS chủ yếu nằm ở khả năng kiểm chứng.
Trước đây, không có phương pháp tốt nào hỗ trợ người dùng cung cấp dữ liệu cá nhân đáng tin cậy dưới điều kiện không cần tin tưởng. Khả năng kiểm chứng này mang tính linh hoạt và thực tiễn rộng rãi, bao gồm:
-
- Không xâm nhập nguồn dữ liệu: Nguồn dữ liệu sẽ không cảm nhận được việc nó đang tương tác với một giao thức zkTLS hoàn toàn mới, mà chỉ tuân theo logic vận hành của giao thức TLS truyền thống. Điều này có nghĩa là về lý thuyết zkTLS có thể kết nối rộng rãi với tất cả các nguồn dữ liệu hoặc dịch vụ API底层 dựa trên giao thức TLS, mặc dù tần suất tương tác bất thường vẫn có thể kích hoạt chiến lược kiểm soát rủi ro ở phía nguồn dữ liệu.
-
- Tính phổ quát: Bất cứ thứ gì nhìn thấy đều có thể chứng minh, về lý thuyết, mọi dữ liệu trang web, dù là công khai hay riêng tư, nhạy cảm hay không nhạy cảm, đều có thể được xác minh bởi Attestor thông qua zkTLS.
-
- Độc lập với chuỗi: zkTLS hoàn toàn là hành vi ngoài chuỗi dựa trên mật mã học, đầu ra giao thức thường là một đoạn dữ liệu đi kèm chữ ký của Attestor, có thể xác minh ngoài chuỗi hoặc đưa lên chuỗi để xác minh trong hợp đồng thông minh.
-
- Thân thiện với quyền riêng tư: Dựa trên đặc tính của bằng chứng kiến thức không, đối với thông tin nhạy cảm cần chia sẻ, zkTLS có thể hỗ trợ tiết lộ tối thiểu. Nói đơn giản, đối với tin nhắn phản hồi do giao thức TLS trả về, có thể tùy chỉnh các điều kiện ràng buộc liên quan đến dữ liệu có thể tính toán (kiểu số), ví dụ như tuổi lớn hơn 18, số dư không thấp hơn 10.000, v.v., và đưa kết quả chứng minh tính toán liên quan vào dữ liệu đầu ra.
Các trường hợp ứng dụng zkTLS
Bạn có thể tự hỏi, những ví dụ sử dụng tiềm năng nào cho việc chia sẻ dữ liệu dựa trên zkTLS? Dưới đây là một số ý tưởng mà chúng tôi cho rằng đáng để khám phá:

-
Vay vốn thế chấp thấp: Thông qua zkTLS cung cấp bằng chứng về điểm tín dụng, số dư ngân hàng, thu nhập và các dữ liệu tài chính khác ngoài chuỗi, cho phép các giao thức cho vay cung cấp hiệu quả sử dụng vốn tốt hơn.
-
Xác thực danh tính ngoài chuỗi: Lấy thông tin KYC người dùng từ các tổ chức truyền thống và sử dụng trong các giao thức tài chính trên chuỗi.
-
Giao dịch P2P: Chúng ta có thể tạo một thị trường hàng hóa kỹ thuật số điểm-điểm. Một mặt, người mua có thể chứng minh việc chuyển quyền sở hữu hàng hóa thông qua công nghệ zkTLS, bao gồm vé điện tử, tên miền, đạo cụ trò chơi, thậm chí tiền pháp định; người bán có thể kiểm soát việc chuyển nhượng token thông qua hợp đồng thông minh.
-
AI Agent: Nhờ zkTLS, chúng ta có thể đảm bảo hành vi của AI Agent hoàn toàn đáng tin cậy. Bao gồm việc xác minh lời nói của các agent có ảnh hưởng trên mạng xã hội, mở khóa robot giao dịch AI và sự tham gia của AI vào quản trị DAO, giảm chi phí tin cậy trong quy trình.
-
Chứng minh người hâm mộ: Ví dụ cho phép người dùng cung cấp bằng chứng về danh tính người hâm mộ và nhận được phần thưởng liên quan từ KOL/nghệ sĩ.
-
Tặng thưởng/thanh toán tài khoản mạng xã hội: Cho phép bất kỳ ai gửi tài sản mã hóa đến một hoặc nhiều tài khoản mạng xã hội mà không cần biết địa chỉ ví của đối phương. Mặt khác, người dùng cần cung cấp bằng chứng tài khoản mạng xã hội liên quan thông qua zkTLS để nhận token thuộc về mình.
-
Đăng nhập mạng xã hội: Xác minh quyền sở hữu tài khoản nền tảng mạng xã hội của người dùng thông qua zkTLS, phát triển cơ chế đăng nhập hoàn toàn mới. Người dùng có thể dùng tài khoản của bất kỳ nhà cung cấp dịch vụ web nào để đăng nhập, không cần phụ thuộc vào tài khoản Google hay Meta cụ thể.
Mô hình mới cho xác minh và tính toán dữ liệu có giá trị
zkTLS đại diện không chỉ là sự cải thiện khả năng sử dụng dữ liệu Web2 trong hệ sinh thái Web3, mà còn là sự chuyển đổi quyền sở hữu dữ liệu. Những dữ liệu trước đây bị hạn chế bởi nền tảng nay có thể tự do lưu chuyển, được bảo vệ riêng tư và có tính lập trình. Sự tiến hóa này khiến người dùng không còn là người tiếp nhận thụ động, mà trở thành người kiểm soát thực sự của dữ liệu.
Khi việc áp dụng zkTLS gia tăng tốc độ, chúng ta sẽ chứng kiến hiệu ứng tổ hợp từ khả năng kiểm chứng dữ liệu —— nhiều dữ liệu có thể kiểm chứng hơn sẽ hỗ trợ các ứng dụng mạnh mẽ hơn. Mặt khác, việc truyền tải giá trị của các dữ liệu có thể kiểm chứng này giữa các ứng dụng sẽ đặt ra một vấn đề mới: làm thế nào để tính toán các dữ liệu then chốt này và đảm bảo tính đúng đắn của kết quả tính toán.
Thực tế, việc tính toán dữ liệu nhạy cảm trên chuỗi thường dựa vào các công nghệ mật mã phức tạp hơn như Mã hóa đồng dạng toàn phần (FHE). Primus đã tái thiết kế thuật toán FHE kết hợp với bằng chứng kiến thức không, đề xuất giao thức zkFHE (Mã hóa đồng dạng toàn phần có thể kiểm chứng), hỗ trợ tính toán bí mật dữ liệu trên chuỗi không cần tin tưởng, đang mở rộng công nghệ xác minh dữ liệu xuyên suốt các không gian mạng khác nhau như zkTLS sang lĩnh vực tính toán dữ liệu, tạo ra khả năng cho nhiều ứng dụng đổi mới hơn.
Thông báo miễn trừ trách nhiệm:
Bài viết này do Xavier của nhóm Primus soạn thảo, một phần nội dung liên quan đến lợi ích, độc giả vui lòng tự đánh giá.
Chào mừng tham gia cộng đồng chính thức TechFlow
Nhóm Telegram:https://t.me/TechFlowDaily
Tài khoản Twitter chính thức:https://x.com/TechFlowPost
Tài khoản Twitter tiếng Anh:https://x.com/BlockFlow_News














