Kiến thức

UTXO là gì? Tách UTXO trong Bitcoin như thế nào?

UTXO là gì?

UTXO (Unspent Transaction Output) là thuật ngữ đại diện cho số tiền còn lại từ một giao dịch trước đó và được tiếp tục sử dụng trong giao dịch tiếp theo. Nó đóng vai trò nền tảng cho mô hình hoạt động của nhiều blockchain, phổ biến nhất là Bitcoin.

Một số blockchain khác cũng sử dụng UTXO, tuy nhiên chúng được tùy chỉnh cho phù hợp với các ưu thế riêng: Sui sử dụng OwnedObject gần như tương tự với UTXO, Cardano sử dụng mô hình UTXO mở rộng – extended UTXO (eUTXO), Fuel sử dụng UTXO được tối ưu hóa với các thành phần bổ sung tùy chỉnh như witness…

UTXO được dịch là “Đầu ra giao dịch chưa chi tiêu” hoặc “Đầu ra giao dịch chưa sử dụng”.

Mô hình hoạt động của UTXO

Để có cái nhìn trực quan và dễ hiểu nhất, dưới đây là ví dụ về cách hoạt động của UTXO với tài khoản ngân hàng và heo đất tiết kiệm:

UTXO trong thực tế: Giả sử, Alice gửi 2 BTC từ sàn CEX về ví của mình, sau đó cô ấy gửi 1 BTC lần lượt vào ví A và ví B. Tuy nhiên, số lần giao dịch và giá trị mỗi lần gửi như sau:

Vậy, đối với mô hình gửi tiền của ngân hàng, heo đất và UTXO, chúng đều tồn tại với mục đích cho phép người dùng sử dụng và giao dịch. Tuy nhiên, cách lưu trữ và trả tiền sẽ khác nhau.

Chuyên gia chia sẻ  Tổng hợp kiến thức cần biết về Market Maker cho các nhà đầu tư crypto

Mô hình tài khoản ngân hàng tương tự với cách tiếp cận của nền tảng Ethereum – account base, thống kê tài sản dựa trên số dư cuối. Còn mô hình heo đất sẽ tương tự như cách UTXO hoạt động.

Cụ thể hơn, trong mô hình UTXO, sẽ có 2 yếu tố chính là INPUT và OUTPUT. Trong đó:

Một ví dụ cụ thể:

Input:

Previous tx: f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6

Index: 0

scriptSig: 304502206e21798a42fae0e854281abd38bacd1aeed3ee3738d9e1446618c4571d1090db022100e2ac980643b0b82c0e88ffdfec6b64e3e6ba35e7ba5fdd7d5d6cc8d25c6b241501

Output:

Value: 5000000000

scriptPubKey: OP_DUP OP_HASH160 404371705fa9bd789a2fcd52d2c580b65d35549d

OP_EQUALVERIFY OP_CHECKSIG

Cùng xem xét ví dụ trên, dữ liệu sẽ được hiển thị đại diện như sau:

Đối với 2 BTC được Alice chuyển từ sàn về ví:

INPUT(Tx1) = NULL

OUTPUT(Tx1) = Alice receive 2 BTC from CEX

Thao tác 1: Gửi 1 BTC cho ví A

Alice có 2 BTC: INPUT(Tx2) = OUTPUT(Tx1)

Alice gửi 1 BTC đến ví A: OUTPUT(Tx2) = Alice transfer 1 BTC to address A

Alice nhận lại 1 BTC: OUTPUT(Tx2)’= Alice receive 1 BTC back

Thao tác 2: Gửi 0.6 BTC cho ví B

Alice có 1 BTC: INPUT(Tx3)= OUTPUT(Tx2)’

Alice gửi 0.6 BTC đến ví B: OUTPUT(Tx3)= Alice transfer 0.6 BTC to address B

Alice nhận về 0.4 BTC: OUTPUT(Tx3)’= Alice receive 0.4 BTC back

Thao tác 3: Gửi 0.4 BTC cho ví B

Alice có 0.4 BTC: INPUT(Tx4) = OUTPUT(Tx3)’

Alice gửi 0.4 BTC cho ví C: OUTPUT(Tx4) = Alice transfer 0.4 BTC to address B

