Tài sản mã hóaiCapital4 phút đọc

Mempool và phí giao dịch Bitcoin

Nội dung giáo dục và nghiên cứu, không phải tư vấn đầu tư cá nhân.

Mempool là tập giao dịch chưa xác nhận mà một nút Bitcoin đang lưu để xem xét và truyền tiếp. Nó giúp giải thích trạng thái “đang chờ” của giao dịch; trạng thái này chưa đồng nghĩa khoản thanh toán đã được ghi vào lịch sử chung.

Mỗi nút có góc nhìn riêng

Không nên hình dung mempool như một phòng chờ duy nhất của toàn mạng. Một nút chỉ xử lý các giao dịch nó nhận được, theo điều kiện kiểm tra và chính sách của phần mềm đang chạy. Mã Bitcoin Core phân biệt quá trình chấp nhận vào mempool với quá trình xác minh khối; giao dịch vào mempool không phải quyết định thay cho tất cả các nút. Nguồn: Bitcoin Core v30.0, validation.cpp — MemPoolAccept và AcceptToMemoryPool.

Vì vậy, khi hai dịch vụ hiển thị trạng thái khác nhau, câu hỏi hữu ích là chúng đang nhìn cùng giao dịch, cùng thời điểm và cùng nguồn nút hay chưa. Sự khác biệt hiển thị không tự nó chứng minh blockchain đã ghi hai kết quả trái nhau.

Từ nhận giao dịch tới ứng viên trong khối

Có thể chia cơ chế thành bốn bước: nút nhận giao dịch; kiểm tra khả năng chấp nhận; lưu ứng viên phù hợp; phần mềm khai thác lựa chọn tập giao dịch để xây khối. Bitcoin Core có logic lựa chọn các nhóm giao dịch liên quan khi tạo mẫu khối, vì vậy thứ tự không chỉ là xếp từng giao dịch độc lập theo một con số. Nguồn: Bitcoin Core v30.0, miner.cpp — CreateNewBlock và addPackageTxs.

Việc một giao dịch có trong tập ứng viên không tạo ra hợp đồng về thời gian được chọn. Phải theo dõi tiếp trạng thái khối và xác nhận, finality để đánh giá mức hoàn tất phù hợp với tình huống.

Tổng phí khác phí trên mỗi đơn vị dữ liệu

Phí giao dịch thông thường là tổng input trừ tổng output. Khi so sánh mức phí với không gian khối sử dụng, người ta còn xét phí trên mỗi đơn vị kích thước ảo, thường biểu diễn bằng satoshi trên vbyte (sat/vB). Nguồn: Bitcoin Developer Guide, Block Chain — Transaction Propagation; Bitcoin Core v30.0, miner.cpp — GetFee/GetTxSize.

Ví dụ giả định: giao dịch A trả 1.000 sat cho 100 vB, tương đương 10 sat/vB. Giao dịch B trả 1.500 sat cho 300 vB, tương đương 5 sat/vB. B trả tổng phí cao hơn nhưng mức phí trên đơn vị dữ liệu thấp hơn. Các số này chỉ minh họa phép chia, không phải báo giá hiện tại hay cam kết A sẽ được xác nhận trước B.

Vì sao trạng thái chờ có thể thay đổi?

Mempool là trạng thái phần mềm, còn khối hợp lệ là một phần lịch sử được nút xác minh. Chính sách chấp nhận, quan hệ phụ thuộc giữa giao dịch và trạng thái chain có thể ảnh hưởng cách nút xử lý ứng viên. Khi phân tích trường hợp cụ thể, cần thông tin giao dịch và phiên bản phần mềm thay vì áp một giải thích duy nhất. Nguồn kỹ thuật: Bitcoin Core v30.0, validation.cpp — MemPoolAccept.

Ngộ nhận phổ biến là coi phí đã trả như việc mua một suất xác nhận đúng giờ. Trong thực tế, số tiền phải được đọc cùng kích thước, quan hệ giao dịch và điều kiện chọn khối. Một ước tính phí cũng cần ngày giờ và phương pháp; trang này không đưa dữ liệu phí động.

Ví dụ giả định: hai nút cùng thấy giao dịch B nhưng thấy A và C khác nhau. Giao dịch A trả 10 sat/vB, B trả 5 sat/vB dù tổng phí cao hơn.

Kết luận

Mempool là tập giao dịch đang chờ mà mỗi node tự lưu, không phải một hàng đợi chung cho cả mạng. Phí ảnh hưởng tới khả năng được chọn vào block, nhưng cần đọc theo phí trên mỗi đơn vị dữ liệu chứ không chỉ tổng phí, và trả phí không bảo đảm được xác nhận đúng giờ. Chỉ khi nằm trong một block hợp lệ, giao dịch mới thuộc lịch sử chung.

Đọc tiếp

Đọc hành trình giao dịch Bitcoin và kinh tế học Bitcoin; tra cứu UTXO, Proof of Work, block reward hoặc Thư viện thuật ngữ.

Lưu ýBài viết nhằm mục đích cung cấp thông tin và giáo dục, không phải tư vấn đầu tư, pháp lý hay thuế và không phải khuyến nghị mua, bán hoặc nắm giữ bất kỳ tài sản mã hóa nào. Tài sản mã hóa có rủi ro cao, gồm biến động giá, mất quyền kiểm soát khóa và thay đổi pháp lý. Thông tin đúng tại ngày cập nhật ghi trên bài và có thể thay đổi sau đó.Cập nhật lần cuối: