Skip to content
Tất cả hướng dẫn quyền chọn
Phí giao dịch Bitcoin10 min read

Giải thích phí Bitcoin: sat/vB, mempool và tăng phí

Tìm hiểu kích thước giao dịch Bitcoin, sat/vB, nhu cầu trong mempool, ước tính phí, RBF và CPFP ảnh hưởng thế nào đến chi phí cũng như khả năng xác nhận của giao dịch on-chain.

Trong hướng dẫn nàyPhí là khoản trả cho không gian trong một khối Bitcoin

Tóm tắt ngắn

Phí giao dịch Bitcoin thường được tính theo kích thước ảo và mức phí của giao dịch: phí tính bằng satoshi = kích thước ảo tính theo vB × số satoshi trên mỗi vB (sat/vB). Lượng BTC bạn gửi tự nó không phải căn cứ tính phí. Ước tính phí phản ánh điều kiện mạng thay đổi và không thể cam kết thời gian xác nhận.

Phí là khoản trả cho không gian trong một khối Bitcoin

Một giao dịch Bitcoin tiêu các đầu ra giao dịch chưa được tiêu (UTXO) và tạo ra đầu ra mới. Chênh lệch giữa tổng giá trị đầu vào và tổng giá trị đầu ra là phí giao dịch. Thợ đào tạo khối chứa giao dịch sẽ nhận khoản phí đó. Giao thức không khấu trừ một tỷ lệ phần trăm từ số tiền gửi; khoản này cũng khác với phí dịch vụ của nhà cung cấp ví.

Các giao dịch cạnh tranh để sử dụng không gian khối có hạn. Thợ đào tạo khối có thể cân nhắc mức phí từng giao dịch đưa ra và sự phụ thuộc giữa chúng. Khi những điều kiện khác tương tự, mức phí cao hơn có thể khiến giao dịch hấp dẫn hơn, nhưng không dành sẵn một vị trí cố định trong khối kế tiếp. Kết quả phụ thuộc vào thị trường phí, quan hệ phụ thuộc giữa các giao dịch, lựa chọn của thợ đào và việc giao dịch có đến được các nút liên quan hay không.

Bài viết này nói về giao dịch Bitcoin on-chain trên mạng Bitcoin. Một sàn giao dịch có thể thu khoản phí rút riêng, còn thanh toán Lightning đi theo lộ trình và cấu trúc phí khác. Ví có thể gộp nhiều khoản chi phí trên cùng màn hình, vì vậy hãy xác định con số hiển thị là phí mạng, phí dịch vụ hay cả hai. Hướng dẫn phí của Bitcoin.org giải thích quan hệ giữa kích thước giao dịch, sat/vB và nhu cầu sử dụng không gian khối.

Tổng phí và mức phí trả lời hai câu hỏi khác nhau

Tổng phí là số satoshi trả cho giao dịch. Mức phí biểu thị số satoshi trên mỗi byte ảo, viết là sat/vB. Chia tổng phí cho kích thước ảo để tìm mức phí; nhân kích thước ảo với mức đã chọn để ước tính tổng phí. Ví thường cho phép bạn chọn hoặc xem lại mức phí vì các giao dịch có kích thước khác nhau sẽ có tổng phí khác nhau dù dùng chung một mức.

Giả sử một giao dịch giả định có kích thước 140 vB và dùng mức 25 sat/vB. Phí là 140 × 25 = 3.500 satoshi. Vì 1 BTC bằng 100.000.000 satoshi, 3.500 sats tương đương 0,000035 BTC. Nếu giao dịch cùng kích thước dùng mức 40 sat/vB, phí là 5.600 sats, hay 0,000056 BTC. Đây chỉ là ví dụ minh họa phép tính, không phải ước tính phí hiện tại hay khuyến nghị.

Mức phí không phải phần trăm so với số tiền thanh toán. Hai giao dịch gửi lượng BTC khác nhau vẫn có thể trả phí bằng nhau nếu kích thước ảo và mức phí giống nhau. Một khoản thanh toán nhỏ có thể tốn phí hơn khoản lớn nếu cần nhiều dữ liệu đầu vào hơn hoặc chọn mức phí cao hơn. Đầu ra tiền thừa cũng có ảnh hưởng: nếu tổng đầu vào lớn hơn khoản thanh toán, giao dịch có thể trả phần chênh lệch về cho người gửi bằng một đầu ra mới, và đầu ra đó chiếm thêm không gian.

Kích thước ảo phản ánh không gian giao dịch chiếm trong khối

Ví Bitcoin thường tính phí theo kích thước ảo (vsize) thay vì coi mỗi byte được tuần tự hóa là như nhau. Dữ liệu giao dịch SegWit có trọng số. Theo công thức BIP 141: weight = 3 × base size + total size, trong đó total size gồm dữ liệu witness. Sau đó, vsize = weight ÷ 4 và được làm tròn lên đến vB nguyên kế tiếp. Công thức tính đến trọng số khác nhau của dữ liệu witness; đây không đơn giản là kích thước tệp thô.

Đầu vào và đầu ra bổ sung lượng dữ liệu khác nhau. Đầu vào tham chiếu một đầu ra trước đó và cung cấp dữ liệu đáp ứng điều kiện chi tiêu đầu ra đó. Kích thước chính xác tùy loại đầu ra và dữ liệu mở khóa, bao gồm chữ ký. Đầu ra chỉ định giá trị và tập lệnh khóa. Vì vậy giao dịch có nhiều đầu vào nhỏ có thể lớn hơn giao dịch chỉ có một đầu vào ngay cả khi gửi cùng tổng số tiền.

Số lượng đầu vào đặc biệt đáng kể khi ví gộp nhiều đầu ra nhỏ đã nhận được để thanh toán. Giao dịch phải tiêu từng đầu ra đã chọn, và mỗi đầu vào thêm dữ liệu. Ví cũng có thể tạo một đầu ra tiền thừa, làm tăng kích thước. Các loại địa chỉ và tập lệnh có kích thước khác nhau, độ dài chữ ký cũng có thể thay đổi. Do đó, kích thước “giao dịch điển hình” chỉ là ví dụ, không phải con số cố định cho mọi khoản thanh toán Bitcoin.

Ước tính của ví có thể đổi khi bạn chọn đồng khác, thêm người nhận, chọn loại địa chỉ tiền thừa khác hoặc thay đổi mức phí. Chỉ kiểm tra số tiền thanh toán vì thế là chưa đủ. Cấu tạo giao dịch quyết định vsize; mức phí quyết định số satoshi được đưa ra cho mỗi vB. BIP 141 định nghĩa cách tính kích thước ảo có xét đến dữ liệu witness.

Mempool theo dõi giao dịch chưa xác nhận, nhưng không có một hàng đợi chung toàn cầu

Sau khi phát đi, giao dịch có thể được lưu trong pool bộ nhớ, hay mempool, của các nút đã nhận và chấp nhận giao dịch. Mempool là tập giao dịch chưa xác nhận cục bộ của từng nút, không phải một hàng đợi đồng bộ duy nhất dùng chung trên toàn mạng. Các nút có thể thấy giao dịch theo thứ tự khác nhau, áp dụng chính sách chuyển tiếp và giới hạn dung lượng khác nhau, hoặc không nhận được một giao dịch cụ thể.

Thợ đào chọn giao dịch mình biết để đưa vào khối dự kiến theo quy tắc đồng thuận và chính sách lựa chọn riêng. Giao dịch tiêu đầu ra do một giao dịch chưa xác nhận khác tạo ra sẽ phụ thuộc vào giao dịch đó. Khi ấy, thợ đào có thể đánh giá giao dịch cha cùng một hay nhiều giao dịch con thay vì coi mỗi mục là độc lập với mức phí riêng. Vì vậy, con số “xếp hạng” đơn giản trên trang bên thứ ba có thể chưa đầy đủ hoặc chỉ đúng tạm thời.

Khi nhiều người tranh giành không gian hơn, mức phí có khả năng được đưa vào sớm hơn có thể tăng. Khi nhu cầu giảm, giao dịch có mức phí thấp hơn có thể trở nên cạnh tranh hơn. Mức cạnh tranh và tập giao dịch mà ví hay nút biết được có thể đổi nhanh. Việc một giao dịch xuất hiện trong chế độ xem mempool của một trình khám phá hoặc ví không chứng minh mọi thợ đào hay nút đều có cùng góc nhìn.

Giao dịch chưa hiển thị là đã xác nhận thì vẫn chưa xác nhận; nhãn đó tự nó không có nghĩa giao dịch mất hoặc vô hiệu. Tùy chính sách của nút và điều kiện mempool thay đổi, giao dịch có thể ngừng xuất hiện trong mempool của một nút rồi được phát lại hoặc chấp nhận trở lại. Nếu ví vẫn ghi giao dịch đang chờ, đừng cho rằng các đầu vào của nó đã sẵn sàng để dùng cho khoản thanh toán khác. Trước khi thử tiêu lại, hãy kiểm tra trạng thái giao dịch và hướng dẫn chính thức của ví.

Bốn nút hiển thị các tập giao dịch chưa xác nhận khác nhau; các gói giao dịch hướng đến không gian khối có hạn
Mempool của mỗi nút có thể khác nhau, còn việc chọn gói phụ thuộc vào nút tạo khối. Sơ đồ không mô tả thứ tự hay thời gian xác nhận

Ước tính phí là mục tiêu, không phải bảo đảm xác nhận

Ví có thể đưa ra lựa chọn tiết kiệm, thông thường hoặc ưu tiên, hay hiển thị số khối mục tiêu. Đây là ước tính mức phí có thể cạnh tranh trong điều kiện quan sát được. Tài liệu Bitcoin Core về ước tính phí mô tả một mức phí gần đúng nhằm bắt đầu được xác nhận trong số khối mục tiêu nếu bộ ước tính có đủ dữ liệu lịch sử. Nếu thiếu dữ liệu gần đây, ước tính có thể không khả dụng. Ví và dịch vụ khác có thể dùng dữ liệu, mô hình, chu kỳ cập nhật và định nghĩa mục tiêu khác nhau.

Mục tiêu “khối kế tiếp” không có nghĩa giao dịch chắc chắn vào khối kế tiếp. Trong lúc giao dịch được truyền đi, điều kiện dùng để ước tính có thể đổi và giao dịch mới trả phí cao hơn có thể tranh chỗ. Sự phụ thuộc giữa các giao dịch cũng có thể tác động đến lựa chọn. Số khối mục tiêu là đầu vào của phép ước tính, không phải hợp đồng với thợ đào.

Hãy kiểm tra báo giá phí được làm mới lúc nào và ví hiển thị mức phí hay chỉ tổng tiền. Nếu giao dịch không gấp, chọn mức thấp hơn để chờ có thể hợp lý, nhưng thời gian xác nhận vẫn không chắc chắn. Nếu cần xử lý đúng lúc, hãy so sánh ước tính của ví với nguồn phí hiện tại và tìm hiểu ví sẽ làm gì khi điều kiện đổi. Tăng phí “cho chắc” có thể tốn thêm tiền mà không bảo đảm vào một khối cụ thể.

Mức phí do công cụ ước tính đưa ra cũng không xác định mức tối thiểu mà mọi nút sẽ chấp nhận để chuyển tiếp. Chính sách chuyển tiếp, giới hạn mempool, cài đặt ví và dự báo xác nhận có liên quan nhưng trả lời các câu hỏi khác nhau. Tài liệu thiết kế mempool của Bitcoin Core mô tả sự phụ thuộc giữa các giao dịch ảnh hưởng thế nào đến việc lựa chọn và chính sách thay thế. Đừng coi chính sách của một bản phát hành hoặc một nút là quy tắc vĩnh viễn cho toàn mạng.

RBF có thể giúp ví thay giao dịch đang chờ bằng phiên bản phí cao hơn

Replace-by-fee (RBF) là cách thay một giao dịch chưa xác nhận bằng giao dịch xung đột trả phí cao hơn, khi ví và chính sách của các nút liên quan cho phép. Giao dịch thay thế tiêu ít nhất một đầu vào giống giao dịch ban đầu, nên hai phiên bản xung đột không thể cùng được xác nhận như hai lần chi tiêu hợp lệ của cùng đầu vào. Ví có thể có nút “tăng phí”, nhưng nút này có dùng được không, cần điều kiện gì và phí mới là bao nhiêu tùy ví cùng cấu trúc giao dịch.

Đừng dựa vào quy tắc cũ cho rằng giao dịch luôn phải báo hiệu RBF theo một cách cụ thể mới được thay thế. Tài liệu chính sách hiện tại của Bitcoin Core ghi nhận full RBF là chính sách mặc định kể từ phiên bản 28.0 và theo chính sách đó không cần tín hiệu để thay thế. Nút, ví, dịch vụ khác hoặc phần mềm cũ có thể hoạt động khác. Nút trong ví không khả dụng không có nghĩa mọi nút đều dùng cùng chính sách; giới hạn có thể nằm ở ví hoặc cấu trúc giao dịch.

Thay thế thường cần nhiều hơn việc “thêm một satoshi”. Theo chính sách hiện hành của Bitcoin Core, phí tuyệt đối của giao dịch thay thế phải ít nhất bằng tổng phí tuyệt đối của các giao dịch ban đầu, đồng thời bù chi phí băng thông chuyển tiếp bổ sung của giao dịch thay thế và cải thiện biểu đồ mức phí trong mempool. Các giao dịch liên kết có thể khiến phép tính phức tạp hơn việc chỉ chọn một con số cao hơn. Chính sách thay thế hiện hành mô tả các điều kiện này.

RBF không phải nút hoàn tác và không đảo ngược giao dịch đã xác nhận. Đây là một khoản chi chưa xác nhận đang cạnh tranh với khoản khác. Người nhận coi khoản thanh toán chưa xác nhận là cuối cùng có thể chịu rủi ro bị thay thế; vì thế, giao dịch chưa xác nhận không tương đương khoản thanh toán đã xác nhận. Nếu đang nhận tiền, hãy theo chính sách xác nhận của dịch vụ nhận thay vì cho rằng phiên bản đầu tiên bạn thấy sẽ được xác nhận.

CPFP có thể tăng động lực để khai thác giao dịch cha và con cùng nhau

Child Pays for Parent (CPFP) dùng giao dịch con mới để tiêu một đầu ra của giao dịch cha chưa xác nhận. Giao dịch con có thể đưa ra mức phí đủ cao để khuyến khích thợ đào đưa cả hai giao dịch vào cùng nhau. Phí kết hợp và kích thước ảo kết hợp là điều cần xét; giao dịch con không xóa phí của giao dịch cha hay giúp ghép hai giao dịch miễn phí.

Ví cần kiểm soát một đầu ra chưa xác nhận phù hợp và hỗ trợ tạo giao dịch con. Quan hệ cha-con, chính sách chuyển tiếp và gói giao dịch, cùng lựa chọn của thợ đào đều quan trọng. Phí kết hợp có thể cao hơn khoản phí bạn chọn cho một giao dịch đơn lẻ; việc được đưa vào khối vẫn không được bảo đảm. Đừng tự tạo giao dịch con nếu bạn chưa hiểu nó tiêu đầu ra nào và ví quản lý tiền thừa ra sao.

RBF và CPFP xử lý các tình huống liên quan nhưng khác nhau. RBF tạo phiên bản xung đột với giao dịch đang chờ. CPFP thêm giao dịch phụ thuộc có thể làm gói cha-con hấp dẫn hơn với thợ đào. Ví có thể hỗ trợ một cách, cả hai hoặc không cách nào. Thiết kế mempool và chính sách theo phiên bản của Bitcoin Core ảnh hưởng đến điều nút chấp nhận; đây là cơ chế, không phải cam kết thời gian xác nhận.

Phí rút của sàn có thể khác phí mạng Bitcoin

Sàn có thể đặt phí rút theo biểu phí riêng. Khoản này có thể cố định, được điều chỉnh định kỳ hoặc phản ánh cách sàn gộp các yêu cầu rút của khách hàng. Vì vậy nó không nhất thiết bằng mức phí của một giao dịch on-chain được phát riêng. Sàn có thể gộp nhiều lần rút vào một giao dịch, trong khi ví tự quản thường tạo giao dịch cho các đầu ra bạn chọn.

Trước khi rút, hãy xem phí được liệt kê, số tiền thực nhận và mạng đích. Đừng suy ra phí rút của sàn chính là mức sat/vB hiện hành. Ngay cả khi nền tảng gọi khoản phí là “phí mạng”, đó vẫn có thể là số tiền do nền tảng tính thay vì ước tính trực tiếp cho giao dịch cụ thể của bạn. Hãy xem biểu phí công bố và chi tiết màn hình xem trước.

