Skip to content
Tayakorn
Bitcoin Handbook

Bitcoin Handbook

LEVEL 1 · กลไกทีละชิ้น

ธุรกรรม — เงินที่ส่งต่อกันเป็นใบ ๆ

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

5.1 คิดเป็นธนบัตร อย่าคิดเป็นบัญชี

เงินใน bitcoin มีสภาพเหมือน ธนบัตรเป็นใบ ๆ มากกว่าตัวเลขในบัญชี แต่ละใบระบุมูลค่าของตัวเองและถูก "ล็อก" ไว้กับกุญแจของเจ้าของ สมมติกุญแจคุณล็อกธนบัตรใบ 0.05 อยู่หนึ่งใบ แล้วอยากจ่ายค่ากาแฟ 0.001:

  1. คำสั่งจ่ายของคุณหยิบธนบัตรใบ 0.05 มาทั้งใบ แล้วปลดล็อกด้วยลายเซ็น (ฝั่งนี้เรียกว่า input)
  2. พิมพ์ธนบัตรใหม่สองใบออกมา (ฝั่งนี้เรียกว่า output): ใบ 0.001 ล็อกไปที่กุญแจร้านกาแฟ และใบ ~0.0489 เงินทอน ล็อกกลับมาที่กุญแจตัวเอง
  3. ธนบัตรใบเดิม 0.05 ถูกประทับว่า "ใช้แล้ว" ตลอดกาล — ใครพยายามหยิบมันมาใช้ซ้ำ ทุกสำเนาของสมุดจะเห็นตรงกันว่าใบนี้ถูกฉีกไปแล้ว
input — ใบเดิมธนบัตรที่กุญแจคุณปลดได้0.05 BTCล็อกด้วยกุญแจคุณถูกฉีกถาวรทันทีทุกสำเนาเห็นตรงกันว่าใช้แล้วธุรกรรมปลดล็อกด้วยลายเซ็นแล้วพิมพ์ใบใหม่output — ใบใหม่ที่พิมพ์ออกมาร้านกาแฟ — ผู้รับ0.001 BTCล็อกด้วยกุญแจของร้านเงินทอน — กลับหาคุณ0.0489 BTCล็อกด้วยกุญแจคุณเองค่าธรรมเนียม0.0001 BTCส่วนต่างที่เหลือ ยกให้คนบันทึกสมุด0.05 = 0.001 + 0.0489 + 0.0001 — ไม่มีเศษหาย มีแต่ถูกจัดสรรใหม่สมุดไม่เคยจดยอดคงเหลือ — ยอดเงินคือผลบวกของใบที่กุญแจคุณปลดได้
FIG 5.1 จ่ายเงินคือ “ฉีกใบเก่า พิมพ์ใบใหม่” — ใบเดิมทั้งใบถูกหยิบเข้าเป็น input แล้วประทับว่าใช้แล้วตลอดกาล ส่วน output คือใบใหม่ที่ล็อกถึงผู้รับพร้อมเงินทอนที่ล็อกกลับหาเราเอง · ส่วนต่างที่ไม่ได้เขียนเป็นใบคือ fee ให้คนบันทึกสมุด · ใบที่ยังไม่ถูกฉีกพวกนี้ศัพท์เทคนิคเรียก UTXO

"ยอดเงินของคุณ" ที่กระเป๋าโชว์ จึงเป็นแค่ผลบวกที่แอปคำนวณให้จากการไล่นับธนบัตรทุกใบในสมุดที่กุญแจคุณปลดได้ — สมุดเองไม่เคยจดยอดนี้ไว้ที่ไหน (ธนบัตรที่ยังไม่ถูกใช้พวกนี้ ศัพท์เทคนิคเรียกว่า UTXO — เจอที่ไหนให้แปลในใจว่า "ธนบัตรที่ยังไม่ได้ฉีก")

5.2 ค่าธรรมเนียมกับห้องรอ

สังเกตเลขในตัวอย่างเมื่อกี้: หยิบเข้า 0.05 แต่จ่ายออก 0.001 บวกทอน 0.0489 รวมเป็น 0.0499 — หายไป 0.0001 หายไปไหน? ส่วนต่างระหว่าง input กับ output ทุกธุรกรรมคือ ค่าธรรมเนียม (fee) ที่จงใจทิ้งไว้ให้คนบันทึกธุรกรรมลงสมุดหยิบไปเป็นรางวัล (ใครคือ "คนบันทึก" — บทที่ 7 มีคำตอบเต็ม ๆ)

ธุรกรรมที่เพิ่งประกาศออกไปยังไม่ได้ลงสมุดทันที มันไปต่อคิวใน mempool (ห้องรอของธุรกรรมที่ยังไม่ได้ลงสมุด)

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

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

คนบันทึกไม่ได้เรียงคิวตามค่าธรรมเนียมรวม แต่เรียงตามค่าธรรมเนียมต่อขนาด เพราะของที่เขาขายคือ พื้นที่ บนหน้ากระดาษ ไม่ใช่จำนวนธุรกรรม หน่วยที่วงการใช้คือ sat/vB อ่านว่าซาโตชิต่อหนึ่งหน่วยขนาด (ซาโตชิคือหน่วยย่อยที่สุดของ bitcoin)

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

5.3 ธุรกรรมที่แพงที่สุดในประวัติศาสตร์ (โดยไม่ตั้งใจ)

ปี 2010 โปรแกรมเมอร์ชื่อ Laszlo Hanyecz โพสต์ขอแลกพิซซ่าสองถาดกับ bitcoin จำนวน 10,000 เหรียญ มีคนรับดีล และวันที่ 22 พฤษภาคม ธุรกรรมนั้นถูกบันทึกลงสมุด แล้วอยู่ตรงนั้นจนวันนี้ — วงการจดจำวันนี้เป็น "Bitcoin Pizza Day" ทุกปี ประเด็นของเราไม่ใช่มูลค่า แต่คือ ความถาวรของสมุด: ลองพิสูจน์ด้วยตาเอง ค้นคำว่า Bitcoin pizza transaction จะเจอรหัสธุรกรรมที่เปิดดูบน explorer ได้จริง เห็น input เห็น output ครบตามโครงสร้างที่คุณเพิ่งเรียนในบทนี้ทุกประการ — ธุรกรรมอายุสิบกว่าปี ยังกางให้โลกตรวจได้ทุกวินาที

Read the full book