ZKP: Xây dựng Cross-chain Bridge an toàn, hiệu quả

CoinExVietNam

Vip Member
Bài viết
383
Điểm tương tác
22
Điểm
18
Bối cảnh
Kể từ khi Bitcoin ra đời vào năm 2009, công nghệ blockchain đã có những bước tiến vượt bậc. Trong khi Bitcoin và Ethereum tiếp tục thống trị thị trường, nhiều mạng blockchain khác nhau với các chức năng và ứng dụng độc đáo đã xuất hiện. Các blockchain không thể tương tác với nhau vì chúng được xây dựng với các kiến trúc khác nhau. Khi các hệ sinh thái blockchain, đặc biệt là DeFi, tiếp tục phát triển, việc thu hẹp khoảng cách giữa các blockchain khác nhau đã trở thành một vấn đề quan trọng.

Cross-chain bridge đã nổi lên như một giải pháp cho chính vấn đề đó. Các ứng dụng này cho phép các tài sản khác nhau di chuyển trên nhiều blockchain. Trong một số trường hợp, Cross-chain bridge thậm chí còn biến khả năng tương tác thông tin thành hiện thực. Tương tự như một cây cầu bắc qua hai bờ sông, Cross-chain bridge liên tục chuyển tài sản từ chuỗi này sang chuỗi khác, cho phép người dùng tận dụng các tính năng độc đáo của các mạng lưới blockchain khác nhau. Hơn nữa, chúng cho phép các ứng dụng truyền dữ liệu và thông tin giữa các chuỗi khác nhau. Bất chấp những ưu điểm của chúng, Cross-chain bridge cũng phải đối mặt với những thách thức, đặc biệt là về mặt bảo mật. Chẳng hạn, vào năm 2021, Poly Network đã bị tấn công, dẫn đến mất hơn 600 triệu USD tiền điện tử. Vào năm 2022, khoảng một lượng tiền điện tử tương tự đã bị đánh cắp từ Ronin Network, Cross-chain bridge của Axie Infinity. Những trường hợp này là bằng chứng cho thấy Cross-chain bridge cần các biện pháp bảo mật toàn diện hơn để bảo vệ tài sản và dữ liệu của người dùng.

Trong những năm gần đây, zero-knowledge proofs (ZKP) đã đạt được tiến bộ đáng kể trong các ứng dụng của họ. ZKP là một công cụ mật mã mạnh mẽ giúp bảo vệ quyền riêng tư dữ liệu của người dùng và chứng minh tính hiệu quả của các giải pháp mở rộng Rollup. Ngoài ra, ZKP cũng đóng một vai trò quan trọng và độc đáo trong việc thiết kế cross-chain bridge. Với những bằng chứng ngắn gọn này, chuỗi mục tiêu có thể xác minh hiệu quả quá trình chuyển đổi trạng thái của chuỗi nguồn, giúp giảm thiểu rủi ro của bên thứ ba không liên quan đến chuỗi mục tiêu và chuỗi nguồn, đồng thời cải thiện tính bảo mật của cross-chain bridge. Hôm nay, chúng ta sẽ xem xét một số cross-chain bridge phổ biến và giải thích cách áp dụng công nghệ ZKP cho cross-chain bridge bằng cách nghiên cứu một số cross-chain bridge dựa trên ZKP.

Các loại cross-chain bridge
Nhà nghiên cứu tiền điện tử 0xjim đã từng chia các cross-chain bridge thành bốn loại: Nhóm con người, nhóm kinh tế, nhóm an ninh và nhóm lý thuyết trò chơi, theo thiết kế và cơ chế của chúng. Đặc biệt, chuỗi nhóm con người tập trung hơn. Ví dụ: Mạng Ronin bao gồm chín node đầy đủ được điều hành bởi các thực thể được biết đến công khai. Họ chứng minh tính hợp lệ của giao dịch thông qua xác minh nhiều chữ ký và sau khi vượt qua ngưỡng, giao dịch được coi là đã xác minh. Trong những trường hợp bình thường, những trình xác nhận này sẽ không làm điều ác, nhưng với cách tiếp cận tập trung này, chúng có thể bị tấn công và trở thành kẽ hở lớn nhất, đồng thời có thể là thảm họa nếu các khóa riêng tư không được quản lý đúng cách.

Tiếp theo là nhóm kinh tế , bao gồm Celer, Axelar và Thorchain. Chúng tương tự như multisigs, nhưng với mã thông báo. Để ngăn chặn hành vi xấu, các chuỗi trong nhóm Kinh tế yêu cầu các node (validator) stake mã thông báo. Trong trường hợp vi phạm, cổ phần của validator sẽ bị cắt giảm. Vì vậy, từ góc độ tài chính, họ nên xác minh tính hợp lệ của các giao dịch một cách trung thực.

Loại thứ ba được gọi là nhóm bảo mật, bao gồm các chuỗi sử dụng TEE hoặc MPC để thực hiện chuyển giao giữa các chuỗi an toàn hơn. Chẳng hạn, tất cả các node sẽ thực hiện xác minh ứng dụng khách light off-chain được mã hóa trong TEE như Intel SGX để duy trì tính bảo mật và tính toàn vẹn của quản lý khóa riêng.

Cuối cùng là nhóm lý thuyết trò chơi, bao gồm LayerZero, Nomad và Synapse. Các giao thức này chia nhỏ bridge thành hai công việc riêng biệt và không khuyến khích sự phối hợp giữa hai người thực hiện công việc. Trong trường hợp của LayerZero, các oracle vượt qua các tiêu đề khối và các bộ chuyển tiếp chuyển các bằng chứng giao dịch. Cùng nhau, cả hai thực hiện nhiệm vụ của một khách hàng nhẹ trên chuỗi.

Tất cả bốn loại bridge đều dựa trên xác minh off-chain và xác thực đa yếu tố. Cụ thể, ba chuỗi đầu tiên về cơ bản sử dụng chuỗi/mạng PoS của riêng họ làm nhân chứng để truyền thông tin giữa hai chuỗi công khai bất kỳ. Cách tiếp cận nhanh hơn, rẻ hơn và có khả năng mở rộng hơn này giúp các bridge này dễ dàng kết nối với nhiều chuỗi hơn, nhưng cái giá mà họ phải trả là người dùng và nhà cung cấp thanh khoản phải hoàn toàn tin tưởng vào tiền hoặc dữ liệu của người xác thực bên ngoài. Nói cách khác, chúng dựa vào tính bảo mật của cây cầu, thay vì chuỗi nguồn hoặc chuỗi đích.

ZKP
Trong những năm gần đây, chúng ta thường xuyên chứng kiến các vụ hack cross-chain bridge, dẫn đến thiệt hại tài chính đáng kể. Điều này làm nổi bật các lỗ hổng mà các giả định tin cậy bổ sung mang lại cho các cross-chain bridge. Do đó, thiết kế an toàn nhất cho cross-chain bridge là độ tin cậy tối thiểu, tức là cầu nối chỉ kế thừa các thuộc tính bảo mật của hai chuỗi được kết nối mà không tin tưởng bất kỳ bên thứ ba nào. Xác minh on-chain là một cách hiệu quả để giảm thiểu sự tin tưởng vào các cross-chain bridge. Cụ thể hơn, chuỗi mục tiêu xác thực sự đồng thuận của chuỗi nguồn và xác nhận xem giao dịch được chỉ định có được đưa vào chuỗi nguồn hay không. Ví dụ: trình xác thực của chuỗi mục tiêu có thể chạy ứng dụng khách nhẹ của chuỗi nguồn để kiểm tra gốc Merkle đã gửi và xác minh rằng giao dịch đã nhận được chữ ký hợp lệ từ trình xác thực trên chuỗi nguồn. Tuy nhiên, cách tiếp cận này rất khó áp dụng vì xác minh on-chain khá tốn kém. Validator on-chain mục tiêu có thể gặp khó khăn khi chạy ứng dụng khách nhẹ cho các chuỗi nguồn khác nhau và một số chuỗi mục tiêu có thể không hỗ trợ sơ đồ chữ ký được chuỗi nguồn áp dụng. Chẳng hạn, trình xác thực trong sự đồng thuận của Ethereum PoS sử dụng chữ ký BLS và EVM không có phần biên dịch trước cho đường cong BLS12-381 được sử dụng trong các chữ ký này, điều này khiến việc triển khai Solidity của ứng dụng khách nhẹ như vậy trở nên cực kỳ tốn kém.

