Mempool là gì? Khám phá hành trình xử lý giao dịch trên mạng Bitcoin

Chuyên mục: Crypto cơ bản
Mempool là gì? Cơ chế hoạt động và cách theo dõi giao dịch

Mempool là vùng lưu trữ tạm thời tại một node, chứa các giao dịch chưa được xác nhận và đáp ứng điều kiện tiếp nhận của node đó. Khi bạn chuyển BTC hoặc ETH và ví hiển thị trạng thái “đang chờ”, giao dịch của bạn thường đang nằm trong mempool của các node, chờ được đưa vào block.

Cùng Coindews Việt Nam giải thích cách mempool vận hành trên Bitcoin và Ethereum, cách đọc dữ liệu trên các công cụ theo dõi phổ biến, cách xử lý giao dịch chờ lâu và những giới hạn khi dùng dữ liệu mempool để phân tích thị trường.

Mempool là gì? Vai trò trong blockchain

Để hiểu vì sao một giao dịch có thể mất vài phút hoặc lâu hơn mới được xác nhận, trước tiên bạn cần nắm được vị trí của Mempool trong quy trình xử lý giao dịch. Đây là khu vực lưu giữ tạm thời các giao dịch chưa được xác nhận mà một node đã tiếp nhận và chấp nhận theo những quy tắc nhất định.

Định nghĩa về Mempool

Mempool là viết tắt của cụm từ Memory Pool, có thể hiểu là vùng lưu trữ các giao dịch đang chờ được đưa vào block. Trong nhiều blockchain, giao dịch sau khi được tạo và phát tán lên mạng lưới sẽ được các node tiếp nhận, kiểm tra tính hợp lệ rồi lưu vào Mempool nếu đáp ứng điều kiện của node đó.

Mempool là gì? Vai trò trong blockchain

Mempool lưu trữ tạm thời các giao dịch chưa được xác nhận trước khi chúng được đưa vào block của blockchain.

Bạn có thể hình dung Mempool giống như khu vực chờ xử lý trước khi giao dịch được ghi nhận vào sổ cái blockchain. Khi người dùng gửi Bitcoin cho một địa chỉ khác, giao dịch cần được truyền đến mạng lưới, được kiểm tra và chờ thợ đào lựa chọn đưa vào block. Trong khoảng thời gian này, giao dịch có thể xuất hiện trong Mempool của một số node nhưng chưa được xác nhận trên blockchain.

Tuy nhiên, cần phân biệt Mempool với một hệ thống lưu trữ tập trung. Mạng blockchain không có một Mempool toàn cầu duy nhất mà mọi node đều nhìn thấy chính xác cùng một tập hợp giao dịch. Mỗi node duy trì vùng giao dịch riêng dựa trên dữ liệu nhận được và chính sách tiếp nhận của mình. Vì thế, số lượng giao dịch đang chờ trên các công cụ theo dõi có thể khác nhau.

Ngoài ra, vùng lưu trữ giao dịch chờ không đồng nghĩa với danh sách tất cả giao dịch đã được phát đi. Một giao dịch có thể chưa đến được node đang được theo dõi, bị từ chối do không đáp ứng điều kiện hợp lệ hoặc bị loại khỏi vùng lưu trữ vì giới hạn tài nguyên. Điều này giải thích vì sao bạn không nên kết luận rằng một giao dịch chắc chắn đã được toàn bộ mạng lưới tiếp nhận chỉ vì ví hiển thị trạng thái đang chờ.

Vì sao mỗi node có một mempool riêng?

Mạng blockchain không có một mempool toàn cầu duy nhất. Mỗi node tự duy trì mempool của mình, và nội dung mempool giữa các node thường khác nhau vì ba lý do:

  • Thời điểm nhận dữ liệu khác nhau: giao dịch lan truyền qua mạng ngang hàng mất thời gian. Tại cùng một thời điểm, có node đã nhận giao dịch, có node chưa.
  • Quy tắc xác thực: giao dịch không hợp lệ, chẳng hạn chi tiêu số tiền không tồn tại hoặc chữ ký sai, bị từ chối ngay tại node nhận nó.
  • Chính sách vận hành: người vận hành node có thể cấu hình giới hạn bộ nhớ, mức phí tối thiểu để tiếp nhận và thời gian lưu giữ giao dịch khác nhau.

Hệ quả thực tế là số giao dịch đang chờ trên hai công cụ theo dõi thường không trùng khớp, và trạng thái “đang chờ” trong ví không chứng minh rằng toàn bộ mạng lưới đã nhận được giao dịch. Đây là nguyên tắc nền tảng cho các bước kiểm tra giao dịch ở phần sau của bài.

Mempool lưu trữ những giao dịch nào?

Mempool chứa các giao dịch hợp lệ nhưng chưa được xác nhận. Cách phân loại cụ thể phụ thuộc vào kiến trúc từng blockchain và phần mềm node đang sử dụng.