Có thể thấy, tổng giá trị của mỗi ví A và ví B đều là 1 BTC. Tuy nhiên, cách gửi và số tiền mỗi gửi khác nhau sẽ trả về kết quả hiển thị và cách lưu trữ dữ liệu trên blockchain khác nhau.

Chuyên gia chia sẻ  Search code, repositories, users, issues, pull requests...

Đó cũng chính là cách mà mô hình UTXO hoạt động.

Tách UTXO – split UTXO

Tuy nhiên, không phải lúc nào chúng ta cũng có đủ số dư hoặc có UTXO có trị giá đúng với nhu cầu gửi. Giả sử bạn muốn gửi 0.8 BTC:

Trong trường hợp (1) ví A nắm giữ 1 UTXO trị giá 1 BTC

Trong trường hợp (2) ví B nắm giữ 2 UTXO trị giá lần lượt là 0.6 BTC và 0.4 BTC

Vậy lúc này bạn cần làm như thế nào? Câu trả lời là bạn cần tách UTXO (split UTXO) và thực hiện như sau:

Trường hợp (1) ví A, bạn cần phải đổi 1 UTXO 1 BTC thành 2 UTXO có giá trị lần lượt là 0.8 BTC và 0.2 BTC, sau đó mới gửi UTXO 0.8 BTC đi.

Trường hợp (2) ví B, bạn cần gửi 0.6 BTC hoặc 0.4 BTC trước, sau đó phần còn lại sẽ tiếp tục đổi BTC về giá trị còn thiếu và gửi phần này đi.

Tuy nhiên, đối với mạng Bitcoin có chi phí giao dịch đắt đỏ, việc tách và gửi nhiều giao dịch không phải là giải pháp tối ưu. Điều này tạo ra nhược điểm cho mô hình UTXO.

Để tách UTXO, người dùng có thể tham khảo nền tảng Luminex. Dự án cho phép người dùng chia sats, tạo và tách UTXO một cách dễ dàng.

So sánh mô hình UTXO của Bitcoin với blockchain khác

Thay vì UTXO, Ethereum và một số blockchain phổ biến khác sử dụng mô hình account base. Chúng quản lý giá trị tài sản thông qua sổ cái blockchain.

Chuyên gia chia sẻ  Pool trong coin là gì? Nên khai thác những Pool nào?

Điều này giúp cho các hệ thống này có thể thực hiện các tác vụ trên hợp đồng thông minh (smart contract) được tối ưu hơn về mặt thực thi và chi phí. Đổi lại, chúng cũng có những nhược điểm riêng như tạo ra lỗ hổng trong bảo mật smart contract, thao túng sổ cái…

Đó cũng chính là khác biệt lớn nhất tạo ra ưu điểm và nhược điểm riêng cho từng mô hình.

UTXO mô phỏng cách sử dụng tiền với heo đất, trả về phương thức giao dịch và chuyển đổi tài sản an toàn. Tuy nhiên, đánh đổi với phí giao dịch cao và bất tiện khi sử dụng.

Account base mặc dù tiện lợi và nhanh chóng, nhưng đánh đổi với rủi ro bảo mật đi kèm phụ thuộc vào smart contract.

Ưu điểm và nhược điểm của mô hình UTXO

Ưu điểm

Nhược điểm

Mô hình UTXO mang lại nhiều lợi ích về bảo mật, khả năng kiểm soát và tính minh bạch, nhưng cũng đi kèm với một số nhược điểm như độ phức tạp, kích thước giao dịch lớn và khả năng sử dụng hạn chế.

Việc lựa chọn mô hình nào phù hợp phụ thuộc vào nhu cầu và mục đích sử dụng tiền điện tử của mỗi người.

Đánh giá bài viết post

Phạm Văn Sỹ

Tôi là Phạm Văn Sỹ chuyên gia uy tín trong lĩnh vực kinh tế và kinh doanh là sinh viên của trường Đại học Ngoại Thương. Với kiến thức sâu rộng sau 12 năm ở bên ngoài thương trường thị trường tôi mong muốn chia sẻ các kiến thức chuyên sâu hữu ích dành cho mọi người.

Related Articles

Check Also
Close
Back to top button