​ZKP có phải là cách duy nhất để bảo mật chuỗi chéo?

Phương pháp chuỗi chéo ZKP là một giải pháp an toàn nhất trong việc giải quyết vấn đề xác thực thông tin mà không cần tiết lộ dữ liệu gốc. Tuy nhiên, giải pháp ZKP rất phức tạp về mặt công nghệ và yêu cầu ngưỡng đầu vào khá cao.
​ZKP có phải là cách duy nhất để bảo mật chuỗi chéo?
avata
Cryptoday
19/04/2023
07:47
Cryptoday trênGoogle News

Với sự ra mắt của nhiều dự án như Multichain, Succinct và Celer từ năm 2022, việc xây dựng mạng thử nghiệm ZKP (Zero Knowledge Proof) cho chuỗi chéo (cross-chain) đã trở thành một chủ đề nóng trong lĩnh vực blockchain. Chuỗi chéo ZKP là một dạng xác thực gốc (native verification), cho phép xác thực sự đồng thuận từ các chuỗi gốc mà không cần tin tưởng vào bên thứ ba, giúp xây dựng hệ sinh thái đa chuỗi an toàn nhất cho ứng dụng phi tập trung (DApp).

ZKP có chuỗi xác thực nào?

Các giao thức có thể hoạt động trên chuỗi chéo thường được chia thành ba loại về phương thức xác thực, bao gồm xác thực bên ngoài, xác thực gốc, và xác thực cục bộ. Cả ba loại giao thức này đều có nhược điểm riêng, đồng thời khó khăn trong việc cân bằng giữa tính không tin cậy, khả năng mở rộng, và tính thông dụng.

Xác thực bên ngoài 

Xác thực bên ngoài đề cập đến việc giới thiệu một nhóm nút bên ngoài đáng tin cậy để chịu trách nhiệm xác thực các tin nhắn chuỗi chéo. Điều kiện tiên quyết là người dùng phải tin tưởng vào mạng chuyển tiếp được hình thành bởi nhóm nút bên ngoài này. Các giải pháp chuỗi chéo dựa trên MPC, hệ thống Oracle, PoS/PoA, đa chữ ký và TEE đều thuộc vào loại này. 

Giao thức khả năng tương tác xuyên chuỗi với xác thực bên ngoài xây dựng trên cơ sở tin tưởng vào các nút trung gian hoặc bộ dự đoán bên thứ ba, không thể đạt được tính không tin cậy trong việc truyền thông chuỗi chéo, tuy nhiên, các bên trung gian và bộ dự đoán cũng khó có thể tin tưởng hoàn toàn trong một số trường hợp. Loại sơ đồ triển khai chuỗi chéo này là xu hướng chủ đạo trên thị trường hiện tại, bao gồm các dự án nổi tiếng như Multichain, Wormhole, Axelar, LayerZero,...

Xác thực cục bộ

Xác thực cục bộ còn được gọi là xác thực P2P, đề cập đến hoạt động trao đổi trong giao dịch xác thực trực tiếp, với yếu tố cốt lõi là trao đổi nguyên tử dựa trên khóa thời gian băm. Trong quá trình giao dịch, cả hai bên tham gia đều xác thực hành vi của đối phương một cách độc lập, chỉ cần một bên có hành vi xấu, cả hai bên đều chịu thiệt hại, vì vậy lợi ích của họ là nhất quán. Trong thực tế, để kết nối các giao dịch, thường sẽ có một nhà cung cấp thanh khoản đóng vai trò là đối tác giao dịch. Connext và Hop có thể được xem là các dự án điển hình trong danh mục này. Tuy nhiên, loại giải pháp này chỉ phù hợp với chuỗi chéo tài sản, không phù hợp cho chuỗi chéo thông điệp chung và tính linh hoạt của nó yếu.

Xác thực gốc

