ข้ามไปยังเนื้อหา
BitcoinToolkit

พื้นฐานของ Bitcoin

ค่าธรรมเนียมธุรกรรม Bitcoin ทำงานอย่างไร

ค่าธรรมเนียม Bitcoin ขึ้นอยู่กับขนาดเสมือนของธุรกรรม อัตราค่าธรรมเนียม และความต้องการพื้นที่ในบล็อกที่เปลี่ยนแปลงไป—ไม่ใช่เพียงแค่จำนวนเงินที่ส่งเท่านั้น.

คำตอบโดยตรง

ค่าธรรมเนียม Bitcoin ขึ้นอยู่กับขนาดเสมือนของธุรกรรม อัตราค่าธรรมเนียม และความต้องการพื้นที่ในบล็อกที่เปลี่ยนแปลงไป—ไม่ใช่เพียงแค่จำนวนเงินที่ส่งเท่านั้น.

การชำระเงิน Bitcoin สองรายการสามารถส่งจำนวนเงินเท่ากันและจ่ายค่าธรรมเนียมเครือข่ายที่แตกต่างกันมาก ความแตกต่างไม่ใช่มูลค่าที่โอน แต่เป็นธุรกรรมที่กระเป๋าเงินต้องสร้าง: เอาต์พุตที่ยังไม่ได้ใช้ใดกลายเป็นอินพุต สร้างเอาต์พุตใหม่กี่รายการ ประเภทสคริปต์ใดที่เกี่ยวข้อง ข้อมูลที่ถูกทำให้เป็นอนุกรมในธุรกรรมที่ลงนามมีขนาดเท่าใด และอัตราค่าธรรมเนียมที่กระเป๋าเงินใช้กับขนาดเสมือนนั้น.

นี่คือเหตุผลที่กระเป๋าเงินสามารถแสดงค่าธรรมเนียมหนึ่งก่อนการเลือกเหรียญ และอีกค่าหนึ่งหลังจากเลือกอินพุตสุดท้ายแล้ว นอกจากนี้ยังเป็นเหตุผลที่การส่ง 0.01 BTC อาจมีค่าใช้จ่ายมากกว่าการส่ง 1 BTC Bitcoin ไม่คิดค่าธรรมเนียมเป็นเปอร์เซ็นต์ของการชำระเงิน แต่คิดราคาพื้นที่บล็อก.

การคำนวณเป็นไปตามเส้นทางต่อเนื่องหนึ่งเส้นทาง:

Inputs and outputs
→ serialized transaction data
→ transaction Weight
→ virtual size in vB
→ fee rate in sat/vB
→ total fee in sats

การเข้าใจเส้นทางนั้นช่วยให้คุณอ่านตัวอย่างค่าธรรมเนียมในกระเป๋าเงินได้โดยไม่สับสนระหว่างจำนวนเงินที่ชำระ อัตราค่าธรรมเนียม และค่าธรรมเนียมสุดท้าย.

ค่าธรรมเนียมไม่ใช่เปอร์เซ็นต์

ค่าธรรมเนียมธุรกรรม Bitcoin คือความแตกต่างระหว่างมูลค่ารวมของอินพุตและมูลค่ารวมที่กำหนดให้กับเอาต์พุต:

ค่าธรรมเนียมธุรกรรม
=
มูลค่าอินพุตรวม
−
มูลค่าเอาต์พุตรวม

สมมติว่ากระเป๋าเงินใช้จ่ายหนึ่งอินพุตมูลค่า 120,000 sats สร้างเอาต์พุตการชำระเงิน 100,000 sats และเอาต์พุตเงินทอน 18,500 sats ส่วนที่เหลือ 1,500 sats คือค่าธรรมเนียมธุรกรรม:

120,000 sats
− 100,000 sats
− 18,500 sats
= ค่าธรรมเนียม 1,500 sats

เครือข่ายไม่ได้หักค่าธรรมเนียมนั้นจากบัญชีแยกต่างหาก ค่าธรรมเนียมคือมูลค่าอินพุตที่ธุรกรรมไม่ได้กำหนดให้กับเอาต์พุตใหม่.

กระเป๋าเงินสามารถแสดงตัวเลขที่เกี่ยวข้องหลายตัวบนหน้าจอเดียวกัน ตัวเลขเหล่านี้อธิบายส่วนต่างๆ ของธุรกรรมและไม่ควรนำมาเปรียบเทียบโดยไม่มีหน่วย.

ค่าที่แสดงความหมายตัวอย่าง
จำนวนผู้รับBitcoin ที่กำหนดให้กับเอาต์พุตของผู้รับที่ตั้งใจไว้100,000 sats
ค่าธรรมเนียมรวมมูลค่าอินพุตที่ไม่ถูกกำหนดให้กับเอาต์พุตใดๆ1,500 sats
อัตราค่าธรรมเนียมราคาที่ใช้ต่อไบต์เสมือน10 sat/vB
ขนาดเสมือนWeighted ขนาดธุรกรรมที่ใช้สำหรับการเปรียบเทียบค่าธรรมเนียม150 vB
ยอดเดบิตกระเป๋าเงินรวมจำนวนผู้รับบวกค่าธรรมเนียมเมื่อผู้ส่งชำระแยกต่างหาก101,500 sats

จำนวนเงินที่ชำระและค่าธรรมเนียมรวมวัดเป็น sats หรือ BTC อัตราค่าธรรมเนียมวัดเป็น sat/vB ขนาดเสมือนวัดเป็น vB หากป้ายกำกับเหล่านี้ไม่คุ้นเคย โปรดอ่านก่อน satoshi หมายถึงอะไรในกระเป๋าเงินและการแสดงค่าธรรมเนียม.

