กลไกธุรกรรม Bitcoin: UTXO, การเข้ารหัสกุญแจสาธารณะ, และสคริปต์

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

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

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

รากฐานของการเป็นเจ้าของ: การเข้ารหัสกุญแจสาธารณะ

การทำความเข้าใจคู่กุญแจ

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

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

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

บทบาทของลายเซ็นดิจิทัล

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

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

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

ส่วนประกอบ ฟังก์ชัน การมองเห็น
กุญแจส่วนตัว ลงนามธุรกรรมเพื่อพิสูจน์การเป็นเจ้าของ ลับ (เจ้าของเท่านั้น)
กุญแจสาธารณะ ตรวจสอบลายเซ็นกับที่อยู่ สาธารณะ (เครือข่าย)
ที่อยู่ จุดหมายสำหรับรับเงินทุน สาธารณะ (ทุกคน)

โมเดล Unspent Transaction Output (UTXO)

วิธีที่ Bitcoin จัดการมูลค่า

ผู้คนส่วนใหญ่คุ้นเคยกับโมเดล "account-based" ที่ใช้โดยธนาคารและบัตรเครดิต ในระบบนั้น หากคุณมี $100 และใช้จ่าย $20 ธนาคารเพียงอัปเดตข้อมูลฐานข้อมูลของคุณเป็น $80 Bitcoin ใช้ตรรกะที่แตกต่างที่เรียกว่าโมเดล Unspent Transaction Output (UTXO) ในระบบนี้ ไม่มียอดคงเหลือถาวร มีเพียงชิ้นส่วนของ bitcoin ที่ได้รับแต่ยังไม่ได้ใช้

จินตนาการ UTXO เหล่านี้เป็นเงินสดดิจิทัลหรือก้อนทองคำขนาดต่างๆ หากคุณรับธุรกรรม 0.5 BTC และอีก 0.3 BTC คุณจะถือ UTXO สองตัวที่แตกต่างกันในกระเป๋าเงินของคุณ พวกมันไม่รวมเป็น "เหรียญ" 0.8 BTC เดียวบนบล็อกเชน แม้ว่าซอฟต์แวร์กระเป๋าเงินของคุณจะแสดงผลรวมเพื่อความสะดวก พวกมันยังคงเป็นบันทึกมูลค่าที่แยกจากกันรอการใช้งาน

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

อินพุต, เอาต์พุต, และเงินทอน

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

ตัวอย่างเช่น หากนักขุดได้รับรางวัลบล็อก 6.25 BTC นั่นคือ UTXO เดียว หากนักขุดต้องการส่ง 1 BTC ไปยัง Alice พวกเขาไม่สามารถส่ง 1 BTC เพียงอย่างเดียวได้ พวกเขาต้องสร้างธุรกรรมที่ใช้ UTXO 6.25 BTC เป็นอินพุต ธุรกรรมนั้นจะมีเอาต์พุตสองตัว

เอาต์พุตแรกส่ง 1 BTC ไปยัง Alice เอาต์พุตที่สองส่ง 5.25 BTC ที่เหลือกลับไปยังที่อยู่ของนักขุดเอง เอาต์พุตที่สองนี้เรียกว่า "change output" บนบล็อกเชน UTXO 6.25 BTC เดิมจะถูกทำเครื่องหมายว่าใช้จ่ายแล้วและไม่ถูกต้องสำหรับธุรกรรมในอนาคต แทนที่ด้วย UTXO ใหม่สองตัว (1 BTC และ 5.25 BTC) ที่ถูกสร้างและบันทึก โซ่ของอินพุตและเอาต์พุตนี้สร้างประวัติที่ไม่สามารถทำลายได้ของสกุลเงิน

Bitcoin Script: ภาษาของธุรกรรม

การดำเนินการแบบ Stack-Based

ธุรกรรม Bitcoin ไม่ใช่แค่การโอนมูลค่าธรรมดา แต่เป็นคำสั่งที่สามารถตั้งโปรแกรมได้ คำสั่งเหล่านี้ถูกเขียนในภาษาที่เรียกว่า Bitcoin Script แตกต่างจากภาษาโปรแกรมที่ซับซ้อนที่ใช้สำหรับการพัฒนาซอฟต์แวร์ทั่วไป Script ถูกออกแบบให้เรียบง่ายโดยตั้งใจ มันเป็น "stack-based" หมายถึงการประมวลผลข้อมูลโดยการผลักไอเท็มลงในรายการ (stack) และดำเนินการกับไอเท็มด้านบน

Script ยังไม่ใช่ Turing-complete หมายถึงขาดความสามารถในการสร้างลูปหรือตรรกะซับซ้อนที่อาจทำงานไม่สิ้นสุด การออกแบบนี้เป็นคุณสมบัติความปลอดภัยโดยเจตนา โดยการจำกัดความซับซ้อนของภาษา เครือข่ายป้องกันลูปไม่มีที่สิ้นสุดที่อาจทำให้โหนดล้มหรือให้ผู้โจมตีติดระบบด้วยคำสั่งที่ใช้การคำนวณแพง

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

การปลดล็อกและการตรวจสอบ

เพื่อใช้จ่ายเงินทุนเหล่านั้นในภายหลัง เจ้าของสร้างธุรกรรมใหม่ที่มี "Unlocking Script" (ScriptSig) สคริปต์นี้มีลายเซ็นดิจิทัลและกุญแจสาธารณะ เมื่อโหนดตรวจสอบธุรกรรม มันจะรันสคริปต์ทั้งสองร่วมกัน วางสคริปต์ปลดล็อกบน stack ตามด้วยสคริปต์ล็อกจากธุรกรรมก่อนหน้า

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

ตัวอย่างเช่น สคริปต์สามารถเขียนเพื่อต้องการลายเซ็นหลายราย (Multi-Sig) โดยกุญแจที่กำหนดสามตัวต้องเซ็นสองตัวก่อนเงินทุนจะเคลื่อนไหว สคริปต์ยังสามารถบังคับล็อกเวลา ป้องกันการใช้จ่ายเงินทุนจนกว่าจะถึงความสูงบล็อกที่กำหนด ความสามารถในการตั้งโปรแกรมนี้เป็นพื้นฐานสำหรับคุณสมบัติขั้นสูงเช่น Lightning Network และ sidechains ซึ่งใช้สคริปต์ซับซ้อนเพื่อเปิดใช้งานการชำระเงินนอกเชนที่เร็วกว่าและถูกกว่า

วงจรชีวิตธุรกรรม: จากกระเป๋าเงินสู่บล็อกเชน

การสร้างและการประกาศ

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

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

หากธุรกรรมผ่านการตรวจสอบเหล่านี้ โหนดจะเพิ่มมันลงในพื้นที่ชั่วคราวที่เรียกว่า "mempool" (memory pool) mempool ไม่ใช่คิวกลางเดี่ยว แต่เป็นคอลเลกชันท้องถิ่นของธุรกรรมที่ถูกต้องและยังไม่ยืนยันที่เก็บโดยโหนดแต่ละตัว ในขั้นตอนนี้ ธุรกรรมเป็นที่รู้จักของเครือข่ายแต่ยังไม่ใช่ส่วนหนึ่งของประวัติบล็อกเชนถาวร

ตลาดค่าธรรมเนียมและการจัดลำดับความสำคัญ

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

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

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

การขุดและฉันทามติ

นักขุดมีบทบาทสุดท้ายในการทำให้กลไกธุรกรรมมั่นคง นักขุดเลือกชุดธุรกรรมจาก mempool เพื่อสร้างบล็อกผู้สมัคร จากนั้นพวกเขาจะทำ Proof of Work (PoW) ซึ่งเป็นกระบวนการที่ใช้การคำนวณสูง โดยแข่งขันแก้ปริศนาคณิตศาสตร์ที่อิงจากข้อมูลในบล็อกนั้น

กระบวนการนี้ต้องแฮชส่วนหัวบล็อกซ้ำๆ ด้วยตัวเลขสุ่มที่เรียกว่า nonce จนกว่าแฮชที่ได้จะต่ำกว่าความยากเป้าหมายเฉพาะ ความยากจะปรับอัตโนมัติทุก 2,016 บล็อกเพื่อให้แน่ใจว่าบล็อกใหม่ถูกพบประมาณทุก 10 นาที โดยไม่คำนึงถึงพลังการคำนวณที่เข้าร่วมเครือข่ายมากแค่ไหน

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

การแก้ปัญหา Double-Spend

ความท้าทายของการทำซ้ำดิจิทัล

ในขอบเขตดิจิทัล ข้อมูลคัดลอกได้ง่าย หากคุณส่งรูปภาพทางอีเมล คุณยังคงเก็บไฟล์ต้นฉบับ สำหรับสกุลเงินดิจิทัล สิ่งนี้ก่อให้เกิดช่องโหว่ร้ายแรงที่เรียกว่าปัญหา double-spend โดยปราศจากกลไกป้องกัน ผู้ร้ายสามารถเซ็นธุรกรรมส่ง 1 BTC ไปยังพ่อค้าพร้อมกันเซ็นธุรกรรมอื่นส่ง 1 BTC เดียวกันนั้นไปยังตัวเองหรือบุคคลอื่น

ในระบบกลาง ธนาคารป้องกันโดยการดูแลสมุดบัญชีหลัก ในเครือข่ายกระจายศูนย์ ไม่มีหน่วยงานกลางที่จะบอกว่าธุรกรรมไหนมาก่อน Bitcoin แก้ไขโดยการรวมสมุดบัญชีบล็อกเชนสาธารณะและ Proof of Work

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

ความไม่สามารถย้อนกลับผ่าน Proof of Work

อย่างไรก็ตาม ความแตกต่างของเวลาอาจทำให้โหนดต่างๆ ยอมรับเวอร์ชันความจริงที่แตกต่างกันชั่วคราว นี่คือจุดที่การขุดตัดสิน "ความจริง" ใน Bitcoin ถูกกำหนดโดยโซ่ยาวที่สุดที่มี Proof of Work สะสมมากที่สุด เมื่อธุรกรรมถูกรวมในบล็อก มันกลายเป็นส่วนหนึ่งของประวัติอย่างเป็นทางการ

เพื่อย้อนกลับหรือ double-spend ธุรกรรมที่ยืนยันในบล็อกแล้ว ผู้โจมตีต้องขุดบล็อกนั้นและบล็อกถัดๆ ไปเร็วกว่าระบบเครือข่ายที่เหลือรวมกัน นี่เรียกว่าการโจมตี 51% ต้นทุนพลังงานและฮาร์ดแวร์มหาศาลที่จำเป็นทำให้สมุดบัญชีแทบไม่สามารถเปลี่ยนแปลงได้

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

บทบาทของโหนดในการรักษาความสมบูรณ์ของเครือข่าย

การตรวจสอบเทียบกับการขุด

เป็นความเข้าใจผิดทั่วไปที่ว่านักขุดเท่านั้นที่รักษาความปลอดภัยเครือข่าย ในขณะที่นักขุดจัดลำดับธุรกรรมและสร้างบล็อก "โหนด" คือผู้ตรวจสอบที่บังคับใช้กฎ โหนดคือคอมพิวเตอร์ใดๆ ที่รันซอฟต์แวร์ Bitcoin ที่เก็บบล็อกเชนและตรวจสอบการรับส่งข้อมูล

โหนดเต็มรูปแบบดาวน์โหลดบล็อกและธุรกรรมทุกตัว พวกเขาตรวจสอบลายเซ็นดิจิทัล ตรวจสอบว่าจำนวนอินพุตครอบคลุมเอาต์พุต และให้แน่ใจว่าไม่มีเหรียญถูก double-spend สำคัญคือ โหนดยังตรวจสอบงานของนักขุด หากนักขุดสร้างบล็อกที่ละเมิดกฎโปรโตคอล เช่น ให้รางวัลตัวเอง bitcoin มากเกินไปหรือรวมธุรกรรมไม่ถูกต้อง โหนดจะปฏิเสธบล็อกทันที

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

การกระจายศูนย์และความน่าเชื่อถือ

ความแข็งแกร่งของกลไกธุรกรรม Bitcoin อาศัยความหลากหลายและจำนวนของโหนดเหล่านี้ ยิ่งโหนดกระจายตัวมากเท่าใด ก็ยิ่งยากสำหรับหน่วยงานใดในการเซ็นเซอร์ธุรกรรมหรือปิดเครือข่าย โหนดสื่อสารแบบ peer-to-peer เผยแพร่ข้อมูลธุรกรรมเหมือนข่าวลือที่แพร่กระจายในฝูงชน

ไม่มีเซิร์ฟเวอร์กลางให้แฮ็ก หากส่วนหนึ่งของอินเทอร์เน็ตออฟไลน์ โหนดที่เหลือยังคงทำงาน เมื่อโหนดที่ตัดการเชื่อมต่อกลับมา พวกเขาจะซิงค์กับเครือข่ายเพื่อดาวน์โหลดประวัติที่ขาดหาย สถาปัตยกรรมนี้รับประกันว่าสมุดบัญชีคงที่และใช้งานได้ทั่วโลก 24/7 โดยไม่มีเวลาหยุด

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

ค่าธรรมเนียมเครือข่ายและน้ำหนักข้อมูล

การคำนวณต้นทุน

ต้นทุนของธุรกรรม Bitcoin มักถูกเข้าใจผิด มันไม่ใช่เปอร์เซ็นต์ของจำนวนที่ส่ง เช่น ค่าธรรมเนียมประมวลผลบัตรเครดิต แต่เป็นการชำระเงินสำหรับพื้นที่บล็อก พื้นที่บล็อกเป็นสินค้าที่ขาดแคลน จำกัดที่ความจุเฉพาะต่อบล็อก (โดยแนวคิด 1MB แม้ว่าจะปรับปรุงโดย SegWit weighting)

เพราะระบบใช้โมเดล UTXO ขนาดข้อมูลของธุรกรรมขึ้นอยู่กับความซับซ้อนของอินพุตและเอาต์พุต ธุรกรรมที่รวมสิบอินพุตเล็กๆ เข้าด้วยกันเป็นเอาต์พุตเดียวมีข้อมูลลายเซ็นดิจิทัลมากกว่าธุรกรรมที่ใช้อินพุตเดียว ดังนั้นจึงใช้ไบต์มากกว่าในบล็อก

นักขุดคิดค่าต่อหน่วยข้อมูล โดยทั่วไปวัดใน satoshis ต่อไบต์ (sat/vB) "satoshi" คือหน่วยเล็กสุดของ Bitcoin (0.00000001 BTC) หากอัตราตลาดปัจจุบันคือ 50 sats/byte ธุรกรรมง่ายๆ อาจเสียค่าใช้จ่าย $2 ในขณะที่ธุรกรรมซับซ้อนอาจเสีย $10 แม้โอนมูลค่าเดียวกัน

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

การจัดการความแออัด

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

สำหรับผู้ที่ตั้งค่าธรรมเนียมต่ำเกินไป ธุรกรรมไม่หายไป มันค้างใน mempool เพียงแค่นั้น ในที่สุด หากไม่ถูกนักขุดเลือก มันจะถูกดรอปจากหน่วยความจำโหนด และเงินทุนจะยังคงอยู่ในกระเป๋าเงินผู้ส่ง ในสถานการณ์เร่งด่วน ผู้ใช้สามารถใช้ตัวเร่งธุรกรรมหรือโปรโตคอล "Replace-by-Fee" (RBF) เพื่อเพิ่มค่าธรรมเนียมของธุรกรรมที่ติด และประกาศใหม่ด้วยแรงจูงใจสูงกว่าสำหรับนักขุด

สรุป

กลไกธุรกรรม Bitcoin แสดงการเปลี่ยนจากระบบการเงินที่อาศัยความเชื่อใจไปสู่ระบบเข้ารหัสที่อาศัยการตรวจสอบ โดยการแทนที่ยอดคงเหลือบัญชีด้วยโมเดล UTXO Bitcoin จัดการมูลค่าเป็นโซ่การดูแลดิจิทัลที่ใครๆ ก็ตรวจสอบได้ การเข้ารหัสกุญแจสาธารณะรับประกันว่าเฉพาะเจ้าของกุญแจส่วนตัวเท่านั้นที่เริ่มการโอนเหล่านี้ ให้ระดับความปลอดภัยที่ไม่พึ่งพาห้องนิรภัยธนาคารหรือการตรวจสอบตัวตน

ระบบนี้ถูกยึดไว้โดยการทำงานร่วมกันของโหนด นักขุด และกฎเฉพาะของ Bitcoin Script ภาษาสคริปต์ แม้ถูกจำกัดขอบเขตโดยตั้งใจ แต่ให้ตรรกะที่จำเป็นในการตรวจสอบการเป็นเจ้าของและเปิดใช้งานเงื่อนไขการใช้จ่ายซับซ้อนโดยไม่กระทบความมั่นคงเครือข่าย ตลาดค่าธรรมเนียมที่แข่งขันและ mempool รับประกันว่าพื้นที่บล็อกที่จำกัดถูกจัดสรรอย่างมีประสิทธิภาพ ในขณะที่ Proof of Work ให้ความปลอดภัยแบบอุณหพลศาสตร์ที่ทำให้สมุดบัญชีไม่สามารถเปลี่ยนแปลงได้

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

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