Xác thực gốc là quá trình triển khai các nút nhẹ của chuỗi nguồn trên chuỗi đích và việc xác thực các thông điệp từ chuỗi nguồn được thực hiện bởi các nút nhẹ (light node) của chuỗi đích. xác thực gốc không đặt giả định về tính tin cậy, lý thuyết cho rằng người dùng chỉ cần tin tưởng vào sự đồng thuận của chuỗi nguồn và chuỗi đích, đồng thời đảm bảo chuỗi nguồn và chuỗi đích không bị quay ngược (các light node trên chuỗi thường đặt một lượng dự phòng khối nhất định để ngăn chặn sự quay ngược của chuỗi nguồn và chuỗi đích). Các dự án điển hình để xác thực gốc bao gồm Rainbow Bridge và các giải pháp chuỗi chéo dựa trên ZK trong hai năm qua cũng thuộc loại này. Các dự án chuỗi chéo ZKP điển hình bao gồm zkRouter, Succinct Labs, Nil;Foundation, v.v.

Sự phát triển của hệ sinh thái đa chuỗi đã tạo ra nhu cầu về tính năng chuỗi chéo. Nhiều dự án chuỗi chéo xuất sắc như Multichain (anyCall), Layerzero, Wormhole, đã được ra đời, những dự án này tập trung nhiều hơn vào tính linh hoạt và khả năng mở rộng, đồng thời yêu cầu một mạng chuyển tiếp đáng tin cậy.

Tuy nhiên, từ năm 2021 đến năm 2022, các dự án chuỗi chéo như Ronin Network, Horizon, BNB Chain, Wormhole, Nomad đã gặp phải các cuộc tấn công của hacker gây ra sự mất mát lớn về tài sản. Người dùng trong hệ sinh thái đa chuỗi và những người tham gia đường đua chuỗi chéo nhận thấy, mặc dù tính năng mở rộng của chuỗi chéo không tin cậy yếu, tính năng không tin cậy của nó lại là lựa chọn an toàn hơn cho người dùng. Do đó, xác thực gốc đã trở thành con đường tốt nhất để đạt được tính năng không tin cậy trong chuỗi chéo.

Tuy nhiên, trong nghĩa thông thường, giao thức gốc chuỗi chéo cần tiêu tốn nhiều Gas để xác thực sự đồng thuận của chuỗi nguồn trên chuỗi mục tiêu, vì chuỗi mục tiêu cần phải có một lượng lớn dữ liệu từ chuỗi nguồn để tạo ra thông tin về sự đồng thuận. Sử dụng ZKP để xác thực gốc, thông qua việc tạo các bằng chứng ZKP ngắn gọn, giúp ứng dụng khách light chain của chuỗi mục tiêu chỉ cần lấy ZKP để xác thực giao dịch của chuỗi mục tiêu, do đó việc sử dụng ZKP để xây dựng phương thức xác thực gốc cho ứng dụng khách light chain trở thành một giải pháp tốt hơn.

ZKP hiện thực hóa chuỗi chéo không tin cậy thông qua truyền dẫn đồng thuận

Polkadot và Cosmos cũng như các hệ sinh thái chuỗi công cộng khác đều có sẵn hỗ trợ đồng thuận chéo chuỗi trong hệ sinh thái của mình. Tuy nhiên, đối với các chuỗi công cộng không cùng hệ sinh thái, chẳng hạn như Ethereum, Solana và các chuỗi không đồng nhất khác, không thể tận dụng được lợi thế đồng thuận chéo của chúng. Các cầu nối đồng thuận chéo của bên thứ ba phổ biến như Multichain, Layerzero, Wormhole đều cần dựa trên mạng trung gian đáng tin cậy. Trong khi đó, các giải pháp đồng thuận chéo dựa trên ZKP không cần dựa trên tin cậy bên thứ ba, mà trực tiếp chuyển giao chứng thực ZKP của chuỗi nguồn đến chuỗi đích, và chuỗi đích chỉ cần xác thực chứng thực đồng thuận của chuỗi nguồn để đạt được đồng thuận chéo.

Tuy nhiên, các nguyên tắc và cách thức sinh đồng thuận của các chuỗi khác nhau rất đa dạng, và dữ liệu cần thiết cho việc xác thực đồng thuận cũng khác nhau. Điểm khó khăn của đồng thuận chéo dựa trên ZKP là làm thế nào để sinh chứng thực ZKP của chuỗi nguồn.

