Về cốt lõi, Blockchain là một cơ sở dữ liệu hoặc sổ cái phân tán phi tập trung. Vậy “sổ cái blockchain” lưu giữ hồ sơ như thế nào? Trong các dự án blockchain hiện tại, có hai phương thức kế toán chủ đạo: Mô hình sAccount Balance (đại diện bởi Ethereum) và Mô hình Unspent Transaction Output (UTXO) (đại diện bởi Bitcoin). Tìm hiểu về UTXO giúp hiểu được logic kế toán đằng sau Bitcoin blockchain.
UTXO là viết tắt của Unspent Transaction Output, có thể hiểu là đơn vị cơ bản trong giao dịch Bitcoin. Ví dụ: nếu Bob nhận được khoản thanh toán Bitcoin và không chi tiêu số tiền đó thì Bitcoin đó sẽ trở thành UTXO. Mô hình UTXO tương tự như việc sở hữu một chiếc ví trong đó có một UTXO, giống như hóa đơn giấy sử dụng một lần. Mỗi UTXO (tiền giấy) đại diện cho một số tiền cụ thể và bằng cách cộng tất cả các UTXO (tiền giấy), bạn có thể xác định số dư của người dùng.
Trong mỗi giao dịch, toàn bộ phải sử dụng số nguyên UTXO. Ví dụ: bạn có thể sử dụng 1 UTXO, 2 UTXO, nhưng bạn không thể sử dụng các số thập phân như 0.5 UTXO (tương tự như việc không thể sử dụng nửa tờ tiền giấy). Khi giao dịch xảy ra, UTXO hiện tại (tờ tiền cũ) sẽ được sử dụng và UTXO mới (tờ tiền mới) sẽ được tạo. Ví dụ:Buổi sáng bạn đi mua cà phê và bánh ngọt giá 5 USD. Bạn đưa cho nhân viên thu ngân tờ 10 USD. Tờ 10 USD này đại diện cho một UTXO, bạn trả cho người bán. Sau đó, người bán sẽ trả lại cho bạn 5 USD tiền thừa, tương đương với việc lúc này, bạn nhận được một UTXO mới (tờ 5 USD mới).
Nếu giao dịch này xảy ra trên blockchain sử dụng mô hình UTXO sẽ hoạt động như thế nào? Để tìm hiểu điều này, chúng ta có thể đặt ra ba ví dụ trường hợp giao dịch, bỏ qua phí khai thác để đơn giản hóa:
Giả sử Bob nhận được 10 BTC, nên anh ấy có UTXO là 10 BTC được liên kết với địa chỉ Bitcoin. Bây giờ Bob cần chuyển 2 BTC cho Alice. Trong trường hợp này, toàn bộ 10 BTC UTXO sẽ được chi tiêu (tờ tiền cũ đã được sử dụng hết). 2 BTC (tờ tiền mới) sẽ được gửi cho Alice và 8 BTC (tờ tiền mới) còn lại sẽ được trả lại cho Bob dưới dạng tiền thừa. Nói cách khác, 10 BTC ban đầu tồn tại dưới dạng một UTXO duy nhất, nhưng trong quá trình giao dịch, UTXO này (tiền giấy cũ) đã bị phá hủy và không còn tồn tại. Thay vào đó, nó được thay thế bằng hai UTXO mới (tiền giấy mới): một thuộc về Bob có giá trị 8 BTC (là số tiền lẻ được trả lại cho Bob) và một thuộc về Alice có giá trị 2 BTC. Trong tương lai, Alice có thể sử dụng UTXO này làm số dư để chuyển cho người khác.
Nếu Alice muốn chuyển 2 BTC đó cho Frank và tránh việc Alice chi tiêu gấp đôi 2 BTC đó (tương tự như cuộc tấn công chi tiêu gấp đôi nổi tiếng), những người khai thác cần xác minh rằng UTXO chưa được sử dụng trong các giao dịch khác . Nếu UTXO này đã được sử dụng trong giao dịch trước đó, thì người khai thác sẽ từ chối thực hiện giao dịch mới này.
Để tìm hiểu sâu hơn hãy xem hai ví dụ sau. (1) Một địa chỉ chuyển đến ba địa chỉ (2) Ba địa chỉ chuyển đến một địa chỉ. Hãy gọi bốn địa chỉ này là A, B, C và D. Trường hợp ① A chuyển đến B, C và D. Trường hợp ② A, B và C chuyển đến D. Ban đầu, Địa chỉ A có 10 BTC trong khi B, C và D có 0 BTC.
Trường hợp (1), Địa chỉ A ban đầu có một UTXO 10 BTC và muốn chuyển 2 BTC đến mỗi địa chỉ B, C và D.
Đầu tiên, 10 BTC UTXO ban đầu từ A đã được chi tiêu hoàn toàn và 2 BTC được gửi đến từng địa chỉ B, C và D. 4 BTC còn lại được trả lại cho A dưới dạng tiền thừa. Tại thời điểm này, 10 BTC UTXO trước đó không còn tồn tại và trở thành bốn UTXO mới, một thuộc về A có giá trị 4 BTC và ba thuộc về B, C và D, tất cả đều có giá trị 2 BTC. Sau khi diễn ra quá trình trao đổi, có 1 UTXO 4 BTC ở Địa chỉ A, 1 UTXO 2 BTC ở Địa chỉ B, 1 UTXO 2 BTC ở Địa chỉ C và 1 UTXO 2 BTC ở Địa chỉ D.
Bây giờ, hãy giả sử trường hợp (2), trong đó A, B và C mỗi người chuyển 2 BTC sang D.
Toàn bộ UTXO gồm 4 BTC tại Địa chỉ A sẽ được chi tiêu, trong đó 2 BTC được chuyển sang D và 2 BTC được trả về dưới dạng tiền thừa. UTXO 2 BTC ở Địa chỉ B được chuyển đến D và UTXO 2 BTC ở Địa chỉ C được chuyển đến D. Sau khi quá trình chuyển tiền diễn ra, sẽ có 1 UTXO 2 BTC ở Địa chỉ A, không có UTXO nào ở Địa chỉ B, không có tại Địa chỉ C và 4 UTXO trị giá 2 BTC tại Địa chỉ D (1 trong số đó là kết quả từ quá trình chuyển tiền diễn ra trong trường hợp ① và phần còn lại là từ trường hợp ②).
Giả sử A có nhiều UTXO, đó là 1 BTC UTXO, 2 BTC UTXO, 3 BTC UTXO và 4 BTC UTXO và B không có BTC. Lúc này, A cần chuyển 2.5 BTC cho B. Mô hình UTXO hoạt động như thế nào?
Tại thời điểm này, UTXO của 2 BTC ở Địa chỉ A sẽ được chuyển trực tiếp đến B. Toàn bộ UTXO của 1 BTC sẽ được chi tiêu, trong đó 0.5 BTC sẽ được chuyển sang B và 0,5 BTC sẽ được trả lại dưới dạng tiền thừa . Sau khi chuyển, vẫn còn 0.5 BTC UTXO, 3 BTC UTXO và 4 BTC UTXO trong Địa chỉ A. B có 2 BTC UTXO và 0.5 BTC UTXO.
Trong các loại tiền mã hóa sử dụng mô hình UTXO, nếu người dùng nhập nhầm địa chỉ hợp đồng không chính xác, rất có thể số tiền đó sẽ không thể thu hồi được. Điều này là do UTXO không lưu trữ thông tin bổ sung về trạng thái gửi đi của giao dịch và sau khi giao dịch tiền mã hóa hoàn tất, UTXO tương ứng sẽ không còn tồn tại trong cơ sở dữ liệu. Về bản chất, hệ thống giả định rằng bạn đã tiêu tiền và hành động này không thể hoàn tác. Hơn nữa, nếu địa chỉ hợp đồng không tương thích hoặc không chính xác, có thể dẫn đến đầu vào sai, nghĩa là người nhận không thể nhận tiền mã hóa đúng cách. Do đó, rất có thể tiền mã hóa sẽ không thể phục hồi được.
Chúng ta có thể thấy rằng: ① UTXO ghi lại các sự kiện thay vì trạng thái cuối cùng. ② Mỗi UTXO đại diện cho một lượng Bitcoin cụ thể và tổng của tất cả các UTXO sẽ quyết định số dư tài khoản. ③ UTXO là đầu ra giao dịch Bitcoin. ④ Một giao dịch hoàn chỉnh bao gồm đầu ra giao dịch (người gửi) và đầu vào giao dịch (người nhận). Đầu ra giao dịch có thể được gọi là Đầu ra và đầu vào giao dịch có thể được gọi là Đầu vào. Sau khi giao dịch hoàn tất, mọi UTXO mới được tạo sẽ được ghi vào sổ cái Bitcoin và có thể được sử dụng cho các giao dịch tiếp theo. UTXO, với tư cách là nền tảng của giao dịch Bitcoin, mang lại các lợi thế như bảo mật, quyền riêng tư và khả năng mở rộng. Đóng vai trò là khung giao dịch nền tảng cho nhiều dự án blockchain.
Các token được niêm yết trên MEXC dưới đây sử dụng mô hình UTXO:
ada, ae, avax-xchain, bch, bcha, beam, bhd, bsv, btc, btcv, btm, btm2,
chia, ckb, dash, doge, linh sam, hc, hns, hydra, ioex, KAS(KASPA), lbc, lbtc, ltc,
mass, pac, plcu, psl, qtum, rvn, sc, sys, ut, wit, xrd, xvg, zel, zen
Nếu xảy ra lỗi khi chuyển tiền mã hóa như đề cập ở trên, chúng tôi sẽ không thể hỗ trợ khôi phục. Vui lòng đảm bảo nhập đúng địa chỉ nạp trước khi bắt đầu bất kỳ khoản nạp nào!