UTXO là gì? Tầm quan trọng của UTXO, Sự khác biệt giữa những tờ tiền và UTXO

Với các loại tiền ảo như Bitcoin, bạn có thể theo dõi số dư của mình và biết được là bạn đang có bao nhiêu Coin. Vậy làm thế nào để bạn biết số dư Coin và lịch sử giao dịch của bạn? Để hiểu được điều đó, trước tiên, chúng ta cần nắm rõ kiến thức về cơ chế UTXO.

Trong bài viết này, chúng tôi sẽ giới thiệu chi tiết về UTXO, tầm quan trọng cũng như sự khác biệt giữa những tờ tiền và UTXO.

1. UTXO là gì?

UTXO (Unspent Transaction Output – Đầu ra chưa chi tiêu) là đầu ra của một giao dịch mà người dùng nhận được và có thể chi tiêu trong tương lai. Hãy xem xét một ví dụ thực tế để việc giải thích UTXO được rõ ràng hơn trong trường hợp này.

Một ví dụ thực tế đơn giản

Đầu ra giao dịch chưa chi tiêu – UTXO là đầu ra của một giao dịch mà người dùng nhận được và có thể chi tiêu trong tương lai. Điều này đúng bởi vì cái tên đã nói lên điều đó, nó là đầu ra chưa chi tiêu của một giao dịch. Điều này có nghĩa là gì? Hãy xem xét một ví dụ thực tế để việc giải thích UTXO được rõ ràng hơn trong trường hợp này.

Mỗi UTXO giống như một đồng tiền xu hoặc một tờ tiền mặt riêng lẻ. Nếu bạn có 45 đô la tiền mặt, bạn phải có nhiều hơn một tờ tiền vì không có thứ gì gọi là tờ tiền bốn mươi lăm đô la ở thực tế. Khi bạn có 45 đô la trong ví của mình, bạn có thể có bất kỳ sự kết hợp số lượng tờ tiền – UTXO – hiện có trong ví của bạn.

Trong ví dụ đơn giản này, bạn có thể có bất kỳ kết hợp tờ tiền mặt nào sau đây:

  • Bốn mươi lăm tờ 1 đô la
  • Chín tờ 5 đô la
  • Bốn tờ 10 đô la và một tờ 5 đô la
  • Hai tờ 20 đô và năm tờ 1 đô
  • v.v…

Có rất nhiều sự kết hợp tờ tiền mà tổng là 45 đô la. Trong mỗi trường hợp, bạn có chính xác 45 đô la mặc dù thực tế là bạn có số lượng tờ khác nhau trong mỗi kịch bản.

Điều tương tự cũng đúng với UTXO. Mặc dù bạn thấy một số dư duy nhất khi bạn đăng nhập vào ví tiền mã hóa (tiền điện tử) của mình, bạn có thể có một hoặc nhiều UTXO đang hiện hữu trong ví của mình. Các UTXO này có kích thước khác nhau nhưng khi được cộng lại, tổng bằng tổng số dư của ví của bạn.

Khi bạn mua một mặt hàng bằng tiền mặt, bạn có thể không thể cung cấp chính xác số tiền cần thiết để trả cho nó. Giả sử bạn mua một tách cà phê với giá 3,5 đô la. Bạn có 45 đô la trong ví của mình, nhưng rất có thể, bạn không có chính xác 3,5 đô la để trả tiền cho cà phê. Thay vào đó, bạn cần phải trả nhiều hơn một (hoặc một vài) tờ tiền và sau đó nhận lại một ít tiền thối.

Bạn có thể trả tiền cho cà phê với bốn tờ 1 đô la, trong trường hợp đó bạn sẽ nhận được hai xu 25 cent thối lại. Hoặc bạn có thể trả tiền cho cà phê với tờ 20 đô la, trong trường hợp đó bạn sẽ nhận lại một 10 đô la, một tờ 5 đô la, một tờ 1 đô la và đồng xu hai đồng xu 25 cent. Bây giờ chắc bạn đã hiểu được phần nào.

Điều tương tự xảy ra khi bạn gửi tiền mã hóa (tiền điện tử). Giả sử bạn có tổng cộng 740 LTC. Hãy tưởng tượng rằng số dư của bạn ở dạng 3 UTXO: với số tiền tương ứng là 320 LTC, một giây là 215 LTC và một phần ba là 205 LTC.

Nếu bạn muốn gửi số lượng LTC nhỏ hơn đến một địa chỉ khác, ví của bạn phải gửi ít nhất một UTXO để hoàn thành giao dịch. Giống như bạn không thể thanh toán cho một món hàng 5 đô la bằng cách xé một tờ 10 đô la làm 2 phần và giao một nửa cho nhân viên thu ngân, bạn không thể gửi một nửa số UTXO để hoàn thành giao dịch tiền mã hóa (tiền điện tử). Bạn phải gửi toàn bộ UTXO và sau đó nhận lại sự thay đổi.

Hãy tưởng tượng bạn muốn gửi 30 LTC cho bạn bè. Bạn sẽ phải gửi một trong các UTXO của mình (10, 20 hoặc 50 LTC) để hoàn tất giao dịch. Bạn của bạn sẽ nhận được một UTXO duy nhất là 30 LTC. Bạn sẽ nhận được một UTXO mới, nhỏ hơn với số tiền là 290, 185 hoặc 175 LTC, tùy thuộc vào UTXO nào được gửi.

Điều gì xảy ra nếu bạn muốn gửi cho bạn bè của mình 350 LTC? Về cơ bản điều tương tự sẽ diễn ra, ngoại trừ lần này bạn sẽ cần gửi hai UTXO đầy đủ để hoàn tất giao dịch. Bạn của bạn vẫn sẽ nhận được 350 đô la LTC của mình và bạn sẽ nhận lại UTXO mới (70, 175 hoặc 185 LTC, tùy thuộc vào việc hai UTXO nào đã được gửi để thực hiện thanh toán)

2. Phí giao dịch UTXO

Phí giao dịch cũng được bao gồm trong các giao dịch và trừ khỏi UTXO mà bạn nhận được dưới dạng thay đổi. Phương trình trông giống như thế này:

UTXO mới = (Tổng số UTXO trong giao dịch) – (Số giao dịch) – (Phí giao dịch)

Tiếp tục ví dụ với tính phí giao dịch 1 Bitcoin:

UTXO mới = (17 + 18) – (35) – (1) = 9 Bitcoin

3. Vấn đề lưu trữ 

Các node lưu trữ cơ sở dữ liệu UTXO trong RAM, do đó, điều quan trọng là dữ liệu được đặt ở kích thước có thể quản lý được. Khi nó phát triển, chi phí để chạy một node đầy đủ sẽ tăng lên cùng với nó. Nếu việc chạy một node đầy đủ trở nên quá đắt, mạng Bitcoin sẽ tập trung nhiều hơn vào tay số ít người giàu đủ khả năng để chạy chúng.

Kích thước cơ sở dữ liệu Bitcoin UTXO theo thời gian | Nguồn: Blockchain

Nguy cơ tập trung hóa này là một trong những lý lẽ chính làm tăng kích thước khối Bitcoin. Nhà phát triển Bitcoin Gavin Andresen đã đề cập đến vấn đề này trong bài viết UTXO của mình:

“Một khối 1 megabyte chứa khoảng 100 triệu giao dịch 500 byte mỗi năm. Nếu mỗi một trong số chúng tăng UTXO được đặt thêm 500 byte thì UTXO sẽ tăng 50 gigabyte mỗi năm”.

Kích thước khối 1 megabyte đặt giới hạn trên để cơ sở dữ liệu UTXO có thể phát triển mỗi năm. Anh tiếp tục:

“Cho phép nhiều giao dịch hơn mà không có thay đổi nào khác rất có thể sẽ thúc đẩy tăng trưởng thiết lập UTXO, làm cho nó trở nên đắt hơn, nhanh hơn, để chạy một node xác thực đầy đủ”.

Bài viết của anh thực sự ủng hộ việc tăng kích thước khối. Anh lập luận rằng tác động lên kích thước bộ UTXO không mang lại ảnh hưởng quyết định như những người khác nghĩ. Và xem xét sự phức tạp của các giải pháp mở rộng lớp thứ hai, chúng ta cần triển khai các khối lớn hơn trong thời gian ngắn trước khi các giải pháp đó được đưa ra trong dài hạn.

4. Giải pháp

