Trong bài viết trước, chúng ta đã thảo luận về bối cảnh của khả năng tương tác blockchain hiện tại và xem xét các nguyên tắc cốt lõi của tính liên kết mạng do Cerf và Kahn hình thành trong quá trình phát triển Internet. Ở bài đăng này, chúng ta sẽ tập trung vào việc tìm hiểu các đặc tính của giao tiếp cross-chain từ mức độ cơ bản nhất.
Việc đạt được giao tiếp xuyên chuỗi có khả năng mở rộng là một nỗ lực phức tạp. Các hệ thống và mạng lưới có tính tương tác cần phải hiểu về nhiều hệ thống blockchain hiện có, các quy tắc đồng thuận của chúng, môi trường máy ảo, mô hình bảo mật, quy tắc quản trị, v.v.
Chúng ta có thể xây dựng được các giao thức cross-chain đơn giản không? Chúng ta cần hiểu biết về cách đánh giá giao thức đồng thuận phân tán (distributed consensus protocol): hiểu về mô hình mạng, giả thuyết liveness (khả năng truyền tải thông điệp giữa các node, đồng thời các node đi đến sự đồng thuận thành công) và tính an toàn, cũng như các giả định về mật mã cơ sở. Vậy, chúng ta nên đánh giá một mạng cross-chain như thế nào?
Nếu chúng ta tuân theo các nguyên tắc cốt lõi về khả năng tương tác của mạng, đi đôi với kỹ thuật và triển khai tốt, thì ngay cả việc giao tiếp xuyên chuỗi cũng đảm bảo bảo mật, có thể mở rộng và đơn giản, hiệu quả.
Các thuộc tính của Blockchain Interconnectivity (Liên kết Blockchain)
Cùng tóm tắt lại các thuộc tính cốt lõi mà một hệ thống tương tác phải đáp ứng được từ bài viết trước của chúng tôi và chuyển sang ngôn ngữ blockchain.
- Kết nối Plug-and-Play. Mỗi mạng riêng biệt cần tự đứng vững và không cần phải thay đổi nội bộ để có thể kết nối với các hệ sinh thái khác. Trong bối cảnh blockchain, điều đó có nghĩa là các nhà phát triển nền tảng không nên bị buộc phải thực hiện bất kỳ nhiệm vụ kỹ thuật nặng nề nào để có thể cắm vào (plug-in) các hệ sinh thái khác. Tất nhiên, đối với các hợp đồng thông minh Turing hoàn chỉnh trên một số chain thì việc lập trình logic phức tạp để hiểu trạng thái của các nền tảng khác rất hấp dẫn, nhưng cuối cùng việc này lại khiến các nhà phát triển tình thế tắc nghẽn hoàn toàn (grid-lock), khi không ai có thể nâng cấp mà không có sự phối hợp với các bên liên quan khác mà họ được kết nối.
- Ví dụ: giả sử blockchain A và blockchain B muốn tương tác với nhau. Blockchain A phải quan sát mọi hành động trên blockchain B và ngược lại. Việc thiết lập các quy tắc phân tích cú pháp giao dịch và logic xung quanh là một cam kết cần thực hiện trước nặng nề, và nó thậm chí còn tệ hơn nếu, chẳng hạn, blockchain B muốn nâng cấp. Ví dụ: nếu blockchain B muốn thêm các loại giao dịch mới vào sự đồng thuận, thì các nhà phát triển cần phải phối hợp với các nhà phát triển blockchain A về các nâng cấp đó và sao cho nâng cấp logic chuyển đổi phù hợp. Và vấn đề này sẽ càng tệ hơn nếu blockchain B duy trì N kết nối như vậy với các mạng khác nhau. Hãy tưởng tượng sau mỗi lần nâng cấp laptop hoặc PC, bạn phải chạy nâng cấp phần mềm trên từng thiết bị ngoại vi (bàn phím, chuột, ipad). Thay vào đó, các điểm tích hợp nên nhẹ nhất có thể và hoạt động như một mô hình “plug-and-play”.
- Kết nối trung gian dạng Best-effort (cố gắng tối đa). Kết nối được thực hiện trên cơ sở nỗ lực cao nhất. Nếu một gói tin không đến đích, nó sẽ được truyền lại ngay từ nguồn. Đối với các hệ thống blockchain, nguồn thường là người dùng hoặc một hợp đồng thông minh ứng dụng và điểm đến có thể bao gồm chain đích và địa chỉ hợp đồng mà người dùng/ứng dụng muốn gọi. Đối với các blockchain, việc đáp ứng thuộc tính này là một việc khó khăn vì chúng ta luôn muốn đạt được đặc tính nguyên tử của việc chuyển giao tài sản và trạng thái cũng như tránh việc chi tiêu gấp đôi. Vì vậy, nếu một gói cross-chain bị bỏ qua, không người dùng/ứng dụng nào bị mất tiền và họ sẽ có thể gửi lại từ nguồn của mình.
- Kết nối dựa trên Gateway tới tất cả các blockchain. Các blockchain riêng lẻ nên kết nối với những blockchain khác thông qua hộp đen (gateways và routers). Đối với blockchain, điều này có nghĩa là mỗi chain cần phải lưu trữ “tài khoản gateway” (hợp đồng thông minh). Tất cả thông tin từ các ứng dụng trên một chain phải được chuyển đến các tài khoản này. Các giao thức định tuyến và phân phối cơ sở cần phân tích cú pháp thông tin từ các tài khoản này và phân phối chúng đến các blockchain đích tương ứng. Các gateway này cần dễ khởi tạo, và như đã thảo luận ở trên, chúng không phụ thuộc vào trạng thái của N mạng.
Việc đạt được 3 thuộc tính trên là lý tưởng, nhưng với một hệ thống tập trung thì việc đáp ứng chúng tương đối đơn giản: đặt cơ sở dữ liệu trung tâm giữa một vài mạng và API/giao diện mà người dùng có thể truy vấn.
Tuy nhiên, mục tiêu cuối cùng của chúng tôi là cấp quyền cho tất cả các Dapp với những giao thức giao tiếp cross-chain phi tập trung. Nếu không thì, bất kỳ thực thể tập trung nào cuối cùng cũng sẽ có thể kiểm duyệt và kiểm soát thông tin và hoạt động của người dùng. Vậy, một hệ thống cross-chain phi tập trung nên cố gắng tối đa hóa những tính chất bảo mật nào?
Để cuộc thảo luận trở nên đơn giản, hãy sửa một số ký hiệu.
Giả sử một chuỗi các blockchain (X_1,…, X_n) muốn tương tác và giả định rằng mạng có khả năng tương tác cấp Y nguồn cho một giao thức phi tập trung chịu trách nhiệm về khả năng tương tác giữa các X_i. Gọi F là ngưỡng tham nhũng mà Y có thể chịu đựng (ví dụ, các giao thức Byzantine tiêu chuẩn có ngưỡng tham nhũng là 1/3 – nói cách khác, nếu 1/3 các node thông đồng với nhau, họ có thể phá vỡ mạng).
- Tính phân quyền (Decentralization). Như chúng ta đã thảo luận, để bảo mật một cách tối đa, mạng cần càng nhiều validator (trình xác thực) càng tốt. Cần có những ưu đãi cả về kinh tế và tiện ích để tham gia vào giao thức. Cộng đồng và các nhà vận hành node phải quản lý giao thức. Hành vi độc hại cần phải được xác định và giải quyết ở cấp độ giao thức.
- An toàn tối đa (Maximum Safety). Trong nhiều hệ thống blockchain, chỉ một số thợ đào hoặc validator có thể thông đồng với nhau để phá vỡ sự an toàn của các giao thức. Vì các mạng có khả năng tương tác bảo mật và chuyển một lượng tiền lớn, nên yếu tố an toàn cần phải được tối đa hóa trên các mạng này sao cho việc phá vỡ mạng phải yêu cầu hầu như tất cả các node thông đồng với nhau. Một giao thức phải hỗ trợ ngưỡng an toàn cao (ví dụ: F> 0,9) để tăng chi phí cho các cuộc tấn công. Ngưỡng an toàn cao kết hợp với tính phân quyền tối đa khiến mạng sẽ khó bị xâm phạm.
- Khả năng Cross-Chain Liveness. Khả năng Liveness của các mạng có khả năng tương tác phải đảm bảo rằng các yêu cầu từ X_i nguồn đến X_j đích được thực thi một cách nguyên tử. Vì vậy, đối với hai chain bất kỳ X_i và X_j và một mạng tương tác Y ở giữa, giả sử X_i, X_j và Y đạt được tiến bộ theo các quy tắc đồng thuận của chúng, dẫn đến trong một thời điểm tương lai thì bất kỳ yêu cầu nào từ X_i -> X_j được hoàn thành đúng cách trong khung thời gian đã xác định.
- Cơ chế dự phòng (Fall-Back Mechanism). Khi ngưỡng F được tối ưu hóa, thì câu hỏi đặt ra là điều gì sẽ xảy ra khi >(1-F) của các node chuyển sang chế độ ngoại tuyến. Các blockchain truyền thống sẽ bị đình trệ trong những trường hợp này, tuy nhiên chúng tôi có cơ hội làm tốt hơn với các mạng có khả năng tương tác. Thuộc tính dự phòng về khả năng tương tác nói rằng nếu Y dừng lại, thì sẽ có một giao thức P khác có thể được gọi bởi tập hợp các nhà vận hành khác (và có khả năng lớn hơn nhiều) để:
- Phục hồi bất kỳ tài sản nào được khóa bởi Y, hoặc/và
- Sửa trạng thái của blockchain X_i
Việc có một tập hợp các nhà vận hành lớn hơn nhiều và có khả năng “mạnh hơn” (về kinh tế hoặc kỹ thuật) mà có thể gọi P thì rất quan trọng. Nếu không thì khả năng sẽ có một vụ tấn công trực tiếp vào mạng, nơi mà kẻ thù cố làm ngưng trệ mạng Y, thỏa hiệp với các nhà vận hành của P và ăn cắp tài sản.
- Quản trị chung. Một yếu tố tấn công khác mà chúng ta phải xem xét khi cho phép các chain tương tác với nhau là: Điều gì sẽ xảy ra khi một số chain X_i phá vỡ các quy tắc của nó. Ví dụ: giả sử rằng một blockchain “lớn” X_1 như Ethereum kết nối với một blockchain nhỏ X_2. Điều gì sẽ xảy ra nếu X_2 phá vỡ các giả định bảo mật và giả sử, fork? Sự kết hợp của các quy tắc on-chain, quy tắc quản trị cộng đồng và xã hội phải được áp dụng để quyết định điều gì sẽ xảy ra khi các giả định về độ tin cậy của X_2 bị vi phạm. Trạng thái của nó có nên bị đóng băng trên X_1 không? Nó có nên bị ngắt kết nối khỏi khả năng tương tác với X_1 không? Nếu X_2 được kết nối với các blockchain khác X_3,… X_n thì nên khuyến khích sự nhất quán trạng thái của X_2 trên các nền tảng khác nhau.
Có thể dễ dàng nhận thấy vấn đề nhanh chóng trở nên phức tạp như thế nào. Nhưng nếu bạn đáp ứng các nguyên tắc thiết kế khả năng tương tác cốt lõi và các thuộc tính bổ sung được nêu ở trên, thì:
- Sẽ có một lượng công việc liên tục để xây dựng một giao thức có khả năng tương tác, theo sau là một lượng công việc liên tục bổ sung cho mọi B_i blockchain mới. Nói cách khác, việc mở rộng khả năng tương tác là tuyến tính, tăng dần đều.
- Lợi ích của kiến trúc phù hợp là manh tính bậc hai (quadratic): bất kỳ ứng dụng nào trên bất kỳ chain nào, X_i đều có thể giao tiếp với X_j thông qua Y bằng cách sử dụng API/gateway đã được thống nhất.
- Cần sự tập trung vào việc tối đa hóa khả năng phân quyền, an toàn, khả năng liveness và quản trị của một mạng thống nhất.
Bằng cách kết hợp các nguyên tắc thiết kế đơn giản với kiến trúc có thể mở rộng, chúng tôi không chỉ đáp ứng các yêu cầu về chức năng cơ bản mà còn có thể xây dựng các giao thức và mạng lưới hiệu quả để tiếp tục phục vụ các ứng dụng và người dùng trong nhiều thập kỷ.
Tham gia vào cộng đồng của Axelar bằng cách theo dõi các kênh:
Developer Discord | Telegram Community | Vietnam Community | Telegram Announcements | Twitter
Bài viết được Ellie Nguyễn thuộc FXCE Crypto biên tập từ “The Foundation of Cross-Chain Communication” của tác giả Sergey Gorbunov, 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 Crypto
Group Chat | Research Hub | FXCE Spotlight | Tổng hợp airdrop | Pool Coin