Hiểu khả năng kết hợp của các ứng dụng trên Cardano
Ngày 07 tháng 09 năm 2023 - Chia sẻ bài viết này trên Twitter | Facebook | Telegram
Cardano hỗ trợ khả năng kết hợp cho các ứng dụng của mình bằng kiến trúc hai lớp nhưng chủ yếu bằng cách tiếp cận mô-đun đối với các hợp đồng thông minh. Hãy đến đọc thêm về nó. Trong bài viết, bạn cũng sẽ tìm hiểu thêm về khả năng mở rộng và tính song song. Để kết luận, chúng tôi sẽ so sánh nhanh Cardano với Ethereum về khả năng kết hợp.
Khả năng kết hợp là gì
Khả năng kết hợp là một thuật ngữ đề cập đến khả năng các ứng dụng hoặc thành phần khác nhau hoạt động cùng nhau và xây dựng trong nhau, tạo ra các chức năng mới và phức tạp hơn. Khả năng kết hợp thường được coi là một tính năng mong muốn đối với các ứng dụng phi tập trung (DApps), đặc biệt là trong lĩnh vực tài chính phi tập trung (DeFi), nơi người dùng có thể kết hợp các giao thức hoặc dịch vụ khác nhau để tạo ra các sản phẩm hoặc thị trường tài chính mới.
Khả năng kết hợp cho phép các nhà phát triển bên thứ ba kết nối các ứng dụng của họ và đưa các giải pháp mới ra thị trường. Việc kết hợp hai (hoặc nhiều) ứng dụng lại với nhau có thể cho phép người dùng tương tác với tất cả các dịch vụ thông qua một giao diện duy nhất. Một giao diện ứng dụng duy nhất sẽ cho phép truy cập vào tất cả các dịch vụ của tất cả các ứng dụng tổng hợp.
Ví dụ: DEX và nền tảng cho vay có thể được kết hợp. Hoặc bạn có thể kết hợp hai DEX lại với nhau.
Do đó, người dùng có thể có quyền truy cập cùng lúc vào nhiều pool hơn, giao dịch được nhiều token hơn, thanh khoản cao hơn, v.v. DEX có thể chia sẻ các đơn đặt hàng và giá cả thị trường của token (Oracles), v.v. Điều này làm tăng hiệu quả, lợi nhuận và sự hài lòng của người dùng.
Trong hình ảnh bên dưới, bạn có thể thấy rằng các pool của hai DEX đã đồng ý hợp tác và cùng nhau kết hợp các ứng dụng của họ. Người dùng có quyền truy cập vào pool thanh khoản của cả hai DEX thông qua một giao diện duy nhất của bất kỳ DEX nào.
Khả năng kết hợp cũng có nhược điểm. Bằng cách kết hợp các ứng dụng, sự phụ thuộc lẫn nhau được tạo ra.
Khả năng kết hợp gây ra sự phức tạp vì nó đòi hỏi sự phối hợp và đồng bộ hóa nhiều hơn giữa các ứng dụng hoặc thành phần khác nhau, có thể có giao diện, loại dữ liệu hoặc giao thức khác nhau.
Khả năng kết hợp có thể làm giảm tính bảo mật vì nó khiến các ứng dụng hoặc thành phần gặp nhiều rủi ro hoặc mối đe dọa lẫn nhau hơn, chẳng hạn như xung đột, lỗi, tấn công hoặc lỗ hổng bảo mật. Nếu một ứng dụng bị hack, nó có thể gây ra sự cố cho ứng dụng kia.
Cần lưu ý rằng các dịch vụ DeFi được kết nối với nhau về mặt kinh tế. Ví dụ: nền tảng cho vay có thể sử dụng stablecoin do các ứng dụng khác phát hành. Nếu stablecoin bị hủy chốt vì lý do nào đó, người dùng nền tảng cho vay sẽ bị ảnh hưởng.
Bất chấp rủi ro, khả năng kết hợp là một tính năng đáng mong đợi vì nó cải thiện trải nghiệm người dùng và hỗ trợ đổi mới.
Cardano kích hoạt khả năng kết hợp cho dApps của mình bằng cách cho phép chúng:
- Chia sẻ dữ liệu và giá trị trên các hợp đồng hoặc chuỗi thông minh khác nhau mà không tạo ra xung đột hoặc thất bại.
- Chạy (thực thi) nhiều hợp đồng thông minh song song, không ảnh hưởng hoặc bị ảnh hưởng lẫn nhau.
- Kết nối và tương tác với các nền tảng hoặc giao thức khác, chẳng hạn như Ethereum hoặc Bitcoin.
Cardano hỗ trợ khả năng kết hợp cho DApps (hoặc chỉ các ứng dụng) ở cấp sổ cái, cụ thể là bằng mô hình UTXO mở rộng cho phép thực hiện song song các hợp đồng thông minh. Cardano được thiết kế để có kiến trúc hai lớp, trong đó lớp thanh toán xử lý việc chuyển giá trị và lớp tính toán xử lý việc thực hiện các hợp đồng thông minh. Hơn nữa, chức năng của hợp đồng thông minh có thể được chia thành logic on-chain và off-chain.
Kiến trúc hai lớp của Cardano
Để hiểu đúng về khả năng kết hợp, điều quan trọng là phải hiểu kiến trúc hai lớp của Cardano và cách thức lưu trữ kết quả hoạt động của hợp đồng thông minh trong sổ cái.
Có mối liên hệ giữa việc thực hiện hợp đồng thông minh (bất kể nó được thực hiện ở đâu) và việc lưu trữ vĩnh viễn kết quả trong sổ cái. Hầu hết mọi thành phần của nền tảng Blockchain đều ảnh hưởng đến chất lượng tổng thể của khả năng kết hợp (cũng như khả năng mở rộng, bảo mật, v.v.).
Cardano đặt mục tiêu cung cấp nhiều khả năng mở rộng, bảo mật và bền vững hơn các nền tảng khác, bằng cách sử dụng một thiết kế mới giúp tách các chức năng cốt lõi của nền tảng thành hai lớp riêng biệt: Lớp thanh toán Cardano (Cardano Settlement Layer - CSL) và Lớp tính toán Cardano (Cardano Computation Layer - CCL). Thiết kế này có tác động nhất định đến khả năng kết hợp.
CSL chịu trách nhiệm xử lý việc chuyển giá trị, chẳng hạn như ADA hoặc các token gốc khác, giữa người dùng hoặc hợp đồng thông minh. CSL dựa trên mô hình UTXO mở rộng, đảm bảo rằng các giao dịch mang tính xác định và có thể dự đoán được. Điều quan trọng là nó cho phép thực hiện song song các hợp đồng thông minh.
Sự đồng thuận Bằng chứng cổ phần của Ouroboros được triển khai trong CSL.
CCL chịu trách nhiệm xử lý việc thực thi các hợp đồng thông minh, chẳng hạn như tập lệnh Plutus hoặc Marlowe (tập lệnh xác thực, chính sách đúc tiền, v.v.), xác định logic và quy tắc của ứng dụng. CCL dựa trên ngôn ngữ lập trình chức năng, được gọi là Plutus Core, chạy trên Máy ảo Cardano (CVM).
CCL hỗ trợ nhiều ngôn ngữ lập trình, chẳng hạn như Plutus, Marlowe, Glow, Aiken, v.v. có thể được biên dịch thành Plutus Core và chạy trên CVM.
Kiến trúc hai lớp của Cardano có một số lợi thế so với các nền tảng khác sử dụng kiến trúc một lớp, chẳng hạn như Ethereum.
Kiến trúc hai lớp cho phép linh hoạt và đổi mới hơn, vì mỗi lớp có thể được cập nhật và sửa đổi độc lập mà không ảnh hưởng đến lớp kia. Ví dụ: CSL có thể thay đổi giao thức đồng thuận hoặc mô hình token mà không ảnh hưởng đến CCL. Tương tự, CCL có thể thay đổi (hoặc nâng cấp) ngôn ngữ hợp đồng thông minh hoặc môi trường thực thi mà không ảnh hưởng đến CSL.
Mặt khác, kiến trúc này mang lại sự phức tạp và giảm khả năng sử dụng vì nó đòi hỏi sự phối hợp và đồng bộ hóa nhiều hơn giữa các lớp khác nhau. Ví dụ: CSL và CCL phải duy trì chế độ xem nhất quán về trạng thái sổ cái và đảm bảo rằng các giao dịch hợp lệ và tương thích trên cả hai lớp. Khả năng sử dụng giảm đòi hỏi nhiều bước và công cụ hơn để người dùng hoặc nhà phát triển truy cập hoặc tương tác với các lớp khác nhau.
Kiến trúc hai lớp cải thiện khả năng mở rộng của nền tảng, vì nó giảm tải cho blockchain và cho phép thực hiện song song các hợp đồng thông minh. Ví dụ: CSL chỉ phải xác thực các giao dịch liên quan đến việc chuyển giao giá trị chứ không phải thực hiện hợp đồng thông minh. Tương tự, CCL có thể chạy song song nhiều hợp đồng thông minh, chẳng hạn như trên các sidechain khác nhau mà không can thiệp lẫn nhau.
Kiến trúc hai lớp của Cardano cho phép khả năng kết hợp của các hợp đồng thông minh bằng cách cho phép chúng tương tác và hợp tác với nhau trên Blockchain.
Hãy tưởng tượng token A được đúc bằng hợp đồng thông minh (chính sách đúc) As
và token B được đúc thông qua Bs
. Một hợp đồng thông minh khác thực hiện hoán đổi có thể sử dụng cả token A và B. Trong trường hợp này, các hợp đồng thông minh không tương tác trực tiếp với nhau (chúng không được cấu thành) nhưng các token được chia sẻ giữa các hợp đồng thông minh khác nhau. Chúng ta có thể nói về khả năng kết hợp ở cấp độ nội dung.
Cardano cho phép khả năng kết hợp chủ yếu thông qua cách tiếp cận mô-đun đối với hợp đồng thông minh. Đó là, thông qua việc phân chia hợp đồng thông minh thành logic on-chain và off-chain. Chúng ta sẽ nói về điều này chi tiết hơn sau.
Các tập lệnh Plutus (trình xác thực) được thực thi bởi Máy ảo Cardano trong CCL. CCL tương tác với CSL, đây là lớp chỉ xử lý việc chuyển giá trị, chẳng hạn như ADA hoặc các token gốc khác, giữa người dùng hoặc hợp đồng thông minh. CSL xác thực và lưu trữ các giao dịch liên quan đến việc chuyển giá trị trên Blockchain.
CSL chỉ hoạt động với đầu ra của hợp đồng thông minh (giá trị boolean Đúng hoặc Sai). Nội dung chỉ có thể được sử dụng (mở khóa) từ một địa chỉ (địa chỉ tập lệnh) nếu giá trị trả về là Đúng. CSL không tự thực thi hoặc xác thực các hợp đồng thông minh mà chỉ kiểm tra xem chúng có được CCL thực thi và xác thực hay không và giá trị trả về hay không. CSL chấp nhận hoặc từ chối giao dịch dựa trên giá trị boolean.
Trong hình bên dưới, bạn có thể thấy CSL và CCL. Hơn nữa, một hợp đồng thông minh được chia thành logic on-chain và off-chain. Logic on-chain được thực thi bởi CVM trong khi logic off-chain có thể được thực thi trên máy chủ hoặc máy tính cục bộ của người dùng. Nếu giá trị trả về của tập lệnh trình xác thực là True thì giao dịch sẽ được ghi vào sổ cái trong CSL.
Nhiều ứng dụng (tập lệnh Plutus) có thể sử dụng CSL song song. Mô hình UTXO đảm bảo rằng các giao dịch mang tính xác định và có thể dự đoán được, đồng thời không phụ thuộc vào trạng thái chung của sổ cái hoặc các giao dịch khác. Do đó, các giao dịch hoặc hợp đồng thông minh khác nhau có thể được thực hiện song song mà không ảnh hưởng lẫn nhau, miễn là chúng không sử dụng cùng một UTXO.
Tính song song của mô hình UTxO giúp ích cho khả năng kết hợp vì nó cho phép các hợp đồng thông minh tương tác và hợp tác với nhau trên Blockchain mà không tạo ra xung đột hoặc lỗi. Ví dụ: một hợp đồng thông minh triển khai token có thể được sử dụng bởi một hợp đồng thông minh khác thực hiện trao đổi, nền tảng cho vay hoặc đấu giá. Mô hình UTxO có thể xử lý các giao dịch này song song mà không tạo ra xung đột hoặc lỗi.
Cách tiếp cận mô-đun đối với hợp đồng thông minh
Cardano sử dụng cách tiếp cận mô-đun, trong đó hợp đồng thông minh bao gồm hai thành phần: mã on-chain và mã off-chain. Cardano cho phép khả năng kết hợp của các ứng dụng thông qua cả phần on-chain và off-chain của hợp đồng thông minh. Nếu bạn muốn tìm hiểu thêm về cách hoạt động của hợp đồng thông minh trên Cardano, hãy đọc bài viết của chúng tôi về chủ đề này. Bạn có thể bỏ qua chương về Bitcoin và Ethereum.
Mã on-chain là một tập lệnh chạy trên Blockchain (CCL) để xác thực các giao dịch liên quan đến hợp đồng thông minh. Nó thường là một mã đơn giản để mở tiền trên địa chỉ tập lệnh.
Mã off-chain có thể là một ứng dụng phức tạp chạy trên máy trạm hoặc máy chủ của người dùng để tạo các giao dịch (cả giao dịch có tập lệnh và giao dịch chi tiêu) tuân theo logic hợp đồng thông minh. Điều này mang lại sự linh hoạt to lớn, nhưng độ phức tạp cao hơn sẽ gây ra rủi ro. Ví dụ, điều này xuất phát từ thực tế là để thực thi logic của hợp đồng thông minh, cần phải sử dụng nhiều môi trường thực thi, ví dụ: Máy ảo Java (trên máy chủ) và Máy ảo Cardano trên Blockchain (trong CCL).
Cách tiếp cận mô-đun cho phép hiệu quả và khả năng mở rộng cao hơn, vì hầu hết logic hợp đồng thông minh được thực hiện off-chain, giảm tải và chi phí trên Blockchain. Khả năng kết hợp ở cấp độ tập lệnh Plutus (trình xác thực) là có thể, nhưng không đơn giản như khả năng kết hợp ở cấp độ logic off-chain.
Khả năng kết hợp ở cấp độ tập lệnh Plutus có nghĩa là các phần khác nhau on-chain của hợp đồng thông minh có thể tương tác và hợp tác với nhau trên Blockchain (trong CCL), tạo ra các chức năng mới và phức tạp hơn. Cách tiếp cận này thường bị các nhà phát triển tránh vì nó đưa ra một thách thức. Các hợp đồng thông minh khác nhau có thể có giao diện, loại dữ liệu hoặc giao thức khác nhau, điều này có thể khiến chúng không tương thích hoặc không nhất quán với nhau. Tiêu chuẩn hóa và thống nhất các phương pháp tiếp cận có thể giúp các nhà phát triển đạt được khả năng kết hợp.
Các hợp đồng thông minh khác nhau có thể có các trạng thái, sự phụ thuộc hoặc ràng buộc khác nhau, điều này có thể khiến chúng khó hoặc không thể phối hợp hoặc đồng bộ hóa với nhau. Để đạt được khả năng kết hợp ở cấp độ tập lệnh trình xác thực, hợp đồng thông minh phải sử dụng một số cơ chế hoặc kỹ thuật để giao tiếp và căn chỉnh các trạng thái, sự phụ thuộc hoặc ràng buộc của chúng. Tuy nhiên, điều này rất có thể sẽ yêu cầu sự hợp tác của các nhóm ngay từ khi bắt đầu phát triển ứng dụng hoặc triển khai lại Trình xác thực sau đó.
May mắn thay, các ứng dụng (hợp đồng thông minh) không cần thiết phải tương tác ở cấp độ người xác thực (logic on-chain). Nó đơn giản hơn nhiều ở cấp độ logic off-chain.
Khi thiết kế logic off-chain, các nhà phát triển chỉ bị giới hạn ở mức tối thiểu bởi các yêu cầu của logic on-chain. Về cơ bản, họ có thể thiết kế chức năng có lưu ý đến khả năng kết hợp.
Các nhà phát triển có thể sử dụng bất kỳ ngôn ngữ lập trình, framework hoặc tiêu chuẩn hiện có nào để tạo phần off-chain của hợp đồng thông minh. Điều duy nhất họ phải đảm bảo là sự tương tác với API node Cardano.
Các ứng dụng off-chain khác nhau có thể tự do tương tác với nhau mà không ảnh hưởng đến các ứng dụng off-chain khác. Việc kết nối các ứng dụng ở cấp độ này rất dễ dàng và không phải là thách thức lớn đối với nhà phát triển trung bình.
Kết quả tương tác của các phần off-chain của ứng dụng sẽ được phản ánh trong các phần on-chain. Cuối cùng, kết quả phải được ghi vào sổ cái thông qua người xác thực. Nói cách khác, sự tương tác off-chain giữa các ứng dụng phải dẫn đến việc xây dựng một giao dịch chi tiêu để mở khóa số tiền bị người xác thực khóa.
Có thể nói, khả năng mở rộng và độ phức tạp tính toán của các ứng dụng gần như không giới hạn ở cấp độ các phần off-chain của hợp đồng thông minh. Nút cổ chai là kích thước khối.
CSL cho phép xử lý song song các giao dịch (mô hình UTxO). CCL cho phép thực hiện song song các hợp đồng thông minh. Thực thi song song các hợp đồng thông minh có nghĩa là các hợp đồng thông minh khác nhau có thể được thực hiện song song mà không ảnh hưởng hoặc bị ảnh hưởng lẫn nhau, miễn là chúng không tương tác với cùng một UTxO. Nếu đầu ra của phần on-chain của hợp đồng thông minh là Đúng thì cần phải lưu trữ giao dịch trong blockchain, tức là đưa nó vào khối tiếp theo.
Trong hình ảnh bên dưới, bạn có thể thấy hai phần off-chain của hợp đồng thông minh giao tiếp với nhau như thế nào (mũi tên màu xanh lá cây). Phần off-chain của các ứng dụng được cố tình vẽ lớn hơn trong hình, điều này cho thấy rằng logic phức tạp hơn được triển khai ở đó. Các bộ phận on-chain của hợp đồng thông minh cũng có thể giao tiếp với nhau (mũi tên màu đỏ). Hình ảnh cũng cho thấy kết quả của sự tương tác giữa các hợp đồng thông minh dẫn đến việc tạo ra hai giao dịch chi tiêu được ghi vào sổ cái như thế nào (mũi tên màu xanh). Các giao dịch chi tiêu đã mở khóa tiền trên các địa chỉ tập lệnh (các giao dịch có tập lệnh đã được lưu trữ trong sổ cái).
Các nhà xây dựng DeFi có thể tạo các ứng dụng có thể tổng hợp trên Cardano. Tuy nhiên, cũng có một số thách thức và hạn chế cần được giải quyết để đạt được khả năng tổng hợp đầy đủ.
- Tính tương thích và tiêu chuẩn hóa của ngôn ngữ và giao diện hợp đồng thông minh.
- Khả năng sử dụng và khả năng tiếp cận của các ứng dụng. Người dùng có thể cần phải có nhiều ví hoặc tài khoản để truy cập các ứng dụng khác nhau.
Lời kết
Cách tiếp cận nguyên khối đối với các hợp đồng thông minh mà Ethereum sử dụng có ưu điểm về tính bảo mật và đơn giản, nhưng có nhược điểm về khả năng mở rộng và tính linh hoạt. Cardano sử dụng cách tiếp cận mô-đun cho hợp đồng thông minh. Nó có ưu điểm về khả năng mở rộng và tính linh hoạt, nhưng có nhược điểm về tính bảo mật và độ phức tạp.
Cách tiếp cận nguyên khối có thể dẫn đến phí cao và tắc nghẽn, điều này có thể cản trở hiệu suất và khả năng sử dụng của hợp đồng thông minh. Chức năng của tất cả các hợp đồng tiêu tốn tài nguyên tính toán của mạng phân tán. Không thể thực hiện một phần chức năng off-chain. Các ứng dụng kém linh hoạt hơn vì chúng bị giới hạn bởi những gì nền tảng cung cấp. Mặt khác, đây cũng có thể là một lợi thế vì các ứng dụng (tương đối) đơn giản. Tất cả chức năng của hợp đồng thông minh của Ethereum được viết bằng Solidity (hoặc Vyper). Điều này cũng có lợi từ quan điểm bảo mật, vì tất cả các giao dịch và hợp đồng thông minh đều được xác thực bởi cùng một cơ chế đồng thuận và được thực thi bởi cùng một máy ảo.
Theo quan điểm của tôi, nhược điểm lớn nhất của Ethereum là cần phải thực hiện các hợp đồng thông minh một cách tuần tự. Hạn chế này bắt nguồn từ việc sử dụng mô hình dựa trên tài khoản (Accounting).
Cách tiếp cận mô-đun có thể đạt được khả năng mở rộng cao hơn, vì các mô-đun hoặc lớp khác nhau có thể xử lý các tác vụ khác nhau song song hoặc không đồng bộ. Điều này có thể giảm tải mạng và người dùng có thể trả mức phí thấp hơn do tiêu thụ ít tài nguyên tính toán phân tán hơn. Cách tiếp cận mô-đun cho phép tạo ra các hợp đồng thông minh phức tạp và đa dạng hơn. Tuy nhiên, nó có thể gây ra rủi ro bảo mật vì các mô-đun hoặc lớp khác nhau có thể có mức độ tin cậy và xác minh khác nhau. Tính linh hoạt cao hơn và các tùy chọn không giới hạn cho các nhà phát triển có thể dẫn đến sự phức tạp có thể dẫn đến các lỗ hổng và sự không nhất quán trong dữ liệu và logic trên Blockchain.
Nhược điểm lớn nhất của Cardano có lẽ là tính tiêu chuẩn hóa và thống nhất thấp. Hiện tại có một số CIP liên quan đến việc thực hiện các tiêu chuẩn. Điều này một phần là do Cardano vẫn còn là một nền tảng trẻ.
Trong bài viết tiếp theo, chúng tôi sẽ so sánh khả năng kết hợp của các ứng dụng trên Cardano với Ethereum một cách chi tiết hơn.
Nguồn bài viết tại đây
Đọc thêm các bài viết liên quan tại thẻ Tags bên dưới