UTXO là gì? Đầu ra giao dịch chưa chi tiêu/sử dụng (Unspent Transaction Output hoặc UTXO) đề cập đến các đầu ra chưa sử dụng của một giao dịch.
Đầu ra giao dịch chưa chi tiêu, hay UTXO, là một thuật ngữ được sử dụng khá phổ biến trong các hệ sinh thái blockchain như Ethereum, Cardano… Nhưng nó có nghĩa là gì và tại sao nó lại quan trọng? Trong bài viết này, hãy cùng BeInCrypto tìm hiểu kỹ hơn về khái niệm UTXO Crypto nói riêng cũng như cách thức hoạt động của mô hình UTXO ra sao nhé.
Đầu ra giao dịch chưa chi tiêu (UTXO) là gì?
Vậy khái niệm UTXO là gì? Đầu ra giao dịch chưa chi tiêu/sử dụng (Unspent Transaction Output hoặc UTXO) đề cập đến các đầu ra chưa sử dụng của một giao dịch. Chúng ta có thể hiểu đơn giản thế này. Trong lĩnh vực tiền điện tử, đầu ra của một giao dịch tiền điện tử (Transaction Output) là chưa được sử dụng (Unspent) cho đến khi chúng được sử dụng làm đầu vào trong một giao dịch khác. Đầu ra giao dịch chưa chi tiêu là một phần quan trọng của hệ sinh thái tiền điện tử. Chúng được sử dụng để theo dõi quyền sở hữu tiền điện tử trên nhiều chuỗi khối khác nhau.
Một trong những điểm cần nhớ khi nhắc đến khái niệm UTXO là gì đó là nó tương đương với sự thay đổi/số dư trong giao dịch mua tiền fiat. Để làm rõ hơn ý này, hãy cùng BeInCrypto xem qua ví dụ sau đây.
Giả sử bạn có số dư Bitcoin là 1 BTC và muốn mua thứ gì đó có giá 0.1 BTC. Bạn sẽ gửi 0.1 BTC cho người bán và 0.9 BTC còn lại sẽ là UTXO của bạn. Sau đó, bạn có thể sử dụng kết quả giao dịch chưa chi tiêu này để thực hiện nhiều giao dịch mua hoặc chuyển khoản hơn trong tương lai.
Blockchain lưu trữ tất cả các UXTO này và bất cứ ai cũng có thể xem chúng. Mỗi người có một mã định danh duy nhất được gọi là “outpoint”. Outpoint là hàm băm của giao dịch trước đó và chỉ mục của đầu ra trong giao dịch đó.
Người dùng muốn tạo giao dịch mới sẽ chọn một hoặc nhiều UTXO để sử dụng làm đầu vào. Chẳng hạn, bạn có thể có 2 UTXO trị giá 1 BTC và 4 BTC còn lại từ giao dịch trước đó trên mạng Bitcoin. Trong trường hợp bạn muốn mua một mặt hàng trị giá 4.5 BTC, bạn sẽ phải gửi cả 2 UTXO trên để thanh toán hóa đơn. Giao dịch hoàn tất khi bạn nhận được lại 1 UTXO mới trị giá 0.5 BTC.
Một lưu ý khác bạn cần nhớ khi tìm hiểu khái niệm UTXO là gì đó là tổng số UTXO phải bằng hoặc lớn hơn số tiền được gửi, cộng với bất kỳ khoản phí giao dịch nào. Khi một giao dịch sử dụng UTXO, nó không thể được sử dụng lại.
Mỗi UTXO có địa chỉ duy nhất. Điều này đảm bảo tiền không được sử dụng hai lần (double spending). Bạn thường thấy 2 địa chỉ khi nhận được UTXO sau một giao dịch: Một dành cho người nhận và một dành cho địa chỉ thay đổi (change address). Địa chỉ thay đổi là nơi gửi phần UTXO còn sót lại từ giao dịch đó của bạn. Trong ví dụ mà BeInCrypto đưa ra ở trên, nó là địa chỉ lưu trữ 0.5 BTC.
UTXO được tạo ra như thế nào?
Sau khi hiểu rõ khái niệm UTXO là gì hãy cũng BeInCrypto tìm hiểu thêm về các mà UTXO được tạo ra nhé. Khi người dùng thực hiện giao dịch trên chuỗi khối sử dụng mô hình đầu ra giao dịch chưa chi tiêu, một UTXO mới sẽ được tạo. Đầu ra giao dịch chưa chi tiêu này là đầu ra của một giao dịch trước đó. UTXO sau đó được sử dụng làm đầu vào trong một giao dịch mới.
Để một đầu ra giao dịch chưa chi tiêu xảy ra, trước tiên phải có một đầu vào. Đầu vào chỉ đơn giản là tham chiếu đến UTXO hiện có có thể được sử dụng trong giao dịch. Sau đó, UTXO đang được tham chiếu sẽ được sử dụng và một UTXO mới được tạo ở vị trí của nó. Đầu ra có thể được coi là người nhận của một giao dịch. Chúng chỉ định số lượng tiền điện tử mà người nhận sẽ nhận được và chỉ có thể được chi tiêu bằng cách được tham chiếu trong các thông tin đầu vào trong tương lai.
UTXO hoạt động như thế nào?
Các chuỗi khối khác nhau sử dụng mô hình đầu ra giao dịch chưa chi tiêu để theo dõi ai sở hữu những đồng tiền nào. Khi ai đó gửi Bitcoin cho người bất kỳ, họ sẽ gửi một hoặc nhiều UTXO Bitcoin đến khóa công khai của người nhận (chính là địa chỉ ví người nhận). Sau đó, người nhận có thể sử dụng các UTXO đó làm đầu vào cho các giao dịch khác của họ để gửi cho người khác hoặc thanh toán hoá đơn.
UTXO được lưu trữ trên các chuỗi khối và có thể được coi là tương tự như tiền vật lý vậy. Nếu bạn có một đồng tiền vật lý (dạng tiền giấy, tiền xu…), bạn có thể tiêu nó bằng cách đưa cho người khác. Một khi bạn đã cho đi, nó không còn là của bạn nữa, và bạn không thể tiêu nó lần 2. Nói cách khác, khi bạn đã sử dụng UTXO trong một giao dịch, nó sẽ không còn được lưu trữ trong ví của bạn nữa. Thay vào đó, nó xuất hiện trên blockchain như một phần của lịch sử giao dịch đó. Nếu còn số dư từ giao dịch, bạn sẽ nhận được số dư này dưới dạng UTXO mới.
Ví dụ về UTXO
Để hiểu cách thức UTXO hoạt động như thế nào, hãy cùng BeInCrypto phân tích tiếp một ví dụ sau đây nhé. Giả sử Alicia muốn gửi cho Bob 3 BTC. Cô ấy mở ví Bitcoin của mình và có sẵn UTXO. Tức là trong ví của Alicia đã có sẵn 3 hoặc nhiều hơn 3 BTC từ các giao dịch trước đó rồi. Trong ví dụ này là Alicia đã có 3.5 BTC bao gồm 2 BTC từ một giao dịch trước đó mà Alicia đã nhận được cộng thêm 1.5 BTC mà Alicia đã nhận được từ một giao dịch khác. Và để gửi cho Bob 3 BTC, Alicia phải sử dụng cả 2 UTXO này làm đầu vào.
Dựa trên khái niệm UTXO là gì mà BeInCrypto đã giới thiệu ở trên, trong trường hợp này, khi giao dịch hoàn tất, sẽ có hai đầu ra.
- Đầu tiên, Bob sẽ nhận được 3 BTC. Anh ấy hiện có một UTXO mới trị giá 3 BTC mà anh ấy có thể sử dụng để hoàn thành các giao dịch trong tương lai.
- Chênh lệch giữa tổng giá trị đầu vào (3.5 BTC) và số tiền Alicia đã gửi (3 BTC) sẽ là 0.5 BTC. Số tiền này sau đó được gửi lại cho Alicia dưới dạng UTXO mới. Cô ấy có thể sử dụng UTXO này để hoàn thành các giao dịch khác trong tương lai.
Các UTXO blockchain cũng có tùy chọn hợp nhất (consolidation) để tránh sự phức tạp của việc sử dụng nhiều đầu ra giao dịch chưa được chi tiêu trong cùng một giao dịch. Đây là cách nó hoạt động.
Hợp nhất UTXO là gì?
Hợp nhất đầu ra giao dịch chưa chi tiêu hay UTXO consolidation là việc kết hợp nhiều UTXO thành một đầu ra duy nhất. Mục đích của việc này là để giảm phí hoặc tăng quyền riêng tư.
Như minh họa ở trên, bạn cần tập hợp tất cả các UTXO của mình làm đầu vào khi thực hiện giao dịch. Do đó, bạn càng có nhiều UTXO, bạn càng cần nhiều đầu vào và phí giao dịch của bạn sẽ càng cao. Hãy tưởng tượng rằng mỗi một UTXO đầu vào sẽ thực hiện đóng góp vào một giao dịch chung và hành động này sẽ mất phí. Bằng cách hợp nhất các UTXO, bạn có thể giảm số lượng đầu vào và dẫn đến tiết kiệm phí.
Hợp nhất đầu ra giao dịch chưa chi tiêu cũng cho phép tạo hợp đồng thông minh. Bằng cách hợp nhất nhiều UTXO thành một đầu ra duy nhất, nó có thể tạo ra một đầu ra chỉ được chi tiêu nếu đáp ứng một số điều kiện nhất định, ví dụ như cho phép tạo ra các hợp đồng ký quỹ (escrow contract) chẳng hạn.
Có hai cách chính để hợp nhất UTXO là hợp nhất thủ công và hợp nhất tự động.
- Hợp nhất thủ công liên quan đến việc tạo một giao dịch mới với các UTXO mong muốn của bạn làm đầu vào và sau đó gửi toàn bộ số tiền cho chính bạn trong một đầu ra duy nhất.
- Hợp nhất tự động bao gồm ví của bạn định kỳ tạo các giao dịch mới kết hợp nhiều UTXO thành một đầu ra duy nhất. Việc hợp nhất này diễn ra tự động và không cần đầu vào từ bạn.
Như BeInCrypto đã chia sẻ ở trên, hợp nhất UTXO là một cách tuyệt vời để tiết kiệm phí giao dịch, đặc biệt nếu bạn là người thường xuyên giao dịch các đồng tiền có phí cao như Bitcoin hay Ethereum. Một số ví tiền điện tử hiện này đã có chế độ tự động hợp nhất UTXO trong menu cài đặt ví để giúp người dùng có thể đơn giản hoá việc này.
Tầm quan trọng của UTXO là gì?
Có nhiều lý do khiến đầu ra giao dịch chưa chi tiêu trở nên quan trọng:
- Hợp đồng thông minh không phụ thuộc vào ngôn ngữ: Hợp đồng thông minh dựa trên UTXO cung cấp giải pháp không phụ thuộc vào ngôn ngữ. Nó cho phép hợp đồng thông minh phát triển cơ chế đồng thuận của chúng.
- Ngăn chặn gian lận lặp chi: Chỉ có thể chi tiêu một UTXO một lần. Đây là điều cần thiết đối với công nghệ blockchain, đảm bảo rằng cùng một số tiền điện tử nhưng không thể được chi tiêu nhiều lần.
- Hỗ trợ hoán đổi nguyên tử và giao dịch phi tập trung: Việc triển khai atomic swap – hoán đổi nguyên tử UTXO là một cách tuyệt vời để kích hoạt giao dịch ngang hàng mà không cần sự tham gia của bên thứ ba. Tính năng hoán đổi nguyên tử trong UTXO tốt hơn cho việc trao đổi tiền điện tử trực tiếp giữa các ví của người dùng.
- Lợi ích liên quan đến khả năng mở rộng: Các cơ chế giao dịch của UTXO đảm bảo rằng mỗi giao dịch được xử lý như một sự kiện riêng biệt. Điều này giúp giảm đáng kể việc tải các tính toán trên các mạng tiền điện tử.
- Quyền riêng tư và bảo mật: Địa chỉ mới được tạo cho mọi giao dịch UTXO, khiến chúng khó theo dõi. Điều này thúc đẩy quyền riêng tư và bảo mật trong mạng blockchain.
- Tính linh hoạt: UTXO linh hoạt hơn so với tiền tệ fiat vì chúng không có giá trị được xác định trước. Thay vào đó, chúng có thể được chia nhỏ thành bất kỳ số lượng nào, khiến chúng phù hợp với các giao dịch khác nhau.
Lợi ích của mô hình hợp nhất UTXO
Mô hình hợp nhất UTXO có một số lợi ích nổi trội hơn so với các mô hình khác.
- Đầu tiên, nó có khả năng mở rộng hơn nhiều. Số lượng giao dịch được xử lý mỗi giây chỉ bị giới hạn bởi tốc độ mạng.
- Lợi thế tiếp theo là quyền riêng tư. Trong mô hình này, các địa chỉ mới được tạo cho mọi giao dịch, khiến cho việc truy tìm nguồn gốc của các giao dịch này gần như là không thể.
- Một ưu điểm khác là UTXO giúp việc xác thực trở nên dễ dàng hơn. Vì mỗi UTXO có thể được truy ngược trở lại đầu vào. Điều này đặc biệt hữu ích khi cần tra xét các khoản gian lận lặp chi.
- Hơn nữa, mô hình này còn cho phép thực hiện các giao dịch off-chain mà vẫn đảm bảo an toàn và có thể xác minh được trên mạng blockchain, chẳng hạn như để tăng khả năng mở rộng và quyền riêng tư.
- Cuối cùng, mô hình này cho phép một số loại hợp đồng thông minh hoạt động (Ví dụ hợp đồng thông minh không phụ thuộc vào ngôn ngữ), điều mà các mô hình khác không thể làm được.
Nhược điểm của mô hình hợp nhất UTXO
Có một vài nhược điểm đối với mô hình UTXO như sau:
- Đầu tiên, mô hình này có thể dẫn đến phí giao dịch cao hơn vì mỗi UTXO phải được ký riêng lẻ.
- Tiếp đến, UTXO có thể dẫn đến sự tích tụ “bụi” (dust). Hiểu đơn giản là một lượng coin nhỏ, không thể được chi tiêu vì chúng ít hơn số tiền giao dịch tối thiểu. Tuy nhiên, theo thời gian, “bụi” có thể tích lũy và được sử dụng khi đủ lớn.
- Cuối cùng, UTXO không hiệu quả lắm về không gian. Mỗi UTXO đại diện cho một đầu ra riêng biệt từ một giao dịch và mỗi đầu ra phải được lưu trữ riêng. Điều này có thể nhanh chóng tạo ra các yêu cầu lưu trữ dữ liệu quan trọng, đặc biệt đối với các ứng dụng phải xử lý nhiều giao dịch.
So sánh mô hình UTXO với mô hình Account
Mô hình UTXO khác với mô hình dựa trên tài khoản (account model) ở chỗ một cái được sử dụng bởi các ngân hàng và cái còn lại được sử dụng trên mạng blockchain. Với mô hình tài khoản, tất cả các giao dịch của bạn được theo dõi trong số dư tài khoản. Trong khi đó với mô hình UTXO, mỗi giao dịch được theo dõi riêng. Bạn có thể coi đây là việc theo dõi tiền của mình theo từng hóa đơn thay vì thông qua số dư ngân hàng.
Không giống như tài chính fiat, UTXO coi tiền tệ là một đối tượng thay vì một đơn vị. Mỗi đối tượng có lịch sử được lưu trữ trên đó và có thể được chi tiêu khi cần thiết, chỉ cần phải kiểm tra quyền sở hữu khi tiền được gửi đi. Trong khi đó, mô hình tài khoản tạo một tài khoản riêng cho mỗi người dùng. Nó phải theo dõi mọi tài khoản và ghi nhớ số dư của nó mọi lúc.
Một số điểm khác biệt khác giữa đầu ra giao dịch chưa chi tiêu và mô hình tài khoản bao gồm:
Mô hình dựa trên tài khoản | Mô hình UTXO |
Giao dịch có nhu cầu lưu trữ ít hơn | Giao dịch cần nhiều dung lượng lưu trữ hơn |
Trạng thái được lưu trong các nút | Trạng thái được lưu trong các giao dịch |
Ít an toàn hơn | An toàn hơn |
Tính toán giao dịch phức tạp | Tính toán giao dịch đơn giản hơn |
Hiệu quả hơn đối với các giao dịch số lượng lớn | Kém hiệu quả hơn đối với các giao dịch số lượng lớn |
UTXO: Một phần thiết yếu của hệ sinh thái blockchain
UTXO về cơ bản có nghĩa là sự thay đổi số dư kỹ thuật số. Chúng đóng một vai trò quan trọng trong cách thức hoạt động của Bitcoin và một số loại tiền điện tử khác. Khi bạn gửi một giao dịch Bitcoin, các đầu ra giao dịch chưa được sử dụng sẽ báo hiệu cho mạng biết bạn đã gửi và nhận bao nhiêu tiền kỹ thuật số. Những gì bạn còn lại trong ví Bitcoin của mình là các UTXO.
Các câu hỏi thường gặp
UTXO có nghĩa là gì?
UTXO hoạt động như thế nào?
Tại sao Bitcoin sử dụng UTXO?
Bitcoin UTXO được lưu trữ ở đâu?
Blockchain nào sử dụng UTXO?
UTXO trong Cardano là gì?
Bạn nghĩ sao về thông tin trên? Chia sẻ ngay ý kiến của bạn trong nhóm cộng đồng của chúng tôi Telegram | Facebook fanpage | Facebook group.
Tất cả thông tin có trên trang web của chúng tôi được xuất bản một cách thiện chí và chỉ dành cho mục đích thông tin chung. Người đọc tự trách nhiệm với bất kỳ hành động nào thực hiện đối với thông tin được tìm thấy trên trang web của chúng tôi.
Tại Learn, ưu tiên của chúng tôi là cung cấp thông tin chất lượng cao. Chúng tôi dành thời gian để xác định, nghiên cứu và tạo ra nội dung giáo dục hữu ích cho độc giả.
Để duy trì tiêu chuẩn này và tiếp tục tạo ra nội dung tuyệt vời, các đối tác của chúng tôi có thể thưởng cho chúng tôi một khoản hoa hồng cho các vị trí trong bài viết của chúng tôi. Tuy nhiên, những khoản hoa hồng này không ảnh hưởng đến quy trình tạo nội dung không thiên vị, trung thực và hữu ích của chúng tôi.