Zero-knowledge Proofs: Món quà công nghệ may mắn của Web3

Kết hợp cùng các Layer 1 và mạng lưới oracle phi tập trung, Zero-knowledge Proofs đang góp phần vào sự chuyển mình to lớn của ngành công nghiệp blockchain, cho phép các dự án xây dựng những Dapp tiên tiến, vừa có khả năng mở rộng cao, vừa tiết kiệm chi phí nhưng vẫn bảo vệ quyền riêng tư của người dùng.
Trong bài viết này, chúng ta sẽ tìm hiểu qua Zero-knowledge Proofs là gì? cũng như Vai trò của nó đối với công cuộc tiến đến cái gọi là Web 3.0
Tản mạn
Sau hàng loạt những kỳ vọng và thất vọng do đổi mới mà Web 2.0 mang lại, chúng ta giờ đây chuyển dần bận tâm hơn bao giờ hết vào ba yếu tố, bao gồm bảo mật, riêng tư và quyền sở hữu về dữ liệu.
Một trong những tính năng lớn nhất đang phát triển nhanh chóng của Web 3.0 là người tham gia vào nó toàn quyền sở hữu về nội dung, dữ liệu và tài sản của chính họ, điều này đảm bảo hiệu quả về quyền riêng tư và bảo mật, từ đó tạo dựng cho mọi người niềm tin mới vào sự phát triển của Internet.
Tiếp nối sau đó là Zero-knowledge proof (ZKP), hay còn gọi là “Bằng chứng không cần tiết lộ thông tin”, được hiểu như một loại công nghệ cho phép chúng ta chứng minh việc mình thật sự có hiểu biết về một kiến thức nào đó mà không cần phải tiết lộ bất kỳ một mảnh thông tin liên quan nào. Vậy ZKP sẽ đóng vai trò gì ở đây, và liệu nó có thực sự đủ để biến điều không tưởng này của kỹ thuật số trở thành hiện thực?
Từ Web1 cho đến Web3
Web1.0 là kỷ nguyên phổ biến thông tin theo kiểu point-to-point (PPP). Khái quát, thông tin được tạo ra bởi một thực thể và được lưu trữ trên một máy chủ cục bộ cho phép người đọc thực hiện tương tác một chiều dưới dạng các trang web khác nhau, chẳng hạn một số trang web cổng thông tin thuở sơ khai như MySpace, LiveJournal, Sina, hay Sohu, v.v.
Web2.0 là một kỷ nguyên mới hơn so với Web1.0. Người dùng được tham gia vào quá trình sản xuất nội dung. Nhìn tại bề nổi, trông nó có vẻ giống dạng tương tác PPP, nhưng dữ liệu thì được lưu trữ trong một máy chủ tập trung, dưới dạng các ứng dụng khác nhau, chẳng hạn như Facebook, Reddit hay Google, hiện đang là những phương tiện truyền thông xã hội rất phổ biến trên toàn cầu.
Web3.0 tích hợp ưu điểm của 1.0 (sở hữu dữ liệu) và 2.0 (tương tác), nhưng điểm khác biệt lớn nhất là người dùng có toàn quyền kiểm soát và sở hữu dữ liệu, dữ liệu không còn được lưu trữ trong máy chủ tập trung nữa mà được phân phối lưu trữ trong từng node mà tham gia vào quản lý mạng lưới, và có thể điểm qua một số Dapp trong ngành công nghiệp blockchain, chẳng hạn như Metamask, Uniswap, v.v.
Về cơ bản, Web 3.0 là mạng internet phi tập trung, mà tại đó:
1. Bất kỳ ai cũng có thể tham gia (không cần sự cấp phép và kiểm duyệt – permissionless)
2. Không ai có thể kiểm soát dữ liệu của người dùng, ngoại trừ chính họ (lưu trữ phân tán – decentralized)
3. Không cần phải tin tưởng bất cứ ai (loại bỏ yếu tố niềm tin – trustless)
Các yêu cầu của Web3 đòi hỏi những công nghệ mới tối thiểu phải đảm bảo được cả tính bảo mật lẫn quyền riêng tư; may mắn thay, Zero-knowledge proofs (ZKP) đã được tìm thấy.
Loại công nghệ “Bằng chứng không cần tiết lộ thông tin” này cho phép người dùng chia sẻ thông tin một cách riêng tư với mạng lưới phi tập trung, đảm bảo rằng dữ liệu mà người dùng nhận được từ mạng là đúng sự thật mà không cần tin tưởng vào bên thứ ba khi cân nhắc đến cả quyền riêng tư lẫn yếu tố bảo mật. Nó đã trở thành công nghệ cốt lõi nhằm phá vỡ những rào cản về đảm bảo bảo mật Web3.
Đơn giản, Zero-knowledge Proofs là gì?
Zero-knowledge Proofs vốn dĩ không mới, chúng đã xuất hiện từ thời Phục hưng vào thế kỷ 16. Ý tưởng này đề cập đến khả năng người chứng minh (prover) thuyết phục người xác minh (verifier) rằng một khẳng định nào đó là đúng mà không cần cung cấp cho họ bất kỳ thông tin có giá trị nào.
ZKP về bản chất là một giao thức liên quan đến hai hoặc nhiều bên, và bao gồm một loạt các bước mà hai hoặc nhiều bên này cần thực hiện để hoàn thành nhiệm vụ cụ thể.
Prover tại đó có khả năng chứng minh và thuyết phục verifier rằng họ biết hoặc sở hữu một điều gì đó, nhưng không tiết lộ bất kỳ thông tin nào về điều này trong suốt quá trình chứng minh.
Nói tóm lại, ZKP là loại bằng chứng đầy đủ và toàn vẹn để minh chứng quyền sở hữu hợp pháp của ai đó mà không cần tiết lộ bất cứ một thông tin nào – tức lượng “knowledge” bị rò rỉ ra bên ngoài bằng “zero”.
Cách hoạt động của ZKP
Để dễ hiểu, chúng ta hãy lấy một ví dụ đơn giản.
Đặt vấn đề: Giả sử A cần chứng minh với B rằng anh ta sở hữu chìa khóa của một căn phòng và căn phòng chỉ có thể được mở bằng chiếc chìa khóa này và không thể mở bằng bất kỳ cách nào khác. Câu hỏi đặt ra là cách nào trong hai cách sau đây thuộc ứng dụng của ZKP?
Phương án 1: A đưa chìa khóa cho B, sau đó B sử dụng chìa khóa này để mở căn phòng, từ đó chứng minh rằng A sở hữu đúng chiếc chìa của căn phòng.
Phương án 2: B xác định rằng có một đồ vật cụ thể đang ở trong phòng, A dùng chìa khóa mở cửa phòng rồi lấy đồ vật ra đưa cho B xem, như vậy cũng chứng tỏ A sở hữu đúng chìa khóa của căn phòng.
Bằng hai cách, A có thể chứng minh với B rằng anh ta sở hữu chìa khóa phòng, nhưng ở giải pháp thứ nhất, B tiếp nhận được thông tin về chiếc chìa khóa của A trong quá trình trao đổi.
Với ZKP, prover vốn không cần phải cung cấp cho verifier bất kỳ thông tin hữu ích nào cả, nhưng verifier vẫn được thuyết phục rằng sự khẳng định đó là chính xác. Giải pháp đầu tiên đã làm tiết lộ thông tin, vì vậy giải pháp này bị loại trừ.
Với giải pháp thứ 2, A làm cho B thấy thuyết phục rằng anh ta thật sự sở hữu chìa khóa căn phòng mà không tiết lộ bất kỳ thông tin liên quan nào đến chiếc chìa này, vì vậy đáp án cần tìm là phương án 2.
Các đặc tính của ZKP
Để tình huống ứng dụng trên được thành công, cần phải đáp ứng được một số quy tắc nhất định sau:
1. Tính đúng đắn (Soundness): A không thể lừa được B. Nếu xảy ra tình huống đồ vật A lấy ra không phải là từ trong phòng, thì B có thể phát hiện ra được, tức là đảm bảo xác suất A thành công lừa được B phải rất thấp.
2. Tính đầy đủ (Completeness): B không thể lừa được A. Nếu đồ vật A lấy ra chính xác từ trong phòng, B vốn dĩ hoàn toàn không thể lừa được A, và A có lợi thế tuyệt đối để đảm bảo rằng B sẽ phải tin rằng A có thể chứng minh điều đó.
3. Không cần tiết lộ thông tin (Zero-knowledge): Tính đúng đắn và đầy đủ là những đặc tính cơ bản cần phải có đối với loại giao thức kỹ thuật nhằm tối thiểu hóa nguy cơ rò rỉ dữ liệu theo kiểu này. Nếu thiếu hai tính chất trên, bài toán sẽ không được giải quyết và ZKP về thực tế sẽ không tồn tại. Trong trường hợp không có bất kỳ thông tin nào được tiết lộ mà việc kiểm chứng vẫn được hoàn thành thì khi đó được gọi là ZKP.
Kết luận
Quyền riêng tư và tính bảo mật vẫn sẽ là mục tiêu cuối cùng của kỷ nguyên kỹ thuật số này. Trong bối cảnh công nghệ blockchain và ứng dụng của nó dần trở thành xu hướng chủ đạo, việc áp dụng ZKP có thể là một liên minh lý tưởng nhằm đảm bảo tuyệt đối hai yếu tố này cho người dùng, từ dữ liệu cá nhân cho đến các giao dịch của họ.
Phạm vi của ZKP rất đa dạng và rộng khắp, vì thế, khi được ứng dụng phù hợp, câu hỏi đặt ra sẽ là “Khi nào” thay vì “Liệu” chúng có thể làm trơn tru quá trình chuyển đổi sang Web3 một cách thân thiện với người dùng.
BlockSolFi tổng hợp
Tham gia bàn luận ngay cùng BlockSolFi tại Telegram và Facebook.
Đọc thêm:
Web 3.0 là gì? Đây là tất cả những gì bạn cần biết về web 3.0