Trên Bitcoin, mempool chứa các giao dịch chuyển BTC giữa các địa chỉ, giao dịch thanh toán và giao dịch của những ứng dụng xây dựng trên Bitcoin. Bitcoin sử dụng mô hình UTXO. UTXO là đầu ra giao dịch chưa được chi tiêu, có thể được dùng làm đầu vào cho giao dịch Bitcoin mới. Số dư BTC trong ví thực chất là tổng các UTXO mà ví kiểm soát.

Trên Ethereum, khái niệm tương ứng thường được gọi là transaction pool. Ethereum dùng mô hình tài khoản thay cho UTXO. Với phần mềm Geth, pool chia thành hai nhóm:

  • Pending: giao dịch đã sẵn sàng để đưa vào block.
  • Queued: giao dịch chưa thể thực thi vì đang chờ điều kiện, phổ biến nhất là chờ giao dịch trước đó của cùng tài khoản được xử lý.

Giao dịch nằm trong mempool chưa phải giao dịch hoàn tất. Nó có thể tiếp tục chờ, bị thay thế bằng giao dịch phí cao hơn hoặc bị node loại khỏi pool theo chính sách vận hành.

Vai trò của mempool đối với mạng blockchain

Mempool đảm nhận ba vai trò chính:

  1. Điều phối giao dịch: mempool gom các giao dịch đang chờ để thợ đào hoặc trình xác thực lựa chọn vào block. Đây là cách người dùng đưa giao dịch đến bên tạo block mà không cần một đơn vị trung gian.
  2. Hình thành thị trường phí: khi nhu cầu vượt dung lượng block, người dùng cạnh tranh bằng phí. Trên Bitcoin, giao dịch hoặc nhóm giao dịch có phí suất cao hơn thường có lợi thế khi được thợ đào lựa chọn.
  3. Cung cấp dữ liệu công khai: dữ liệu mempool cho biết lượng giao dịch chờ đang nhiều hay ít, giúp người dùng chọn thời điểm và mức phí. Nhiều ví cũng dựa vào dữ liệu này để đề xuất phí tự động.

Ngoài ra, khi một block mới xuất hiện, node thường đã có sẵn phần lớn giao dịch trong block đó từ mempool, nên việc xác thực và lan truyền block diễn ra nhanh hơn.

Mempool khác block và blockchain ra sao?

Thành phầnChức năng chínhTrạng thái giao dịch
MempoolLưu tạm giao dịch chưa xác nhận tại một nodeĐang chờ xử lý, có thể thay đổi
BlockGom một nhóm giao dịch thành một khối dữ liệuĐã vào block, mức độ chắc chắn tăng theo thời gian
BlockchainChuỗi các block liên kết theo quy tắc đồng thuậnLịch sử giao dịch đã được mạng lưới ghi nhận

Khi node chấp nhận một block mới, các giao dịch trong block đó được loại khỏi mempool của node. Chiều ngược lại không đúng: giao dịch biến mất khỏi mempool không có nghĩa là đã được xác nhận. Giao dịch có thể bị loại vì hết thời hạn lưu giữ, vì mempool của node đã đầy hoặc vì bị thay thế bằng giao dịch khác. Cách kiểm tra đáng tin cậy là tra mã giao dịch trên trình khám phá blockchain và xem giao dịch đã nằm trong block nào.

Mempool trên Bitcoin và Ethereum khác nhau thế nào?

Tiêu chíBitcoinEthereum
Tên gọi thường dùngMempoolTransaction pool (txpool)
Mô hình dữ liệuUTXOTài khoản
Bên chọn giao dịchThợ đào (Proof of Work)Trình xác thực và bên xây dựng block (Proof of Stake)
Thời gian tạo blockTrung bình khoảng 10 phútMỗi slot 12 giây
Đơn vị đo phísat/vBgwei trên mỗi đơn vị gas
Ràng buộc thứ tự giao dịchGiao dịch chi tiêu một UTXO chỉ vào block cùng lúc hoặc sau giao dịch tạo ra UTXO đóGiao dịch của mỗi tài khoản phải được xử lý theo đúng thứ tự nonce
Cách tăng phí giao dịch chờRBF, CPFPGửi giao dịch thay thế cùng nonce

Vì những khác biệt này, hướng dẫn xử lý giao dịch Bitcoin không áp dụng nguyên vẹn cho Ethereum và ngược lại.

Mempool hoạt động như thế nào?

Mempool là một phần trong quy trình xử lý giao dịch, bắt đầu từ lúc người dùng tạo lệnh chuyển tài sản và kết thúc ở giai đoạn giao dịch được đưa vào block hoặc không còn được duy trì trong vùng giao dịch chờ. Các bước cụ thể có thể khác nhau giữa các blockchain, nhưng quy trình cơ bản có thể được hiểu qua bốn giai đoạn sau.

Mempool hoạt động như thế nào?

Mempool tiếp nhận các giao dịch hợp lệ để chờ thợ đào hoặc trình xác thực lựa chọn đưa vào block.

Bước 1: Giao dịch được tạo và phát tán

Khi bạn bấm “Gửi”, ví tạo một giao dịch gồm địa chỉ nhận, số lượng tài sản, mức phí và các dữ liệu cần thiết khác. Ví dùng khóa riêng để ký giao dịch. Chữ ký số chứng minh bạn có quyền chi tiêu tài sản mà không cần tiết lộ khóa riêng.

Giao dịch đã ký được gửi đến node mà ví đang kết nối. Node này chuyển tiếp giao dịch cho các node ngang hàng, và quá trình lan truyền tiếp diễn trên mạng lưới. Trong điều kiện bình thường, quá trình này thường chỉ mất vài giây.

Thông báo “đã gửi” trong ví thường chỉ cho biết giao dịch đã được phát đến node mà ví kết nối. Muốn biết mạng lưới đã tiếp nhận hay chưa, bạn cần tra mã giao dịch trên trình khám phá blockchain.

Bước 2: Node kiểm tra và tiếp nhận giao dịch

Mỗi node nhận được giao dịch đều tự kiểm tra trước khi đưa vào mempool:

  • Trên Bitcoin: node kiểm tra các UTXO đầu vào có tồn tại và chưa bị chi tiêu, chữ ký có hợp lệ, phí có đạt mức tối thiểu mà node yêu cầu và giao dịch có xung đột với giao dịch khác đang chờ hay không.
  • Trên Ethereum: node kiểm tra số dư tài khoản có đủ cho giá trị chuyển cộng phí tối đa mà giao dịch có thể phải trả, nonce có hợp lệ và phí có đạt yêu cầu. Nonce là số thứ tự giao dịch của một tài khoản Ethereum, bắt đầu từ 0 và tăng dần. Giao dịch có nonce 6 phải chờ giao dịch có nonce 5 được xử lý trước.

Giao dịch đạt yêu cầu được đưa vào mempool cục bộ rồi tiếp tục lan sang các node khác. Vì tốc độ truyền dữ liệu và chính sách tiếp nhận không giống nhau, các node không cập nhật mempool cùng một thời điểm.

Giao dịch không đạt yêu cầu bị từ chối và thường không lan rộng trên mạng. Ví thường báo lỗi ngay khi gửi trong trường hợp này. Giao dịch bị mọi node từ chối sẽ không được ghi lên blockchain nên không bị trừ phí.

Bước 3: Giao dịch được lựa chọn vào block

Thợ đào hoặc trình xác thực không chọn giao dịch theo thứ tự thời gian gửi. Mỗi block có giới hạn dung lượng, nên bên tạo block có động lực chọn những giao dịch mang lại nhiều phí nhất trên mỗi đơn vị tài nguyên.

Trên Bitcoin, phí suất được tính bằng satoshi trên mỗi virtual byte (sat/vB). Một block chứa tối đa 4 triệu weight unit, tương đương khoảng 1 triệu vB, và trung bình khoảng 10 phút có một block mới. Phần mềm khai thác thường xét phí suất của cả nhóm giao dịch phụ thuộc nhau, không chỉ từng giao dịch riêng lẻ. Đây là cơ sở của cơ chế CPFP trình bày ở phần sau.

Trên Ethereum, mỗi slot kéo dài 12 giây và có tối đa một block. Bên xây dựng block thường ưu tiên giao dịch trả phí ưu tiên (priority fee) cao hơn, đồng thời phải tuân thủ thứ tự nonce của từng tài khoản. Trên thực tế, thứ tự cuối cùng còn chịu ảnh hưởng của các bên chuyên xây dựng block (block builder), nên không chỉ phụ thuộc vào mức phí.

Nếu lượng giao dịch mới liên tục vượt quá khả năng xử lý của các block, những giao dịch có phí suất thấp sẽ phải chờ lâu hơn.

Bước 4: Giao dịch được xác nhận trên blockchain

Khi giao dịch nằm trong một block hợp lệ, trình khám phá chuyển trạng thái từ “chưa xác nhận” sang “đã xác nhận” và hiển thị độ cao block (block height), tức số thứ tự của block chứa giao dịch trong chuỗi.

Mức độ chắc chắn của giao dịch tăng dần theo thời gian:

  • Trên Bitcoin: số xác nhận tính cả block chứa giao dịch. Khi mới được đưa vào block, giao dịch có 1 xác nhận; mỗi block nối tiếp tăng thêm 1. Nhiều sàn yêu cầu từ 1 đến 6 xác nhận trước khi ghi có tiền nạp, tùy chính sách từng sàn và giá trị giao dịch.
  • Trên Ethereum: block cần đạt trạng thái finalized để được coi là không thể đảo ngược. Trong điều kiện mạng hoạt động bình thường, quá trình đạt finality thường mất khoảng 15 phút; đây không phải thời gian bảo đảm cho mọi giao dịch.

Giao dịch chưa vào block sẽ tiếp tục nằm trong mempool của các node đã nhận nó, cho đến khi được chọn, bị thay thế hoặc bị loại theo chính sách node.

Những yếu tố ảnh hưởng đến mempool

