Mempool là vùng chờ trong bộ nhớ của mỗi nút Bitcoin, chứa các giao dịch hợp lệ đã được phát tán nhưng chưa được đưa vào khối. Vì mỗi khối chỉ chứa được một lượng dữ liệu giới hạn, các giao dịch trong mempool cạnh tranh nhau để được chọn, và thước đo chính là mức phí trên mỗi byte ảo, viết là sat/vB. Khi mạng đông, phí tăng; khi mạng vắng, phí giảm, đôi khi xuống mức rất thấp.
Bài viết giải thích cách mempool vận hành, cách thợ đào chọn giao dịch, các cơ chế tăng phí cho giao dịch đang chờ, và những ngộ nhận hay gặp. Đây là kiến thức về cơ chế; chúng tôi không đưa ra mức phí cụ thể nào để làm theo.
Không có một mempool chung
Một hiểu lầm phổ biến là có một mempool duy nhất cho cả mạng Bitcoin. Thực tế, mỗi nút giữ mempool riêng trong bộ nhớ của mình, xây dựng từ những giao dịch nó nhận được và chấp nhận theo luật và chính sách của nó.
Vì giao dịch lan truyền nhanh, mempool của các nút thường gần giống nhau, nhưng không bao giờ trùng khớp hoàn toàn. Một giao dịch có thể có mặt ở nút này mà chưa có ở nút kia, hoặc bị một nút loại bỏ vì phí quá thấp.
Các trang theo dõi mempool hiển thị trạng thái mempool của nút mà trang đó chạy. Chúng hữu ích để hình dung độ đông của mạng, nhưng không phải là sự thật tuyệt đối.
Mempool cũng có giới hạn kích thước do mỗi nút cấu hình. Khi đầy, nút loại bỏ giao dịch có phí thấp nhất trước, và nâng mức phí tối thiểu để chấp nhận giao dịch mới.
Phí tính theo dung lượng, không theo số tiền
Phí giao dịch Bitcoin không phụ thuộc vào lượng bitcoin bạn chuyển. Chuyển một lượng nhỏ hay một lượng rất lớn, nếu cấu trúc giao dịch như nhau, dung lượng như nhau, thì mức phí cần thiết như nhau.
Dung lượng được đo bằng byte ảo, quy đổi từ trọng lượng khối sau SegWit. Những yếu tố làm giao dịch nặng hơn gồm số đầu vào, số đầu ra, loại địa chỉ, và độ phức tạp của điều kiện chi tiêu.
Mỗi đầu vào thường chiếm nhiều dung lượng hơn mỗi đầu ra, vì phải chứa chữ ký và dữ liệu chứng minh. Vì vậy, một ví có nhiều UTXO nhỏ sẽ phải trả phí cao hơn khi gom chúng lại để chi tiêu.
Địa chỉ dạng mới như SegWit gốc và Taproot thường rẻ hơn khi chi tiêu, vì dữ liệu witness được tính nhẹ hơn.
Thợ đào chọn giao dịch thế nào
Thợ đào muốn tối đa thu nhập từ mỗi khối. Với không gian giới hạn, họ chọn giao dịch theo mức phí trên mỗi byte ảo từ cao xuống thấp, cho đến khi khối đầy.
Việc chọn phức tạp hơn một chút vì có những giao dịch phụ thuộc nhau: giao dịch con chi tiêu đầu ra của giao dịch cha chưa xác nhận. Phần mềm tính mức phí của cả gói giao dịch, gọi là phí theo tổ tiên, để quyết định.
Không có luật đồng thuận nào bắt thợ đào phải chọn giao dịch phí cao. Về lý thuyết, họ có thể chọn bất kỳ giao dịch hợp lệ nào, kể cả để khối trống. Nhưng động cơ kinh tế đẩy họ về phía tối đa phí.
Một số thợ đào có thể ưu tiên giao dịch theo thoả thuận riêng ngoài mempool, nhưng đó là ngoại lệ.
Cũng cần biết rằng giao dịch có phí cao chưa chắc vào khối kế tiếp. Nếu giao dịch đến tay thợ đào sau khi họ đã dựng xong khối mẫu, nó phải chờ khối sau. Vài giây chênh lệch có thể là mười phút chờ thêm.
Vì sao phí lên xuống
Phí phản ánh cung và cầu không gian khối. Cung khá cố định: khoảng một khối mỗi mười phút, mỗi khối tối đa bốn triệu đơn vị trọng lượng. Cầu thay đổi liên tục.
Khi nhiều người cùng muốn giao dịch, ví dụ lúc thị trường biến động mạnh hay khi có hoạt động mới chiếm nhiều không gian khối, mempool đầy lên, phí tăng vọt. Khi vắng, mempool trống, phí rơi về mức tối thiểu.
Việc tìm khối mang tính ngẫu nhiên cũng ảnh hưởng: nếu vài khối liên tiếp đến chậm, giao dịch dồn lại, phí tăng tạm thời.
Không ai đoán chính xác được phí sẽ thế nào trong vài giờ tới. Các công cụ ước lượng phí của ví dựa trên dữ liệu gần đây, hữu ích nhưng không bảo đảm.
Tăng phí cho giao dịch đang chờ
Nếu giao dịch của bạn chờ lâu vì phí thấp, có hai cơ chế chính để tăng phí. Thứ nhất là thay thế bằng phí, viết tắt RBF: tạo một giao dịch mới chi tiêu cùng đầu vào, trả phí cao hơn, để thay thế giao dịch cũ trong mempool.
Thứ hai là con trả cho cha, viết tắt CPFP: người nhận, hoặc người gửi qua đầu ra thối, tạo một giao dịch con chi tiêu đầu ra của giao dịch đang chờ, với phí đủ cao để cả gói hấp dẫn thợ đào.
RBF cũng có mặt trái: người gửi có thể thay giao dịch đã gửi bằng một giao dịch trả cho chính mình. Đây là lý do giao dịch chưa xác nhận không bao giờ nên được coi là chắc chắn.
Nếu không làm gì, giao dịch phí thấp sẽ nằm chờ, có thể được xác nhận khi mạng vắng, hoặc bị các nút loại khỏi mempool sau một thời gian, khoảng hai tuần theo cấu hình mặc định của phần mềm phổ biến. Khi đó, bitcoin vẫn nằm nguyên ở UTXO cũ.
Ngộ nhận và sự thật về phí
Phí tính theo số tiền chuyển Sai; phí tính theo dung lượng giao dịch.
Có một mempool chung Sai; mỗi nút có mempool riêng.
Trả phí cao là xác nhận ngay Không chắc; việc tìm khối là ngẫu nhiên, chỉ tăng khả năng vào khối sớm.
Giao dịch chờ lâu là mất Sai; giao dịch chưa xác nhận không mất bitcoin, chỉ chưa hoàn tất.
Phải trả phí cho người khác để mở khoá Sai; đây là kịch bản lừa đảo, phí luôn nằm trong giao dịch.
Phí cố định Sai; phí biến động theo cung cầu không gian khối.
Thợ đào bắt buộc chọn phí cao Không có luật đó; họ chọn vì động cơ kinh tế.
Gom UTXO nhỏ lúc nào cũng được Nên làm khi phí thấp, vì mỗi đầu vào tốn dung lượng.
Địa chỉ cũ và mới như nhau Địa chỉ dạng mới thường rẻ hơn khi chi tiêu.
RBF chỉ có lợi Nó cũng cho phép thay giao dịch chưa xác nhận, nên người nhận cần chờ xác nhận.
Trang theo dõi mempool là chính xác tuyệt đối Nó chỉ phản ánh mempool của nút mà trang đó chạy.
Phí thấp nhất luôn tốt nhất Phí quá thấp có thể khiến giao dịch không được chuyển tiếp hoặc chờ rất lâu.
Phí dài hạn và an ninh mạng lưới
Phí giao dịch không chỉ là chi phí của người dùng mà còn là nguồn thu ngày càng quan trọng của thợ đào khi phần thưởng khối giảm qua mỗi lần halving.
Về lâu dài, khi phần thưởng khối tiến về không, phí sẽ phải gánh toàn bộ chi phí giữ an ninh mạng lưới. Liệu thị trường phí có đủ lớn để làm điều đó không là câu hỏi được tranh luận nghiêm túc.
Một số người cho rằng nhu cầu ghi vào chuỗi chính, nơi an toàn nhất, sẽ giữ phí ở mức đủ. Người khác lo ngại rằng phần lớn giao dịch chuyển sang các lớp khác, làm phí trên chuỗi chính không đủ.
Đây là một trong những câu hỏi mở lớn của Bitcoin, và chúng tôi không có câu trả lời chắc chắn.
Câu hỏi thường gặp
Mempool là gì?
Là vùng chờ trong bộ nhớ của mỗi nút, chứa giao dịch hợp lệ chưa được đưa vào khối.
Phí giao dịch Bitcoin phụ thuộc vào gì?
Vào dung lượng giao dịch tính bằng byte ảo và mức cạnh tranh không gian khối, không phụ thuộc số lượng bitcoin chuyển.
RBF là gì?
Là thay thế bằng phí, tạo giao dịch mới chi tiêu cùng đầu vào với phí cao hơn để thay giao dịch đang chờ.
CPFP là gì?
Là con trả cho cha, tạo giao dịch con với phí cao để kéo giao dịch cha đang chờ vào khối cùng.
Giao dịch bị loại khỏi mempool thì bitcoin có mất không?
Không. Bitcoin vẫn nằm ở UTXO cũ như chưa từng có giao dịch đó.