![#](/default/img-place-holder.webp)
Tổng quan
Connext Network đã hợp tác với Nomad một thời gian trước đây để mở rộng bộ dịch vụ của mình. Quan trọng nhất, việc truyền thông điệp tổng quát, cho phép tất cả các ứng dụng chuỗi chéo vượt ra ngoài các giao dịch atomic. Connext, với tư cách là cầu nối được xác minh nguyên bản, đã đưa ra một cơ chế mới về cách tiếp cận ngăn xếp mô-đun, liên quan đến Nomad.
Arjun Bhuptani — Người sáng lập Connext
Anna carroll — Trưởng giao thức tại Nomad
Arjun mô tả quan hệ đối tác là:
“Connext là lớp thanh khoản với lớp truyền tin (Message Layer) của Nomad”
Bài đăng này khám phá và tóm tắt chương trình dài hơn một giờ của Delphi Podcast với Arjun từ Connext và Anna từ Nomad với tư cách khách mời, do Avi Zurlo và Can Gurel tổ chức.
Bộ ba bất khả thi về khả năng tương tác
Chúng tôi bắt đầu với điều mà Arjun yêu thích nhất - Chính là bộ ba bất khả thi về khả năng tương tác, nó đề cập đến các cầu nối đánh đổi tạo ra một trong ba thuộc tính/nhóm để tối đa hóa hai thuộc tính còn lại, cụ thể là
-
Trustlessness
-
Generalizable
-
Extensible
“Nếu nghĩ về việc chúng ta muốn cây cầu lý tưởng trông như thế nào, thì cây cầu lý tưởng là bạn biết đấy, rẻ, nhanh và nó cho phép bạn chuyển bất kỳ loại thông điệp tùy ý nào giữa các chuỗi. Thật dễ dàng để triển khai quá nhiều chuỗi khác nhau và cuối cùng nó vẫn giữ lại các thuộc tính bảo mật cốt lõi của các chuỗi mà nó hoạt động trên đó. Những gì chúng tôi nhận thấy là thực sự rất khó để có được tất cả những thứ đó.”
— Arjun
Trong giai đoạn đầu, Connext đã hy sinh việc truyền thông điệp tổng quát để duy trì tính bảo mật của các chuỗi bên dưới và có thể mở rộng cho bất kỳ mạng nào. Sau đó, đưa ra một cách tiếp cận mô-đun để khai thác việc truyền thông điệp tổng quát.
Enter Nomad.
Sử dụng Nomad làm lớp truyền tin trong mảnh ghép, connext có thể lưu trữ các ứng dụng chuỗi chéo ngoài việc chuyển mã Token.
“Khi Nomad xuất hiện, chúng tôi đã phải thay đổi tinh thần của mô hình này một chút và thay đổi nó từ một bộ ba bất khả thi thành một bộ tứ bất khả thi bởi vì người Nomad thực sự có được cả ba đặc tính này cùng một lúc nhưng nó làm được điều đó bằng cách hy sinh một thứ khác - Trong trường hợp của Nomad, đó là độ trễ, vì vậy bạn có giải pháp giảm thiểu độ tin cậy rất hợp lý này, có thể triển khai rất dễ dàng cho nhiều chuỗi khác nhau và nó có thể chuyển bất kỳ loại message tùy ý nào nhưng nhược điểm là phải mất 30 phút để message đi qua chain. điểm mấu chốt rút ra từ điều này là không thể có cách nào dễ dàng để thực sự có được tất cả các thuộc tính này cùng một lúc và bất kỳ dự án nào tuyên bố có thể thực hiện tất cả những điều này cùng một lúc có thể đang đánh đổi lòng tin”
— Arjun
Nomad hy sinh độ trễ nhưng kiểm tra cả ba thuộc tính của bộ ba bất khả thi ban đầu, tức là phải mất 30 phút để xác nhận việc truyền tin (Message).
“Đối với độ trễ của giao thức chuỗi chéo là một tính năng, mọi giao thức chuỗi chéo thường sẽ có một số độ trễ ít nhất để đạt đến mức cuối cùng trên chuỗi gửi, có rất nhiều chuỗi như chuỗi POS (Proof of stake) đạt đến mức cuối cùng hữu hạn ngay lập tức hoặc nhanh chóng nhưng chuỗi giống như ethereum, thường là trung tâm của hệ sinh thái này, có các kết quả xác suất cuối cùng, vì vậy bạn phải đợi một khoảng thời gian nhất định sau khi tin nhắn được gửi để đảm bảo rằng tin nhắn đó đã thực sự được gửi từ góc độ đồng thuận của chuỗi, vì vậy mọi giao thức tương tác phải có một số độ trễ trên các chuỗi, mà mỗi chuỗi đều có tính hữu hạn không xác định. Ngoài ra, chúng tôi nghĩ rằng độ trễ trên chuỗi nhận (receiving chain) cũng là một tính năng mà hầu hết các giao thức tương tác sẽ muốn kết hợp theo thời gian trở đi. Lý do là có các giao thức tương tác về cơ bản sẽ thực hiện thay đổi trạng thái ngay khi một phần thông tin được chuyển đến chuỗi đó. Điều này sẽ không có cơ hội đối phó với sự xâm phạm của các cuộc tấn công hoặc đe dọa hệ thống. Đó là lý do tại sao chúng tôi đã thấy rất nhiều vụ hack cầu nối xảy ra cho dù đó là lỗi hợp đồng thông minh hay thỏa hiệp các khóa như ronin. Những vụ hack này có thể đã bị ngăn chặn nếu có một optimistic window hoặc một số loại trì hoãn có thể cho phép các tác nhân bên ngoài có thời gian ứng phó với mối đe dọa”
— anna
Hạng mục kiến trúc thiết kế cầu nối
Thiết kế cầu có thể được phân loại thành ba loại lớn dựa trên các cơ chế xác minh:
Cầu được xác minh tự nhiên (Natively Verified Bridges): Chạy ứng dụng khách (light client) nhẹ của chuỗi của nhau để xác minh và giao tiếp. (ví dụ: NEAR Rainbow Bridge, TBTC)
Cầu được xác minh cục bộ (Locally Verified Bridges): Chỉ yêu cầu hai bên tương tác chuỗi chéo để xác minh giao dịch. (ví dụ: Connext, Hop )
Cầu được xác minh bên ngoài (Externally Verified Bridges): Dựa vào các trình xác minh bên ngoài không có nguồn gốc từ một trong hai chuỗi để xác minh và giao tiếp. (ví dụ: Synapse, Stargate)
“Các cây cầu được xác minh cục bộ… trường hợp atomic swap trong đó về cơ bản, bạn giới hạn các loại chuyển đổi trạng thái. Điều này có thể thành những loại mà tất cả những gì bạn thực sự có thể làm là swap token hoặc về cơ bản là một loại cơ chế nào đó mà bạn chỉ cho phép người khác làm điều gì đó thay cho bạn trong một cách atomic. Và, trong những trường hợp đó, chúng được xác minh cục bộ vì cả hai bên của giao dịch đó chỉ xác minh lẫn nhau nên bạn không cần lôi kéo bất kỳ ai khác tham gia vào hệ thống đó và điều đó giúp giảm đáng kể chi phí hoạt động. Cuối cùng, với các hệ thống Optimistic, bạn có một bộ xác minh của bên thứ ba nhưng vai trò của bộ xác minh đó đã thay đổi ở chỗ, thay vì xác thực rằng một bản cập nhật là chính xác thì bộ xác minh đó giờ chỉ luôn đúng cho đến khi có một bên nào đó chứng minh là nó sai. Mô hình hơi khác một chút, giống như một trong những mô hình ‘n’ được cho là trung thực hơn mô hình ‘m’ của ‘n’”.
Để đọc chi tiết hơn về các thiết kế cầu và bộ ba bất khả thi về khả năng tương tác, hãy đọc bài đăng trên blog của tác giả Arjun.
Diving into Nomad
“Nomad, cách thức hoạt động của nó là trên chuỗi gửi có một cây merkle khi người dùng gửi một tin nhắn thì tin nhắn đó được băm và chèn dưới dạng một chiếc lá vào cây merkle, có một trình cập nhật (một tác nhân bên ngoài) ký xác nhận các gốc merkle trong cây này, các chứng thực đã ký có thể được chuyển tiếp qua các chuỗi, điều đó không quan trọng và sử dụng mật mã có sẵn rộng rãi để xác thực chữ ký của người cập nhật để chứng thực của họ có thể được chấp nhận trên chuỗi nhận. Lưu ý là các chứng thực này có khoảng thời gian chờ Optimistic trong đó người theo dõi hoặc người giám hộ của hệ thống có thể đến và chặn các tuyến gian lận từ bản sao. Người theo dõi được định cấu hình ở cấp ứng dụng thay vì cấp toàn hệ thống. Các ứng dụng có thể có nhiều quyền kiểm soát và chủ quyền hơn trong việc ngăn chặn gian lận từ toàn hệ thống như nguồn gốc của trình cập nhật”
— anna
Nomad sử dụng cơ chế xác minh Optimistic cho kiến trúc truyền thông điệp tổng quát, được lấy cảm hứng từ các hệ thống Optimistic. Nó lắng nghe chứng thực của một số dữ liệu và chấp nhận dữ liệu đó là hợp lệ sau khi hết giờ. Trong khi bộ đếm thời gian đang chạy, những người tham gia trung thực (Watchers) có một lối đi để phản hồi, chứng thực và gửi bằng chứng gian lận (đọc chi tiết ).
-
Nomad tin rằng độ trễ ~30 phút là một tính năng chứ không phải lỗi. Điều này phù hợp với triết lý thiết kế của họ về người dùng trên các hệ thống .
-
Điểm khác biệt trong lựa chọn thiết kế chính cần lưu ý ở đây là đối với các bản tổng hợp Optimistic, người phân xử sự thật (arbiter of truth) là Layer 1 mà nó được xây dựng trên đó, đối với Nomad, người phân xử sự thật là chuỗi người gửi.
-
Dựa trên bằng chứng về sự thay đổi trạng thái không hợp lệ trên chuỗi người gửi, dữ liệu không hợp lệ sẽ bị loại bỏ ngay lập tức.
Mối quan hệ giữa Connext và Nomad
Điều này đưa chúng ta đến phần cốt lõi của vấn đề, Arjun định nghĩa tính đồng bộ là: “Connext là một loại mạng thanh khoản giống như của riêng nó, nằm trên đỉnh của Nomad, chúng tôi có mối quan hệ độc quyền song phương này với Nomad và chúng tôi tự coi mình là một phần của cùng một mảnh ghép tổng thể”
— Arjun
Connext và Nomad tạo thành một mảnh ghép có khả năng tương tác cho phép xây dựng các ứng dụng chuỗi chéo với các yêu cầu hoặc sự đánh đổi về độ tin cậy ở mức tối thiểu. Hiện tại, mảnh ghép này được sử dụng chủ yếu để chuyển Token, nhưng bản cập nhật Amarok có thể mở ra một sự phát triển theo chiều dọc cho các ứng dụng chuỗi chéo (xapps).
Cách tiếp cận này cho phép bộ định tuyến (routers) của Connext chuyển nhượng lượng vốn ban đầu và thực hiện lệnh gọi cho giao dịch của người dùng, đồng thời yêu cầu bồi thường đối với các khoản tiền đi qua Nomad. Trên thực tế, có thể “nghẽn mạch” bất kỳ tương tác xuyên chuỗi nào. Bằng cách sử dụng Connext, trong đó hợp đồng chuỗi nhận sẽ không kiểm tra nguồn gốc và sẽ là un-permissioned call.
Exciting cross-chain applications
Các ứng dụng chuỗi chéo có thể tận dụng rất nhiều kết hợp Connext+Nomad. Một số ngành phát triển theo chiều dọc và chiều rộng của xapps có thể được xây dựng là:
-
Tổng hợp chuỗi chéo thanh khoản DEX.
-
Đưa UniV3 TWAP vào nhiều chuỗi mà không cần sử dụng oracle.
-
Quản trị chuỗi chéo.
-
Khả năng tương tác metaverse-to-metaverse.
và nhiều hơn nữa.
“Cá nhân tôi thực sự hào hứng với quản trị chuỗi chéo, cụ thể là thực thi đề xuất quản trị chuỗi chéo hay nói một cách tổng quát hơn, chỉ các cuộc gọi chuỗi chéo kiểu này. Trong hầu hết các trường hợp, các hợp đồng thông minh này là một số biến thể của mô hình mã token comp và bravo của thống đốc”
— Anna
Một ví dụ tuyệt vời về xây dựng xaapp trên Amarok là NFT Hashi , hỗ trợ chuyển NFT giữa các chuỗi khác nhau.
“Những gì cá nhân tôi nghĩ sẽ khá lớn là DeFi chuỗi chéo, những gì chúng tôi đã vô tình tạo ra ngay bây giờ về cơ bản là một phiên bản DeFi được nhân rộng trên mỗi chuỗi nơi mọi chuỗi lớn hiện có Aave, Curve, v.v. chạy trên đó. Và điều đó tạo ra trải nghiệm thực sự bị phân mảnh này, nơi người dùng phải suy nghĩ một cách có ý thức về chuỗi họ đang tham gia khi tương tác với aave và họ không thể tổng hợp mức lãi suất tốt nhất từ bất kỳ chuỗi nào mà họ phải tham gia và cụ thể là chuyển sang một chuỗi để thực sự đi và tiếp cận sở thích ở đó và điều đó thật kinh khủng đối với người dùng”
— Arjun
Các ứng dụng chuỗi chéo sẽ cải thiện đáng kể UX, đồng thời giúp tổng hợp và thống nhất tính thanh khoản để người dùng truy cập và cuối cùng không cần bận tâm họ đang tương tác với chuỗi nào.
Một số cân nhắc và thận trọng khi thiết kế:
Không có tính nguyên tử (Antomic) trong các ứng dụng chuỗi chéo như chúng ta đã quen trong các hợp đồng thông minh chuỗi liên kết. Nếu một tương tác không thành công trên chuỗi đích, thì sẽ không có sự truy đòi nào đối với chuỗi gửi. Điều này đòi hỏi phải cân nhắc các thiết kế khác nhau khi xây dựng các xApps như vậy. Các ứng dụng chuỗi chéo có ý nghĩa nếu quá trình chuyển đổi trạng thái thứ hai trên chuỗi nhận không bao giờ bị lỗi hoặc việc nó bị lỗi hoặc thử lại không thành vấn đề.
Rất nhiều ứng dụng mà chúng ta thấy trên Layer 1 có thể không nhất thiết phải ánh xạ hoàn hảo vào thế giới chuỗi chéo.
Bridge có phải là một thị trường Zero-sum Game?
“Phản ứng của tôi đối với vấn đề này sẽ gây ra một chút tranh cãi...rất nhiều người trong số họ sẽ phải cạnh tranh với Connext và Nomad. Và tôi nghĩ đó là một điều tốt bởi vì sự cạnh tranh là tốt nhưng tôi không nghĩ rằng đó là một điều tốt về mặt khách quan. Khi nhiều người trong số họ sử dụng các loại giao thức khác hiện đang tồn tại rõ ràng là đánh đổi niềm tin. Tôi nghĩ đó là dư âm của thị trường tăng giá, tôi nghĩ nó tồn tại bởi vì tại thời điểm này chúng tôi đã bỏ ưu tiên giảm thiểu niềm tin như một không gian và chúng tôi đã bỏ ưu tiên cho nền kinh tế. Tuy nhiên tôi nghĩ đó là một sai lầm.”
— Arjun
Trong khi nhiều cây cầu tồn tại và thậm chí còn phát triển mạnh mẽ ngày nay rất đáng tin cậy dựa trên thiết kế kiến trúc của chúng, chúng ta phải xây dựng các hệ thống lâu dài kiên cường có thể chống lại các cuộc tấn công quy mô lớn hoặc thậm chí do các quốc gia lãnh đạo.
Chúng tôi đã chứng kiến một số vụ khai thác lớn nhất và số tiền bị đánh cắp trong các giao thức bắc cầu:
-
Solana Wormhole Bridge
-
Harmony Horizon Bridge
-
Ronin Bridge
Thiết kế bảo mật và vụ hack của Ronin
“Việc hack cầu Ronin sẽ không xảy ra nếu ronin là Nomad vì chỉ có thể có ngưỡng người ký nhất định mới có thể ăn cắp tiền một cách tùy ý và điều đó là không thể trong IBC và người du mục”
Một vụ hack như Ronin Bridge đơn giản là không bao giờ có thể xảy ra trên nomad/connext vì chúng không dựa vào multi-sig do các bên kiểm soát và/hoặc được xác minh bên ngoài.
Các cầu được xác minh bên ngoài hy sinh tính không đáng tin cậy (trustlessness) và do đó bảo mật để đổi lấy độ trễ và khả năng khái quát hóa.
Đây là một vấn đề về thiết kế cơ chế, cầu Ronin đã hoạt động ở cấp độ cơ chế như nó được dự định. Vấn đề với điều đó là nó phụ thuộc rất nhiều vào các giả định về niềm tin và sự tin cậy đã bị xâm phạm, nghĩa là những khóa đó đã bị kẻ tấn công xâm phạm. Điều này có thể được giải quyết bằng thiết kế cơ chế
Anna hướng dẫn chúng tôi về những gì sẽ xảy ra nếu một cuộc tấn công giống như Ronin xảy ra với Nomad :
“Vì vậy, hãy xem điều gì sẽ xảy ra trong Nomad nếu mọi khóa trong hệ thống nếu kẻ tấn công giành được quyền truy cập vào mọi khóa trong hệ thống. Trình cập nhật và mọi người theo dõi cho mọi ứng dụng, chúng có thể ký một lộ trình độc hại với tư cách là trình cập nhật và lộ trình đó sẽ được chuyển tiếp đến chuỗi nhận. Sau đó, kẻ tấn công có quyền truy cập vào khóa của người theo dõi và họ có thể chọn không gửi hành vi gian lận nhưng tất cả các tác nhân trung thực vẫn có quyền truy cập vào khóa của người theo dõi và họ có thể chặn gian lận, vì vậy ngay cả khi bạn thỏa hiệp, nếu bạn có quyền truy cập vào mọi khóa đơn lẻ trong hệ thống thì gian lận vẫn bị chặn bởi ngay cả một người theo dõi trung thực vẫn có quyền truy cập vào khóa của họ”
Không nên tự tin thái quá
“Mô hình tinh thần của chúng tôi dành cho các tích hợp và dành cho các nhà phát triển xây dựng dựa trên hệ thống là nó giống như một ngăn xếp giao thức và do đó. Có những trường hợp bạn sẽ muốn xây dựng cụ thể để chống lại người du mục nhưng đối với phần lớn các trường hợp sử dụng, tốt hơn là chỉ gọi xuống thông qua mảnh ghép và cách kết nối. Xử lý các cuộc gọi giống như đối với nhắn tin tổng quát là chúng tôi chỉ chuyển chúng xuống cho người du mục và để làm điều gì đó tương tự, bạn sẽ tích hợp với chính api kết nối và một sdk hiện là đầy đủ chức năng trên testnet.”
Chúng tôi vẫn còn rất sớm trong không gian chuỗi chéo, đặc biệt là trong các ứng dụng chuỗi chéo. Connext và Nomad đang thúc đẩy ý tưởng về giao tiếp không đồng bộ. Điều này cũng có nghĩa là sẽ có rất nhiều suy nghĩ về nguyên tắc đầu tiên khi thiết kế các cơ chế của xApps.
Các nhà phát triển và nhà xây dựng muốn xây dựng trong miền này sẽ có thể kết nối vào discords của Connext và Nomad.
Bài viết được Nhật biên tập từ “ Connext x Nomad: Is the Future of Blockchain Interoperability Optimistic?” của Tác giả: Ben Munster với mục đích cung cấp thông tin và phi lợi nhuận. Chúng tôi không khuyến nghị đầu tư và không chịu trách nhiệm cho các quyết định đầu tư liên quan đến nội dung bài dịch.
—————————————————
👉 Theo dõi FXCE Ventures
Group Chat | Research Hub | FXCE Spotlight | Tổng hợp airdrop | FXCE Pool Coin
![#](/images/common/user-default.webp)