Quy mô và trạng thái Mempool thay đổi liên tục theo nhu cầu giao dịch, khả năng xử lý của mạng và chính sách của từng node. Hiểu những yếu tố này giúp bạn lý giải vì sao cùng một blockchain có thời điểm xác nhận nhanh, nhưng cũng có lúc giao dịch phải chờ lâu hơn dự kiến.

Lượng giao dịch và dung lượng block

Khi nhu cầu sử dụng mạng tăng đột biến, chẳng hạn trong giai đoạn thị trường biến động mạnh hoặc khi một dự án phổ biến phát hành token, lượng giao dịch mới có thể vượt quá dung lượng các block kế tiếp. Mempool phình to và người dùng phải cạnh tranh bằng phí.

Lượng giao dịch và dung lượng block

Lượng giao dịch, mức phí và giới hạn lưu trữ của node ảnh hưởng đến trạng thái Mempool trên blockchain.

Trên Bitcoin, dung lượng block tính theo trọng lượng (weight), không tính theo số giao dịch. Kích thước mỗi giao dịch phụ thuộc vào số đầu vào, số đầu ra và loại địa chỉ. Một giao dịch gom nhiều UTXO nhỏ chiếm nhiều chỗ hơn hẳn một giao dịch chuyển tiền đơn giản. Vì vậy, số lượng giao dịch chờ chưa đủ để đánh giá mức độ tắc nghẽn; bạn cần xem thêm tổng kích thước ảo của các giao dịch chờ, tính bằng vMB.

Khi nhu cầu giảm, các block mới dần xử lý lượng giao dịch tồn đọng và mempool thu hẹp. Ngược lại, nếu giao dịch mới tiếp tục đến nhanh hơn khả năng xử lý của mạng, tình trạng chờ có thể kéo dài nhiều giờ hoặc nhiều ngày.

Phí giao dịch và mức độ ưu tiên

Phí là yếu tố bạn kiểm soát trực tiếp, nhưng cách tính phí trên Bitcoin và Ethereum khác nhau hoàn toàn.

Trên Bitcoin, điều quan trọng là phí suất (sat/vB), không phải tổng phí.

Ví dụ minh họa: Giao dịch A có kích thước 200 vB, trả phí 2.000 sat, tương đương 10 sat/vB. Giao dịch B có kích thước 400 vB, trả phí 3.000 sat, tương đương 7,5 sat/vB. B trả tổng phí cao hơn, nhưng nếu các điều kiện khác tương đương, A thường có lợi thế hơn nhờ phí suất cao hơn.

Lý do là thợ đào cần tối đa hóa tổng phí trong giới hạn dung lượng block. Cùng 400 vB dung lượng, hai giao dịch như A mang lại 4.000 sat, nhiều hơn một giao dịch B.

Các mức phí đề xuất trên công cụ theo dõi được tính từ trạng thái mempool hiện tại và chỉ là ước tính. Mempool.space cũng lưu ý rằng mức phí đề xuất không bảo đảm thời gian xác nhận.

Trên Ethereum, tổng phí được tính theo công thức:

Phí = Lượng gas sử dụng × (Phí cơ bản + Phí ưu tiên)

Gas là đơn vị đo khối lượng tính toán mà một giao dịch cần. Một lệnh chuyển ETH đơn giản dùng 21.000 gas, trong khi giao dịch hoán đổi token trên sàn phi tập trung có thể dùng hàng trăm nghìn gas. Gwei là đơn vị nhỏ của ETH, với 1 ETH bằng 1 tỷ gwei.

Ví dụ minh họa: Nếu phí cơ bản là 10 gwei và phí ưu tiên là 1 gwei, một lệnh chuyển ETH đơn giản tốn 21.000 × 11 = 231.000 gwei, tức 0,000231 ETH.

Theo cơ chế EIP-1559, phí cơ bản do giao thức tự điều chỉnh theo mức độ đầy của các block gần nhất và bị đốt; phí ưu tiên được trả cho trình xác thực. Khi gửi giao dịch, ví thường cho phép đặt phí tối đa (max fee). Nếu phí thực tế thấp hơn phí tối đa, phần chênh lệch không bị trừ.

Hai hệ thống đo phí khác nhau nên không thể so sánh trực tiếp sat/vB với gwei. Khi đặt phí, hãy dựa vào dữ liệu mạng tại thời điểm gửi và mức độ khẩn cấp. Đặt phí cao khi lượng giao dịch chờ thấp chỉ khiến bạn trả thừa chi phí.

Giới hạn mempool và chính sách của node

Mempool không thể lưu giữ vô hạn mọi giao dịch. Mỗi node giới hạn mempool để kiểm soát bộ nhớ và hạn chế bị tấn công bằng lượng lớn giao dịch rác.

Với Bitcoin Core, phần mềm node phổ biến nhất của mạng Bitcoin, cấu hình mặc định gồm:

  • Bộ nhớ tối đa 300 MB (tham số maxmempool). Khi mempool đầy, node loại các giao dịch có phí suất thấp nhất và tạm thời nâng mức phí tối thiểu để tiếp nhận giao dịch mới.
  • Thời gian lưu giữ tối đa 336 giờ, tức 2 tuần (tham số mempoolexpiry). Giao dịch chưa được xác nhận sau khoảng thời gian này bị loại khỏi mempool của node.

