Trong một trong những bài viết trước của chúng tôi, chúng tôi đã nói về cuộc tấn công “chi tiêu gấp đôi”. Một vai trò quan trọng trong việc ngăn chặn một cuộc tấn công như vậy được thực hiện bởi mô hình hạch toán bằng chứng về quyền sở hữu – UTXO. Do cấu trúc xây dựng giao dịch này, giao thức Bitcoin cho phép bạn theo dõi vị trí của đồng tiền bất kỳ lúc nào.

Trong bài viết hôm nay, chúng ta sẽ tập trung vào khái niệm UTXO, xem xét các vấn đề liên quan đến mô hình kế toán này và xem xét các giải pháp khả thi cho những vấn đề này.

UTXO là gì?

UTXO là viết tắt của “Sản lượng giao dịch chưa thanh toán”, nói cách khác, phần còn lại hoặc “tiền thay đổi”, nhận được sau khi chi tiêu một số tiền.

Các nút trong mạng Bitcoin duy trì một chuỗi khối lưu trữ tất cả các bộ UTXO có sẵn để chi tiêu. Mỗi nút theo dõi tất cả các UTXO, kiểm tra từng giao dịch của mỗi khối khi hình thành blockchain. Theo dõi số tiền chưa tiêu sẽ thuận tiện hơn nhiều so với theo dõi từng giao dịch riêng lẻ.

Bất kỳ giao dịch nào cũng bao gồm đầu vào và đầu ra. Đầu vào của một giao dịch mới là tham chiếu đến đầu ra của các giao dịch trước đó. Bằng cách tổng hợp các giá trị của các liên kết này, chúng có thể được sử dụng trong đầu ra của một giao dịch mới được tạo. Đầu ra là nơi lưu trữ các đồng xu và hướng dẫn sử dụng chúng.

Khi kiểm tra số dư trên ví bitcoin của mình, bạn sẽ thấy toàn bộ số tiền được lưu trữ. Nhưng trên thực tế, dựa trên lịch sử của các giao dịch trước đó, số dư có thể bao gồm nhiều đầu ra đại diện cho các số tiền khác nhau. Hãy coi nó như vô số hóa đơn trong ví của bạn. Số dư của một địa chỉ tại bất kỳ thời điểm nào là tổng của tất cả các UTXO mà địa chỉ đó hiện có thể chi tiêu. Các tập hợp đầu ra đại diện cho UTXO, nghĩa là, một tập hợp các đầu ra có số lượng khác nhau, chiếm số dư.

Hãy sử dụng một ví dụ để hiểu rõ hơn về nguyên tắc UTXO: 

Nếu bạn giữ 50 BTC trong tài khoản của mình và muốn thanh toán 0,5 BTC, điều này yêu cầu một giao dịch phải được hình thành, trong đó phải có ít nhất một đầu vào và một đầu ra. Giả sử chỉ có một UTXO là 50 BTC. Không thể tách UTXO; do đó 50 BTC được sử dụng làm đầu vào. Bằng cách gửi chữ ký, chúng tôi xác nhận quyền sở hữu của chúng tôi đối với thông tin đầu vào đó. Kết quả là, hai đầu ra có mệnh giá 0,5 và 49,5 BTC được tạo ra. Thay đổi 49,5 BTC được gửi trở lại ví của chủ sở hữu và trở thành UTXO mới và 0,5 BTC được gửi đến địa chỉ của người nhận. Cần lưu ý rằng phí giao dịch được khấu trừ từ thay đổi của UTXO.

Các tính năng quan trọng của việc sử dụng mô hình đầu ra giao dịch:

  • Các giao dịch được thực hiện bằng cách “tiêu thụ” các UTXO hiện có và tạo ra các UTXO mới ở vị trí của chúng;
  • UTXO mới chỉ có thể được tạo thông qua các giao dịch;
  • UTXO đã sử dụng trở thành “đã tiêu” và chỉ được sử dụng một lần.

UTXO là một trong những cách để ghi lại và lưu trạng thái của blockchain, ghi lại bằng chứng về quyền sở hữu tiền xu của ai đó trên mạng. Blockchain dựa trên UTXO là một loại giao thức blockchain. Nguyên tắc đầu ra chưa sử dụng được sử dụng trong các chuỗi khối của tất cả các nhánh Bitcoin, cũng như trong các chuỗi khối của nhiều đồng tiền khác như Monero, Cardano và Komodo. Hyperledger Fabric sử dụng mô hình UTXO được sửa đổi.

Một cách khác để tổ chức blockchain là “Mô hình tài khoản”, được sử dụng trong chuỗi khối Ethereum. Cách tiếp cận này được thực hiện thông qua việc hạch toán cục bộ các mã thông báo trên các nút chứ không phải trong bản thân các giao dịch.

Các vấn đề và giải pháp của mô hình UTXO

Bụi tiền điện tử

Bụi tiền điện tử là một thuật ngữ đề cập đến số tiền bằng BTC không vượt quá phí giao dịch.

Vấn đề về bụi tiền điện tử đã trở nên có liên quan trong cuộc biểu tình của Bitcoin đối với ATH lịch sử của nó vào năm 2017. Việc lưu trữ một số lượng đáng kể UTXO không sinh lời là vô nghĩa vì chi tiêu chúng không phải là giá trị của chúng..