อินพุตและเอาต์พุตกำหนดขนาด

อินพุตใช้จ่าย UTXO ที่มีอยู่

กระเป๋าเงิน Bitcoin ไม่ได้ใช้จ่ายจากยอดคงเหลือในบัญชีเดียว พวกเขาใช้จ่ายเอาต์พุตธุรกรรมที่ยังไม่ได้ใช้ซึ่งมีอยู่ ซึ่งเรียกกันทั่วไปว่า UTXO ทุก UTXO ที่เลือกจะกลายเป็นอินพุตในธุรกรรมใหม่.

อินพุตจะระบุเอาต์พุตก่อนหน้าและจัดหาข้อมูลที่จำเป็นเพื่อตอบสนองเงื่อนไขการใช้จ่ายของเอาต์พุตนั้น ขึ้นอยู่กับประเภทสคริปต์ ข้อมูลการอนุญาตบางส่วนปรากฏในซีเรียลไลซ์ของธุรกรรมฐาน และบางส่วนปรากฏใน witness.

ยอดคงเหลือที่แสดงอาจซ่อนโครงสร้างที่สำคัญต่อค่าธรรมเนียม กระเป๋าเงินที่แสดง 500,000 sats อาจควบคุม:

  • UTXO หนึ่งรายการมูลค่า 500,000 sats;
  • UTXO ห้ารายการมูลค่ารายการละ 100,000 sats;
  • หรือ UTXO ห้าสิบรายการมูลค่ารายการละ 10,000 sats.

กระเป๋าเงินทั้งสามแสดงยอดคงเหลือรวมเท่ากัน การใช้จ่ายจากกระเป๋าเหล่านี้ไม่ได้สร้างธุรกรรมเดียวกัน UTXO ที่ถูกเลือกมากขึ้นโดยทั่วไปหมายถึงอินพุตมากขึ้น และอินพุตเพิ่มเติมทุกอันนำ outpoint, ฟิลด์ sequence, สคริปต์หรือข้อมูล witness และคำนำหน้าความยาวเข้ามาในธุรกรรมที่ถูกซีเรียลไลซ์.

การชำระเงิน 50,000-sat ที่ได้รับเงินทุนจาก UTXO ที่เหมาะสมหนึ่งรายการจึงสามารถมีขนาดเล็กกว่าการชำระเงินเดียวกันที่ได้รับเงินทุนจาก UTXO เล็กแปดรายการ การเลือกเหรียญยังเปลี่ยนความเป็นส่วนตัวและชุด UTXO ในอนาคตของกระเป๋าเงิน เพื่อเปรียบเทียบต้นทุนของการรวม UTXO ตอนนี้กับการใช้จ่ายแยกกันในภายหลัง ใช้ เครื่องคำนวณการรวม UTXO ของ Bitcoin.

เอาต์พุตผู้รับและเงินทอน

เอาต์พุตธุรกรรมประกอบด้วยค่าจำนวนเต็มในหน่วย satoshis และสคริปต์ล็อก การชำระเงินผู้รับคือหนึ่งเอาต์พุต เงินทอนที่ส่งกลับไปยังผู้ส่งมักจะเป็นอีกหนึ่งเอาต์พุต.

หากกระเป๋าเงินเลือก UTXO มูลค่า 120,000-sat เพื่อทำการชำระเงิน 100,000-sat โดยปกติแล้วไม่สามารถใช้จ่ายเพียงบางส่วนของ UTXO นั้นได้ ธุรกรรมใหม่ใช้เอาต์พุตทั้งหมด หลังจากหักค่าธรรมเนียมแล้ว มูลค่าที่ไม่ได้ใช้จะกลับไปยังเอาต์พุตเงินทอนที่ควบคุมโดยกระเป๋าเงิน.

การชำระเงินทั่วไปจึงสามารถมีอินพุตหนึ่งรายการขึ้นไป เอาต์พุตสำหรับผู้รับ เอาต์พุตสำหรับเงินทอน และฟิลด์คงที่ เช่น เวอร์ชันและ locktime นอกจากนี้ยังมีจำนวนอินพุตและเอาต์พุต และอินพุตแต่ละรายการมีค่า sequence ของตัวเอง.

การเพิ่มผู้รับอีกคนจะเพิ่มเอาต์พุตหนึ่งรายการ การเพิ่มเงินทอนก็เพิ่มอีกหนึ่งรายการเช่นกัน เอาต์พุตแต่ละรายการจะเพิ่มขนาดธุรกรรม แม้ว่าอินพุตแบบลายเซ็นเดียวธรรมดามักจะเพิ่มขนาดเสมือนมากกว่าเอาต์พุตธรรมดา.

กระเป๋าเงินสามารถหลีกเลี่ยงเงินทอนได้เมื่อมูลค่าอินพุตที่เลือกใกล้เคียงกับการชำระเงินบวกค่าธรรมเนียม นอกจากนี้ยังสามารถเพิ่มเศษเล็กน้อยให้กับค่าธรรมเนียมแทนการสร้างเอาต์พุตเงินทอนที่ไม่คุ้มค่า การตัดสินใจนั้นขึ้นอยู่กับการเลือกเหรียญและกฎนโยบายของกระเป๋าเงิน ซึ่งเป็นเหตุผลว่าทำไมข้อมูล “การชำระเงินหนึ่งครั้ง” จึงไม่เพียงพอที่จะสร้างค่าธรรมเนียมขึ้นมาใหม่ได้.