Cần phân biệt hai đơn vị: giới hạn MB nói về bộ nhớ mà node dành cho mempool, còn vMB thể hiện tổng kích thước ảo của các giao dịch đang chờ. Mỗi giao dịch chiếm trong bộ nhớ nhiều hơn kích thước ảo của nó, nên hai chỉ số không tương đương trực tiếp.

Các giá trị trên là mặc định của phần mềm, không phải quy tắc bắt buộc của toàn mạng. Người vận hành node có thể thay đổi chúng, nên cùng một giao dịch có thể bị node này loại nhưng vẫn được node khác giữ lại.

Trên Ethereum, Geth cũng giới hạn tổng số giao dịch trong pool và số giao dịch queued tối đa cho mỗi tài khoản. Khi pool đầy, node ưu tiên giữ các giao dịch trả phí cao hơn.

Cách theo dõi và đọc dữ liệu mempool

Công cụ theo dõi Mempool giúp người dùng quan sát giao dịch đang chờ, phí giao dịch và tình trạng sử dụng tài nguyên mạng. Tuy nhiên, dữ liệu chỉ thực sự có ý nghĩa khi bạn hiểu từng chỉ số và biết cách đặt chúng trong bối cảnh của blockchain đang sử dụng.

Cách theo dõi và đọc dữ liệu mempool

Nhà đầu tư có thể sử dụng công cụ theo dõi Mempool để kiểm tra giao dịch chưa xác nhận và đánh giá mức phí trên mạng blockchain.

Công cụ theo dõi mempool phổ biến

Mempool.space (Bitcoin): trang chủ hiển thị các block dự kiến sắp được tạo, các block vừa được xác nhận, mức phí đề xuất theo từng mức ưu tiên và biểu đồ lịch sử mempool. Bạn có thể nhập mã giao dịch hoặc địa chỉ ví vào ô tìm kiếm để xem chi tiết. Nền tảng cũng cung cấp API cho nhà phát triển.

Etherscan (Ethereum): trình khám phá phổ biến của mạng Ethereum, cho phép tra cứu trạng thái giao dịch, block, phí gas và hợp đồng thông minh. Trang Gas Tracker hiển thị mức phí hiện tại theo các mức ưu tiên.

Geth txpool (cho người tự vận hành node Ethereum): nhóm lệnh RPC txpool cho phép xem danh sách giao dịch pending và queued trong node của bạn. RPC là giao diện cho phép phần mềm khác gửi lệnh truy vấn đến node. Dữ liệu này chỉ phản ánh pool của node bạn đang chạy.

Khi chọn công cụ, bạn cần xác định đúng mạng lưới đã dùng để gửi giao dịch. Cùng là USDT, nhưng giao dịch trên Tron, BNB Chain hay Arbitrum không xuất hiện trên Etherscan hay mempool.space. Mỗi mạng có trình khám phá riêng, như Tronscan cho Tron hoặc BscScan cho BNB Chain.

Các chỉ số quan trọng cần biết

Chỉ sốÝ nghĩaLưu ý khi đọc
Số giao dịch chưa xác nhậnSố giao dịch công cụ đang thấy trong mempoolĐọc cùng tổng kích thước chờ, vì các giao dịch có kích thước khác nhau
Kích thước mempool (vMB)Tổng kích thước ảo của các giao dịch đang chờKhoảng 1 vMB tương đương dung lượng một block Bitcoin
Mức phí đề xuấtPhí suất ước tính để được xác nhận trong một khoảng thời gianCó thể thay đổi nhanh khi điều kiện mạng biến động
Block dự kiếnNhóm giao dịch theo phí suất, ước tính block nào sẽ chứa chúngLà dự báo dựa trên dữ liệu hiện có, không phải cam kết
Số xác nhậnTrên Bitcoin, tính cả block chứa giao dịch: mới vào block là 1 xác nhận, mỗi block nối tiếp tăng thêm 1Thông tin trực tiếp nhất về trạng thái một giao dịch cụ thể

Cách dùng các chỉ số tùy mục tiêu:

  • Kiểm tra một giao dịch: bắt đầu từ mã giao dịch, trạng thái và số xác nhận.
  • Chọn phí cho giao dịch mới: xem mức phí đề xuất và kích thước mempool.
  • Nghiên cứu hoạt động mạng: xem biểu đồ mempool và phí qua nhiều ngày hoặc nhiều tuần.

Các chỉ số có thể khác nhau giữa các công cụ do nguồn dữ liệu, node được theo dõi và phương pháp tính toán.

Cách đọc dữ liệu mempool trong thực tế

Ví dụ minh họa: Bạn gửi BTC với phí suất 3 sat/vB và sau 2 giờ giao dịch vẫn chưa được xác nhận.

Bạn có thể đọc dữ liệu theo trình tự dữ kiện quan sát → giải thích → điều kiện áp dụng → thao tác phù hợp:

  1. Dữ kiện quan sát: tra mã giao dịch trên mempool.space, thấy trạng thái “Unconfirmed”, phí suất 3 sat/vB. Mức phí đề xuất thấp nhất hiện tại là 8 sat/vB.
  2. Giải thích: chênh lệch này cho thấy giao dịch đang bất lợi về phí suất so với nhóm giao dịch có khả năng được chọn sớm, nhưng chưa đủ để dự đoán chính xác thời gian xác nhận.
  3. Điều kiện áp dụng: xem biểu đồ mempool. Nếu tổng kích thước chờ đang giảm dần, khả năng giao dịch được xử lý sẽ tăng lên theo thời gian. Nếu mempool tiếp tục tăng, giao dịch có thể phải chờ lâu hơn.
  4. Thao tác phù hợp: nếu không gấp, bạn có thể tiếp tục theo dõi. Nếu cần xử lý sớm, hãy kiểm tra tùy chọn tăng phí mà ví hỗ trợ, được trình bày ở phần tiếp theo.

Khi mục tiêu là phân tích hoạt động mạng thay vì kiểm tra một giao dịch, hãy ghi nhận dữ liệu ở nhiều thời điểm. Một đợt tăng giao dịch chờ có thể đến từ nhu cầu chuyển tài sản, hoạt động của một ứng dụng cụ thể hoặc sự kiện thị trường; cần xác định nguyên nhân trước khi đưa ra nhận định.

Giao dịch bị kẹt trong mempool: nguyên nhân và cách xử lý

Giao dịch chờ lâu là tình huống khiến nhiều người dùng lo lắng, đặc biệt khi cần chuyển tài sản trong thời gian ngắn. Tuy nhiên, trạng thái pending không đồng nghĩa với việc tiền đã mất. Trước khi thực hiện bất kỳ thao tác nào, bạn nên xác định giao dịch đang ở trạng thái nào, nguyên nhân có thể là gì và ví hỗ trợ phương án xử lý nào.

Giao dịch bị kẹt trong mempool: nguyên nhân và cách xử lý

Giao dịch có thể phải chờ lâu trong Mempool khi mức phí chưa đủ cạnh tranh hoặc mạng blockchain đang có nhu cầu xử lý cao.

Vì sao giao dịch bị pending quá lâu?

Có bốn nguyên nhân phổ biến:

  • Phí suất thấp hơn mặt bằng chung: thường gặp khi ví dùng mức phí mặc định, hoặc bạn đặt phí lúc lượng giao dịch chờ thấp rồi sau đó nhu cầu tăng lên.
  • Mạng đang tắc nghẽn: giao dịch hợp lệ vẫn phải chờ vì các block kế tiếp được lấp đầy bởi giao dịch có phí suất cao hơn. Đây là vấn đề về khả năng xử lý của mạng, không phải lỗi của ví.
  • Vấn đề nonce trên Ethereum: nếu một giao dịch trước đó của tài khoản chưa được xử lý, hoặc chuỗi nonce bị thiếu một số, các giao dịch sau sẽ nằm ở nhóm queued và không thể vào block dù phí cao.
  • Phụ thuộc giao dịch chưa xác nhận trên Bitcoin: nếu giao dịch của bạn chi tiêu UTXO từ một giao dịch khác chưa được xác nhận, nó chỉ có thể vào block cùng lúc hoặc sau giao dịch đó.

Kiểm tra trạng thái giao dịch trước khi xử lý

Đầu tiên, lấy mã giao dịch, thường gọi là transaction ID (TXID) hoặc transaction hash, từ ví hoặc lịch sử rút tiền trên sàn. Sau đó, tra mã này trên trình khám phá đúng với mạng đã sử dụng: mempool.space cho Bitcoin, Etherscan cho Ethereum hoặc trình khám phá tương ứng với mạng khác.

Bảng dưới đây giúp bạn xác định bước tiếp theo theo từng trạng thái:

Trạng tháiCần kiểm traBước tiếp theo
Không tìm thấy giao dịchMạng lưới đã chọn, TXID, thông báo lỗi trong víKhông tìm thấy trên một công cụ chưa đủ để kết luận giao dịch chưa vào blockchain. Kiểm tra lại mạng, TXID và đối chiếu trên một trình khám phá khác trước khi xử lý
Chưa xác nhận, vẫn trong mempoolPhí suất so với mức đề xuất hiện tại, xu hướng mempoolTiếp tục chờ hoặc tăng phí nếu ví hỗ trợ
Đã vào blockSố xác nhận hiện tại, yêu cầu của bên nhậnChờ đủ số xác nhận, không cần thao tác thêm
Ethereum: đã vào block nhưng thực thi thất bại (“Fail” hoặc “Reverted”)Lý do lỗi, chẳng hạn hết gas hoặc hợp đồng từ chốiPhí gas đã bị trừ nhưng tài sản không được chuyển. Khắc phục nguyên nhân trước khi gửi lại

Hai trường hợp dễ nhầm nhất là giao dịch bị node từ chối và giao dịch Ethereum thực thi thất bại. Giao dịch bị từ chối trước khi vào block không được ghi lên blockchain nên không tốn phí. Giao dịch thực thi thất bại đã được ghi lên blockchain và đã tốn phí gas.

