Hãy tưởng tượng bạn bước vào một chợ đường phố Việt Nam với một tờ 200.000 đồng để mua một bát phở 50.000 đồng. Bạn đưa tờ 200.000 đồng, người bán giữ 50.000 đồng và trả lại cho bạn 150.000 đồng làm tiền thừa. Trong giây phút đó, "nguồn đầu vào" duy nhất của bạn (tờ 200.000 đồng) đã được tiêu thụ hoàn toàn, và hai "nguồn đầu ra" mới được tạo ra: 50.000 đồng của người bán và 150.000 đồng tiền thừa của bạn. Đây chính là bản chất của cách thức hoạt động của mô hình UTXO.
Trong thế giới blockchain, mô hình UTXO (Unspent Transaction Output) là hệ thống kế toán được sử dụng bởi Bitcoin và, trong một hình thức mở rộng, bởi Cardano. Mặt khác với mô hình tài khoản ngân hàng quen thuộc được sử dụng bởi Ethereum, UTXO không xem giá trị như một số dư trong một tài khoản, mà là các phần tiền riêng biệt phải được sử dụng hết và tái tạo với mỗi giao dịch. Trong bài viết này, chúng ta sẽ tìm hiểu cách UTXO hoạt động, lý do tại sao Cardano chọn mô hình Extended UTXO (EUTXO) và những gì khiến nó khác biệt cơ bản so với phương pháp dựa trên tài khoản.
UTXO là gì?
UTXO đơn giản là một output từ một giao dịch trước đó mà chưa được sử dụng. Hãy xem nó như một đồng xu kỹ thuật số chưa được khai thác nằm trên blockchain, được khóa với một địa chỉ cụ thể. Tài khoản trong ví của bạn không được lưu trữ dưới dạng một số duy nhất ở bất kỳ nơi nào trên blockchain. Thay vào đó, nó là tổng của tất cả UTXO hiện đang được khóa với các địa chỉ của bạn.
Khi bạn chi tiêu Bitcoin hoặc ADA, bạn không đang trừ từ một số dư. Bạn đang tiêu thụ một hoặc nhiều UTXO (nguồn) hiện có và tạo ra các UTXO mới (kết quả). Mỗi nguồn phải được tiêu thụ hoàn toàn. Nếu tổng giá trị nguồn vượt quá số tiền bạn muốn gửi, phần thừa sẽ trở lại cho bạn dưới dạng "kết quả đổi tiền". Đây là lý do tại sao so sánh với thị trường đường phố hoạt động rất tốt: bạn không thể cắt tờ tiền 200k ra làm đôi; bạn phải giao toàn bộ số tiền đó và nhận lại tiền đổi.
Một ví dụ cụ thể
Giả sử Alice có một UTXO có giá trị 10 ADA. Cô ấy muốn gửi 3 ADA cho Bob. Cách giao dịch của cô ấy sẽ như sau:
- Các đầu vào: Một UTXO (10 ADA) từ địa chỉ của Alice
Xin lưu ý rằng 10 UTXO ADA ban đầu của Alice không còn tồn tại. Nó đã được "chi tiêu". Ở vị trí đó, hai UTXO mới được sinh ra: 3 ADA của Bob và 6.8 ADA của Alice. Phí cũng được thu thập bởi mạng như một đầu ra mới được sử dụng bởi các validator.
UTXO vs mô hình tài khoản
Hầu hết mọi người đều biết về tài khoản ngân hàng. Tài khoản của bạn có số dư 5.000.000 đồng. Khi bạn chuyển 1.000.000 đồng cho một người bạn, ngân hàng chỉ cần trừ 1.000.000 đồng từ số dư của bạn và cộng vào số dư của người bạn. Đây là model tài khoản và đây là cách Ethereum hoạt động.
Trong Ethereum, mỗi tài khoản có một trạng thái: một số dư và một nonce (một đếm để ngăn chặn các cuộc tấn công tái phát). Khi Alice gửi 3 ETH cho Bob, trạng thái toàn cầu được cập nhật: Alice.balance -= 3, Bob.balance += 3. Khái niệm "thay đổi" không tồn tại vì số dư chỉ là các số trong một sổ kế toán.
Dưới đây là so sánh cạnh tranh:
| Tính năng | Mô hình UTXO | Mô hình tài khoản |
|---|---|---|
| Cung cấp bộ nhớ | Phân bố trên các đầu ra | Tổng hợp trong số dư tài khoản |
| Lý thuyết giao dịch | Hấp thụ toàn bộ các đầu vào, tạo ra các đầu ra mới | Tích một tài khoản, nợ một tài khoản khác |
| Đồng thời | Tự nhiên: các UTXO độc lập có thể được sử dụng song song | Có giới hạn: trạng thái toàn cầu được chia sẻ tạo ra xung đột |
| Định luật | Tốt: tính hợp lệ của giao dịch được tự động xác nhận | Thấp: hiệu lực phụ thuộc vào trạng thái toàn cầu hiện tại |
| Bảo mật | Tốt hơn: sử dụng địa chỉ mới cho mỗi giao dịch | Thiếu mạnh: tất cả các hoạt động liên kết với một tài khoản |
| Độ phức tạp của người dùng | Tốt hơn: phải quản lý các đầu vào và thay đổi | Thấp: hành xử giống như một tài khoản ngân hàng |
Mô hình tài khoản có vẻ dễ sử dụng hơn vì nó phản ánh các hoạt động ngân hàng truyền thống. Tuy nhiên, mô hình UTXO cung cấp những lợi thế mạnh mẽ trong bảo mật, khả năng mở rộng và song song, khiến nó trở thành lựa chọn được ưu tiên cho các hệ thống ưu tiên các tính năng này.
UTXO mở rộng: Sự đổi mới của Cardano
Mô hình UTXO của Bitcoin tuyệt đẹp nhưng có hạn chế. Nó chỉ có thể xác minh các giao dịch dựa trên các điều kiện đơn giản: người chi có cung cấp chữ ký số hợp lệ không? Cardano cần một thứ mạnh mẽ hơn để hỗ trợ các hợp đồng thông minh. Điều này dẫn đến mô hình Extended UTXO (EUTXO), được giới thiệu với nhánh cứng Alonzo.
EUTXO giữ lại tất cả các lợi ích của UTXO, đồng thời thêm ba thành phần quan trọng giúp cho các hợp đồng có thể được lập trình:
1. Ngày
Một điểm tham chiếu là một phần dữ liệu tùy ý được gắn vào UTXO khi nó được tạo. Hãy xem nó như một ghi chú được dán lên một tờ tiền. Ví dụ, một sàn giao dịch phân tán có thể gắn một điểm tham chiếu xác định tỷ giá hối đoái hoặc hạn mức thời gian cho việc trao đổi. Điểm tham chiếu vẫn là một phần của UTXO cho đến khi nó được sử dụng.2. Người cứu chuộc
Khi một người muốn chi tiêu UTXO bị khóa bởi một hợp đồng thông minh, họ cung cấp một thuê bao. Điều này tương đương với việc cung cấp mật khẩu hoặc vé để mở khóa số tiền. Thuê bao bao gồm logic hoặc bằng chứng cần thiết để đáp ứng các điều kiện chi tiêu. Ví dụ, trong một hợp đồng bầu cử, thuê bao có thể chứa phiếu bầu của người dùng.3. Môi trường của kịch bản
Bối cảnh của mã lệnh là một cấu trúc dữ liệu phong phú cho phép hợp đồng thông minh có thể xem đầy đủ các giao dịch đang được xác minh. Nó bao gồm thông tin về tất cả các đầu vào, tất cả các đầu ra, phí giao dịch, chữ ký và thời gian hiện tại. Điều này cho phép các hợp đồng thực thi các quy tắc phức tạp, chẳng hạn như "UTXO này chỉ có thể được sử dụng nếu tổng giá trị đầu ra bằng tổng giá trị đầu vào" hoặc "hợp đồng này hết hạn sau khối 10.000.000."Kết hợp với nhau, ngày giờ, người trả nợ và ngữ cảnh chương trình tạo thành một khung hoàn chỉnh cho các hợp đồng thông minh có trạng thái, đồng thời vẫn giữ nguyên tính xác định và khả năng phân tán của mô hình UTXO. Đây là một lý do chính khiến Cardano có thể xác minh chính thức các hợp đồng thông minh của mình: vì điều kiện chi tiêu chỉ phụ thuộc vào giao dịch đó, không phụ thuộc vào một trạng thái toàn cầu có thể thay đổi.
Tại sao UTXO quan trọng: Các lợi thế chính
Định luật
Trong mô hình UTXO, tính hợp lệ của một giao dịch có thể được xác định trước khi nó được gửi đến mạng. Bạn biết chính xác các đầu vào mà bạn đang chi tiêu và chính xác các đầu ra mà bạn tạo ra. Không có bất ngờ nào từ giao dịch của người dùng khác vượt trội hơn bạn và thay đổi trạng thái toàn cầu. Điều này khiến giao dịch UTXO trở nên được dự đoán và có thể xác minh chính thức.Đồng thời
Vì UTXO là độc lập với nhau, các giao dịch sử dụng các UTXO khác nhau có thể được xác minh song song. Không có một tài khoản chung mà tất cả các giao dịch phải cập nhật theo thứ tự. Đây là một lợi thế về khả năng mở rộng lớn. Trong một thế giới của các giải pháp tầng 2 và các chuỗi phụ, tính song song tự nhiên của UTXO trở nên có giá trị hơn nữa.Bảo mật
Mỗi khi bạn nhận được tiền trong hệ thống UTXO, bạn có thể sử dụng một địa chỉ hoàn toàn mới. Tài khoản của bạn được phân tán trên nhiều UTXO không liên quan trên blockchain, khiến việc liên kết tất cả các hoạt động tài chính của bạn trở nên khó khăn hơn nhiều. Ngược lại, một tài khoản Ethereum là một chỉ định duy nhất và vĩnh viễn, tiết lộ toàn bộ lịch sử giao dịch của bạn.Xác minh trạng thái địa phương
Các nút trong mạng UTXO chỉ cần theo dõi các output nào chưa được sử dụng. Họ không cần lưu trữ toàn bộ số dư của mỗi tài khoản trong hệ thống. Phương pháp "tình trạng địa phương" này hiệu quả hơn và giúp cho các khách hàng nhẹ hơn dễ dàng xác minh các giao dịch.So sánh giữa chợ Việt Nam và chợ Tây
Để làm cho điều này cụ thể hơn đối với khán giả Việt Nam, hãy xem sự khác biệt giữa thanh toán bằng tiền mặt (UTXO) và thanh toán bằng chuyển khoản ngân hàng (Model Tài khoản).
Khi bạn thanh toán các mặt hàng thực phẩm bằng tiền mặt, bạn có thể đưa ra một tờ 500.000 đồng. Nhân viên giao hàng không "trừ" 300.000 đồng từ hóa đơn của bạn. Thay vào đó, họ nhận toàn bộ hóa đơn 500.000 đồng của bạn, giữ lại 300.000 đồng và trả lại cho bạn 200.000 đồng bằng các tờ tiền nhỏ hơn. Hóa đơn 500.000 đồng ban đầu đã biến mất. Bây giờ bạn có các tờ tiền mới: 200.000 đồng. Đây chính là cách UTXO hoạt động. Hóa đơn đầu ra ban đầu đã được tiêu thụ; các hóa đơn mới được sinh ra.
Khi bạn thanh toán bằng chuyển khoản ngân hàng, ngân hàng của bạn chỉ cập nhật hai số trong một cơ sở dữ liệu: số dư của bạn giảm 300.000 đồng, và số dư của cửa hàng tăng 300.000 đồng. Không có gì vật lý thay đổi. Đây là mô hình tài khoản.
So sánh này giúp giải thích tại sao UTXO có thể cảm thấy kỳ lạ ban đầu. Chúng ta đã quen với việc suy nghĩ theo cân đối, không phải theo các tờ tiền riêng lẻ. Nhưng khi bạn hiểu được logic, bạn sẽ thấy rằng UTXO phản ánh thực tế vật lý của tiền mặt chính xác hơn nhiều so với sổ kế toán của ngân hàng.
Những sai lầm phổ biến
Sự hiểu lầm 1: "Tài khoản của tôi chứa ADA của tôi." Thực tế: Tài khoản của bạn chứa các khóa riêng giúp bạn chi tiêu UTXO được khóa với địa chỉ của bạn. UTXO thực sự tồn tại trên blockchain.
Sự hiểu lầm 2: "UTXO chỉ dành cho Bitcoin. Cardano khác."
Sự hiểu lầm 3: "Mô hình tài khoản luôn đơn giản và tốt hơn."
Sự hiểu lầm 4: "Các output thay đổi chiếm không gian blockchain." Thực tế: Mặc dù UTXO tạo ra các output thay đổi, nhưng quá trình xác minh trạng thái địa phương và khả năng phân tán thường dẫn đến khả năng mở rộng lâu dài tốt hơn so với trạng thái toàn cầu ngày càng tăng của các hệ thống dựa trên tài khoản.
Kết luận
Mô hình UTXO không chỉ là một điều thú vị về mặt kỹ thuật. Nó là một lựa chọn thiết kế cơ bản quyết định cách blockchain xử lý giá trị, trạng thái và đồng thời thực thi. UTXO mở rộng của Cardano lấy nền tảng đã được kiểm chứng và bổ sung nó với các cấu trúc dữ liệu cần thiết cho các hợp đồng thông minh hiện đại, mà không ảnh hưởng đến tính xác định và đồng thời thực thi làm cho UTXO trở nên mạnh mẽ.
Hiểu về UTXO giúp bạn hiểu lý do tại sao giao dịch Cardano hoạt động theo cách đó, tại sao ví của bạn đôi khi hiển thị nhiều địa chỉ và tại sao hệ sinh thái này có thể mở rộng khác biệt so với các đối thủ dựa trên tài khoản. Khi bạn gửi ADA lần sau, hãy nhớ đến thị trường đường phố: bạn không đang cập nhật số dư ngân hàng. Bạn đang chi tiêu các tờ tiền cũ và nhận được những tờ mới.
Hướng dẫn nhanh
| Định nghĩa | Định nghĩa |
|---|---|
| UTXO | Kết quả giao dịch chưa sử dụng: một phần giá trị được khóa vào một địa chỉ |
| Nhập | Một tham chiếu đến UTXO trước đó đã được tiêu thụ |
| Xuất ra | Một phần giá trị mới được tạo ra bởi một giao dịch |
| Thay đổi | Giá trị thừa được trả lại cho người gửi như một đầu ra mới |
| Ngày | Dữ liệu gắn với UTXO Cardano cho trạng thái hợp đồng thông minh |
| Đấng cứu chuộc | Dữ liệu được cung cấp để giải phóng UTXO bị khóa bằng mã lệnh |
| Bối cảnh của kịch bản | Thông tin chuyển giao metadata có thể xem được trong hợp đồng thông minh Cardano |
| EUTXO | UTXO mở rộng: mô hình UTXO nâng cao của Cardano |