Tiến bộ gần đây trong các hệ thống ZKP đã làm cho tính toán có thể kiểm chứng trở nên ngắn gọn hơn. Ngoài ra, ZKP đóng một vai trò quan trọng và duy nhất trong việc thiết kế cross-chain bridge, giống như cách zk-SNARK thúc đẩy quy mô của các dự án zkEVM. Tính toán có thể kiểm chứng cũng có thể tạo ra bằng chứng hợp lệ cho các trạng thái chuỗi và những bằng chứng hợp lệ này xác thực sự đồng thuận cho các ứng dụng khách nhẹ với hiệu quả và chi phí thấp, cho phép khả năng tương tác giảm thiểu độ tin cậy. Trên thực tế, các cross-chain bridge sử dụng tính ngắn gọn của ZKP, thay vì thuộc tính zero-knowledge của chúng. Theo nghĩa này, đối với các cross-chain bridge, ZKP tương tự như bằng chứng hợp lệ của các giải pháp mở rộng Rollup.

Succinct Labs
Succinct Labs và Gnosis đã đồng khởi chạy một cross-chain bridge dựa trên SNARK cho phép khả năng tương tác giảm thiểu độ tin cậy giữa bất kỳ hai chuỗi Ethereum PoS nào, chẳng hạn như Ethereum và Gnosis Chain. Điều này đạt được bằng cách triển khai một ứng dụng khách nhẹ dưới dạng hợp đồng thông minh Solidity trên chuỗi tạo ra bằng chứng về tính hợp lệ cho trạng thái của chuỗi nguồn thông qua các ZKP ngắn gọn. Cách tiếp cận này cho phép xác minh ứng dụng khách nhẹ hiệu quả, tạo điều kiện thuận lợi cho giao tiếp cross-chain giữa Ethereum và Gnosis Chain, do đó cho phép khả năng tương tác giảm thiểu tin cậy. Ứng dụng khách nhẹ theo dõi các tiêu đề khối Ethereum trên Gnosis và ngược lại, mà không cần các giả định tin cậy bổ sung. Trong khi đó, một ủy ban đồng bộ gồm 512 validator Ethereum được chọn ngẫu nhiên cứ sau 27 giờ sẽ xác nhận xem trạng thái của Ethereum có hợp lệ hay không. Sau khi hai phần ba hoặc nhiều trình xác nhận ký vào tiêu đề khối, trạng thái của Ethereum được coi là hợp lệ. Như vậy, sơ đồ này về cơ bản là một cầu nối PoS.

Succinct Labs tạo zk-SNARK thông qua ứng dụng khách nhẹ sử dụng ngôn ngữ lập trình Circcom và hệ thống chứng minh Groth16, giúp giảm chi phí xác minh on-chain. Thay vì xác minh chữ ký BLS tổng hợp, ứng dụng khách nhẹ xác minh một zkSNARK Groth16 duy nhất. Ngoài ra, ứng dụng khách nhẹ cũng phải theo dõi validator của ủy ban đồng bộ hóa. Mỗi khi ủy ban đồng bộ hóa chọn lại validator mới, validator hiện tại sẽ ký vào tiêu đề khối chứa hash SSZ của khóa công khai của ủy ban tiếp theo. Vì hash SSZ sử dụng SHA-256 nên nó không thân thiện với SNARK và cần phải tính toán một số lượng lớn các ràng buộc. Để giải quyết vấn đề, Succinct Labs đã tạo một mạch ánh xạ hash SSZ của bộ xác thực tiếp theo được đặt thành cam kết Poseidon thân thiện với SNARK, sau đó được lưu trữ on-chain và được sử dụng làm đầu vào cho SNARK xác minh chữ ký BLS để đảm bảo rằng chữ ký đang được xác minh thực sự là từ các trình xác thực của ủy ban đồng bộ hóa.

Công nghệ này vẫn đang trong giai đoạn phát triển và bridge mã thông báo trên mạng thử nghiệm đã được khởi chạy để trình diễn giữa Ethereum và Gnosis nhưng chưa được sử dụng để bảo vệ tài sản thực. Ngoài ra, cần lưu ý rằng mức độ bảo mật của công nghệ vẫn chưa đạt đến mức độ đồng thuận của Ethereum.

1679327207049.png

Electron Labs
Electron Labs là một giao thức cross-chain bảo vệ giao tiếp cross-blockchain thông qua các ứng dụng khách ZK light. Nó nhằm mục đích kết nối Ethereum với hệ sinh thái Cosmos (cũng như các chuỗi EVM khác) bằng giao thức IBC và công nghệ zk-SNARK. Các dự án tương tự như Electron Labs bao gồm Polymer và Gerege.

Thông thường, Cosmos IBC triển khai các ứng dụng khách nhẹ dưới dạng hợp đồng thông minh trên chuỗi nguồn và đích để xác minh các giao dịch cross-chain. Tương tự, để kết nối IBC với Ethereum, các nhà phát triển cần chạy ứng dụng khách nhẹ Tendermint trên Ethereum dưới dạng hợp đồng thông minh Solidity. Tuy nhiên, điều này hóa ra lại là một hoạt động cực kỳ tốn gas vì nó yêu cầu xác minh hàng trăm chữ ký Ed25519 ở trạng thái vững chắc và các bản biên dịch trước Ed25519 không có sẵn trên Ethereum. Do đó, thay vì xác minh chữ ký Ed25519 trực tiếp trên Ethereum, Electron Labs sử dụng một giải pháp thay thế: nó xây dựng một ZKP về tính hợp lệ của chữ ký off-chain và xác minh bằng chứng on-chain.

Các mô-đun máy khách nhẹ on-chain ở phía Ethereum sẽ bao gồm trình xác minh ZK-Proof thay vì trình xác minh chữ ký Ed25519. Người chuyển tiếp, thay vì gửi tiêu đề khách hàng ánh sáng đầy đủ, sẽ chỉ gửi bằng chứng về tính hợp lệ cho điều tương tự. Tại Electron Labs, Electron Labs đã xây dựng một thư viện dựa trên Circcom để tạo bằng chứng zk-SNARK cho một loạt chữ ký Ed25519, giúp việc xác minh các chữ ký đó trên Ethereum rẻ hơn.

Positron là bridge đầu tiên của Electron, được phát trực tiếp giữa mạng thử nghiệm Goerli và mạng thử nghiệm NEAR. Cây cầu được sử dụng để chứng minh việc triển khai ZKP và các ứng dụng khách nhẹ on-chain. Trong quá trình thử nghiệm công khai, giới hạn tốc độ của các node RPC đã gây ra độ trễ trong quá trình xử lý giao dịch trên Positron, khiến hàng trăm giao dịch bị tồn đọng trong vài giờ. Vấn đề đã được giải quyết.

zkBridge

zkBridge là cross-chain bridge trustless, không cần cấp phép, có thể mở rộng, phổ biến và hiệu quả. Bất kỳ node nào cũng có thể tự do tham gia mạng để chuyển tiếp các tiêu đề khối, tạo bằng chứng và nhận phần thưởng. Cụ thể hơn, zkBridge bao gồm một mạng chuyển tiếp tiêu đề khối và một hợp đồng cập nhật. Trong mạng chuyển tiếp tiêu đề khối, các bộ chuyển tiếp truy xuất tiêu đề khối từ chuỗi nguồn, tạo bằng chứng về tính hợp lệ của tiêu đề khối và gửi tiêu đề cùng với bằng chứng tới hợp đồng trình cập nhật được thiết lập trên chuỗi đích. Đối với hợp đồng cập nhật, các tiêu đề khối tương ứng của chuỗi nguồn được lưu trữ sau khi các bằng chứng liên quan vượt qua quá trình xác minh. Hơn nữa, hợp đồng cập nhật cũng duy trì trạng thái light-client. Khi tiêu đề khối mới được thêm vào, hợp đồng sẽ gia hạn trạng thái ứng dụng khách nhẹ giống như các ứng dụng khách nhẹ khác trên chuỗi nguồn. Hợp đồng trình cập nhật cũng đưa ra một chức năng cho các ứng dụng, qua đó một ứng dụng trên chuỗi đích có thể lấy tiêu đề khối có chiều cao nhất định trên chuỗi nguồn. Sau khi nhận được thông tin tiêu đề khối, ứng dụng có thể thực hiện nhiều xác minh hơn và xây dựng các chức năng của riêng mình.

Để tạo bằng chứng nhanh và chi phí xác minh bằng chứng on-chain thấp, zkBridge sử dụng hệ thống bằng chứng đệ quy 2 layer. Ở layer đầu tiên, bridge chạm vào deVirgo, một phiên bản phân tán của hệ thống bằng chứng Virgo. deVirgo kết hợp kiểm tra tổng phân tán và cam kết đa thức phân tán để đạt được tính song song tối ưu và có thể đẩy nhanh quá trình tạo bằng chứng theo các bậc độ lớn khi chạy trên các máy phân tán. Trong lớp thứ hai, zkBridge sử dụng Groth16 để chứng minh rằng bằng chứng do deVirgo tạo ra trước đó thực sự chứng minh các tiêu đề khối tương ứng.

1679327191801.png

=nil; Foundation

Tập trung vào phát triển công nghệ ZK, =nil; Foundation được thành lập vào tháng 4 năm 2018 với mục đích hỗ trợ và thúc đẩy việc nghiên cứu và phát triển các hệ quản trị cơ sở dữ liệu và mật mã ứng dụng. Nó cố gắng cung cấp các giải pháp kỹ thuật hoàn chỉnh cho các blockchain và giao thức, cho phép chúng tạo ZKP theo nhu cầu của mình. Các nhà đầu tư đằng sau dự án bao gồm nhà đầu tư tổ chức hàng đầu Polychain, cũng như các giao thức ZK đang thịnh hành là StarkWare và Giao thức Mina.

Gần đây, =nil; Foundation đã giới thiệu trình biên dịch mạch ngôn ngữ chính được gọi là zkLLVM, không liên quan đến zkVM và có thể biên dịch mã triển khai EVM hiện có được viết bằng C++ hoặc Rust. Với zkLLVM, các nhà phát triển có thể nhanh chóng xây dựng các ứng dụng như zkRollup, zkBridge và zkOracle với chi phí thấp. Ngoài ra, vì việc tạo bằng chứng SNARK/STARKS đòi hỏi sức mạnh tính toán đáng kể, =nil; Foundation đã thành lập ZK Proof Market để giúp các đội ngũ đơn giản hóa công việc của họ và thuê ngoài một số loại tính toán nhất định cho bên thứ ba, cho phép Người yêu cầu bằng chứng xuất bản các yêu cầu bằng chứng cho bất kỳ mạch được xác định trước nào và cung cấp một thị trường cạnh tranh với đấu thầu mở. Cuối cùng, Trình tạo bằng chứng của Proof Market hiện các lệnh và trả lại các bằng chứng mới được tạo.

Trước đây, họ đã tạo zkBridge giữa Mina-Ethereum và Solana-Ethereum. Sử dụng zkLLVM, các nhà phát triển có thể biên dịch trực tiếp các mã được viết bằng các ngôn ngữ lập trình chính thống như C++ và Rust thành các mạch, tạo các bằng chứng trạng thái hoặc đồng thuận cần thiết và thiết lập zkBridge. Ví dụ: Mina Protocol và Ethereum sử dụng zkLLVM để tạo các mạch chống trạng thái phụ trợ của Mina và trình xác minh trong EVM, cho phép xác minh trạng thái của Mina trên EVM với chi phí thấp.

1679327177013.png

Kết luận
Hôm nay, chúng ta đã trải qua một số dự án xây dựng cross-chain bridge bằng công nghệ ZKP. Tất cả các dự án này đang khám phá cách sử dụng ZKP để tạo bằng chứng hợp lệ nhằm đạt được xác minh đồng thuận của khách hàng nhẹ hiệu quả và chi phí thấp, từ đó cho phép khả năng tương tác giảm thiểu tin cậy. Mặc dù chúng vẫn còn ở giai đoạn sơ khai và thường bị giới hạn trong một số chuỗi nhất định, các dự án đưa ra một giải pháp sáng tạo cho vấn đề về khả năng tương tác mà các blockchain phải đối mặt. Chúng tôi tin rằng khi công nghệ ZKP tiếp tục phát triển, ngành công nghiệp blockchain sẽ chứng kiến sự xuất hiện của nhiều giải pháp cross-chain hơn với hiệu suất bảo mật cao.


Tham khảo

Tôi nói gì khi tôi nói về Bridge
https://medium.com/coinmonks/what-i-talk-about-when-i-talk-about-bridges-429c16015774

Bằng chứng về sự đồng thuận Bridging giữa Ethereum và chuỗi Gnosis
https://blog.succinct.xyz/post/2022/10/29/gnosis-bridge/

Đưa IBC lên Ethereum bằng ZK-Snarks
https://ethresear.ch/t/bringing-ibc-to-ethereum-using-zk-snarks/13634

zkBridge: Trustless Cross-chain Bridge được thiết thực
https://rdi.berkeley.edu/zkp/zkBridge/zkBridge.html

Trình biên dịch mạch =nil; zkLLVM
https://blog.nil.foundation/2023/02/02/circuit-compiler.html
 
Bên trên