ไบต์, Weight และ vSize

ธุรกรรม Bitcoin ถูกซีเรียลไลซ์เป็นไบต์ โครงสร้างดิบประกอบด้วยเวอร์ชัน จำนวนอินพุต อินพุต จำนวนเอาต์พุต เอาต์พุต และ locktime ธุรกรรม SegWit ยังรวมถึง marker, flag และฟิลด์ witness.

ก่อน SegWit การเปรียบเทียบค่าธรรมเนียมมักอ้างอิงถึงไบต์ธุรกรรมโดยตรง BIP 141 แนะนำ Weight ของธุรกรรม เพื่อให้ข้อมูล witness มีส่วนร่วมแตกต่างจากข้อมูลที่ไม่ใช่ witness.

BIP 141 นิยาม Weight ว่า:

Transaction Weight
=
ขนาดธุรกรรมฐาน × 3
+
ขนาดธุรกรรมทั้งหมด

ความสัมพันธ์เดียวกันสามารถเขียนได้เป็น:

Transaction Weight
=
ไบต์ที่ไม่ใช่ witness × 4
+
ไบต์ witness

ไบต์ที่ไม่ใช่ witness มีส่วนร่วมสี่หน่วยน้ำหนัก ไบต์ witness มีส่วนร่วมหนึ่งหน่วย การถ่วงน้ำหนักที่ต่ำกว่าไม่ได้ทำให้ข้อมูล witness ฟรี มันยังคงใช้ Weight ของบล็อกและยังคงเพิ่มขนาดที่เกี่ยวข้องกับค่าธรรมเนียม.

กระเป๋าเงินและตลาดค่าธรรมเนียมมักแสดงผลลัพธ์เป็นไบต์เสมือน ย่อว่า vB:

vSize
=
ceil(Transaction Weight ÷ 4)

การหารปัดขึ้นเป็นไบต์เสมือนทั้งหมด ขนาดฐาน ขนาดซีเรียลไลซ์ทั้งหมด Weight และ vSize เป็นการวัดที่เกี่ยวข้องกัน แต่ไม่สามารถใช้แทนกันได้ ขนาดฐานไม่รวมข้อมูลที่เกี่ยวข้องกับ witness ขนาดทั้งหมดรวมซีเรียลไลเซชันที่สมบูรณ์ Weight ใช้กฎสี่ต่อหนึ่ง vSize เปลี่ยน Weight นั้นเป็นขนาดจำนวนเต็มที่ใช้สำหรับการคำนวณอัตราค่าธรรมเนียมทั่วไป.

sat/vB กำหนดราคาธุรกรรม

หน่วยอัตราค่าธรรมเนียม Bitcoin ทั่วไปคือ satoshis ต่อไบต์เสมือน เขียนว่า sat/vB เมื่อโครงสร้างธุรกรรมสร้าง vSize แล้ว การคำนวณค่าธรรมเนียมอย่างง่ายคือ:

ค่าธรรมเนียมโดยประมาณในหน่วย sats
=
vSize ของธุรกรรม
×
อัตราค่าธรรมเนียมในหน่วย sat/vB

หน่วยต่างๆ ตัดกันอย่างเรียบร้อย: ไบต์เสมือนคูณด้วย satoshis ต่อไบต์เสมือน จะได้จำนวน satoshis ทั้งหมด.

อัตราค่าธรรมเนียมและค่าธรรมเนียมรวมตอบคำถามที่แตกต่างกัน:

  • อัตราค่าธรรมเนียม: จำนวนที่ธุรกรรมจ่ายสำหรับแต่ละหน่วยของขนาดเสมือน.
  • ค่าธรรมเนียมรวม: จำนวน satoshis ที่ธุรกรรมทั้งหมดจ่าย.

ธุรกรรมขนาดใหญ่สามารถจ่ายค่าธรรมเนียมรวมสูงในอัตราปานกลาง ธุรกรรมขนาดกะทัดรัดสามารถจ่ายรวมน้อยกว่าแม้ในอัตราที่สูงกว่า การเปรียบเทียบเฉพาะค่าธรรมเนียมรวมซ่อนความแตกต่างระหว่างขนาดธุรกรรมและความเร่งด่วนของตลาดค่าธรรมเนียม.

เมื่อทราบธุรกรรมที่ลงนามขั้นสุดท้ายแล้ว อัตราค่าธรรมเนียมที่แท้จริงสามารถคำนวณได้จากค่าธรรมเนียมจริงและ vSize จริง:

อัตราค่าธรรมเนียมที่แท้จริง
=
ค่าธรรมเนียมจริงใน sats
÷
vSize จริงใน vB

อัตราที่แท้จริงสามารถมีทศนิยมได้แม้ว่าค่าธรรมเนียมธุรกรรมเองจะเป็นจำนวนเต็มของ satoshis.

กระเป๋าเงินหรือเครื่องคิดเลขสามารถยอมรับเป้าหมายอัตราค่าธรรมเนียมทศนิยมได้ ค่าธรรมเนียมธุรกรรมเองยังคงเป็นจำนวนเต็มของ sats เนื่องจากค่าอินพุตและเอาต์พุตเป็นจำนวนเต็ม เมื่อการคูณให้ผลลัพธ์เป็นเศษส่วนของ satoshi การนำไปใช้ต้องเลือกค่าธรรมเนียมเป็น satoshi เต็ม การปัดขึ้นหลีกเลี่ยงการต่ำกว่าเป้าหมายอัตราที่ร้องขอ ซึ่งอาจทำให้อัตราที่แท้จริงสุดท้ายสูงกว่าค่าที่ป้อนเล็กน้อย.