Các nhà phát triển đang cố gắng giải quyết vấn đề bụi tiền điện tử ở các cấp độ khác nhau. Binance trở thành sàn giao dịch đầu tiên cho phép chuyển đổi bụi tiền điện tử lấy mã thông báo BNB.

Bụi tiền điện tử cũng có thể được sử dụng để khớp các địa chỉ khác nhau thuộc về một chủ sở hữu duy nhất. Vì các đầu vào không được kết hợp khi thực hiện giao dịch, những kẻ tấn công có thể gửi bụi tiền điện tử để trộn với các UTXO khác và khớp với các địa chỉ nạn nhân khác nhau.

Lưu trữ UTXO

Vì blockchain lưu trữ tất cả các bộ UTXO có trên mạng, số lượng các bộ như vậy càng cao, chúng càng chiếm nhiều dung lượng.

Các nút đầy đủ lưu trữ cơ sở dữ liệu về các giao dịch chưa sử dụng trong RAM và với sự gia tăng lượng dữ liệu được lưu trữ, chi phí duy trì một nút chỉ tăng lên. Một trong những lựa chọn được thảo luận để giải quyết vấn đề lưu trữ các giao dịch chưa sử dụng là chuyển một phần dữ liệu được lưu trữ sang các thiết bị HDD hoặc SSD.

Triển khai nhân chứng tách biệt

Cơ sở dữ liệu UTXO được duy trì và kiểm tra bởi tất cả các nút trên mạng để kiểm tra tính hợp lệ của các giao dịch. Để mạng hoạt động nhanh hơn, việc kiểm tra như vậy nên được thực hiện càng sớm càng tốt. Đó là vì lý do này mà cơ sở dữ liệu được giữ trong RAM. Với sự gia tăng số lượng người dùng và số lượng ví, khối lượng dữ liệu UTXO tăng lên, dẫn đến vấn đề mở rộng mạng. Để tăng quyền riêng tư hoặc để hỗ trợ các kênh thanh toán Lightning Network, người dùng tạo nhiều bản ghi UTXO.

Một trong những cải tiến sau khi giới thiệu SegWit là giảm sự phát triển của UTXO bằng cách tạo các bản ghi UTXO không ảnh hưởng đến khối lượng của nó. Với cách tiếp cận này, ưu tiên sử dụng các giao dịch ít ảnh hưởng hơn đến UTXO do hoa hồng thấp hơn.

Giải pháp UTreeXo

Khi các nguồn lực cần thiết để duy trì một nút đầy đủ đã tăng lên, người dùng ngày càng chuyển sang cái gọi là “ứng dụng khách nhẹ” và các nút của bên thứ ba để giám sát mạng. Các ứng dụng khách nhẹ không lưu trữ cơ sở dữ liệu UTXO và không xác minh các giao dịch, nhưng sử dụng SPV, viết tắt của “Xác minh thanh toán được đơn giản hóa”. Phương pháp xác minh này đã được chính Satoshi Nakamoto mô tả trong Sách trắng về Bitcoin. Do một số lỗ hổng bảo mật đáng kể, việc sử dụng máy khách SPV không an toàn khi so sánh với các nút đầy đủ. Vấn đề giữ các nút đầy đủ có thể được giải quyết bằng cách triển khai giao thức uTreeXo

Giao thức uTreeXo là một bộ tích lũy động giúp giảm kích thước của UTXO trong chuỗi khối xuống còn vài kilobyte. Giải pháp uTreeXo cho phép các nút đầy đủ tránh lưu trữ tất cả dữ liệu blockchain và theo dõi tập hợp tất cả các UTXO. Thay vào đó, bộ tích lũy sẽ cung cấp bằng chứng rằng dữ liệu là chính xác.

Với sự ra đời của giao thức uTreeXo, sẽ có thể chạy các nút đầy đủ trên thiết bị di động.

Phần kết luận

Mô hình UTXO, xuất hiện cùng với Bitcoin, đã đơn giản hóa phương pháp hạch toán quỹ và tạo động lực cho việc phát triển các giải pháp trong lĩnh vực đạt được quyền riêng tư trong giao dịch. Bằng cách trộn các UTXO khác nhau, người dùng có thể sử dụng các địa chỉ khác nhau để thực hiện các giao dịch, điều này làm phức tạp các phương pháp thiết lập liên kết giữa các địa chỉ.

Mô hình UTXO truyền thống có một số hạn chế khi được sử dụng trong hợp đồng thông minh, nhưng các nhà phát triển Cardano đã mô tả khái niệm UTXO mở rộng (EUTXO) – một mô hình UTXO mở rộng để đưa các hợp đồng thông minh vào mạng của nó.

Bất chấp những thiếu sót hiện có, cách tiếp cận này là một trong những cách được sử dụng nhiều nhất trong các chuỗi khối của các loại tiền điện tử khác và công việc chuyên sâu để giải quyết những thiếu sót này sẽ chỉ làm tăng mức độ phổ biến của mô hình UTXO trong các hệ thống blockchain khác.