Quá trình sinh đồng thuận của các chuỗi công cộng khác nhau cũng rất khác nhau, và quá trình sinh ZKP cũng khác nhau. Ví dụ, Ethereum đã thiết kế một cơ chế phức tạp để chọn lọc các nhà xác thực để sinh đồng thuận. Ethereum đã thêm một tính năng quan trọng trong bản nâng cấp Altair, đó là ủy ban đồng bộ (sync committee) được thiết kế đặc biệt để hỗ trợ đồng bộ hóa trạng thái khối nhẹ (light client). Ethereum sử dụng thuật toán RANDAO để ngẫu nhiên chọn 512 nhà xác thực để tạo thành ủy ban đồng bộ, thông tin của ủy ban đồng bộ được lưu trữ bởi một khối trong mỗi chu kỳ đồng thuận. Sau đó, các nhà xác thực trong ủy ban đồng bộ sẽ tiến hành đồng thuận và ký vào chứng thực ZKP của chuỗi nguồn.

Solana, một chuỗi công cộng khác, sử dụng cơ chế đồng thuận Proof of History (PoH) để sinh chứng thực ZKP. PoH là một chuỗi thời gian công khai được sử dụng để đồng bộ hóa thời gian giữa các nhà xác thực. Mỗi giao dịch trên Solana được đánh dấu bởi một dấu thời gian trong PoH, cho phép các nhà xác thực xác định thời gian chính xác của mỗi giao dịch. Điều này giúp đơn giản hóa quá trình sinh chứng thực ZKP và đồng thuận chéo giữa Solana và các chuỗi khác.

Các dự án chuỗi chéo ZKP có gì nổi bật?

zkRouter (Đa chuỗi)

zkRouter là dự án liên chuỗi ZKP được phát triển bởi Multichain. Theo sách trắng của dự án, tầm nhìn của nó là phát triển zkRouter thành một phần của MBI (Giao thức khả năng tương tác đa chuỗi) và phục vụ giao thức tương tác đa chuỗi như một cơ chế tin cậy cơ bản. 

Đánh giá từ thông tin công khai hiện tại, cầu nối chuỗi chéo zkRouter giữa mạng thử nghiệm Goerli và mạng thử nghiệm Fantom sẽ được ra mắt trong tương lai gần. Giao thức zkRouter chủ yếu bao gồm bốn bước: cài đặt ban đầu, tạo bằng chứng đồng thuận, xác thực bằng chứng đồng thuận và gọi hợp đồng có thể tương tác. 

ZKP
Tương tác đa chuỗi trong ZKP

Cài đặt ban đầu (Setup)

Để ứng dụng khách light chain trên chuỗi đích có thể xác thực bằng chứng ZKP từ chuỗi nguồn, phải có trạng thái đồng thuận của khối chuỗi nguồn trước đó. Trạng thái đồng thuận của chuỗi khối là liên tục, có nghĩa là kết quả đồng thuận của khối hiện tại phụ thuộc vào kết quả đồng thuận của khối trước đó. Do đó, ứng dụng khách light chain chuỗi đích, trước hết phải lấy được trạng thái đồng thuận hiện tại của chuỗi nguồn, sau đó mới có thể xác thực tính đúng đắn của chứng minh từ các khối tiếp theo.

Ứng dụng khách light chain trên chuỗi đích cần có dữ liệu ban đầu (initial_data) khi bắt đầu, bao gồm chiều cao khối ban đầu, hàm băm tiêu đề khối, v.v. Cài đặt ban đầu chỉ cần được thiết lập một lần và dữ liệu sẽ được tự động cập nhật khi có hoạt động chuỗi chéo xảy ra sau đó.

Tạo bằng chứng đồng thuận (Proof Gen)

Bước này diễn ra trong quá trình chuỗi chéo cụ thể. Khi chuỗi nguồn tạo ra một khối mới, chuỗi đích cần đồng bộ hóa thông tin mới, bao gồm trạng thái của khối trước đó, lựa chọn của nút tạo khối, tính hợp lệ chữ ký của nút, v.v. Đối với các cơ chế đồng thuận không tức thời, cần thiết lập một số khối dư thừa để tránh mất mát do phân nhánh. Sau đó, người trung gian sẽ tính toán và tạo ra ZKP chuỗi dưới định dạng ngoài chuỗi (off-chain) sử dụng công nghệ ZKP, sau đó đồng bộ hóa ZKP này lên chuỗi đích.

Xác thực bằng chứng đồng thuận (ProofVerify)

Sau khi ZKP đơn giản được trình chuyển tiếp gửi đến chuỗi mục tiêu, công việc xác thực bằng chứng này được hoàn thành bởi ứng dụng khách light chain trên chuỗi đích. Sau khi xác thực thành công, kết quả xác thực được trả về và thông tin trạng thái đồng thuận của chuỗi nguồn được cập nhật trên chuỗi đích.

Cuộc gọi hợp đồng có thể tương tác (InterOperCall)

Sau khi ứng dụng khách light chain trên chuỗi đích đã hoàn thành xác thực chuỗi nguồn (bao gồm cả giao dịch của chuỗi nguồn), các bên tham gia có thể khởi động cuộc gọi tương tác hợp đồng chuỗi chéo để hoàn thành tương tác chuỗi chéo. Các chi tiết cụ thể có thể được tham khảo trong sách trắng của zkRouter.

Một trong những lợi ích chính của zkRouter là khả năng đạt được TPS cao trong chuỗi chéo. Theo mô tả, giới hạn TPS của zkRouter là TPS của chuỗi công cộng, và dữ liệu thử nghiệm cho thấy zkRouter có thể đạt được tới 100 TXS.

Địa chỉ chuỗi nguồn trên Goerli testnet: https://goerli.etherscan.io/txs?a=0x91d1d54572ef662419d9e552a013321b5713e3ad

Địa chỉ chuỗi đích trên Fantom testnet: https://testnet.ftmscan.com/address/0x91d1D54572Ef662419d9E552A013321b5713E3AD#tokentxns

Hyper Oracle

Hyper Oracle tự định nghĩa mình là một mạng lưới tiên tri không đáng tin cậy, với điểm khác biệt so với các dự án chuỗi chéo Zero-Knowledge Proof (ZKP) khác là nhấn mạnh vào việc truyền tải toàn bộ sự đồng thuận. Tầm nhìn của Hyper Oracle là đạt được tính đáng tin cậy từ đầu đến cuối (end-to-end trust), điều này đòi hỏi việc xác thực bằng các khách hàng nhẹ (light clients) toàn bộ sự đồng thuận của Ethereum Proof of Stake (PoS).

Tuy nhiên, trong việc triển khai Ethereum PoS, sự đồng thuận của ủy ban đồng bộ hóa (sync committee) đã trở thành một phần của toàn bộ sự đồng thuận. Vậy tại sao Hyper Oracle lại nhấn mạnh về việc truyền tải toàn bộ sự đồng thuận?

Brevis (Cele)

Brevis là một nền tảng xác thực và tính toán toàn chuỗi, đồng thời cũng là một giải pháp giao tiếp xuyên chuỗi, thực hiện giao tiếp xuyên chuỗi không đáng tin cậy bằng cách tạo ra bằng chứng đồng thuận ZKP. Brevis bao gồm ba thành phần chính là zkFabric, zkQueryNet và zkAggregatorRollup. Hiện tại, phạm vi bảo hiểm của Brevis bao gồm: chuỗi EVM (Ethereum Virtual Machine) và NON-EVM.

zkFabric có chức năng chính là thu thập các tiêu đề khối và tạo ra bằng chứng đồng thuận sau khi chứng minh tính hợp lệ của chúng thông qua mạch khách hàng nhẹ ZKP (một khái niệm trong lĩnh vực bảo mật và công nghệ blockchain, đề cập đến một khách hàng hoặc một thực thể dùng ZKP để xác thực tính hợp lệ của các giao dịch hoặc dữ liệu mà không cần phải tiết lộ thông tin riêng tư hay dữ liệu thực tế của mình cho các bên thứ ba), tương đương với vai trò trung gian và chứng minh trong chuỗi chéo ZK. Điểm đến của zkFabric là zkAggregatorRollup.

zkAggregatorRollup là một chuỗi khối tổng hợp ZK được hỗ trợ bởi một máy ảo ZKP nhẹ (đề cập đến một phần của zkAggregatorRollup, là một công cụ hoạt động dựa trên nguyên tắc của Zero-Knowledge Proof (ZKP) để xác thực tính hợp lệ của các bằng chứng và thông tin đầu vào từ zkQueryNet và zkFabric trong một chuỗi khối tổng hợp), tổng hợp các bằng chứng và thông tin đầu vào khác nhau từ zkQueryNet và zkFabric. Theo mô tả của Celer, thời gian chạy của máy ảo zkAggregatorRollup có các chức năng sau:

  • Xác thực đệ quy các bằng chứng được tạo ra bởi zkQueryNet và zkFabric.
  • Lưu trữ tiêu đề khối từ zkFabric và được xác thực bằng ZKP.
  • Lưu trữ các yêu cầu truy vấn và kết quả xác thực ZKP.

zkQueryNet là một thị trường mở cung cấp công cụ truy vấn ZKP, có thể trực tiếp chấp nhận các truy vấn dữ liệu từ các hợp đồng thông minh trên chuỗi, đồng thời tạo kết quả truy vấn và bằng chứng truy vấn ZKP tương ứng thông qua mạch công cụ truy vấn ZKP. Kết quả này cũng sẽ được lưu trong kết quả truy vấn (Query Result) thuộc mô-đun zkAggregatorRollup.

ZKP
Tính năng của Brevis

So với các dự án chuỗi chéo ZK khác, tính năng lớn nhất của Brevis là mô đun hóa. Thiết kế này nâng cao khả năng mở rộng của Brevis. Bằng cách đóng gói các chức năng khác nhau, Brevis có thể đạt được một giao diện thống nhất. Trong khi hỗ trợ các cuộc gọi DAPP, nó cũng có lợi cho các cuộc gọi tiếp theo mở rộng nhiều chuỗi công khai hơn.

Telepathy 

Telepathy là một giao thức được phát triển bởi nhóm Succinct, với mục tiêu cho phép người dùng đạt được khả năng tương tác giữa các chuỗi mà không cần sự cho phép và tin tưởng từ bên thứ ba. Thông qua Telepathy, ứng dụng phi tập trung (DAPP) có thể an toàn gửi tin nhắn từ chuỗi nguồn đến chuỗi đích một cách tùy ý. Định nghĩa này phù hợp với mô hình truyền thông xuyên chuỗi truyền thống.

Mô hình giao tiếp xuyên chuỗi Telepathy chủ yếu có năm bước:

(1) Hợp đồng DAPP đa chuỗi khởi tạo một lệnh tương tác đa chuỗi.

(2) Sau khi người phát sóng Telepathy nhận được lệnh này, khoảng 12 phút sau, chuỗi chính Ethereum hình thành sự đồng thuận cuối cùng.

(3) Nhà điều hành Telepathy sử dụng sự đồng thuận của Ethereum để tạo bằng chứng đồng thuận Zero-Knowledge Proof (ZKP).

(4) Telepathy Relayer chuyển bằng chứng đồng thuận cho hợp đồng chuỗi đích.

(5) Hợp đồng khách hàng nhẹ chuỗi đích xác thực bằng chứng đồng thuận ZKP.

Mô hình thông báo xuyên chuỗi này rất phù hợp cho việc truyền thông giữa các chuỗi đa chuỗi và dự án liên chuỗi nổi tiếng Across đã công bố việc sử dụng Telepathy để xây dựng cầu nối giữa Avalanche và Chuỗi Binance Coin (BNB).

ZKP
Mô hình thông báo xuyên chuỗi

Nil.foundation

Vị trí của Nil và Brevis tương tự nhau, với mục tiêu trở thành thị trường chứng thực đa chuỗi (multi-chain proof market). DAPP (Decentralized Applications) có thể yêu cầu Nil tạo dữ liệu chứng thực theo nhu cầu của riêng họ. 

Ngoài ra, zkLLVM cũng là một trong những sản phẩm cốt lõi của Nil. Sản phẩm này được định vị để giúp các nhà phát triển biên dịch ZKP (Zero-Knowledge Proofs) bằng các ngôn ngữ cấp cao, giúp giảm đáng kể rào cản gia nhập cho các nhà phát triển. Thông qua công cụ này, các nhà phát triển có thể sử dụng ngôn ngữ mà họ quen thuộc để tập trung vào thiết kế mạch, thay vì bị mắc kẹt trong việc học một ngôn ngữ đặc thù của lĩnh vực DSL (Domain-Specific Language).

ZKP trong tương lai sẽ phát triển thế nào?

Hiện nay, nhiều đội nhóm đang nỗ lực trong việc phát triển cầu nối chuỗi ZK. Bởi vì việc tạo ZKP liên quan mật thiết đến sự đồng thuận của chuỗi nguồn và các chuỗi khác nhau có các phương thức khác nhau để đạt được sự đồng thuận và sử dụng các thuật toán chữ ký khác nhau, do đó trong thực tế, hiệu quả và đặc điểm của các giải pháp khác nhau cũng không giống nhau.

Hiện tại, hầu hết các cầu nối chuỗi chéo ZK đều hỗ trợ NON-EVM và có rất ít sự khác biệt giữa các dự án về điểm này. Trong tương lai, điểm cạnh tranh chính của các giao thức chuỗi chéo ZK sẽ nằm ở việc tối ưu hóa thuật toán, triển khai đa chuỗi và bảo mật hợp đồng.

Việc tạo ZKP off-chain đòi hỏi máy chủ hiệu suất cao với bộ nhớ lớn, dẫn đến chi phí thiết bị cao và thuật toán được tối ưu hóa có thể giúp tiết kiệm năng lượng tính toán.

Trong hai tháng qua, nhiều giao thức chuỗi chéo đã được triển khai, tập trung chủ yếu vào việc phát triển chuỗi chéo ZKP. Nói chung, các mạng thử nghiệm chuỗi chéo đã được khởi chạy và chỉ có ít mạng chính thực sự hoạt động. Hơn nữa, nhiều giao thức chuỗi chéo thường chỉ liên kết một hoặc hai chuỗi và không thừa nhận khả năng tương tác giữa nhiều chuỗi. Do đó, càng nhiều chuỗi được hỗ trợ bởi cầu nối chuỗi trong tương lai, thì càng có nhiều khả năng cạnh tranh.

Mặc dù các dự án chuỗi chéo ZK đang được phát triển với mục tiêu hỗ trợ nhiều chuỗi và tối ưu hóa thuật toán, tuy nhiên, đây vẫn là một lĩnh vực chưa trải qua thử nghiệm thị trường quy mô lớn, và tính bảo mật của các hợp đồng sẽ đóng vai trò quan trọng trong việc xác định sự tồn tại của các dự án ZKP trên thị trường. Hiện nay, nhiều dự án vẫn chưa chú ý đến vấn đề này và bảo mật sẽ là một yếu tố rủi ro lớn nhất cho các dự án ZKP trong tương lai.

Các giao thức chuỗi chéo là lĩnh vực bị ảnh hưởng nặng nề nhất đối với các sự cố bảo mật chuỗi khối, điều này đã khiến đa số các nhà phát triển đều lo lắng về các giao thức chuỗi chéo. Việc thiếu tính tin cậy trong việc liên kết giữa các chuỗi có thể gây ra các rủi ro bảo mật nghiêm trọng. Một khi các bên liên kết với nhau để thực hiện các hành vi xấu, người tham gia trong hệ sinh thái đa chuỗi sẽ phải đối mặt với những tổn thất không đáng có. Là một công nghệ xác thực gốc, chuỗi chéo ZKP không chỉ có tiềm năng mang lại nhiều lợi ích, mà còn đặt ra những thách thức bảo mật đáng kể cần được giải quyết.

logoMẠNG XÃ HỘI TIN TỨC BLOCKCHAIN, CÔNG NGHỆ, TÀI CHÍNH SỐĐịa chỉ: Tầng 6, Toà nhà ADG, 37 Lê Văn Thiêm, Thanh Xuân, Hà Nội - Điện thoại: 024 6687 6797 Chịu trách nhiệm nội dung: Nguyễn Minh

Giấy phép số: 497/GP - BTTTT, do Bộ Thông tin và Truyền thông cấp ngày 17/10/2022
© 2022 - Toàn bộ bản quyền thuộc về Cryptoday Việt Nam
Tải ứng dụng Cryptoday
downloaddownload