Nếu bạn rút tiền từ sàn giao dịch hoặc dịch vụ lưu ký, sàn là bên tạo và kiểm soát giao dịch. Khi đó, hãy liên hệ bộ phận hỗ trợ của nền tảng thay vì tự thao tác trên blockchain.

Khi nào nên chờ và khi nào nên tăng phí?

Quyết định chờ hay tăng phí phụ thuộc vào mức độ khẩn cấp và dữ liệu mempool tại thời điểm kiểm tra.

Nên chờ khi:

  • Giao dịch không cần xác nhận gấp.
  • Phí suất của bạn chỉ thấp hơn mức đề xuất một chút.
  • Biểu đồ mempool cho thấy tổng kích thước chờ đang giảm dần.

Nên cân nhắc tăng phí khi:

  • Bạn cần xác nhận sớm và phí suất hiện tại thấp hơn đáng kể so với nhóm giao dịch đang được lựa chọn.
  • Mempool tiếp tục tăng và giao dịch của bạn ngày càng xa các block dự kiến.
  • Ví đang dùng hỗ trợ cơ chế tăng phí phù hợp với loại giao dịch.

Không nên gửi thêm một giao dịch mới đến cùng địa chỉ chỉ vì giao dịch cũ chưa xác nhận. Trên Bitcoin, nếu hai giao dịch dùng UTXO khác nhau, cả hai đều có thể được xác nhận và bạn sẽ chuyển tiền hai lần. Hãy dùng đúng cơ chế thay thế hoặc tăng phí dưới đây.

RBF và CPFP giúp xử lý giao dịch ra sao?

Trên Bitcoin, RBF và CPFP là hai cơ chế chính để cải thiện khả năng xác nhận của giao dịch đang chờ.

RBF (Replace by Fee) do người gửi thực hiện. Ví tạo một giao dịch mới dùng cùng đầu vào nhưng trả phí cao hơn để thay thế giao dịch cũ. Theo chính sách của Bitcoin Core, giao dịch thay thế phải trả tổng phí cao hơn giao dịch gốc và đáp ứng thêm một số điều kiện khác. Các phiên bản Bitcoin Core gần đây mặc định chấp nhận thay thế kể cả khi giao dịch gốc không đánh dấu RBF, nhưng chính sách có thể khác giữa các node. Bạn cần ví có tính năng tăng phí (thường gọi là “Bump fee”). Một số ví như Sparrow, Electrum hay BlueWallet có hỗ trợ, nhưng cách thao tác và điều kiện áp dụng phụ thuộc vào phiên bản và loại ví; hãy kiểm tra tài liệu của ví trước khi thực hiện.

CPFP (Child Pays for Parent) có thể do người nhận hoặc người gửi thực hiện, miễn là kiểm soát được một đầu ra của giao dịch đang chờ. Bạn tạo một giao dịch con chi tiêu đầu ra đó với phí cao. Vì giao dịch con chỉ được xác nhận khi giao dịch cha đã vào block, thợ đào muốn nhận phí của giao dịch con thường phải chọn cả hai.

Ví dụ minh họa: Giao dịch cha có kích thước 200 vB, phí 400 sat (2 sat/vB). Bạn tạo giao dịch con 150 vB, phí 4.500 sat. Cả nhóm có tổng 350 vB và 4.900 sat, tương đương 14 sat/vB. Mức này có cạnh tranh hay không còn phụ thuộc tình trạng mempool và chính sách lựa chọn giao dịch của thợ đào.

Tiêu chíRBFCPFP
Ai thực hiệnNgười gửiNgười kiểm soát một đầu ra, thường là người nhận
Cách hoạt độngThay thế giao dịch cũ bằng giao dịch phí cao hơnThêm giao dịch con để nâng phí suất của cả nhóm
Chi phíChỉ trả phí cho một giao dịch thay thếThường tốn thêm vì phải trả phí cho cả phần kích thước của giao dịch con
Phù hợp khiBạn là người gửi và ví hỗ trợ tăng phíBạn là người nhận, hoặc người gửi không dùng được RBF

Trên Ethereum, cách xử lý là gửi giao dịch mới cùng nonce với phí cao hơn để thay thế giao dịch đang chờ. Geth có tham số tăng phí tối thiểu mặc định 10% cho pool giao dịch thông thường; giao dịch thay thế vẫn phải đáp ứng các điều kiện tiếp nhận khác, và yêu cầu có thể khác tùy loại giao dịch hoặc cấu hình node. Để hủy giao dịch đang chờ, bạn có thể gửi 0 ETH đến chính địa chỉ của mình với cùng nonce và phí cao hơn. Một số ví như MetaMask có sẵn tùy chọn “Tăng tốc” (Speed up) và “Hủy” (Cancel) thực hiện việc này.

RBF, CPFP và giao dịch thay thế cùng nonce đều không bảo đảm xác nhận ngay. Kết quả vẫn phụ thuộc vào mức phí, chính sách tiếp nhận của node và lựa chọn của bên tạo block.

Cảnh báo quan trọng: không sử dụng dịch vụ hứa hẹn “tăng tốc giao dịch” nếu dịch vụ đó yêu cầu khóa riêng hoặc cụm từ khôi phục ví. Đây là hình thức lừa đảo nhắm vào người dùng đang lo lắng vì giao dịch bị kẹt.

Mempool có ý nghĩa gì với nhà đầu tư crypto?

Ngoài việc hỗ trợ kiểm tra giao dịch, dữ liệu Mempool còn cung cấp một góc nhìn về nhu cầu sử dụng mạng blockchain. Nhà đầu tư có thể kết hợp những dữ liệu này với thông tin thị trường khác để đánh giá hoạt động của mạng, nhưng cần tránh diễn giải một chỉ số đơn lẻ thành tín hiệu mua bán.

Quan sát nhu cầu sử dụng mạng blockchain

Số giao dịch chờ và kích thước mempool phản ánh mức độ mạng đang được sử dụng so với khả năng xử lý. Khi mempool tăng liên tục trong nhiều ngày, nguyên nhân thường là nhu cầu chuyển tài sản tăng, hoạt động của một ứng dụng tăng hoặc một sự kiện cụ thể như đợt phát hành token.

Mempool có ý nghĩa gì với nhà đầu tư crypto?

Dữ liệu Mempool giúp nhà đầu tư quan sát nhu cầu giao dịch và đánh giá tình trạng tắc nghẽn của mạng blockchain.

Để đọc đúng xu hướng, hãy theo dõi đồng thời số giao dịch chưa xác nhận, kích thước mempool và phân bố mức phí. Cần lưu ý rằng số giao dịch không phản ánh giá trị kinh tế: hàng nghìn giao dịch nhỏ có thể làm mempool đầy lên, trong khi một giao dịch trị giá hàng trăm triệu USD chỉ chiếm vài trăm vB. Vì vậy, nên kết hợp dữ liệu mempool với khối lượng giao dịch on-chain, số địa chỉ hoạt động và dòng tiền ra vào sàn.

Đánh giá chi phí và mức độ tắc nghẽn

Theo dõi phân bố mức phí theo thời gian giúp nhà đầu tư:

  • Chọn thời điểm chuyển tài sản tiết kiệm hơn: chẳng hạn khi chuyển BTC lên sàn, rút về ví lạnh hoặc gom các UTXO nhỏ thành một UTXO lớn để giảm phí cho giao dịch sau này.
  • Tránh giao dịch khi mạng quá tải: trên Ethereum, phí gas tăng cao có thể khiến một giao dịch DeFi nhỏ tốn phí vượt quá giá trị giao dịch.
  • Dự tính chi phí cho giao dịch lớn: biết trước mặt bằng phí giúp bạn chọn mức phí phù hợp.

Phí cao không đồng nghĩa với việc blockchain đang phát triển bền vững. Một đợt tăng phí có thể đến từ cạnh tranh ngắn hạn cho dung lượng block, trong khi số người dùng mới hay giá trị kinh tế thực tế cần được đánh giá bằng chỉ số khác.

Giới hạn khi dùng mempool để phân tích thị trường

Dữ liệu mempool có ba giới hạn quan trọng:

Không cho biết mục đích giao dịch. Một lệnh chuyển BTC có thể là nạp lên sàn để bán, rút về ví lạnh hoặc chuyển nội bộ giữa các ví của cùng một người. Dữ liệu mempool không đủ để phân biệt các trường hợp này.

Không phản ánh toàn bộ mạng. Mỗi công cụ chỉ hiển thị mempool của các node mà nó theo dõi. Trên Ethereum, một phần giao dịch được gửi qua kênh riêng đến bên xây dựng block nên không xuất hiện trong mempool công khai.

Không dự báo được giá. Giá tài sản chịu tác động của cung cầu, thanh khoản, chính sách tiền tệ, tâm lý thị trường và hoạt động của các tổ chức. Không nên dùng biến động của mempool làm căn cứ duy nhất để dự báo giá; hãy xem đây là một tín hiệu về hoạt động mạng, cần đối chiếu với nhiều nguồn dữ liệu khác.

Mempool là nơi giao dịch chờ trước khi được ghi lên blockchain. Mỗi node duy trì mempool riêng, và khả năng giao dịch được chọn vào block phụ thuộc chủ yếu vào phí suất: sat/vB trên Bitcoin, phí ưu tiên trên Ethereum.

Khi giao dịch bị chậm, hãy tra mã giao dịch trên đúng trình khám phá, xác định trạng thái, sau đó quyết định chờ hoặc tăng phí bằng RBF, CPFP hay giao dịch thay thế cùng nonce. Với nhà đầu tư, dữ liệu mempool hữu ích để theo dõi mức độ sử dụng mạng và chọn thời điểm giao dịch tiết kiệm phí, nhưng cần được kết hợp với các nguồn khác trước khi đưa ra nhận định.

Câu hỏi thường gặp