การคำนวณค่าธรรมเนียมที่ทำซ้ำได้

ตัวอย่างต่อไปนี้จำลองโครงสร้างธุรกรรมที่ลงนามทั่วไปหนึ่งแบบ:

  • อินพุต Native SegWit P2WPKH 2 รายการ;
  • เอาต์พุตผู้รับ P2WPKH 1 รายการ;
  • เอาต์พุตเงินทอน P2WPKH 1 รายการ;
  • จำนวน CompactSize ที่แต่ละรายการพอดีในหนึ่งไบต์;
  • ลายเซ็น ECDSA ที่ทำให้เป็นอนุกรมขนาด 72 ไบต์ใน witness;
  • และอัตราค่าธรรมเนียมที่เลือก 12 sat/vB.

นี่คือแบบจำลองทางเทคนิคสำหรับการอธิบาย ไม่ใช่บันทึกธุรกรรมของผู้ใช้หรือการอ้างสิทธิ์เกี่ยวกับกระเป๋าเงินเฉพาะ ความยาวลายเซ็น ECDSA สุดท้ายอาจแตกต่างกัน ดังนั้นกระเป๋าเงินสามารถสำรอง Weight อินพุตสูงสุดที่แตกต่างกันเล็กน้อยก่อนการลงนาม.

จากซีเรียลไลเซชันจนถึงค่าธรรมเนียมสุดท้าย

อินพุต P2WPKH สองตัวมีส่วนร่วม 41 ไบต์ฐานต่อตัว เอาต์พุต P2WPKH สองตัวมีส่วนร่วม 31 ไบต์ต่อตัว ฟิลด์คงที่และจำนวนอินพุตและเอาต์พุตหนึ่งไบต์มีส่วนร่วมอีก 10 ไบต์ฐาน อินพุตที่จำลองแต่ละตัวมี 108 ไบต์ witness: หนึ่งไบต์สำหรับจำนวนรายการสแต็ก หนึ่งไบต์สำหรับความยาวลายเซ็น ลายเซ็นซีเรียลไลซ์ขนาด 72 ไบต์ หนึ่งไบต์สำหรับความยาวคีย์สาธารณะ และคีย์สาธารณะแบบบีบอัดขนาด 33 ไบต์.

ส่วนประกอบไบต์ฐานไบต์ witnessการมีส่วนร่วมของ Weight
เวอร์ชัน จำนวน และ locktime10040 WU
อินพุต P2WPKH สองตัว82216544 WU
เอาต์พุต P2WPKH สองรายการ620248 WU
เครื่องหมายและธง SegWit022 WU
รวม154218834 WU
Weight
= (154 ไบต์พื้นฐาน × 4) + 218 ไบต์ witness
= 834 WU

vSize
= ceil(834 ÷ 4)
= 209 vB

ค่าธรรมเนียม
= 209 vB × 12 sat/vB
= 2,508 sats

ทุกสมมติฐานมองเห็นได้ เปลี่ยนจำนวนอินพุต จำนวนเอาต์พุต ประเภทสคริปต์ ขนาด witness หรืออัตราค่าธรรมเนียม แล้วผลลัพธ์จะเปลี่ยนไป หากต้องการจำลองประเภทอินพุตและเอาต์พุตแบบผสม เปิด เครื่องคำนวณค่าธรรมเนียมธุรกรรม Bitcoin, ป้อนโครงสร้างที่แสดงโดยกระเป๋าเงิน และเปรียบเทียบการประมาณกับตัวอย่างธุรกรรมสุดท้าย.

การชำระเงินเดียวกัน ค่าธรรมเนียมต่างกัน

พิจารณากระเป๋าเงินสองใบที่แต่ละใบส่งการชำระเงิน 100,000-sat สร้างเอาต์พุต P2WPKH หนึ่งรายการ และใช้อัตราค่าธรรมเนียม 12 sat/vB ความแตกต่างเพียงอย่างเดียวคือจำนวนอินพุต P2WPKH.

ใช้แบบจำลองลายเซ็น 72 ไบต์เดียวกันกับตัวอย่างที่คำนวณ:

ธุรกรรมที่จำลองอินพุตเอาต์พุตน้ำหนักvSizeค่าธรรมเนียมที่ 12 sat/vB
กระเป๋าเงิน A1 P2WPKH2 P2WPKH562 WU141 vB1,692 sats
กระเป๋าเงิน B8 P2WPKH2 P2WPKH2,466 WU617 vB7,404 sats

ผู้รับได้รับจำนวนเงินเท่ากัน อัตราค่าธรรมเนียมเท่ากัน กระเป๋าเงิน B จ่ายมากขึ้นเพราะใช้จ่ายอินพุตมากขึ้นและสร้างธุรกรรมที่ใหญ่ขึ้น.

จำนวนเงินสามารถไม่เปลี่ยนแปลง โครงสร้างธุรกรรมไม่ใช่.

การประมาณค่าธรรมเนียมที่ไม่ทราบ UTXOs จริงของกระเป๋าเงินจึงเป็นสถานการณ์จำลอง ไม่ใช่ธุรกรรมสุดท้าย กระเป๋าเงินต้องเลือกอินพุตจริงก่อนจึงจะกำหนดขนาดและค่าธรรมเนียมที่เป็นไปได้.

ประเภทอินพุตเปลี่ยนต้นทุน

จำนวนอินพุตไม่ใช่ตัวแปรโครงสร้างเพียงอย่างเดียว เงื่อนไขการใช้จ่ายของเอาต์พุตที่เลือกกำหนดสิ่งที่แต่ละอินพุตต้องซีเรียลไลซ์.

