Sau hàng loạt kỳ vọng và thất vọng do những đổi mới mà Web 2.0 mang lại, chúng ta giờ đây chuyển sự quan tâm nhiều hơn bao giờ hết vào yếu tố bảo mật, quyền 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ó có 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 tính hiệu quả về quyền riêng tư và bảo mật cho người tham gia và 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) – Bằng chứng không kiến thức, được hiểu là loại một giao thức cho phép chúng ta chứng minh chúng ta biết một kiến thức nào đó nhưng không tiết lộ cho người khác biết kiến thức đó là như thế 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 của kỹ thuật số này thành hiện thực?
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à 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:
1. Bất kỳ ai cũng có thể tham gia (không cần sự cho phép và kiểm duyệt)
2. Không ai có thể kiểm soát dữ liệu của người dùng, ngoại trừ chính người dùng (lưu trữ phân tán)
3. Không cần phải tin tưởng bất cứ ai (loại bỏ yếu tố niềm tin)
Các yêu cầu của Web3 về tính bảo mật lẫn quyền riêng tư đòi hỏi những công nghệ mới phải đạt được; 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 kiến thức" 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 phi tập trung và đả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.
Để dễ hiểu, chúng ta hãy lấy một ví dụ đơn giả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 chỉ vị trí chìa khóa cho B, và B sử dụng chìa khóa để mở căn phòng, do đó chứng minh rằng A có đúng chìa khóa của căn phòng.
Phương án 2: B xác định rằng có đồ vật 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 chứng tỏ A có chìa khóa 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, người đi chứng minh không cần phải cung cấp cho người xác minh bất kỳ thông tin hữu ích nào cả, tuy nhiên người xác minh 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 đầu tiên bị loại trừ; và giải pháp thứ hai, A làm cho B thấy thuyết phục rằng anh ta 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 khóa, vì vậy câu trả lời là phương án hai.
Để tình huống ứng dụng trên được thành công, bạn phải đáp ứng được một số quy tắc nhất định:
1. 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 mà B xác định, tức là xác suất A thành công lừa được B là rất thấp. Quy tắc này được gọi là Tính đúng đắn;
2. 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 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 đó. Chúng tôi gọi quy tắc này là Tính đầy đủ;
3. Tính đúng đắn và đầy đủ là các đặc tính mà các ZKP phải có trong giao thức kỷ thuật tối thiểu hóa rò rỉ dữ liệu. Hai điều này là không thể thiếu, nếu không bài toán này sẽ không thể được giải quyết và các ZKP 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ộ, việc kiểm chứng được hoàn thành khi đó được gọi là ZKP.
Các đặc tính nội tại của ZKP
Điện toán bảo mật – Privacy computing
ZKP có thể đáp ứng quyền riêng tư của dữ liệu và có thể giải quyết việc rò rỉ thông tin địa chỉ và hạn ngạch tài sản mà gây ra bởi yếu tố minh bạch trong các mạng blockchain phổ biến. Ví dụ: trong các giao dịch blockchain, nếu bạn cần chứng minh rằng bạn sở hữu một tài sản, nhưng đồng thời không muốn tiết lộ bất kỳ thông tin nào về tài sản đó, thì bạn cần sử dụng các ZKP.
Điện toán bảo mật là một lĩnh vực ứng dụng quan trọng của ZKP. Nếu bạn muốn bảo vệ quyền riêng tư, bạn có thể mã hóa dữ liệu trên chuỗi thông qua giải pháp mật mã học, nhờ vậy sẽ không xuất hiện mối tương quan giữa các giao dịch khác nhau trên chuỗi. Các ZKP có thể xác minh các tính toán mà không tiết lộ bất kỳ thông tin nào về dữ liệu đầu vào cũng như các tính toán của nó, điều này đảm bảo quyền riêng tư và bảo mật của dữ liệu trên chuỗi.
Một khía cạnh quan trọng của Web 3.0 là bản thân người dùng thực sự sở hữu danh tính và quyền sở hữu dữ liệu của họ. Tuy nhiên, tất cả thông tin trên blockchain hiện tại đều được công khai và mọi người có thể dễ dàng lấy được thông tin của người dùng thông qua một số phương tiện (tất nhiên, bản thân đây cũng là một tính năng của sự đồng thuận mạng lưới blockchain). Mặc dù người dùng blockchain chưa có nhận thức rộng rãi và mạnh mẽ về quyền riêng tư, nhưng với sự phát triển hiện hữu, nhu cầu này phải cấp bách và lâu dài hơn trong tương lai. Vì vậy, để hiện thực hóa tầm nhìn của Web3.0, người dùng phải có quyền riêng tư trên chuỗi của riêng họ. Vì vậy, có thể nói, quyền riêng tư không nhất thiết phải là một bắt buộc, nhưng nó phải là một lựa chọn.
Khả năng mở rộng
Nếu thời gian xác minh để tạo ra một khối mới trong các nền tảng blockchain thường được sử dụng hiện nay là rất lâu, nó có thể được thay đổi trực tiếp cho một cá nhân (node) để xác minh. Mỗi người tham gia dành nhiều thời gian để xác minh trực tiếp.
Điều này liên quan đến chi phí của sự đồng thuận. Từ quan điểm kinh tế, lý do cho chi phí giao dịch cao của các mạng blockchain như Ethereum và Bitcoin là sự đồng thuận phải đắt, và sự đồng thuận rẻ là không đáng tin cậy ở một mức độ nhất định. Chi phí chủ yếu đến từ thực tế là blockchain yêu cầu những tính toán lặp đi lại lại của một số thiết bị để đạt được sự đồng thuận. Ví dụ, trong cơ chế đồng thuận POW, hiệu suất của 1.000 máy thực hiện công việc tính toán lặp đi lặp lại không lớn hơn của một máy tính, nhưng chi phí cần thiết lại gấp 1.000 lần so với một máy tính. Đây là chi phí mà tất cả các giao thức đồng thuận chính thống, cho dù là POW hay POS, đều phải trả để đảm bảo sự đồng thuận được phi tập trung. Vì thế, nó được xem như chiếc gông nặng nề của bộ ba bất khả thi.
Kết hợp ZKP và tính đồng thuận của blockchain, có thể chỉ sử dụng một thiết bị để hoàn thành việc tính toán lặp lại của 1.000 thiết bị, do đó giảm đáng kể chi phí của mạng lưới. ZKP, thông qua việc sử dụng mật mã học, cho phép các thiết bị khác xác minh độ tin cậy của phép tính từ thiết bị, thay vì trực tiếp tham gia vào quá trình của các phép tính lặp lại này. Ngoài ra, trên các mạng blockchain đắt tiền, việc xác minh tính đúng đắn của một phép tính lại rẻ hơn nhiều so với việc tham gia vào chu trình tái tính toán.
Do đó, blockchain vẫn chịu trách nhiệm về sự đồng thuận và tính bảo mật của mạng lưới, trong khi việc tính toán có thể được thực hiện off-chain bằng ZKP, điều này sẽ giúp cải thiện khả năng mở rộng của blockchain.
Ứng dụng của ZKP
Ứng dụng của Zero-Knowledge Proof trong Web3 có thể bảo vệ quyền riêng tư của dữ liệu trong các lĩnh vực khác nhau:
1. Tài chính: Ví dụ, người nộp đơn vay thế chấp có thể chứng minh rằng thu nhập của họ nằm trong phạm vi chấp nhận được mà không cần tiết lộ mức lương chính xác của họ.
2. Bỏ phiếu trực tuyến: ZKP cho phép cử tri bỏ phiếu ẩn danh và xác minh rằng lá phiếu của họ hợp lệ để bao gồm trong cuộc kiểm phiếu cuối cùng.
3. Xác thực: ZKP có thể được sử dụng để xác thực người dùng mà không cần trao đổi thông tin bí mật như mật khẩu. Polygan ID trên Ethereum là một cơ chế xác minh sử dụng ZKP, không chỉ giúp người dùng bảo vệ quyền riêng tư của họ trên nền tảng Web3 dựa trên blockchain mà còn đáp ứng các yêu cầu quy định về xác minh KYC, người dùng có thể tự do lựa chọn khi nào và dữ liệu nào được chia sẻ.
4. Machine learning – Học máy: Các ZKP cho phép chủ sở hữu của thuật toán học máy trong việc thuyết phục người khác về kết quả của mô hình mà không tiết lộ bất kỳ thông tin nào về chính mô hình đó.
5. Blockchain: Các blockchain như Bitcoin hay Ethereum có thể đảm bảo tính minh bạch của dữ liệu on-chain bằng cách cho phép mọi người đều có thể xác minh các giao dịch trên chuỗi. Điều này có nghĩa là những người tham gia có ít quyền riêng tư, dẫn đến sự bất cân xứng về dữ liệu. Tại đó, các ZKP có thể đóng vai trò giúp bảo vệ quyền riêng tư của những người tham gia blockchain.
Zero-knowledge proof có vô số ý tưởng về mặt ứng dụng trong lĩnh vực blockchain:
1. Mở rộng quy mô cho Layer 2: yếu tố điện toán có thể kiểm chứng được (verifiable computing) của ZKP cho phép L1 tận dụng nguồn lực bên ngoài (outsourcing) để xử lý giao dịch cho các hệ thống hiệu suất cao ngoài chuỗi (còn được gọi là Layer 2). Điều này cho phép blockchain mở rộng quy mô mà không ảnh hưởng đến bảo mật. Ví dụ, StarkWare đang xây dựng StarkNet, một nền tảng hợp đồng thông minh có thể mở rộng, sử dụng các máy ảo chuyên dụng mà thực thi các code thân thiện với ZKP. Aztec cũng cho phép các Layer 2 của họ vận hành một cách riêng tư mà không tiết lộ bất kỳ thông tin nào về các giao dịch của người dùng.
2. Quyền riêng tư trong Layer 1: Các chuỗi công khai L1 như Aleo, Mina và Zcash cho phép những người tham gia giao dịch ẩn danh tính của người gửi, người nhận hoặc số tiền bằng cách sử dụng ZKP (Aleo sử dụng ZKP theo mặc định, trong khi với Mina và Zcash là tùy chọn).
3. Lưu trữ phi tập trung: Filecoin sử dụng các ZKP (chạy trên GPU) để chứng minh rằng các node trong mạng đang lưu trữ dữ liệu một cách chính xác.
4. Nén dữ liệu blockchain: Mina và Celo sử dụng các ZKP để nén những dữ liệu blokchain cần thiết để đồng bộ hóa với trạng thái cập nhật mới nhất trên chuỗi thành một bằng chứng nhỏ gọn, ít cồng kềnh.
Thách thức của ZKP
Zero-knowledge proofs đã được chứng minh là có tiềm năng to lớn trong tương lai, tuy nhiên vẫn còn nhiều vấn đề chưa được giải quyết trước khi nó được ứng dụng rộng rãi hơn.
Theo khía cạnh toán học, các ZKP không phải là các bằng chứng đúng, bởi vì xác suất người chứng minh nói dối và không được người xác minh công nhận là gần bằng 0 (tiến về giá trị 0 trong vô cùng) chứ không bao giờ bằng 0. Miễn là nó không phải là 0, thì nó không phải là một ZKP có tính logic, vì vậy một chứng minh không có tri thức không được đảm bảo là hợp lệ 100%.
Về khía cạnh phần cứng hardware, hiện tại không có phần cứng hoặc phần mềm nào dành riêng cho zero-knowledge proof trên thị trường. Các ZKP đòi hỏi sự tương tác liên tục giữa người chứng minh và người xác minh, và do đó đòi hỏi nhiều sức mạnh về mặt tính toán, khiến cho các ZKP không phù hợp để sử dụng trên các thiết bị di động hoặc thiết bị vận hành chậm chạp.
Khi thế giới Web3 tiếp tục phát triển, nhu cầu của người dùng đối với tính hiệu suất, quyền riêng tư cũng như các ứng dụng và giao thức mới sẽ tăng lên, các ZKP khi đó sẽ ngày càng đóng một vai trò quan trọng. Mặc dù ZKP hiện tại vẫn còn nhiều hạn chế, việc khám phá ZKP sẽ ngày càng chuyên sâu hơn và bản thân công nghệ này dựa vào vai trò vượt trội về hiệu suất trong tính toán quyền riêng tư, cùng khả năng mở rộng L2 và bảo vệ an ninh, v.v, trở thành lá bùa hộ mệnh và tạo ảnh hưởng to lớn đến thế giới Web3.