
Hướng dẫn bắt buộc phải đọc về Bitcoin II: Quá khứ và hiện tại của mô hình UTXO
Tuyển chọn TechFlowTuyển chọn TechFlow

Hướng dẫn bắt buộc phải đọc về Bitcoin II: Quá khứ và hiện tại của mô hình UTXO
UTXO không chỉ hỗ trợ cơ chế đồng thuận, giải quyết vấn đề tiêu dùng kép trên blockchain, mà còn mang lại đặc tính truy xuất nguồn gốc cho blockchain.
Tác giả: Echo, BiHelix; Satoshi Labs
Hướng dẫn: Hồng Thục Ninh
Giới thiệu
"Blockchain UTXO đã đặt nền tảng và là cơ sở không thể tranh cãi cho ngành công nghiệp blockchain hiện nay. Công nghệ UTXO phản ánh tầm nhìn cốt lõi của Satoshi về sự tự do tài chính tối thượng. Mô hình UTXO đảm bảo an toàn, quyền riêng tư dữ liệu và khả năng mở rộng ở trung tâm hoạt động tài chính, là một lựa chọn thay thế an toàn hơn so với mô hình tài khoản Ethereum."
Nguyên lý blockchain: Cơ sở của mô hình UTXO
Blockchain là một sổ cái kỹ thuật số, phi tập trung và phân tán. Blockchain sử dụng mạng ngang hàng (P2P), trong đó những người tham gia trên mạng được gọi là các nút. Sổ cái lưu trữ dữ liệu về các giao dịch. Đặc điểm quan trọng nhất của blockchain là các khối được liên kết với nhau bằng mật mã.
Blockchain: Liên kết bằng mật mã
• Ngoài khối đầu tiên (gọi là khối khai sinh), mỗi khối trong chuỗi khối đều chứa một trường gọi là "mã băm trước đó". Đây là giá trị băm của khối liền trước trong chuỗi khối và cũng là nền tảng bảo mật của blockchain.

• Các yếu tố quyết định giá trị băm của khối. Nếu bất kỳ một trong bốn yếu tố này thay đổi dù chỉ 1 bit, giá trị băm sẽ hoàn toàn thay đổi do hiệu ứng thác lũ. Giao dịch được lưu trữ bên trong khối và cũng là một trong bốn yếu tố làm thay đổi băm khối. Điều này có nghĩa là nếu thợ đào chọn các giao dịch khác nhau nhưng giữ nguyên ba yếu tố còn lại thì giá trị băm sẽ khác nhau.
1. Thời gian
2. Số khối: Số thứ tự của khối hiện tại trong chuỗi.
3. Dữ liệu: Các giao dịch được lưu trữ trên khối.
4. Nonce
• Nếu kẻ tấn công cố gắng thay đổi dữ liệu của khối, giá trị băm của khối đó sẽ thay đổi. Như đã nói ở trên, khối tiếp theo sẽ lưu giá trị băm của khối hiện tại, nếu giá trị băm thay đổi thì chuỗi sẽ bị phá vỡ. Hoặc, kẻ tấn công phải đào lại tất cả các khối từ điểm đó trở đi. Đây là một khả năng xảy ra trong cuộc tấn công 51%.

Khối là gì?
Các khối trong blockchain lưu trữ giao dịch. Với Bitcoin, cứ trung bình 10 phút lại có một khối được thêm vào blockchain, mặc dù thời gian khai thác khối mới có thể thay đổi tùy theo độ khó mục tiêu của hàm băm.
• Khi thợ đào thành công trong việc khai thác khối, nó sẽ được thêm vào blockchain. Khi khối được thêm vào chuỗi, trạng thái của tất cả các giao dịch bên trong khối sẽ chuyển từ chưa xác nhận sang đã xác nhận.
• Với Bitcoin, số lượng giao dịch có thể lưu trữ trong một khối không cố định, nhưng kích thước trung bình của khối là 1 MB.
• Khối rỗng là hợp lệ, điều này có nghĩa là khối rỗng có thể được khai thác và thêm vào chuỗi.
Cấu trúc giao dịch blockchain
Khi tách rời một giao dịch đơn lẻ, ta thấy rằng giao dịch chứa nhiều cấu trúc khác nhau với các ngữ nghĩa khác nhau. Dưới đây là các cấu trúc khác nhau tồn tại trong một giao dịch:

1. Phiên bản giao dịch: Là số phiên bản để xác định loại giao dịch với mạng. Thông qua số phiên bản, các nút có thể xác định bộ quy tắc dùng để xác thực giao dịch cụ thể đó.
2. Đầu ra: Gồm khóa mật mã và thời gian.
3. Đầu vào: Gồm con trỏ và khóa giải mã. Con trỏ trỏ đến đầu ra giao dịch trước đó. Khóa giải mã được dùng để mở khóa đầu ra trước mà đầu vào trỏ tới. Mỗi lần mở khóa đầu ra thông qua đầu vào, đầu ra đó sẽ được đánh dấu là đã dùng trong cơ sở dữ liệu blockchain.
4. Thời gian khóa: Chỉ định giao dịch có thể được đưa vào blockchain ngay lập tức hay sau một thời gian nhất định.
UTXO là tất cả các đầu ra chưa bị bất kỳ đầu vào nào mở khóa.
Một khi đầu ra bị mở khóa, chúng sẽ bị loại khỏi nguồn cung lưu thông. Các đầu ra mới sẽ thay thế chúng. Do đó, tổng các đầu ra bị mở khóa luôn bằng tổng giá trị các đầu ra mới được tạo.
Mô hình UTXO là gì?
UTXO không phải là đơn vị tiền tệ như satoshi trong Bitcoin (BTC) hay gwei trong Ethereum (ETH); tuy nhiên, UTXO có thể được đo bằng các đơn vị này. UTXO là viết tắt của Unspent Transaction Output – đầu ra giao dịch chưa chi tiêu. Trong Bitcoin, một giao dịch tồn tại cho đến khi được thực hiện, cho đến khi một giao dịch khác hoàn tất từ UTXO đó. Khi giao dịch hoàn tất, đầu ra chưa dùng sẽ được trả lại cơ sở dữ liệu dưới dạng đầu vào và sau đó có thể được dùng cho một giao dịch khác.

Khi người dùng khởi tạo một giao dịch qua ví, các UTXO chứa thông tin giao dịch sẽ được định vị, mở khóa, và thông tin người sở hữu mới sẽ được liên kết với UTXO được chuyển cho họ. Người dùng sau đó có thể sử dụng chúng trong các giao dịch tương tự. Khi các giao dịch tiếp tục diễn ra, cơ sở dữ liệu sẽ ghi lại lịch sử thay đổi quyền sở hữu. Đầu ra là phần tiền điện tử mà người dùng gửi cho ai đó nhưng chưa chi tiêu. Chúng được ghi lại trong cơ sở dữ liệu dưới dạng đầu vào là các phần nhỏ tiền điện tử.
UTXO được tạo ra như thế nào?
UTXO được tạo ra bằng cách tiêu thụ các UTXO hiện có. Mỗi giao dịch Bitcoin gồm đầu vào và đầu ra. Đầu vào tiêu thụ các UTXO hiện có, trong khi đầu ra tạo ra các UTXO mới. Khi quyết định chi tiêu Bitcoin, chúng ta chỉ có thể thấy số tiền đã khấu trừ và số dư còn lại trong ví. Đối với người dùng, điều này giống như dùng tờ 1 đô la mua món hàng 0,50 đô – nhận tiền thừa và bỏ vào túi.
Ưu điểm của mô hình UTXO
Mô hình UTXO không chứa ví ở cấp giao thức. Nó dựa trên các giao dịch riêng lẻ được nhóm trong khối. Mô hình UTXO là thiết kế phổ biến ở nhiều tiền điện tử, đặc biệt là Bitcoin.
• Các tiền điện tử sử dụng mô hình UTXO không dùng tài khoản hay số dư. Thay vào đó, UTXO được chuyển giữa người dùng giống như tiền mặt vật lý.
• Mỗi giao dịch trong mô hình UTXO có thể chuyển hệ thống sang một trạng thái mới, nhưng việc mỗi giao dịch đều chuyển sang một trạng thái mới là không khả thi.
• Những người tham gia mạng phải đồng bộ với trạng thái hiện tại.

Tổng số UTXO tồn tại trong blockchain đại diện cho một tập hợp và được duy trì liên tục bởi mỗi nút Bitcoin.
• Mỗi giao dịch sẽ tiêu thụ các phần tử trong tập hợp này và tạo ra các phần tử mới được thêm vào tập hợp. Mỗi khi một khối mới được chấp nhận trong blockchain, tập UTXO sẽ được cập nhật, và mỗi nút Bitcoin trong mạng sẽ lưu trữ một bản sao chính xác của tập UTXO trong bộ nhớ cục bộ của nó.
• Tập UTXO đầy đủ có thể được cộng lại để tính tổng nguồn cung tiền điện tử tại một thời điểm nhất định. Trong trường hợp giao dịch blockchain hợp lệ, chỉ các đầu ra chưa chi tiêu mới có thể được dùng để tài trợ cho các giao dịch tiếp theo. Để ngăn chặn việc chi tiêu kép và gian lận, điều kiện chỉ cho phép dùng các đầu ra chưa chi tiêu là cần thiết.
Sự khác biệt giữa mô hình UTXO và mô hình tài khoản Ethereum

Đầu ra giao dịch chưa dùng là một phần của công nghệ cơ sở dữ liệu phân tán đằng sau Bitcoin và các tiền điện tử khác. Bitcoin sử dụng UTXO, nhưng nó không phải là UTXO. Ngoài ra, Ethereum sử dụng phương pháp dựa trên tài khoản và số dư tài khoản, do đó không có UTXO trong Máy ảo Ethereum.
Tầm quan trọng kỹ thuật của UTXO
• Hợp đồng thông minh độc lập ngôn ngữ: Hợp đồng thông minh dựa trên UTXO độc lập với ngôn ngữ, cho phép phát triển các cơ chế đồng thuận độc đáo.
• Hỗ trợ sàn giao dịch phi tập trung và trao đổi nguyên tử: Mô hình UTXO có thể hỗ trợ trao đổi nguyên tử, cho phép giao dịch tiền điện tử ngang hàng mà không cần bên thứ ba. Tính năng trao đổi nguyên tử của UTXO mang lại sự tiện lợi tốt hơn cho giao dịch trực tiếp giữa các ví người dùng.
• Lợi thế về khả năng mở rộng: Cho phép xử lý song song hoặc cơ sở hạ tầng, giảm tải tính toán trên mạng blockchain.
• Bảo mật và quyền riêng tư: Mỗi giao dịch UTXO sử dụng địa chỉ mới, do đó không thể theo dõi giao dịch.
• Ngăn chặn chi tiêu kép: UTXO chỉ có thể được sử dụng một lần, đây là nền tảng hoạt động của công nghệ blockchain, đảm bảo tiền tệ không bị sử dụng nhiều lần.
• Linh hoạt hơn: Cung cấp độ linh hoạt lớn hơn so với tiền pháp định.
• Phân song song đơn giản: Cho phép phân song song giao dịch trong hợp đồng thông minh dễ dàng hơn.
Mô hình UTXO được sử dụng trong nhiều tiền điện tử vì nó cho phép người dùng theo dõi quyền sở hữu tất cả các phần của tiền điện tử đó. Vì tiền điện tử được thiết kế với tính ẩn danh, UTXO được liên kết với địa chỉ công khai có thể xem được toàn mạng.
Trừ khi người dùng tiết lộ địa chỉ của họ, nếu không sẽ không thể xác định danh tính người dùng thông qua quyền sở hữu, nhưng mô hình này cho phép minh bạch thông qua địa chỉ.
Ứng dụng thực tiễn của UTXO — Sơ đồ chuyển nhượng ngoài chuỗi RGB
Ý tưởng cốt lõi của giao thức RGB là chỉ gọi blockchain Bitcoin khi cần thiết, tức là tận dụng Proof-of-Work và tính phi tập trung của mạng để đạt được bảo vệ chống chi tiêu kép và kháng kiểm duyệt. Tất cả công việc xác minh chuyển nhượng token được dời khỏi lớp đồng thuận toàn cầu, xử lý ngoài chuỗi và chỉ được xác minh bởi phía khách hàng nhận thanh toán.
Nguyên lý hoạt động:
Trong một hợp đồng RGB, tất cả các token ban đầu đều thuộc về một UTXO Bitcoin (dù là UTXO đã tồn tại hay được tạo tạm thời), và để chuyển nhượng token, bạn cần tiêu thụ UTXO này. Khi tiêu thụ UTXO này, giao dịch Bitcoin phải thêm một đầu ra bổ sung, đầu ra này chứa cam kết về một thông điệp, nội dung thông điệp chính là thông tin thanh toán RGB, định nghĩa đầu vào, token sẽ được gửi đến UTXO nào, ID tài sản, số lượng, giao dịch chi tiêu và dữ liệu cần đính kèm.
Tóm tắt
Bản chất của UTXO thực chất là ghi chép dòng tiền: Mô hình UTXO kiểm tra xem nguồn vốn giao dịch có tồn tại hay không, sau đó truy ngược về nguồn gốc giao dịch, xác nhận chính xác rồi phát sóng toàn mạng thông qua cơ chế đồng thuận, ghi lại lên chuỗi. Trong suốt quá trình này, UTXO ghi lại toàn bộ thông tin liên quan đến tài khoản, địa chỉ giao dịch, số tiền chuyển, nguồn tiền... từ đó có thể truy vết nguồn gốc ban đầu của từng giao dịch. Chính nhờ đặc điểm này, UTXO cùng với cơ chế đồng thuận có thể giải quyết vấn đề chi tiêu kép. Bảo mật và tính toàn vẹn của thông tin giao dịch trong giao thức RGB được đảm bảo thông qua UTXO.
Tóm lại, UTXO không chỉ hỗ trợ cơ chế đồng thuận, giải quyết vấn đề chi tiêu kép trong blockchain, mà còn trao cho blockchain đặc tính truy xuất nguồn gốc. Blockchain cũng có thể dựa trên điều này để đảm bảo tính chân thực và đáng tin cậy của mọi giao dịch.
Chào mừng tham gia cộng đồng chính thức TechFlow
Nhóm Telegram:https://t.me/TechFlowDaily
Tài khoản Twitter chính thức:https://x.com/TechFlowPost
Tài khoản Twitter tiếng Anh:https://x.com/BlockFlow_News