โปรไฟล์ลายเซ็นเดียวทั่วไปรวมถึง Legacy P2PKH, nested SegWit P2SH-P2WPKH, Native SegWit P2WPKH และ Taproot key-path P2TR พวกมันไม่ได้เพิ่ม Weight เท่ากัน.

โปรไฟล์อินพุตทั่วไปตำแหน่งที่ข้อมูลการอนุญาตปรากฏขนาดส่วนเพิ่มสำหรับการอธิบายขอบเขตสำคัญ
P2PKHscriptSig ธุรกรรมฐานประมาณ 148 vBความยาวลายเซ็น ECDSA อาจแตกต่างกัน
P2SH-P2WPKHโปรแกรมไถ่ถอนใน scriptSig บวก witnessประมาณ 91 vBnested SegWit รวมข้อมูล wrapper
P2WPKHWitnessประมาณ 68 vBความยาวลายเซ็น ECDSA อาจแตกต่างกัน
เส้นทางคีย์ P2TRลายเซ็น Schnorr เดี่ยวใน witnessประมาณ 58 vBไบต์ sighash ที่ไม่ใช่ค่าเริ่มต้นเพิ่มหนึ่งไบต์

ตัวเลขเหล่านี้อธิบายเส้นทางการใช้จ่ายลายเซ็นเดี่ยวทั่วไป ไม่ใช่ทุกธุรกรรมที่เป็นไปได้ Multisig, P2WSH, เส้นทางสคริปต์ Taproot, จารึก, สคริปต์ที่ซับซ้อน และโครงสร้างที่ไม่ได้มาตรฐานสามารถมีข้อมูล witness ที่แตกต่างกันมาก.

ประเภทเอาต์พุตก็สำคัญเช่นกัน แม้ว่าที่อยู่รับจะไม่เปิดเผยต้นทุนอินพุตในอนาคตที่แน่นอนในทุกกรณี สำหรับการเปรียบเทียบที่เน้นการเข้ารหัสที่อยู่ ความเข้ากันได้ และตระกูลสคริปต์ทั่วไป โปรดอ่าน ประเภทที่อยู่ Bitcoin และผลกระทบต่อกระเป๋าเงิน.

ทำไมการประมาณค่าของกระเป๋าเงินจึงเปลี่ยนแปลง

การประมาณค่าธรรมเนียมของกระเป๋าเงินสามารถเปลี่ยนแปลงได้ระหว่างแบบฟอร์มการชำระเงินและหน้าจอการลงนาม แม้ว่าจำนวนเงินผู้รับจะเท่าเดิมก็ตาม การตัดสินใจสร้างธุรกรรมหลายอย่างอาจยังไม่ได้รับการแก้ไขเมื่อการประมาณค่าแรกปรากฏขึ้น.

การเลือกเหรียญและเงินทอนเป็นเพียงชั่วคราว

กระเป๋าเงินสามารถจำลองจำนวนอินพุตหนึ่งรายการในตอนแรก จากนั้นเลือกชุดอื่นหลังจากพิจารณาสถานะการยืนยัน การตั้งค่าการควบคุมเหรียญ กฎความเป็นส่วนตัว การหลีกเลี่ยงเงินทอน หรือความจำเป็นในการครอบคลุมค่าธรรมเนียม เมื่อทราบอินพุตแล้ว ก็สามารถเพิ่ม ลบ หรือเปลี่ยนประเภทของเอาต์พุตเงินทอนได้.

Bitcoin Core's fundrawtransaction เอกสารสะท้อนถึงตัวเลือกเหล่านี้: กระเป๋าเงินสามารถเพิ่มอินพุต สร้างเอาต์พุตการเปลี่ยนแปลงได้สูงสุดหนึ่งรายการ เลือกประเภทการเปลี่ยนแปลง ใช้อัตราค่าธรรมเนียมใน sat/vB หรือหักค่าธรรมเนียมจากเอาต์พุตที่ระบุ การเพิ่มอินพุตจะเพิ่ม Weight การเพิ่มการเปลี่ยนแปลงจะเพิ่มขนาดเอาต์พุต การหักค่าธรรมเนียมจะเปลี่ยนจำนวนเงินผู้รับ การหลีกเลี่ยงเอาต์พุตการเปลี่ยนแปลงเล็กน้อยสามารถย้ายส่วนที่เหลือไปเป็นค่าธรรมเนียมได้.

ลายเซ็นและอัตราค่าธรรมเนียมถูกประมาณการ

ลายเซ็น ECDSA ไม่รับประกันว่าจะมีความยาวแบบอนุกรมที่เหมือนกัน เอกสารการจัดหาเงินทุนสำหรับธุรกรรมของ Bitcoin Core แนะนำให้ใช้ขนาดลายเซ็น DER แบบอนุกรมสูงสุดเมื่อมีการระบุค่าประมาณ Weight ของอินพุตภายนอก กระเป๋าเงินจึงสามารถสำรองค่าสูงสุดที่ปลอดภัยก่อนที่ลายเซ็นจริงจะเกิดขึ้น.

อัตราค่าธรรมเนียมสามารถรีเฟรชก่อนการลงนามได้ หากกระเป๋าเงินได้รับค่าประมาณที่ใหม่กว่าหรือผู้ใช้เปลี่ยนเป้าหมายการยืนยัน อัตรา sat/vB ที่เลือกจะเปลี่ยนแม้ว่าโครงสร้างธุรกรรมจะไม่เปลี่ยนก็ตาม.

