
- 1. Transaction là gì? Định nghĩa chi tiết
- 2. Cấu trúc của một Transaction
- 2.1. Input (Đầu vào)
- 2.2. Output (Đầu ra)
- 2.3. Chữ ký số (Digital Signature)
- 2.4. Phí giao dịch (Transaction Fee)
- 2.5. Nonce (Số dùng một lần)
- 2.6. Data (Dữ liệu)
- 3. Cách giao dịch Blockchain hoạt động (Quy trình từng bước)
- 4. UTXO và Account Model
- 4.1. UTXO Model (Bitcoin, Litecoin, Dogecoin)
- 4.2. Account/Balance Model (Ethereum, Solana, BNB Chain)
- 5. Phí giao dịch và Gas
- Bitcoin
- Ethereum
- 6. Chữ ký số trong Transaction
- 7. Xác nhận giao dịch (Confirmations)
- 8. Các loại Transaction phổ biến
- 9. So sánh Transaction Blockchain và Giao dịch Ngân hàng
- 10. Các vấn đề thường gặp với Transaction
- 11. Câu hỏi thường gặp
- Kết luận
1. Transaction là gì? Định nghĩa chi tiết
Transaction (giao dịch) trong blockchain là một bản ghi dữ liệu được ký bằng mật mã, thể hiện sự chuyển giao giá trị hoặc tương tác với hợp đồng thông minh. Transaction là đơn vị nhỏ nhất của hoạt động trên blockchain, và khi được xác nhận, nó sẽ được đóng gói vào một Block và lưu trữ vĩnh viễn trên sổ cái phân tán.
Ví dụ:
-
Bạn gửi 0.5 BTC cho một người bạn → Đây là một transaction.
-
Bạn swap 1 ETH lấy 2000 USDC trên Uniswap → Đây là một transaction.
-
Bạn mint một NFT trên OpenSea → Đây là một transaction.
-
Bạn tương tác với một hợp đồng thông minh để vay tiền trên Aave → Đây là một transaction.
Mỗi transaction đều cần được ký bằng khóa riêng tư (private key) của người gửi, sau đó phát sóng lên mạng lưới, được các node xác thực và cuối cùng được đưa vào một block. Bạn có thể tìm hiểu thêm về khóa riêng tư trong bài Crypto Wallet là gì?
2. Cấu trúc của một Transaction
Mặc dù có sự khác biệt giữa các blockchain, một transaction điển hình bao gồm các thành phần cơ bản sau:

2.1. Input (Đầu vào)
Input là nguồn gốc của tài sản được sử dụng trong giao dịch. Trong mô hình UTXO (Bitcoin), input tham chiếu đến các đầu ra chưa chi tiêu (Unspent Transaction Output) từ các giao dịch trước đó. Mỗi input chứa:
-
Transaction ID (TxID): ID của giao dịch chứa UTXO.
-
Output Index: Vị trí của output trong giao dịch đó.
-
ScriptSig: Bằng chứng mở khóa UTXO, thường là chữ ký số và khóa công khai.
Trong mô hình Account/Balance (Ethereum), input đơn giản là địa chỉ người gửi và số lượng token.
2.2. Output (Đầu ra)
Output chỉ định nơi tài sản sẽ được chuyển đến. Mỗi output bao gồm:
-
Địa chỉ người nhận: Public key hash hoặc địa chỉ ví.
-
Số lượng: Giá trị tài sản được chuyển.
Một giao dịch có thể có nhiều output (ví dụ: chuyển cho nhiều người, hoặc phần tiền thối trả lại cho chính người gửi). Trong UTXO, tổng input phải lớn hơn hoặc bằng tổng output; phần chênh lệch là phí giao dịch.
2.3. Chữ ký số (Digital Signature)
Người gửi ký transaction bằng khóa riêng tư để chứng minh quyền sở hữu tài sản. Chữ ký số đảm bảo:
-
Xác thực: Chỉ chủ sở hữu khóa riêng tư mới có thể tạo chữ ký.
-
Toàn vẹn: Bất kỳ thay đổi nào trong transaction cũng làm chữ ký không hợp lệ.
-
Chống phủ nhận: Người gửi không thể phủ nhận đã gửi giao dịch.
2.4. Phí giao dịch (Transaction Fee)
Phí giao dịch là khoản phí trả cho thợ đào (PoW) hoặc validator (PoS) để họ đưa giao dịch vào block. Trong Bitcoin, phí được tính chênh lệch giữa tổng input và tổng output. Trong Ethereum, phí được tính dựa trên gas (đơn vị đo công sức tính toán) và gas price (giá mỗi đơn vị gas).
2.5. Nonce (Số dùng một lần)
Trong mô hình tài khoản (Ethereum), nonce là số thứ tự giao dịch của một địa chỉ, nhằm ngăn chặn chi tiêu gấp đôi và đảm bảo giao dịch được xử lý đúng thứ tự. Mỗi giao dịch mới từ một địa chỉ có nonce tăng dần.
2.6. Data (Dữ liệu)
Đối với giao dịch tương tác hợp đồng thông minh, transaction có thể chứa data – chuỗi byte mã hóa lệnh gọi hàm và tham số. Ví dụ: gọi hàm transfer(address,uint256) trên token ERC-20.
Bạn có thể xem chi tiết cấu trúc giao dịch Bitcoin tại Bitcoin Developer – Transaction và Ethereum tại Ethereum.org – Transactions.
3. Cách giao dịch Blockchain hoạt động (Quy trình từng bước)
Dưới đây là hành trình của một giao dịch từ khi được tạo đến khi được xác nhận:

Bước 1: Tạo giao dịch
Người dùng sử dụng ví tiền điện tử (như MetaMask, Trust Wallet) để tạo giao dịch. Ví sẽ:
-
Xác định input (từ số dư hoặc UTXO).
-
Xác định output (địa chỉ nhận, số lượng).
-
Tính phí giao dịch.
-
Ký giao dịch bằng khóa riêng tư.
Bước 2: Phát sóng giao dịch lên mạng lưới
Ví gửi transaction đến một hoặc nhiều node trong mạng P2P. Thông thường, ví kết nối với một node RPC (như Infura, Alchemy) hoặc node riêng của người dùng. Node nhận và xác thực sơ bộ giao dịch.
Bước 3: Xác thực sơ bộ bởi node
Mỗi node kiểm tra:
-
Chữ ký số có hợp lệ?
-
Người gửi có đủ số dư?
-
Nonce có đúng thứ tự? (Ethereum)
-
Định dạng giao dịch có hợp lệ?
Nếu đạt, node đưa giao dịch vào mempool (khu vực chứa giao dịch chờ xác nhận) và truyền tiếp cho các node khác.
Bước 4: Người tạo block gom giao dịch
Thợ đào (PoW) hoặc validator (PoS) chọn các giao dịch từ mempool, ưu tiên những giao dịch có phí cao. Họ đóng gói chúng vào một khối mới. Bạn có thể xem thêm về node đào trong bài <a href=”/mining-node-la-gi/”>Mining Node là gì?</a>
Bước 5: Đạt đồng thuận
Khối mới được đề xuất và các node trong mạng xác thực theo cơ chế đồng thuận (PoW, PoS…). Nếu khối hợp lệ, nó được thêm vào blockchain.
Xem thêm tại: Consensus Mechanism là gì?
Bước 6: Giao dịch được xác nhận
Khi khối chứa giao dịch được thêm vào chuỗi, giao dịch có 1 xác nhận (confirmation). Mỗi khối tiếp theo thêm vào sẽ tăng số xác nhận, giúp giao dịch ngày càng khó bị đảo ngược. Bitcoin thường yêu cầu 6 xác nhận để coi là an toàn tuyệt đối.
Bước 7: Cập nhật trạng thái
Số dư của người gửi và người nhận được cập nhật trên tất cả các node. Giao dịch hoàn tất.
4. UTXO và Account Model
Có hai mô hình chính để quản lý transaction:
4.1. UTXO Model (Bitcoin, Litecoin, Dogecoin)
-
UTXO là Unspent Transaction Output – đầu ra giao dịch chưa chi tiêu.
-
Ví dụ: Bạn có hai UTXO: 0.4 BTC và 0.3 BTC. Bạn muốn gửi 0.5 BTC. Ví sẽ tạo giao dịch với hai input (0.4 + 0.3 = 0.7), hai output: 0.5 cho người nhận, và 0.2 trả lại cho bạn (tiền thối), phần còn lại là phí.
-
Mô hình UTXO giúp dễ dàng xác minh song song, bảo mật tốt, nhưng phức tạp hơn cho lập trình.