Rất may, có một vài giải pháp cho các vấn đề lưu trữ tiềm năng. Đầu tiên, các node không phải lưu trữ toàn bộ cơ sở dữ liệu UTXO trong RAM. Họ có thể chọn lưu trữ một phần trong ổ đĩa SSD ít tốn kém hơn hoặc đĩa cứng. Mặc dù các loại lưu trữ này dẫn đến thời gian xác thực chậm hơn cho mỗi node, nhưng đó không phải là vấn đề miễn là chúng vẫn thấp hơn thời gian khối trung bình 10 phút.

Ngoài ra, các nhà phát triển Bitcoin đang liên tục cải thiện các cơ chế giao dịch để tối ưu hóa cơ sở dữ liệu UTXO.

Cuối cùng, Segregated Witness (Segwit) và các giải pháp mở rộng tương tự gián tiếp làm chậm sự phát triển của cơ sở dữ liệu UTXO. Tài liệu Bitcoin Core cho biết:

“Segwit cải thiện tình hình ở đây bằng cách tạo dữ liệu chữ ký, không ảnh hưởng đến kích thước bộ UTXO, chi phí thấp hơn 75% so với dữ liệu ảnh hưởng đến kích thước bộ UTXO. Điều này được cho là sẽ khuyến khích người dùng ủng hộ việc sử dụng các giao dịch giảm thiểu tác động đến bộ UTXO để hạn chế phí và khuyến khích nhà phát triển thiết kế hợp đồng thông minh cũng như các tính năng mới theo cách giảm thiểu tác động đối với bộ UTXO”.

5. Sự khác biệt giữa những tờ tiền và UTXO

Ví dụ thực tế ở trên đủ chính xác để cung cấp cho bạn một sự hiểu biết vững chắc về khái niệm UTXO nhưng nó không hoàn hảo. Thực tế khác với blockchain theo nhiều cách khác nhau.

Đầu tiên, các ví dụ trên không chính xác vì bạn sẽ phải trả phí giao dịch để thực hiện giao dịch của mình. Khi bạn gửi một khoản tiền nhất định đến một địa chỉ khác, UTXO mới mà bạn nhận được sẽ là số tiền UTXO ban đầu trừ đi cả số tiền bạn gửi đi và phí giao dịch trên blockchain bạn phải trả.

UTXO mới = (tổng số UTXO ban đầu) – (tổng số tiền được gửi đến một địa chỉ khác) – (phí giao dịch cho blockchain cụ thể đó)

Phí giao dịch thay đổi từ blockchain sang blockchain và thậm chí có thể thay đổi trên cùng một blockchain vào các thời điểm khác nhau.

Thứ hai ví dụ thực tế không giống UTXO là các tờ tiền mặt được cố định về giá mệnh giá. Nói cách khác, tờ tiền mặt bị giới hạn ở giá trị mà chính phủ chọn in.

Ở Mỹ, các mệnh giá tờ tiền tồn tại là: $1, $5, $10, $20, $50 và $100. Ở các quốc gia sử dụng đồng Euro, mệnh giá tờ tiền là: €5, €10, €20, €50, €100, €200 và €500. Các mệnh giá này không nhắc đến tiền xu nhưng điều muốn nói ở đây là: bạn không thể tạo tờ tiền mặt với bất kỳ số tiền nào bạn muốn. Giá trị của mỗi tờ tiền được xác định trước.

Điều này không đúng với UTXO. Một UTXO có thể có bất kỳ số lượng nào. Trong thực tế, điều này mang lại một số lợi ích quan trọng. Đó là, nó tạo sự linh hoạt hơn rất nhiều so với tiền mặt. Nó có thể có 1 triệu đô LTC trong một UTXO duy nhất, thay vì hàng ngàn tờ tiền mặt với mỗi loại mệnh giá khác nhau.

Các lập trình viên blockchain có cơ hội viết mã để tối ưu hóa cách thức các mệnh giá nhỏ của tiền điện tử được đóng gói vào các “tờ” UTXO. Điều này có nghĩa là các lập trình viên có thể làm việc cùng nhau để giữ dung lượng dữ liệu của blockchain có thể quản lý được. Các lập trình viên ví kỹ thuật số càng giỏi thì kích thước UTXO được tạo càng hiệu quả. Tạo UTXO hiệu quả hơn có nghĩa là dung lượng dữ liệu tối thiểu và tốc độ xử lý được tối ưu.

Tuy nhiên, công nghệ blockchain có một hạn chế khi so sánh với tiền mặt: số và lượng UTXO trong mỗi ví kỹ thuật số phải được ghi lại. Do kết quả của hầu hết các giao thức của blockchain, yêu cầu tất cả các giao dịch diễn ra trên sổ cái công khai, lần duy nhất UTXO có thể được lắp hoặc tách thành các kích thước lớn hơn hoặc nhỏ hơn là tại thời điểm bạn tham gia vào giao dịch trên blockchain công khai. Nếu bạn không gửi hoặc nhận tiền, số lượng và tổng UTXO bạn giữ trong ví của bạn không thể được điều chỉnh.

Trong thực tế, đây chỉ là một nhược điểm nhỏ. Số lượng và kích cỡ UTXO trong ví của bạn sẽ tự nhiên thay đổi theo thời gian. Bạn có thể có nhiều UTXO nhỏ hơn tạo nên số dư đầy đủ của mình hoặc đôi khi bạn có thể có một UTXO lớn bao gồm tất cả số dư tài khoản.

Từ quan điểm của người dùng cuối, thông thường không cần thiết phải hiểu khái niệm về UTXO. Số dư bạn thấy trong ví tiền điện tử của bạn là lượng tiền bạn có, bất kể số lượng và giá trị của UTXO tạo nên số tiền đó.

Điều này có thể khiến bạn tự hỏi: tại sao UTXO lại quan trọng? Một câu hỏi tuyệt vời! Phần tiếp theo sẽ giải thích.

6. Tại sao UTXO quan trọng?

Ý tưởng về UTXO là rất quan trọng để hiểu hai công nghệ quan trọng nhất hiện nay là: hợp đồng thông minh dựa trên UTXO và atomic swap.

Đầu tiên, các lập trình viên đã tìm ra cách phát triển hợp đồng thông minh dựa trên UTXO. Đây là một bước đột phá lớn vì nó làm cho các đồng tiền giao thức Bitcoin có khả năng hỗ trợ Turing hoàn thành các hợp đồng thông minh và các ứng dụng phi tập trung. Các hợp đồng thông minh dựa trên UTXO này là không phụ thuộc về ngôn ngữ và cho phép mọi UTXO có một cơ chế đồng thuận duy nhất. Nó là một sự phát triển thực sự mang tính cách mạng.

Thứ hai, UTXO rất quan trọng đối với trao đổi phi tập trung dựa trên atomic swap.

Đối với những người có thể không quen thuộc, atomic swap là giao dịch tiền điện tử ngang hàng không yêu cầu trung gian hoặc bên thứ ba. Không có dịch vụ ký quỹ, mã proxy hoặc tài khoản tập trung khác. Thay vào đó, atomic swap là giao dịch tiền điện tử trực tiếp giữa ví những người dùng, từ blockchain sang blockchain.

Điều quan trọng là phải hiểu UTXO trước khi hiểu cách thức atomic swap làm việc vì người dùng phải có ít nhất 2 UTXO mỗi lần để hoàn thành trao đổi atomic swap.

Kết luận

Mặc dù bài viết này sử dụng Bitcoin làm ví dụ, nhưng có rất nhiều loại tiền điện tử khác triển khai UTXO như BCH, LTC, KMD,…

Ngoài ra còn có nhiều loại crypto khác sử dụng các cơ chế kế toán khác. Ví dụ, Ethereum có mô hình giao dịch dựa trên tài khoản. Cơ chế này thường tiết kiệm không gian tốt hơn và cung cấp mã đơn giản hơn để hoạt động; tuy nhiên, bạn mất phần nào sự riêng tư trong giao dịch và gặp phải các vấn đề về khả năng mở rộng tiềm năng.

Nếu bạn hỏi 10 nhà phát triển tiền điện tử về các phương pháp tính toán tốt nhất, bạn có thể sẽ nhận được 10 câu trả lời khác nhau. Chủ đề này hiện vẫn đang được tranh luận sôi nổi trên khắp cộng đồng mà vẫn chưa có giải pháp hoàn hảo nhất. Và, do sự phức tạp, có khả năng sẽ không bao giờ có câu trả lời chính xác.

Theo dõi website của chúng tôi thường xuyên để cập nhật những bài học hữu ích nhất về kiến thức đầu tư tài chính nói chung và tiền điện tử nói riêng cũng như thông tin mới nhất nhé !

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây