Mô hình giao dịch sáng tạo của ZetaChain kết hợp sự đơn giản và bảo mật của UTXO với sự thể hiện của tính năng Account-based. Thiết kế hợp cho phép đồng thời cả việc gửi tin nhắn cross-chain và hợp đồng thông minh omnichain nguyên bản có thể tương tác trực tiếp với các trạng thái trên các chains bên ngoài.

Trong một bài phân tích sâu của chúng tôi về thị trường tương tác giữa các blockchain, chúng tôi thừa nhận một số dự án và đề xuất blockchain nhằm đạt được khả năng lập trình tổng quát. Vấn đề là các dự án này hoặc là bị tập trung hóa ở các cấp độ khác nhau và / hoặc là sử dụng các mô hình tin tưởng có vấn đề. Điều này để lại một lỗ hổng lớn trong hệ sinh thái crypto về một cách tiếp cận công khai, không cần sự cho phép và phi tập trung đối với khả năng tương tác omnichain. ZetaChain là nhà tiên phong của blockchain công khai được khuyến khích và platform hợp đồng thông minh cross-chain đa năng đầu tiên. Một tuyên bố táo bạo như vậy đặt ra một số câu hỏi lớn về những hạn chế của cơ chế “bookkeeping” blockchain để hỗ trợ các dApps cross-chain và thách thức của sự không đồng bộ. Chúng tôi sẽ giải quyết cả hai chủ đề trong bài này bằng cách xem qua thiết kế mô hình giao dịch kết hợp (hybrid) của ZetaChain, được cung cấp bởi Zeta Virtual Machine (ZVM).

Mô hình giao dịch Blockchain

Để đạt được sự hỗ trợ hợp đồng thông minh omnichain tổng quát, bạn cần phải vượt qua một số thách thức chính. Đầu tiên là bản thân việc giao tiếp giữa các chuỗi không đồng nhất vốn đã là không đồng bộ. Không giống như các hợp đồng thông minh trên một chuỗi đơn lẻ như Ethereum Virtual Machine (EVM), việc truy vấn hoặc thay đổi trạng thái của một chain khác được kích hoạt bởi các tin nhắn (sự quan sát) từ các chain bên ngoài. Loại mô hình giao dịch hợp đồng thông minh cross-chain này tốt nhất nên được coi là một máy trạng thái hữu hạn.

Thách thức thứ hai là mô hình lập trình blockchain, mô hình này ảnh hưởng đến cách các hợp đồng thông minh truyền tải tin nhắn, dữ liệu và giá trị. Từ trước tới nay, có hai mô hình “bookkeeping” chính để ghi lại và thay đổi trạng thái trên một blockchain: UTXO (unspent transaction output), được sử dụng bởi Bitcoin, Ergo, Cardano và các loại khác, và account-based, được sử dụng bởi EVM. Dưới đây là thông tin tổng quan đơn giản về từng loại:

Hình 1: Mô hình UTXO và mô hình Account-based: trực quan hóa trạng thái mạng

Hình 1: Mô hình UTXO và mô hình Account-based: trực quan hóa trạng thái mạng

Mô hình UTXO so với mô hình Account-based

Sự khác biệt chính giữa hai mô hình này nằm ở năng lực biểu đạt của chúng. Bản chất tính toán của mô hình account-based làm cho tính biểu đạt của nó cao hơn so với các tập lệnh dựa trên UTXO, nó có thể được coi là một mô hình xác minh nhiều hơn. Tuy nhiên, các hợp đồng thông minh dựa trên UTXO thường đơn giản hơn, mạnh hơn, lưu trữ và tính toán hiệu quả hơn, và chúng có ít bề mặt tấn công hơn do các hạn chế của UTXO. Ví dụ, trên thực tế, các tập lệnh Bitcoin rất hiếm có lỗi bảo mật ngoài ý muốn, trong khi các hợp đồng thông minh Ethereum nổi tiếng với các vụ khai thác lỗ hổng (hack lấy cắp) hàng triệu dollar. Ngoài ra, trong trường hợp của Bitcoin, sự bất biến quan trọng của việc thực thi ngầm của UTXO giúp loại bỏ vấn đề lặp chi (double spend): tổng số tiền đầu vào của giao dịch = tổng số tiền đầu ra. Vì vậy, mặc dù tính biểu đạt của lập trình account-based cho phép dễ dàng tạo ra các dApps phức tạp (AMM, ICO, …), thì nó đi kèm với bảo mật thấp hơn.

Nỗ lực của mô hình giao dịch kết hợp (hybrid transaction model)

Nếu bạn định đề xuất một platform hợp đồng thông minh cross-chain đa năng, phi tập trung, thì bạn cần phải vượt qua thách thức sau: Làm thế nào để mở rộng mô hình UTXO cho đủ khả năng biểu đạt để hỗ trợ các dApps phổ biến như một AMM DEX theo kiểu Uniswap, mà vẫn giữ được sự đơn giản và an toàn?

Một vài dự án cấp tiến đã cố gắng giải quyết vấn đề nan giải này. Ergo đã đi tiên phong với mô hình UTXO mở rộng (eUTXO), tiếp theo là Cardona. Trong các platform eUTXO này, AMM DEXs có thể được triển khai ở một mức độ nhất định bằng cách giữ trạng thái của cặp AMM trong một UTXO, nhưng cách này vẫn có những vấn đề nghiêm trọng. Chỉ một giao dịch có thể tạo thành công một block, vì chỉ duy nhất một giao dịch có thể sử dụng UTXO đó và tạo một UTXO mới trong một block. Kết quả là tắc nghẽn UTXO, trong đó các giao dịch đã hoàn thành mà cố sử dụng cùng một UTXO sẽ thất bại và phải đợi một block và sử dụng UTXO mới. Điều này là không tối ưu.

Thiết kế Hybrid UTXO-Account của ZetaChain

ZetaChain giới thiệu một cách tiếp cận kết hợp giữa UTXO và Account-based, là kết hợp các điểm mạnh của mỗi phương pháp. Về cơ bản, nó sử dụng UTXO để biểu diễn và theo dõi các giao dịch của các blockchain bên ngoài (được coi như một UTXO tổng hợp) và sử dụng các hợp đồng thông minh account-based để theo logic và quản lý các trạng thái tổng quát được dùng chung. Một UTXO bao gồm số lượng ZETA coin (đã đốt), số lượng của một loại tiền coin khác (ví dụ: BTC trên mạng Bitcoin, nơi không thể phát hành ZETA coin) và một tập lệnh tin nhắn (gần tương đương với một tin nhắn hoặc lời gọi hàm trên Ethereum). Mô hình UTXO tổng hợp cho phép ZetaChain trải nghiệm các lợi ích của trách nhiệm kế toán, tính đơn giản và khả năng mở rộng, đồng thời tránh được hạn chế chính của UTXO là khả năng biểu đạt của tập lệnh của nó và sự khó xử trong một số ứng dụng quan trọng (tức là một giao dịch trên mỗi block trong một AMM).

Hãy cùng kiểm tra luồng UTXO-Account kết hợp của ZetaChain (hình 2):

  1. Hợp đồng thông minh trên ZetaChain gửi tin nhắn và tạo một Event mà cố gắng sử dụng UTXO trên ZetaChain.
  2. Sau đó Event này được nhận bởi những người ký (signers) ZetaClient và họ sẽ ký một giao dịch cho một chain bên ngoài.
  3. ZVM và ZetaClient sẽ xác thực một số bất biến, một trong số đó là lượng ZETA đầu ra phải bằng lượng ZETA đầu vào trong UTXO.
  4. Khi giao dịch được xác nhận và quan sát giao dịch gửi đi, UTXO được đánh dấu là đã sử dụng và bị xóa khỏi máy trạng thái. Nếu giao dịch gửi đi không thành công (không đủ gas, …), UTXO được đánh dấu là hoàn nguyên và trả lại lượng ZETA và/hoặc các coins liên quan sẽ được hoàn lại trên chain gốc . Khi việc hoàn lại tiền được xác nhận, UTXO sẽ bị xóa khỏi máy trạng thái.