Mo-hinh-ke-toan-UTXO-mo-rong-cua-Cardano-duoc-xay-dung-de-ho-tro-multi-assets-va-hop-dong-thong-minh-(phan-2)

Ở phần trước, chúng tôi đã cung cấp một cái nhìn tổng quan về mô hình UTXO mở rộng được Cardano sử dụng, giải thích những điểm khác biệt so với các phương pháp tiếp cận của Bitcoin và Ethereum như thế nào. Bây giờ chúng ta hãy tìm hiểu sâu hơn một chút về input và output, các yếu tố hình thành một giao dịch.

Điều chúng ta cần nói về các giao dịch đó là: Đầu ra và Đầu vào (Output and Input)

Thuật ngữ transaction (giao dịch) thường được sử dụng rất nhiều trong lĩnh vực tài chính. Với Bitcoin người ta áp dụng khái niệm giao dịch (vì blockchain Bitcoin được sử dụng để chuyển tiền giữa các người dùng ngang hàng), nhiều blockchain khác (trong đó có Cardano) đa dạng hơn nhiều. Trong những trường hợp này, thuật ngữ ‘transaction’ mang nhiều sắc thái hơn. Người ta có thể coi giao dịch là sự chuyển giao giá trị.

Trong môi trường blockchain, mỗi giao dịch có thể có một hoặc nhiều đầu vào (input) và một hoặc nhiều đầu ra (output). Chúng ta cần phải hiểu các khái niệm về Inputvà output để có thể nắm được cách thức hoạt động của một giao dịch và sự liên quan của nó đến UTXO như thế nào. Chúng ta hãy hình dung một giao dịch giống như một hành động mở khóa cho các đầu ra trước đó để tạo ra các đầu ra mới hơn.

Transaction output – Đầu ra của giao dịch

Đầu ra giao dịch bao gồm một địa chỉ (mà bạn có thể coi là một khóa) và một giá trị. Để dễ hình dung hơn chúng ta hãy xem chữ ký chứa trong địa chỉ tương tự như là chìa khóa để mở khóa đầu ra. Sau khi mở khóa, một đầu ra có thể được sử dụng làm đầu vào cho các giao dịch mới. Giao dịch mới sẽ sử dụng đầu ra của các giao dịch trước đó và tạo ra đầu ra mới hơn để sử dụng cho các giao dịch kế tiếp sau đó. Mỗi UTXO chỉ có thể được sử dụng một lần và toàn bộ. Mỗi đầu ra có thể được sử dụng bởi chính xác một đầu vào và chỉ một đầu vào.

Transaction input – Đầu vào giao dịch

Đầu vào giao dịch là đầu ra của giao dịch trước đó. Đầu vào giao dịch bao gồm một con trỏ và một chữ ký mã hóa hoạt động như một chìa khóa để mở khóa. Con trỏ này sẽ lại trỏ đến đầu ra giao dịch trước đó và sẽ mở khóa cho đầu ra này. Khi một đầu ra được mở khóa bởi một đầu vào, blockchain sẽ đánh dấu đầu ra đã mở khóa là “đã chi tiêu/sử dụng”. Các đầu ra mới được tạo ra bởi một giao dịch nhất định sau đó có thể được trỏ đến bởi các đầu vào mới và hoạt động cứ tiếp tục diễn ra chuỗi. Các đầu ra mới này (chưa được mở khóa) là UTXO. Đầu ra chưa chi tiêu đơn giản là đầu ra chưa được dùng đến.

Tóm lại, UTXO hoạt động như thế nào

Trong mô hình kế toán UTXO, các giao dịch sử dụng kết quả đầu ra chưa sử dụng từ các giao dịch trước đó và tạo ra kết quả đầu ra mới có thể được sử dụng làm đầu vào cho các giao dịch trong tương lai.

Ví của người dùng sẽ quản lý các UTXO này và bắt đầu các giao dịch liên quan đến các UTXO thuộc quyền sở hữu. Toàn bộ các node trong blockchain sẽ lưu giữ một bản ghi về tập hợp con của tất cả các UTXO. Đây được gọi là bộ UTXO. Về mặt kỹ thuật, đây là chainstate, được lưu trữ trong thư mục dữ liệu của tất cả các node. Khi một khối mới được thêm vào chuỗi, chainstate sẽ được cập nhật tương ứng. Khối mới này chứa danh sách các giao dịch mới nhất (tất nhiên bao gồm cả bản ghi của các UTXO đã sử dụng và các giao dịch mới được tạo kể từ khi chainstate được cập nhật lần cuối). Mỗi node duy trì một bản sao chính xác của chainstate.

EUTXO: Lý do đằng sau sự lựa chọn của Cardano

Mô hình kế toán UTXO ‘vanilla’ – (mang tính cơ bản, nguyên sơ) của Bitcoin trở nên không phù hợp với Cardano, vì Cardano được thiết kế để làm nhiều tác vụ hơn không chỉ riêng nghiệp vụ thanh toán. Đặc biệt là nhu cầu về khả năng diễn đạt trong lập trình cho chức năng hợp đồng thông minh sắp tới trong kỷ nguyên Alonzo đòi hỏi một giải pháp mới (‘Mở rộng’).

Mô hình UTXO ‘cơ bản’ có hạn chế về khả năng diễn giải trong lập trình. Mô hình kế toán Tài khoản/Số dư của Ethereum đã giải quyết vấn đề cụ thể này với sự phát triển của sổ cái dựa trên tài khoản và các tài khoản hợp đồng được liên kết. Nhưng khi thực hiện như vậy, ngữ nghĩa của mã hợp đồng trở nên phức tạp hơn nhiều, điều này có tác dụng không mong muốn là buộc người phát hành hợp đồng phải nắm bắt đầy đủ các sắc thái của ngữ nghĩa để tránh tạo ra các lỗ hổng tiềm ẩn phải trả giá đắt.

Giải pháp UTXO ‘mở rộng’ đòi hỏi bổ sung hai chức năng mà mô hình UTXO hiện tại không thể đáp ứng, đó là:

1 – Có thể duy trì trạng thái hợp đồng

2 – Có thể cho phép sử dụng cùng một mã hợp đồng trong toàn bộ chuỗi giao dịch. Chúng tôi gọi đây là sự liên tục.

Một đặc điểm nổi trội của mô hình EUTXO là các khoản phí cần thiết cho một giao dịch hợp lệ có thể được dự đoán chính xác trước khi thực hiện. Đây là một tính năng độc đáo không có trong các mô hình dựa trên tài khoản.

Mô hình EUTXO mở rộng UTXO bằng cách nào?

Bằng cách thêm dữ liệu tùy chỉnh vào đầu ra (bên cạnh phần giá trị), và bằng cách cho phép thêm “ổ khóa” và “chìa khóa” để quy định điều kiện mở khóa đầu ra cho một giao dịch. Nói cách khác, thay vì chỉ dùng khóa công khai (mã băm) cho “ổ khóa” và chữ ký tương ứng dùng làm “chìa khóa”, EUTXO cho phép kiểm tra xác thực hợp đồng bằng tập lệnh. Logic tùy ý này sẽ kiểm tra giao dịch và dữ liệu để quyết định xem giao dịch có được phép sử dụng một đầu vào nào đó hay không.

Kết luận: Điều gì làm cho mô hình EUTXO sáng tạo và phù hợp

Mô hình sổ cái của Cardano mở rộng mô hình UTXO để hỗ trợ nhiều tài sản và hợp đồng thông minh mà không ảnh hưởng đến lợi thế cốt lõi của mô hình UTXO. Nghiên cứu sáng tạo của chúng tôi cung cấp chức năng vượt xa những gì được hỗ trợ trong bất kỳ sổ cái UTXO nào khác, biến Cardano trở thành một đối thủ cạnh tranh duy nhất trong không gian blockchain thế hệ tiếp theo.

 

Source: https://iohk.io/en/blog/posts/2021/03/12/cardanos-extended-utxo-accounting-model-part-2/