
Mempool là một "phòng chờ" trên mỗi nút mạng blockchain, nơi các giao dịch đã được khởi tạo nhưng chưa xử lý sẽ được lưu trữ tạm thời. Đây là khái niệm ghép giữa "memory" (bộ nhớ) và "pool" (bể), dùng để chỉ khu vực kỹ thuật số xếp hàng các giao dịch trước khi chúng được ghi vào blockchain.
Khi người dùng tạo giao dịch tiền điện tử, họ có thể phải đợi hệ thống xử lý. Trong lúc giao dịch đã khởi tạo nhưng chưa hoàn thành, giao dịch đó sẽ nằm trong mempool. Trạng thái trung gian này là yếu tố cốt lõi trong cách mạng lưới blockchain vận hành giao dịch.
Bitcoin là dự án đầu tiên phổ biến hóa công nghệ blockchain. Satoshi Nakamoto—người sáng lập Bitcoin—đã đưa ra khái niệm xử lý giao dịch thông qua mempool. Sau đó, nhiều dự án blockchain khác như Ethereum cũng áp dụng mô hình này.
Tất cả blockchain đều có mempool, dù tên gọi có thể khác nhau. Ví dụ, blockchain Parity gọi mempool là "Transaction Queue" (hàng đợi giao dịch). Tuy nhiên, mục đích không thay đổi—lưu trữ tạm thời các giao dịch chưa được xử lý.
Mỗi giao dịch thêm vào mempool là một gói dữ liệu, thông thường không lớn hơn vài kilobyte (KB). Tổng kích thước của các giao dịch này sẽ quyết định kích thước mempool—đây là chỉ báo quan trọng về trạng thái và mức độ tải của mạng blockchain.
Khi mempool lớn, nghĩa là có nhiều giao dịch đang chờ xác nhận. Việc theo dõi biến động kích thước mempool giúp dự đoán tốc độ xử lý giao dịch và ước tính mức phí tối ưu để được ưu tiên xử lý.
Những biểu đồ theo dõi cho thấy kích thước mempool của Bitcoin thường tăng đột biến khi giá tiền điện tử biến động mạnh—dù tăng hay giảm—phản ánh hoạt động giao dịch tăng cao khi thị trường nhiều biến động.
Đáng chú ý! Các nút mạng có thể đặt giới hạn cho kích thước mempool. Nếu vượt ngưỡng, nút sẽ yêu cầu mức phí tối thiểu cho giao dịch. Điều này giúp bảo vệ mạng khỏi bị quá tải và ngăn chặn các cuộc tấn công spam.
Mempool đóng vai trò trọng yếu trong hoạt động của các nút blockchain. Để một giao dịch được ghi lên blockchain, trước tiên giao dịch đó phải được đưa vào một khối. Không phải mọi nút đều có thể tạo khối; quyền này phụ thuộc vào cơ chế đồng thuận của mạng.
Chẳng hạn, với blockchain Proof-of-Work như Bitcoin, chỉ thợ đào mới được thêm giao dịch vào các khối. Thợ đào sử dụng sức mạnh tính toán giải các bài toán mật mã để xây dựng khối mới. Trên hệ thống Proof-of-Stake như Ethereum, vai trò này thuộc về các validator nắm giữ token.
Sau khi giao dịch được tạo, người dùng phải chờ validator hoặc thợ đào phê duyệt để giao dịch được đưa vào khối và ghi lên blockchain. Quá trình này không diễn ra tức thời—giao dịch cần được xác minh và mạng lưới phải đạt đồng thuận. Trong toàn bộ thời gian chờ xác minh, được đưa vào khối và ghi lên blockchain, giao dịch sẽ nằm trong mempool.
Một blockchain có thể có nhiều mempool, bởi mỗi nút đều sở hữu một không gian kỹ thuật số riêng để lưu giữ các giao dịch đang chờ xác thực và đưa vào blockchain. Tập hợp các mempool này trên từng nút sẽ hình thành một mempool phi tập trung tổng thể, đảm bảo tính ổn định và khả năng phục hồi của mạng.
Khi người dùng gửi một giao dịch, giao dịch được chuyển đến một nút. Nút đó thêm giao dịch vào mempool của mình và xếp hàng chờ xác thực, thực hiện kiểm tra chữ ký số, xác nhận số dư, và đảm bảo tuân thủ giao thức.
Sau khi xác thực thành công, giao dịch chuyển sang trạng thái chờ. Chỉ những giao dịch đã xác thực này mới được thợ đào hoặc validator lựa chọn để đưa vào khối. Việc giao dịch nào được chọn sẽ phụ thuộc vào nhiều yếu tố, trong đó mức phí là then chốt.
Khi giao dịch được ghi vào blockchain, các nút sẽ nhận được thông báo. Khi đó, các nút sẽ xóa giao dịch khỏi "phòng chờ" cục bộ, giữ cho mempool đồng bộ trên toàn mạng lưới.
Để minh họa chức năng của mempool và vòng đời giao dịch, giả sử bạn muốn gửi 0,01 BTC cho bạn bè. Quá trình sẽ diễn ra như sau:
Khởi tạo giao dịch. Bạn lấy địa chỉ ví tiền điện tử của bạn bè, nhập vào mục người nhận, xác nhận mức phí giao dịch gợi ý (nếu có) rồi nhấn "gửi".
Thêm vào mempool. Giao dịch được gửi vào mempool và đánh dấu là đang chờ xử lý. Tại thời điểm này, giao dịch chưa thuộc về blockchain.
Phát sóng và xác minh. Mạng lưới phát sóng giao dịch tới các nút khác để họ xác minh việc tuân thủ giao thức.
Xác thực. Nếu các nút phê duyệt giao dịch, giao dịch sẽ chuyển từ hàng đợi chung sang nhóm chờ được đưa vào khối. Nếu có vấn đề, bạn sẽ nhận thông báo giao dịch chưa được xác nhận.
Đưa vào khối. Thợ đào hoặc validator thêm giao dịch vào một khối mới và ghi lên blockchain. Việc chọn giao dịch thường dựa trên mức phí.
Lan truyền thông tin. Thợ đào hoặc validator phát sóng khối cho các nút khác để cả mạng biết giao dịch nào đã được ghi nhận.
Dọn dẹp mempool. Ở bước này, các nút sẽ xóa giao dịch khỏi mempool của mình.
Hoàn tất. Quá trình hoàn tất—bạn bè nhận được 0,01 BTC và giao dịch được ghi vĩnh viễn trên blockchain.
Tắc nghẽn mempool xảy ra khi số lượng giao dịch chờ vượt quá số giao dịch có thể chứa trong một khối. Điều này sẽ làm chậm quá trình xử lý và làm phí giao dịch tăng mạnh. Các nguyên nhân chính của tắc nghẽn mempool bao gồm:
Tắc nghẽn mạng. Khi khối lượng giao dịch tăng đột biến, dung lượng khối bị lấp đầy và mempool quá tải. Ví dụ, một khối Bitcoin thông thường chứa khoảng 3.150 giao dịch. Nếu số giao dịch chờ vượt xa con số này trong nhiều giờ, cả mạng và mempool sẽ tắc nghẽn. Thời gian xác nhận có thể kéo dài từ vài phút đến hàng giờ hoặc thậm chí vài ngày.
Sự kiện hoặc tin tức. Những sự kiện như ra mắt token, airdrop hoặc người nổi tiếng ủng hộ tiền điện tử có thể khiến nhu cầu giao dịch tăng vọt và làm mempool bị tắc nghẽn—điều này từng xảy ra trong các đợt ICO lớn, ra mắt dự án NFT mới.
Fork hoặc nâng cấp mạng. Những thay đổi như fork hoặc nâng cấp giao thức sẽ khiến mempool bị tắc nghẽn tức thì khi các nút ưu tiên cập nhật và đồng bộ phiên bản mới nhất. Hiệu suất của mạng thường giảm trong thời gian này.
Phí giao dịch là yếu tố then chốt quyết định thứ tự xử lý trong mempool. Thợ đào và validator lựa chọn giao dịch để ghi vào khối dựa trên lợi nhuận tiềm năng. Nói ngắn gọn, người dùng trả phí càng cao thì giao dịch được xử lý càng nhanh.
Điều này tạo ra thị trường phí, nơi người dùng cạnh tranh cho vị trí trong khối tiếp theo. Khi mạng hoạt động cao, phí có thể tăng nhiều lần so với bình thường. Một số ví cung cấp khuyến nghị phí động dựa trên trạng thái mempool hiện tại.
Do đó, thời gian xác nhận giao dịch Bitcoin phụ thuộc vào mức tải của mempool và mức phí bạn đặt. Khi tải mạng thấp và phí cao, giao dịch sẽ được xác nhận nhanh. Ngược lại, khi tắc nghẽn và phí thấp, thời gian xác nhận Bitcoin hoặc các tiền điện tử khác sẽ kéo dài. Đôi khi, giao dịch phí rất thấp có thể không được xử lý và sẽ bị loại khỏi mempool sau một khoảng thời gian nhất định.
Mempool là nơi lưu trữ tạm thời các giao dịch blockchain chưa được xác nhận. Mỗi giao dịch có một mức phí, và phí càng cao thì giao dịch càng được xác nhận nhanh.
Giao dịch sẽ lưu lại lâu trong mempool nếu phí thấp hoặc mạng bị tắc nghẽn. Validator ưu tiên xử lý giao dịch có phí cao, còn khi giao dịch đông sẽ dẫn tới chậm xác nhận.
Phí giao dịch quyết định thứ tự xử lý trong mempool. Phí cao sẽ đẩy giao dịch lên đầu hàng đợi và giúp xử lý nhanh hơn. Giao dịch có phí cao sẽ được xác nhận trước.
Không thể tự tay loại bỏ giao dịch khỏi mempool. Mempool chỉ lưu trữ tạm thời các giao dịch chưa được xử lý cho đến khi ghi vào blockchain. Tuy vậy, bạn có thể thay thế bằng giao dịch có phí cao hơn hoặc chờ hết thời gian lưu giữ.
Mempool càng lớn thì tải mạng càng cao, nhưng khi mempool ở mức phù hợp thì việc xử lý giao dịch sẽ nhanh hơn, không bị tắc nghẽn, qua đó nâng cao hiệu quả của blockchain.
Mempool ở mỗi loại tiền điện tử sẽ khác về kích thước, tốc độ xử lý và cấu trúc phí. Mempool của Bitcoin thường xuyên bị tắc nghẽn, trong khi Ethereum xử lý nhanh hơn. Mỗi blockchain xây dựng quy tắc và giới hạn riêng cho việc quản lý mempool.











