top of page

การเป็นเจ้าของ[แก้]

 

แบบจำลองลูกโซ่การเป็นเจ้าของ[4] ในความเป็นจริงแล้วการซื้อขายสามารถมีข้อมูลเข้าและข้อมูลออกมากกว่าหนึ่งจำนวน

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

หากกุญแจสาธารณะหายไป ระบบบิตคอยน์จะไม่สามารถจำแนกหลักฐานความเป็นเจ้าของแบบอื่นได้[10] ทำให้เหรียญใช้ไม่ได้และสูญเสียมูลค่า ตัวอย่างเช่น ในพ.ศ. 2556 ผู้ใช้คนหนึ่งอ้างว่าเผลอทิ้งฮาร์ดดิสก์ที่มีกุญแจสาธารณะ ทำให้บิตคอยน์จำนวน 7,500 บิตคอยน์ ซึ่งในขณะนั้นมีมูลค่า 7.5 ล้านเหรียญสหรัฐ (ประมาณ 244 ล้านบาท) ได้หายไป[48] ปัญหานี้จะไม่เกิดขึ้นหากเพียงเขาสำรองข้อมูลกุญแจไว้[49]

การขุด[แก้]

 

กราฟแบบเซมิล็อกของความยากในการขุดสัมพัทธ์[c][46]

การขุด (mining) เป็นบริการบันทึกข้อมูลผ่านการใช้พลังในการคำนวณผล (processing power) ของคอมพิวเตอร์[d] ผู้ขุด (miner) ช่วยทำให้บล็อกเชนมีความสม่ำเสมอ สมบูรณ์ และเปลี่ยนแปลงไม่ได้ โดยการตรวจสอบซ้ำ ๆ และเก็บบันทึกการซื้อขายใหม่ที่ถูกเผยแพร่ไปยังกลุ่มการซื้อขายใหม่ที่เรียกว่าบล็อก[43] แต่ละบล็อกประกอบไปด้วยการเข้ารหัสแบบแฮช (cryptographic hash) หรือการเข้ารหัสทางเดียว ของบล็อกก่อนหน้า[43] โดยการใช้ขั้นตอนวิธีแฮช SHA-256[7]:ch. 7 ซึ่งเชื่อมต่อกับบล็อกก่อนหน้า[43] เป็นจุดกำเนิดของชื่อบล็อกเชน

บล็อกใหม่ต้องมีสิ่งที่เรียกว่า การพิสูจน์งาน (Proof-of-work) จึงจะได้รับการยอมรับจากระบบ[43] การพิสูจน์งานต้องการให้ผู้ขุดหาตัวเลขที่เรียกว่า nonce ที่ให้ผลลัพธ์จำนวนน้อยกว่าเป้าหมายความยากของระบบเมื่อถูกเข้ารหัสแบบแฮชด้วย nounce[7]:ch. 8 การพิสูจน์นี้ง่ายที่จุดต่อใดก็ตามที่เป็นส่วนหนึ่งของเครือข่ายจะทำการตรวจสอบ ทว่ากินเวลาอย่างมากหากจะสร้างขึ้นเอง ผู้ขุดต้องลองจำนวน nounce หลายจำนวนเพื่อบรรลุเป้าหมายความยาก โดยมักเริ่มทดสอบจากค่า 0, 1, 2, 3, ... ตามลำดับ[7]:ch. 8

ทุก ๆ 2,016 บล็อก (ประมาณ 14 วัน หากใช้เวลา 10 นาทีต่อบล็อก) เป้าหมายความยากถูกปรับตามสมรรถนะใหม่ของระบบ โดยมีเป้าหมายที่จะคงเวลาเฉลี่ยระหว่างบล็อกใหม่ไว้ที่ 10 นาที วิธีนี้ทำให้ระบบปรับตัวเข้ากับพลังการขุดของเครือข่ายอย่างอัตโนมัติ[7]:ch. 8

ระหว่างวันที่ 1 มีนาคม พ.ศ. 2557 จนถึง 1 มีนาคม พ.ศ. 2558 จำนวนเฉลี่ยนของ nounce ที่นักขุดต้องทดลองเพื่อสร้างบล็อกใหม่เพิ่มขึ้นจาก 16.4 × 1018 เป็น 200.5 × 1018[51]

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

bottom of page