4.2. Account/Balance Model (Ethereum, Solana, BNB Chain)
-
Mỗi địa chỉ có số dư như tài khoản ngân hàng.
-
Giao dịch chỉ cần chỉ định người gửi, người nhận, số lượng.
-
Nonce đảm bảo thứ tự và chống chi tiêu gấp đôi.
-
Dễ dàng cho hợp đồng thông minh và DeFi.
Bạn có thể tìm hiểu thêm về hợp đồng thông minh trong bài <a href=”/hop-dong-thong-minh-la-gi/”>Hợp đồng thông minh là gì?</a>
5. Phí giao dịch và Gas
Bitcoin
Phí giao dịch = Tổng input – Tổng output. Thợ đào ưu tiên giao dịch có phí/byte cao. Phí thấp có thể khiến giao dịch bị kẹt trong mempool lâu.

Ethereum
Phí giao dịch = Gas Used × Gas Price. Gas là đơn vị đo công sức tính toán, phụ thuộc vào độ phức tạp của giao dịch (chuyển ETH đơn giản tốn 21,000 gas; swap token tốn hàng trăm nghìn gas). Gas Price đo bằng gwei (1 gwei = 0.000000001 ETH). Sau EIP-1559, phí gồm base fee (bị đốt) và priority fee (trả validator).
Phí cao khi mạng tắc nghẽn, phí thấp khi mạng thưa. Bạn có thể sử dụng Layer-2 để giảm phí.
Xem thêm: Layer-2 Blockchain là gì?
6. Chữ ký số trong Transaction
Chữ ký số là bằng chứng mật mã chứng minh người gửi sở hữu tài sản. Quy trình:

-
Người gửi tạo hash của giao dịch.
-
Ký hash bằng khóa riêng tư (theo thuật toán ECDSA).
-
Node xác minh chữ ký bằng khóa công khai của người gửi.
Nếu chữ ký hợp lệ, giao dịch được chấp nhận.
Bạn có thể tìm hiểu thêm về khóa riêng tư và khóa công khai trong bài Crypto Wallet là gì?
7. Xác nhận giao dịch (Confirmations)
Một giao dịch được coi là “xác nhận” khi nó nằm trong một block đã thêm vào chuỗi. Số xác nhận tương ứng với số block được thêm vào sau đó. Càng nhiều xác nhận, giao dịch càng khó bị đảo ngược do phải tính lại toàn bộ chuỗi.
-
Bitcoin: 1 xác nhận (~10 phút), 6 xác nhận được coi là an toàn (~1 giờ).
-
Ethereum: 1 xác nhận (~12 giây), 12 xác nhận (~2.5 phút) thường đủ cho hầu hết trường hợp.
Thời gian xác nhận phụ thuộc vào cơ chế đồng thuận và tốc độ tạo block.
8. Các loại Transaction phổ biến