Điều ngược lại cũng có thể xảy ra: ví hiển thị phí mạng mà không có phí dịch vụ của nhà cung cấp. Giao dịch Bitcoin được đưa vào khối trả phí on-chain; giao diện ví không thu khoản đó theo tỷ lệ phần trăm của tiền chuyển. Khi so sánh rút từ sàn với gửi on-chain bằng ví tự quản, hãy so sánh số tiền người nhận nhận được, mạng đã chọn và từng dòng phí riêng. Trước khi gửi, dùng danh sách kiểm tra chuyển tiền mã hóa để kiểm tra mạng và địa chỉ. Cấu trúc gas khác của Ethereum được giải thích trong hướng dẫn phí gas Ethereum.

Xem lại chi tiết giao dịch trước khi ký

Trước khi xác nhận thanh toán Bitcoin, kiểm tra mạng, địa chỉ người nhận, số tiền, tổng phí và mức phí nếu ví hiển thị. Xác nhận đây là giao dịch Bitcoin on-chain chứ không phải một lộ trình khác. Xem phần xem trước phí sau khi chọn người nhận và đầu vào, vì thay đổi cấu tạo giao dịch có thể làm đổi vsize và tổng phí ngay cả khi mức phí giữ nguyên.

Nếu giao dịch đang chờ, trước khi thao tác hãy xác định ví hỗ trợ RBF hay CPFP không và các điều kiện là gì. Đừng gửi cùng khoản thanh toán thành một giao dịch riêng mới khi chưa hiểu giao dịch ban đầu còn có thể được xác nhận hay không. Lưu mã giao dịch và kiểm tra trạng thái trong ví hoặc trình khám phá khối đáng tin cậy. Việc giao dịch biến mất khỏi một dịch vụ không chứng minh nó đã xác nhận, đã hủy hoặc có thể thay thế an toàn.

Hãy chọn mức phí phù hợp với độ khẩn cấp và thời gian bạn có thể chờ, đồng thời nhớ rằng không báo giá nào hứa giao dịch sẽ vào một khối cụ thể. Nếu phí có vẻ cao bất thường, hãy kiểm tra số đầu vào và cấu trúc đầu ra; lượng tiền gửi không giải thích kích thước giao dịch. Nếu ví chỉ hiển thị tổng, mở phần chi tiết hoặc tài liệu chính thức để biết gồm những khoản nào. Các con số trong bài là ví dụ giả định, không phải báo giá hiện tại.

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

Q1Phí Bitcoin có phải là phần trăm của số tiền tôi gửi không?

Không. Phí mạng thường được tính theo kích thước ảo và mức phí của giao dịch. Nếu vsize và mức phí không đổi, số tiền thanh toán có thể khác mà phí vẫn như nhau.

Q2Nếu giao dịch chưa xác nhận thì bitcoin của tôi đã mất chưa?

Không nhất thiết. Giao dịch có thể vẫn đang chờ và góc nhìn mempool của từng nút có thể thay đổi. Hãy kiểm tra mã giao dịch cùng trạng thái trong ví; đừng cho rằng giao dịch đang chờ đã bị hủy hoặc có thể gửi lại an toàn.

Q3Trả sat/vB cao hơn có bảo đảm vào khối kế tiếp không?

Không. Mức phí cao hơn có thể giúp giao dịch cạnh tranh hơn khi điều kiện tương tự, nhưng thị trường phí, sự phụ thuộc giữa giao dịch, việc chuyển tiếp và lựa chọn của thợ đào đều thay đổi. Ước tính không thể hứa một khối cụ thể.

Nguồn và tài liệu đọc thêm

Báo lỗi

Chúng tôi sẽ soạn email kèm liên kết bài viết này. Mark chỉ nhận được báo cáo sau khi bạn gửi email

Kiểm tra nhanh

Đọc xong hướng dẫn? Hãy kiểm tra với 3 câu hỏi

Câu hỏi 1 / 3

Câu hỏi 01

Một giao dịch giả định có kích thước 140 vB và trả 25 sat/vB. Tổng phí là bao nhiêu?

Chọn một đáp án để xem giải thích

Bảng thuật ngữ quyền chọn