สิ่งเหล่านี้ไม่ใช่ความคลาดเคลื่อนแบบสุ่ม ค่าธรรมเนียมที่เปลี่ยนแปลงควรสอดคล้องกับชุดอินพุต โครงสร้างเอาต์พุต สมมติฐานขนาดลายเซ็น ค่าประมาณอัตราค่าธรรมเนียม หรือการรวมกันของสิ่งเหล่านี้ที่เปลี่ยนแปลง.

ความต้องการของเครือข่ายกำหนดอัตรา

โครงสร้างธุรกรรมกำหนด vSize สภาพเครือข่ายมีอิทธิพลต่ออัตราที่กระเป๋าเงินเลือกสำหรับเป้าหมายการยืนยัน.

พื้นที่บล็อก Bitcoin มีจำกัด ธุรกรรมที่ไม่ได้รับการยืนยันแข่งขันกันเพื่อรวมอยู่ในบล็อก และอัตราค่าธรรมเนียมเป็นหนึ่งในสัญญาณหลักที่ใช้เปรียบเทียบว่าธุรกรรมแต่ละรายการจ่ายเท่าใดเมื่อเทียบกับขนาดเสมือน กระเป๋าเงินสามารถเลือกอัตราที่สูงขึ้นสำหรับเป้าหมายที่ aggressive มากขึ้น หรืออัตราที่ต่ำลงเมื่อผู้ใช้ยอมรับความล่าช้ามากขึ้น.

Bitcoin Core's estimatesmartfee RPC ส่งคืนอัตราค่าธรรมเนียมโดยประมาณสำหรับธุรกรรมที่จะเริ่มการยืนยันภายในจำนวนบล็อกที่ร้องขอเมื่อมีข้อมูลเพียงพอ โดยใช้ขนาดธุรกรรมเสมือนและให้โหมดการประมาณสองโหมด:

  • ประหยัด ตอบสนองได้เร็วกว่าต่ออัตราค่าธรรมเนียมที่ลดลงในระยะสั้น และสามารถคืนค่าประมาณที่ต่ำกว่าได้.
  • อนุรักษ์นิยม ใช้ประวัติที่ยาวนานกว่า ตอบสนองต่อการลดลงในระยะสั้นได้ช้ากว่า และสามารถคืนค่าประมาณที่สูงกว่าได้.

ทั้งสองโหมดไม่ได้สำรองพื้นที่บล็อก การประมาณค่าขึ้นอยู่กับพฤติกรรมที่สังเกตได้ ไม่ใช่คำสัญญาว่านักขุดจะรวมธุรกรรมในบล็อกใดบล็อกหนึ่ง.

กระเป๋าเงิน นักสำรวจ และบริการต่างๆ สามารถใช้กรอบเวลา มุมมอง mempool ส่วนต่างความปลอดภัย และป้ายกำกับเป้าหมายที่แตกต่างกัน ดังนั้นอินเทอร์เฟซสองแบบจึงสามารถแนะนำอัตราที่แตกต่างกันในเวลาเดียวกันได้โดยไม่ต้องใช้กฎฉันทามติ Bitcoin ที่แตกต่างกัน.

ไม่มีคิว mempool ทั่วโลกเพียงคิวเดียวที่ทุกโหนดเห็นในลำดับเดียวกันทุกประการ โหนดได้รับธุรกรรมในเวลาที่ต่างกันและใช้การตั้งค่านโยบายของตนเอง การประมาณค่าของกระเป๋าเงินอธิบายข้อมูลที่มีให้กับแหล่งที่มาของค่าธรรมเนียม นักขุดจะเลือกจากธุรกรรมและนโยบายที่มีให้กับการดำเนินการขุดนั้นในที่สุด.

ธุรกรรมที่ลงนามขั้นสุดท้าย

ก่อนลงนาม กระเป๋าเงินจะประมาณข้อมูลการอนุญาตที่จำเป็นสำหรับแต่ละอินพุต หลังจากลงนาม ธุรกรรมจะประกอบด้วยลายเซ็นจริงและสแตก witness การทำให้เป็นอนุกรมขั้นสุดท้ายเผยให้เห็น Weight, vSize, ค่าธรรมเนียมรวม และอัตราค่าธรรมเนียมที่มีผลจริง.

ดังนั้นหน้าจอการลงนามควรถือว่ามีความน่าเชื่อถือมากกว่าการประมาณค่าในช่วงแรกที่ป้อนจำนวนเงิน โดยสามารถเปิดเผยได้ว่ากระเป๋าเงินเลือกอินพุตมากกว่าที่คาดไว้ เพิ่มเงินทอน ใช้ประเภทเอาต์พุตที่แตกต่างกัน สร้างขนาดลายเซ็นที่แตกต่างกัน หรือรีเฟรชอัตราค่าธรรมเนียมก่อนการอนุญาต.

รายละเอียดการชำระเงินอาจถูกต้องในขณะที่โครงสร้างธุรกรรมยังคงควรค่าแก่การตรวจสอบอีกครั้ง ตรวจสอบทั้งสองอย่างก่อนการออกอากาศ.

การเปลี่ยนแปลงค่าธรรมเนียมหลังการออกอากาศ

การออกอากาศจะส่งธุรกรรมไปยังโหนดเพื่อนบ้าน ไม่ได้รับประกันว่าทุกโหนดจะยอมรับและเก็บรักษาไว้ หรือจะปรากฏในบล็อกถัดไป ธุรกรรมใหม่สามารถเข้าสู่ตลาดค่าธรรมเนียมหลังจากของคุณ ทำให้อัตราเดิมมีการแข่งขันน้อยลง.

กระเป๋าเงินบางใบสามารถสร้างธุรกรรมทดแทนที่มีค่าธรรมเนียมสูงกว่าได้เมื่อธุรกรรมที่ยังไม่ได้รับการยืนยันมีสิทธิ์ในการเพิ่มค่าธรรมเนียม เวิร์กโฟลว์ของ Bitcoin Core bumpfee สามารถลดเงินทอนหรือเพิ่มอินพุตเมื่อจำเป็น ซึ่งหมายความว่าขนาดและค่าธรรมเนียมรวมของธุรกรรมทดแทนอาจแตกต่างจากต้นฉบับ.

อ่านตัวอย่างกระเป๋าเงินขั้นสุดท้าย

ก่อนลงนาม ให้ตรวจสอบตัวเลขที่กำหนดค่าธรรมเนียมแทนที่จะพึ่งพาบรรทัด “ค่าธรรมเนียมเครือข่าย” เพียงบรรทัดเดียว.

  1. จำนวนผู้รับ: ยืนยันจำนวนเงินที่กำหนดให้กับผู้รับที่ตั้งใจไว้ และว่าค่าธรรมเนียมถูกหักจากเอาต์พุตนั้นหรือไม่.
  2. อินพุตที่เลือก: จำนวนอินพุตที่มากกว่าที่คาดไว้อธิบายค่าธรรมเนียมที่เพิ่มขึ้นหลายรายการ.
  3. ผลลัพธ์และการทอนเงิน: ยืนยันผลลัพธ์ของผู้รับ ผลลัพธ์การทอนเงิน และปลายทางการทอนเงิน.
  4. ขนาดเสมือน: ตรวจสอบตัวเลข vB เมื่อกระเป๋าเงินแสดงให้เห็น.
  5. อัตราค่าธรรมเนียม: แยกแยะอัตราใน sat/vB จากค่าธรรมเนียมสัมบูรณ์ใน sats.
  6. ค่าธรรมเนียมรวม: ยืนยันจำนวน satoshis ทั้งหมดที่ธุรกรรมจ่าย.
  7. เป้าหมายการยืนยัน: ถือว่าเป็นการประมาณการและสังเกตว่ากระเป๋าเงินสามารถเพิ่มค่าธรรมเนียมในภายหลังได้หรือไม่.

การตรวจสอบข้ามที่มีประโยชน์ที่สุดคือเลขคณิต:

ค่าธรรมเนียมที่แสดง vSize × sat/vB ที่แสดง
ตรงกับค่าธรรมเนียมที่แสดงในหน่วย sats โดยประมาณหรือไม่?

ความแตกต่างเล็กน้อยอาจมาจากอัตราค่าธรรมเนียมทศนิยม การปัดเศษ satoshi ทั้งหมด หรือค่าที่แสดงแบบปัดเศษ ความแตกต่างใหญ่ที่ไม่สามารถอธิบายได้ควรได้รับการตรวจสอบอีกครั้งก่อนลงนาม.

สำหรับบริบทที่กว้างขึ้นเกี่ยวกับ UTXOs การยืนยัน นักขุด และการตรวจสอบ ให้ดำเนินการต่อที่ Bitcoin เครือข่ายและการอ้างอิงธุรกรรม.

สิ่งที่การประมาณการไม่สามารถรับประกันได้

การประมาณค่าธรรมเนียมที่สมบูรณ์สามารถอธิบายธุรกรรมและอัตราที่เลือกได้ ไม่สามารถรับประกัน:

  • การยืนยันในบล็อกถัดไปหรือในเวลาที่แน่นอน;
  • การยอมรับและการเก็บรักษาอย่างต่อเนื่องโดยทุกโหนด;
  • ความต้องการเครือข่ายที่ไม่เปลี่ยนแปลงหลังจากลงนามธุรกรรม;
  • หรือว่ากระเป๋าเงินเลือกอินพุตที่เป็นส่วนตัวและประหยัดที่สุดหรือจะไม่ต้องเพิ่มค่าธรรมเนียม.

คำถามที่ทำซ้ำได้นั้นแคบกว่า: ด้วยโครงสร้างธุรกรรมนี้และอัตราค่าธรรมเนียมนี้ ธุรกรรมจ่าย satoshis กี่ตัว? เวลาการยืนยันยังคงเป็นความน่าจะเป็น.

Bitcoin คำถามที่พบบ่อยเกี่ยวกับค่าธรรมเนียมธุรกรรม

ค่าธรรมเนียมธุรกรรม Bitcoin ขึ้นอยู่กับจำนวนเงินที่ส่งหรือไม่?

ไม่ ค่าธรรมเนียมธุรกรรม Bitcoin ขึ้นอยู่กับขนาดเสมือนของธุรกรรมและอัตราค่าธรรมเนียมที่เลือกเป็นหลัก จำนวนเงินที่ส่งอาจส่งผลต่อ UTXOs ที่กระเป๋าเงินต้องการ แต่การชำระเงินที่ใหญ่ขึ้นไม่ได้สร้างค่าธรรมเนียมที่ใหญ่ขึ้นโดยอัตโนมัติ.

sat/vB หมายถึงอะไร?

Sat/vB หมายถึง satoshis ต่อไบต์เสมือน เป็นอัตราค่าธรรมเนียมที่ใช้กับขนาดเสมือนของธุรกรรม การคูณ vSize ด้วยอัตราค่าธรรมเนียมจะให้ค่าธรรมเนียมรวมที่จำลองใน satoshis.

ทำไมค่าธรรมเนียมกระเป๋าเงิน Bitcoin ของฉันจึงเปลี่ยนแปลงก่อนที่ฉันจะลงนาม?

กระเป๋าเงินสามารถเลือกอินพุตที่แตกต่างกัน เพิ่มหรือลบการทอนเงิน อัปเดตประเภทการทอนเงิน สำรองขนาดลายเซ็นที่แตกต่างกัน หรือรีเฟรชอัตราค่าธรรมเนียม การเปลี่ยนแปลงใดๆ เหล่านี้สามารถเปลี่ยนแปลงค่าธรรมเนียมสุดท้ายได้.

ทำไมกระเป๋าเงินสองใบจึงเรียกเก็บค่าธรรมเนียมที่แตกต่างกันสำหรับการชำระเงินเดียวกัน?

กระเป๋าเงินสามารถควบคุม UTXOs ที่แตกต่างกัน เลือกอินพุตที่แตกต่างกัน สร้างผลลัพธ์การทอนเงินที่แตกต่างกัน ใช้การประมาณอัตราค่าธรรมเนียมที่แตกต่างกัน หรือใช้ส่วนต่างความปลอดภัยที่แตกต่างกัน จำนวนเงินที่ผู้รับได้รับอาจเท่ากันในขณะที่โครงสร้างธุรกรรมแตกต่างกัน.

ค่าธรรมเนียม Bitcoin ที่สูงขึ้นรับประกันการยืนยันที่เร็วขึ้นหรือไม่?

ไม่ อัตราค่าธรรมเนียมที่สูงขึ้นสามารถปรับปรุงลำดับความสำคัญสัมพัทธ์ของธุรกรรม แต่ไม่สามารถรับประกันบล็อกเฉพาะได้ ความต้องการในอนาคต การเลือกของนักขุด นโยบาย mempool และการค้นพบบล็อกยังคงอยู่นอกเหนือการควบคุมของกระเป๋าเงิน.

ค่าธรรมเนียม Bitcoin สามารถเพิ่มได้หลังจากการออกอากาศหรือไม่?

กระเป๋าเงินบางใบสามารถสร้างการแทนที่ด้วยค่าธรรมเนียมที่สูงขึ้นเมื่อธุรกรรมเดิมมีสิทธิ์ในการเพิ่มค่าธรรมเนียม การแทนที่สามารถลดการทอนเงินหรือเพิ่มอินพุต ดังนั้นขนาดธุรกรรมและค่าธรรมเนียมทั้งหมดจึงสามารถเปลี่ยนแปลงได้.

แหล่งข้อมูลทางเทคนิค

สูตรและขอบเขตการสร้างธุรกรรมในคู่มือนี้อ้างอิงจากข้อกำหนดหลักของ Bitcoin และเอกสาร Bitcoin Core.

  • BIP 141: วิทเนสแบบแยก — กำหนด Weight ของธุรกรรม ขนาดฐาน ขนาดทั้งหมด และขนาดธุรกรรมเสมือน.
  • Bitcoin เอกสารอ้างอิงธุรกรรมสำหรับนักพัฒนา — บันทึกอินพุตและเอาต์พุตที่ซีเรียลไลซ์และอธิบายว่าค่าเอาต์พุตถูกบันทึกใน satoshis.
  • Bitcoin Core 31.0 estimatesmartfee RPC — เอกสารอัตราค่าธรรมเนียมการยืนยันเป้าหมาย การประมาณขนาดเสมือน และโหมดประหยัดและอนุรักษ์นิยม.
  • Bitcoin Core 31.0 fundrawtransaction RPC — เอกสารการเลือกอินพุตอัตโนมัติ การสร้างเงินทอน การตั้งค่าอัตราค่าธรรมเนียม การหักค่าธรรมเนียม และสมมติฐานอินพุต-Weight.
  • Bitcoin Core 31.0 bumpfee RPC — เอกสารการแทนที่ค่าธรรมเนียมของกระเป๋าเงิน และวิธีที่ธุรกรรมที่มีค่าธรรมเนียมสูงกว่าสามารถลดเงินทอนหรือเพิ่มอินพุตได้.
  • BIP 341: Taproot — กำหนดลายเซ็นคีย์พาธ Taproot และพฤติกรรม witness ที่ใช้ในโมเดลขนาดอินพุต P2TR ทั่วไป.

แหล่งข้อมูล

  1. BIP 141: น้ำหนัก Segregated Witness และขนาดเสมือน
  2. Bitcoin Core send RPC: fee_rate ใน sat/vB
  3. Bitcoin Core estimatesmartfee RPC

เครื่องมือที่เกี่ยวข้อง

เครื่องมือที่เกี่ยวข้อง

ศูนย์หัวข้อ

เหรียญที่เกี่ยวข้อง

BTC

Bitcoin

ข้อมูลอ้างอิงตลาด Bitcoin, กราฟแท่งเทียน BTC/USDT แบบเรียลไทม์, เครื่องมือที่ใช้งานได้จริง และคำแนะนำเครือข่ายที่ผ่านการตรวจสอบ.

รีวิวเมื่อ 2026-07-25

สำรวจ Bitcoin →

เรียนรู้ต่อ

คำแนะนำที่เกี่ยวข้อง

Satoshi คืออะไร?

satoshi คือหน่วยที่เล็กที่สุดที่แสดงใน Bitcoin เรียนรู้ความสัมพันธ์ BTC หน่วยกลาง และตัวอย่างการแปลงที่แม่นยำ.

อ่านคู่มือ →