-
Chuyển tiền đơn giản: Gửi coin từ địa chỉ A đến địa chỉ B.
-
Tương tác hợp đồng thông minh: Gọi hàm của smart contract (swap, mint, vay).
-
Tạo hợp đồng (Contract Creation): Triển khai smart contract mới lên blockchain.
-
Staking/Unstaking: Khóa hoặc mở khóa token để nhận phần thưởng.
-
Bridge: Chuyển tài sản giữa các blockchain khác nhau.
Mỗi loại có cấu trúc và phí khác nhau, nhưng đều tuân thủ nguyên tắc chung của transaction.
9. So sánh Transaction Blockchain và Giao dịch Ngân hàng
| Tiêu chí | Transaction Blockchain | Giao dịch Ngân hàng |
|---|---|---|
| Trung gian | Không, ngang hàng | Ngân hàng, tổ chức tài chính |
| Tốc độ | Phụ thuộc blockchain (vài giây đến vài phút) | Có thể mất ngày |
| Phí | Phí gas, có thể cao khi tắc nghẽn | Phí chuyển khoản, phí thường niên |
| Minh bạch | Công khai trên sổ cái | Hồ sơ nội bộ |
| Khả năng đảo ngược | Gần như không thể | Có thể hoàn trả qua ngân hàng |
| Yêu cầu KYC | Không bắt buộc | Bắt buộc |
Blockchain mang lại tự do và minh bạch, nhưng cũng đòi hỏi người dùng tự chịu trách nhiệm.
10. Các vấn đề thường gặp với Transaction
-
Giao dịch bị kẹt (stuck): Phí gas quá thấp, giao dịch nằm trong mempool lâu. Có thể tăng phí (replace-by-fee) hoặc chờ.
-
Giao dịch thất bại: Đối với Ethereum, nếu hết gas giữa chừng, giao dịch thất bại nhưng vẫn mất phí.
-
Gửi nhầm mạng: Gửi token qua mạng không đúng (ví dụ: USDT trên Ethereum gửi vào địa chỉ BSC) có thể mất tài sản. Luôn kiểm tra mạng lưới.
-
Phê duyệt token độc hại: Kẻ lừa đảo lừa bạn phê duyệt token giả mạo, sau đó rút sạch ví. Chỉ phê duyệt các hợp đồng uy tín.
11. Câu hỏi thường gặp
- Transaction mất bao lâu để xác nhận?
Phụ thuộc blockchain và phí. Bitcoin trung bình 10 phút/block; Ethereum 12 giây/block. Với phí cao, giao dịch được ưu tiên và xác nhận nhanh hơn.
- Tôi có thể hủy giao dịch không?
Một khi đã phát sóng và được xác nhận, không thể hủy. Nếu chưa xác nhận, có thể thay thế bằng giao dịch khác có phí cao hơn (đối với Ethereum).
- Phí gas quá cao thì làm sao?
Bạn có thể chờ mạng bớt tắc nghẽn, sử dụng Layer-2, hoặc chọn blockchain phí thấp (BSC, Polygon, Solana).
- Giao dịch bị thất bại có mất tiền không?
Trên Ethereum, giao dịch thất bại vẫn mất phí gas vì validator đã thực hiện tính toán. Tài sản không bị chuyển đi.
- Làm thế nào để kiểm tra giao dịch?
Sử dụng trình khám phá blockchain: Blockchain.com (Bitcoin), Etherscan (Ethereum), BscScan (BSC). Nhập transaction hash (TxID) để xem chi tiết.
Kết luận
Transaction là gì? Đó là đơn vị cơ bản của mọi hoạt động trên blockchain, cho phép chuyển giao giá trị và tương tác với hợp đồng thông minh một cách phi tập trung, minh bạch và bất biến. Hiểu rõ cấu trúc và cách hoạt động của transaction giúp bạn sử dụng tiền điện tử an toàn và hiệu quả hơn.
Nguồn tham khảo:
Bitcoin Developer – Transaction | Ethereum.org – Transactions | Investopedia – Transaction | Binance Academy – What is a Transaction | IBM Blockchain – How does blockchain work









