Mempool là gì? Transaction đi đâu trước khi vào Block?

Mempool là gì? Trong thế giới blockchain, đây là một trong những khái niệm kỹ thuật quan trọng nhất nhưng thường bị bỏ qua. Mempool (Memory Pool – bể bộ nhớ) là “phòng chờ” của blockchain – nơi các giao dịch được tạm giữ sau khi được phát sóng lên mạng lưới nhưng chưa được đưa vào một block.
Mempool
Mempool

Nếu blockchain là một cuốn sổ cái công khai, thì mempool chính là “hộp thư đến” – nơi mọi giao dịch phải đi qua trước khi được xác nhận vĩnh viễn. Hiểu rõ mempool là chìa khóa để hiểu tại sao giao dịch của bạn có thể bị kẹt, tại sao phí gas lại biến động, và cách các miner/validator quyết định giao dịch nào được ưu tiên.

1. Mempool là gì? Định nghĩa chi tiết

Mempool (viết tắt của Memory Pool) là một khu vực lưu trữ tạm thời trong bộ nhớ của các node blockchain, nơi chứa các giao dịch đã được phát sóng lên mạng lưới nhưng chưa được đưa vào một block. Mỗi node trong mạng lưới duy trì mempool riêng của mình – không có một mempool trung tâm duy nhất. Điều này có nghĩa là hai node khác nhau có thể có hai tập hợp giao dịch chờ khác nhau, tùy thuộc vào thời điểm chúng nhận được giao dịch và cách chúng cấu hình.

Về bản chất, mempool là một hàng đợi động. Khi một giao dịch được tạo và ký bởi người dùng, nó được phát sóng đến các node lân cận. Các node này xác thực sơ bộ giao dịch (kiểm tra chữ ký, số dư, định dạng) và nếu hợp lệ, đưa nó vào mempool. Từ đây, giao dịch chờ được miner (trong Proof of Work) hoặc validator (trong Proof of Stake) chọn để đưa vào block tiếp theo.

Điểm quan trọng cần nhớ: mempool không phải là một phần của blockchain. Nó là một cấu trúc dữ liệu tạm thời, tồn tại trong bộ nhớ RAM của node. Khi một giao dịch được đưa vào block, nó sẽ bị xóa khỏi mempool của tất cả các node. Nếu một giao dịch không bao giờ được đưa vào block (do phí quá thấp hoặc bị thay thế), nó có thể bị xóa khỏi mempool sau một thời gian (thường là 2 tuần trên Bitcoin).

Bạn có thể tìm hiểu thêm về cách giao dịch được xử lý trong bài Transaction là gì?.


2. Lịch sử và vai trò của Mempool trong Blockchain

Khái niệm mempool không được mô tả chi tiết trong Bitcoin whitepaper gốc của Satoshi Nakamoto. Nó là một cơ chế kỹ thuật phát sinh tự nhiên từ cách mạng P2P vận hành. Khi Bitcoin ra đời năm 2009, các node cần một nơi để lưu trữ tạm thời các giao dịch trước khi chúng được đưa vào block. Mempool chính là giải pháp đó.

Vai trò của mempool đã thay đổi theo thời gian:

  • Giai đoạn đầu (2009-2015): Mempool thường trống rỗng hoặc gần như vậy. Phí giao dịch rất thấp, và hầu hết giao dịch được đưa vào block ngay lập tức.

  • Giai đoạn bùng nổ (2016-2021): Khi Bitcoin và Ethereum trở nên phổ biến, mempool thường xuyên bị tắc nghẽn. Phí giao dịch tăng vọt, và người dùng phải trả phí cao hơn để được ưu tiên.

  • Giai đoạn Layer-2 (2022-nay): Với sự phát triển của Layer-2 (Lightning Network, Rollup), một phần giao dịch được chuyển ra khỏi Layer-1, giảm áp lực lên mempool chính.

Ngày nay, mempool là một chỉ báo quan trọng về tình trạng mạng lưới. Khi mempool đầy, phí giao dịch tăng. Khi mempool trống, phí giao dịch thấp. Các nhà giao dịch và nhà phát triển theo dõi mempool để đưa ra quyết định về thời điểm gửi giao dịch.


3. Cách hoạt động của Mempool trên Blockchain

Mempool hoạt động theo một quy trình tự động và phi tập trung, dựa trên các nguyên tắc sau:

Cách hoạt động của Mempool
Cách hoạt động của Mempool

Bước 1: Tạo và ký giao dịch

Người dùng tạo một giao dịch bằng ví tiền điện tử (như MetaMask, Trust Wallet). Giao dịch bao gồm:

  • Địa chỉ người gửi và người nhận.

  • Số lượng token.

  • Phí giao dịch (gas fee).

  • Chữ ký số từ khóa riêng tư.

Ví sẽ ký giao dịch bằng khóa riêng tư và phát sóng nó lên mạng lưới P2P.

Bước 2: Phát sóng đến các node

Giao dịch được gửi đến một hoặc nhiều node mà ví kết nối. Các node này xác thực sơ bộ giao dịch:

  • Chữ ký số có hợp lệ không?

  • Người gửi có đủ số dư không?

  • Định dạng giao dịch có đúng không?

Nếu hợp lệ, node đưa giao dịch vào mempool của mình và truyền tiếp cho các node khác.

Bước 3: Lan truyền khắp mạng lưới

Giao dịch lan truyền từ node này sang node khác theo cơ chế gossip protocol. Mỗi node nhận giao dịch, xác thực, và chuyển tiếp cho các peer của mình. Sau vài giây, hầu hết các node trong mạng lưới đều có giao dịch trong mempool của họ.

Bước 4: Miner/Validator chọn giao dịch

Miner (trong PoW) hoặc validator (trong PoS) liên tục theo dõi mempool của họ. Khi đến lượt tạo block, họ chọn các giao dịch từ mempool để đưa vào block. Tiêu chí chọn lựa chính là phí giao dịch – giao dịch có phí cao hơn được ưu tiên trước. Ngoài ra, một số miner còn ưu tiên giao dịch dựa trên các yếu tố khác (thời gian chờ, kích thước, v.v.).

Bước 5: Đưa vào block và xóa khỏi mempool

Khi giao dịch được đưa vào block và block được xác nhận, giao dịch sẽ bị xóa khỏi mempool của tất cả các node. Giao dịch trở thành một phần vĩnh viễn của blockchain. Nếu giao dịch không được chọn (do phí thấp), nó tiếp tục nằm trong mempool cho đến khi được chọn hoặc bị xóa.

Ví dụ minh họa:

Giả sử Alice muốn gửi 0.5 ETH cho Bob:

  1. Alice tạo giao dịch với phí gas 20 gwei và ký bằng MetaMask.

  2. Giao dịch được phát sóng đến các node Ethereum.

  3. Các node xác thực và đưa giao dịch vào mempool.

  4. Một validator đang chuẩn bị tạo block thấy giao dịch có phí 20 gwei – cao hơn mức trung bình – và chọn nó.

  5. Giao dịch được đưa vào block, Bob nhận 0.5 ETH, và giao dịch bị xóa khỏi mempool.

Toàn bộ quá trình diễn ra trong vài giây đến vài phút, tùy thuộc vào mức độ tắc nghẽn của mạng lưới. Bạn có thể xem thêm về cách giao dịch được xử lý trong bài Transaction là gì?.


4. Các thành phần chính của Mempool

Mempool không phải là một cấu trúc đơn giản. Nó bao gồm nhiều thành phần kỹ thuật:

Các thành phần chính của Mempool
Các thành phần chính của Mempool

Hàng đợi giao dịch (Transaction Queue)

Là danh sách các giao dịch đang chờ được xử lý. Mỗi node duy trì hàng đợi riêng, sắp xếp theo mức phí hoặc thời gian nhận.

Phí giao dịch (Transaction Fee)

Là số tiền người dùng trả cho miner/validator để được ưu tiên. Trên Bitcoin, phí được tính theo byte (sat/byte). Trên Ethereum, phí được tính theo gas (gwei). Phí càng cao, giao dịch càng nhanh được xử lý.

Kích thước mempool (Mempool Size)

Là tổng dung lượng của tất cả giao dịch trong mempool. Kích thước mempool thay đổi liên tục, phản ánh mức độ tắc nghẽn của mạng lưới. Trên Bitcoin, mempool có thể dao động từ vài MB đến hàng trăm MB.

Thời gian chờ (Waiting Time)

Là thời gian giao dịch nằm trong mempool trước khi được đưa vào block. Thời gian chờ phụ thuộc vào phí giao dịch và mức độ tắc nghẽn.

Chính sách thay thế (Replace-by-Fee – RBF)

Là cơ chế cho phép người dùng thay thế một giao dịch đang chờ trong mempool bằng một giao dịch mới có phí cao hơn. Điều này hữu ích khi giao dịch bị kẹt do phí quá thấp.

Giới hạn mempool (Mempool Limit)

Mỗi node có một giới hạn kích thước mempool tối đa (mặc định 300 MB trên Bitcoin Core). Khi mempool đầy, các giao dịch có phí thấp nhất sẽ bị loại bỏ để nhường chỗ cho giao dịch mới.

Bạn có thể tìm hiểu thêm về cách dữ liệu được lưu trữ trong bài Blockchain Data là gì?.


5. Đặc điểm nổi bật của Mempool

Mempool có bốn đặc tính quan trọng:

  • Tạm thời (Temporary): Mempool không phải là một phần của blockchain. Nó tồn tại trong bộ nhớ RAM của node và có thể bị xóa bất cứ lúc nào.

  • Phân tán (Decentralized): Mỗi node có mempool riêng. Không có một mempool trung tâm duy nhất.

  • Động (Dynamic): Mempool thay đổi liên tục – giao dịch được thêm vào, xóa đi, hoặc thay thế mỗi giây.

  • Không đồng nhất (Non-uniform): Hai node khác nhau có thể có hai mempool khác nhau tại cùng một thời điểm.

Những đặc tính này khiến mempool trở thành một hệ thống phức tạp và khó dự đoán. Người dùng không thể biết chắc chắn giao dịch của mình sẽ được xử lý trong bao lâu, vì nó phụ thuộc vào mempool của node mà miner/validator kết nối.


6. Mempool hoạt động như thế nào với MEV?

Mặc dù mempool rất hữu ích, nó cũng tạo ra một bề mặt tấn công cho các bot MEV (Maximal Extractable Value). Khi giao dịch của bạn nằm trong mempool, nó công khai với tất cả các node – bao gồm cả bot. Bot có thể:

  • Front-running: Phát hiện giao dịch mua của bạn và đặt lệnh mua trước, đẩy giá lên.

  • Back-running: Đặt lệnh bán ngay sau giao dịch của bạn, hưởng chênh lệch.

  • Sandwich attack: Kết hợp cả hai, “kẹp” giao dịch của bạn giữa hai lệnh của bot.

Đây là lý do tại sao nhiều người dùng và giao thức chuyển sang sử dụng private mempool (như Flashbots Protect) – nơi giao dịch không được công khai cho đến khi được đưa vào block. Điều này giảm thiểu rủi ro MEV nhưng cũng làm giảm tính minh bạch của mempool.

Bạn có thể tìm hiểu thêm về MEV và cách phòng tránh trong bài Slippage là gì?.


7. Ứng dụng của Mempool trong thực tế

Mempool không chỉ là một cơ chế kỹ thuật – nó có nhiều ứng dụng thực tế:

Ứng dụng của Mempool
Ứng dụng của Mempool

Theo dõi giao dịch

Người dùng có thể kiểm tra mempool để xem giao dịch của mình đang chờ hay đã được xử lý. Các trình khám phá như Blockchain.com cung cấp giao diện xem mempool trực quan.

Ước tính phí giao dịch

Các dịch vụ như mempool.space cung cấp biểu đồ phí dựa trên dữ liệu mempool, giúp người dùng chọn mức phí phù hợp để giao dịch được xử lý nhanh.

Phát hiện tấn công

Các nhà phân tích có thể theo dõi mempool để phát hiện các hoạt động đáng ngờ như tấn công spam, front-running, hoặc rút tiền quy mô lớn.

Tối ưu hóa giao dịch

Các trader chuyên nghiệp sử dụng dữ liệu mempool để chọn thời điểm gửi giao dịch – khi mempool trống, phí thấp; khi mempool đầy, chờ đợi hoặc trả phí cao hơn.

Nghiên cứu học thuật

Mempool là một nguồn dữ liệu quý giá cho nghiên cứu về hành vi người dùng, động lực thị trường phí, và các cuộc tấn công MEV.

Bạn có thể tìm hiểu thêm về các ứng dụng blockchain trong bài Blockchain Application là gì?.


8. So sánh Mempool và Block

Tiêu chí Mempool Block
Định nghĩa Khu vực chờ giao dịch Đơn vị lưu trữ giao dịch vĩnh viễn
Tồn tại Tạm thời, trong RAM của node Vĩnh viễn, trên blockchain
Phân tán Mỗi node có mempool riêng Tất cả node có cùng block
Kích thước Thay đổi liên tục Cố định theo quy tắc
Vai trò Chờ xác thực Lưu trữ vĩnh viễn
Xóa Giao dịch bị xóa khi vào block Không bao giờ bị xóa

Mempool là “phòng chờ”, block là “kho lưu trữ”. Giao dịch đi từ mempool vào block, và một khi đã vào block, nó không bao giờ quay lại mempool.


9. Ưu điểm và nhược điểm của Mempool

Ưu điểm

  • Linh hoạt: Cho phép giao dịch chờ được xử lý mà không cần block ngay lập tức.

  • Ưu tiên theo phí: Tạo ra thị trường phí tự do, nơi người dùng trả nhiều hơn để được xử lý nhanh hơn.

  • Chống spam: Giới hạn kích thước mempool ngăn chặn các cuộc tấn công spam.

  • Minh bạch: Mempool công khai cho phép theo dõi và phân tích.

Nhược điểm

  • Không đồng nhất: Hai node có thể có mempool khác nhau, gây nhầm lẫn.

  • Rủi ro MEV: Giao dịch công khai trong mempool dễ bị front-running và sandwich.

  • Phí biến động: Phí giao dịch có thể tăng vọt khi mempool đầy.

  • Giao dịch bị kẹt: Giao dịch có phí thấp có thể bị kẹt trong mempool hàng giờ hoặc hàng ngày.

  • Không đảm bảo: Không có gì đảm bảo giao dịch trong mempool sẽ được đưa vào block.


10. Các blockchain hỗ trợ Mempool

  • Bitcoin: Mempool là một phần cốt lõi của giao thức. Mỗi node Bitcoin Core duy trì mempool với giới hạn 300 MB.

  • Ethereum: Mempool tồn tại nhưng ít được chú ý hơn do phí gas được tính theo gas, không theo byte. Ethereum có txpool – tương đương mempool.

  • Solana: Do tốc độ cao và thời gian block ngắn, mempool gần như không tồn tại – giao dịch được xử lý gần như tức thì.

  • BNB Smart Chain: Có mempool tương tự Ethereum.

  • Cardano: Có mempool với cơ chế ưu tiên phí tương tự Bitcoin.

Mỗi blockchain có cách tiếp cận riêng, nhưng nguyên tắc chung là giống nhau: giao dịch cần một nơi để chờ trước khi được xác nhận. Bạn có thể xem thêm về các blockchain nền tảng trong bài Layer-1 Blockchain là gì?.


11. Tương lai của Mempool

Mempool đang phát triển với nhiều xu hướng:

Xu hướng của Mempool
Xu hướng của Mempool
  • Private Mempool: Các giải pháp như Flashbots Protect cho phép gửi giao dịch mà không qua mempool công khai, giảm rủi ro MEV.

  • Layer-2: Khi giao dịch chuyển lên Layer-2, áp lực lên mempool Layer-1 giảm.

  • Phí động: Các thuật toán ước tính phí thông minh hơn dựa trên dữ liệu mempool thời gian thực.

  • Tích hợp AI: AI có thể dự đoán tắc nghẽn mempool và đề xuất mức phí tối ưu.

  • Tiêu chuẩn hóa: Các tiêu chuẩn chung giúp mempool tương tác dễ dàng hơn giữa các blockchain.

Mempool sẽ tiếp tục là một phần quan trọng của hạ tầng blockchain, ngay cả khi các giải pháp Layer-2 phát triển.


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

  • Mempool có phải là một phần của blockchain không?

Không. Mempool là một cấu trúc dữ liệu tạm thời trong bộ nhớ của node, không phải là một phần của blockchain. Nó tồn tại để lưu trữ giao dịch chờ trước khi chúng được đưa vào block.

  • Tại sao giao dịch của tôi bị kẹt trong mempool?

Giao dịch bị kẹt khi phí giao dịch quá thấp so với mức trung bình của mạng lưới. Miner/validator ưu tiên giao dịch có phí cao, nên giao dịch phí thấp có thể chờ lâu. Bạn có thể tăng phí bằng RBF (Replace-by-Fee) hoặc chờ đợi.

  • Làm thế nào để kiểm tra mempool?

Bạn có thể kiểm tra mempool trên các trình khám phá như Blockchain.com (Bitcoin) hoặc Etherscan (Ethereum). Các trang như mempool.space cung cấp biểu đồ phí và kích thước mempool trực quan.

  • Mempool có giống nhau trên mọi node không?

Không. Mỗi node duy trì mempool riêng. Hai node có thể có hai tập hợp giao dịch chờ khác nhau tại cùng một thời điểm.

  • Giao dịch trong mempool có thể bị hủy không?

Có. Giao dịch trong mempool có thể bị hủy bằng cách gửi một giao dịch mới với cùng nonce nhưng phí cao hơn (RBF trên Bitcoin, hoặc thay thế trên Ethereum). Giao dịch cũ sẽ bị xóa khỏi mempool.

  • Mempool có ảnh hưởng đến phí giao dịch không?

Có. Khi mempool đầy, phí giao dịch tăng do cạnh tranh. Khi mempool trống, phí giao dịch thấp. Đây là cơ chế thị trường tự điều chỉnh của blockchain.

  • Ai kiểm soát mempool?

Không ai kiểm soát mempool. Mỗi node tự quản lý mempool của mình theo quy tắc của giao thức. Không có một thực thể trung tâm nào có thể can thiệp vào mempool.


Kết luận

Mempool là gì? Đó là “phòng chờ” của blockchain – nơi các giao dịch được tạm giữ sau khi phát sóng nhưng chưa được đưa vào block. Mempool là một cấu trúc dữ liệu tạm thời, phân tán, và động, tồn tại trong bộ nhớ của mỗi node. Nó đóng vai trò quan trọng trong việc xác thực giao dịch, ưu tiên theo phí, và duy trì hoạt động của mạng lưới.

Hiểu rõ mempool giúp bạn nắm bắt được tại sao giao dịch có thể bị kẹt, tại sao phí gas biến động, và cách tối ưu hóa giao dịch của mình. Đây là kiến thức nền tảng cho bất kỳ ai muốn sử dụng blockchain một cách hiệu quả.


Nguồn tham khảo:

Blockchain.com – Mempool | Binance Academy – What is a Mempool 

Chia sẻ bài viết:
Từ khóa : , ,

Tác giả: Huy Huỳnh

- Huy Huỳnh là Developer đồng thời là biên tập viên tại Coin60s. Tham gia thị trường từ 2017, anh chuyên theo dõi thị trường crypto, blockchain và các xu hướng đầu tư tài sản số. Nội dung nghiên cứu anh tập trung vào tin tức thị trường, kiến thức crypto và đánh giá dự án.
- Từ năm 2024, anh bắt đầu nghiên cứu thêm về cơ sở hạ tầng Blockchain (blockchain hub, infrastructure...)...Xem thêm