Planning
Outline-text
ชื่อหัวข้อที่จะนำเสนอ
- EP 4 : Proof-of-Work
โครงสร้างของเนื้อหา
- หัวข้อที่ 1 : เกริ่นนำ จาก EP 3 : การบันทึกเวลา (Timestamp Server) ซึ่งถูกนำมาใช้ในการแก้ปัญหา Double spending ทำให้เราสามารถรู้ได้ว่า Block ใดมาก่อนหรือหลัง แต่การแก้ปัญหาโดยใช้ Timestamp นั้นจะต้องมีระบบที่ชื่อว่า “Proof-of-Work” เข้ามาช่วย อธิบายว่าทำไมต้องเข้ามาช่วย
- หัวข้อที่ 2 : Proof of work ถูกนำมาใช้ทำ Timestamp ยังไง วิธีการทำคือยังไง
- หัวข้อที่ 3 : Proof of work แก้ปัญหาในเรื่องการหาเสียงส่วนใหญ่ที่จะเป็นสิ่งที่ตัดสินใจในระบบ
- หัวข้อที่ 4 : หากติดตามมาจนถึง หัวข้อ Proof-of-Work แล้วยังเห็นภาพกระบวนการทำธุรกรรม (Transactions) ของ Bitcoin ไม่ชัดเจน ใน EP หน้า ทุกคนจะเห็นภาพได้ชัดเจนยิ่งขึ้น หากไม่อยากพลาดที่สำคัญนี้ ติดตามต่อได้ใน EP 5 : Network (Bitcoin Whitepaper) - Experimental / Content Board - Hashpire Community
Q 1 : timestamp สร้าง Proof of work โดยเพิ่มจำนวน Nonce ใน Block คำนวณจากอะไร
ประเด็นสำคัญของบทความ
- Proof-of-Work คืออะไร มาทำ Timestamp ยังไง
สิ่งที่ผู้อ่านจะได้รับจากบทความ
- เข้าใจระบบ Proof-of-Work ในเบื้องต้น
Outline-graphic
รูปแบบของกราฟฟิค + โครงสร้าง
คำถามที่รบกวนให้ Reviewer ช่วยตอบค่ะ
1. ต้องการรู้ประเด็นไหนเพิ่มเติมไหม เพราะอะไร
2. คิดว่าเรียงลำดับการนำเสนอได้ดีรึยัง ถ้าไม่ดี มีไอเดียอย่างไร
3. มีประเด็นไหนควรตัดทิ้งไหม เพราะอะไร
Content text + graphic
คำศัพท์ที่ควรรู้ก่อนอ่านบทความ
Node : ผู้ที่มีส่วนร่วมในเครือข่าย หมายถึงคอมพิวเตอร์หรืออุปกรณ์ที่เชื่อมต่อเข้ากับเครือข่าย Blockchain
Chain : สายโซ่ที่เชื่อมต่อ Block เข้าหากันในเครือข่าย Blockchain
Block : สิ่งที่ใช้ในการจัดเก็บข้อมูล
Nonce : ตัวเลขสุ่ม
Attacker : ผู้โจมตีระบบ
Double-spending : การทำธุรกรรมซ้ำ
Exponential : ฟังก์ชันเลขชี้กำลัง ที่จะมีค่าเพิ่มขึ้นหรือลดลงแบบทวีคูณ
IP หรือ IP Address ( internet Protocal Address ) : คือ หมายเลขประจำเครื่องคอมพิวเตอร์แต่ละเครื่องในระบบเครือข่าย
จาก EP 3 : การบันทึกเวลา (Timestamp Server) จะเห็นได้ว่า Bitcoin ใช้ Timestamp Server ในการจัดอันดับธุรกรรม เพื่อให้แต่ละ Node มีอันดับธุรกรรมที่จัดเรียงแบบเดียวกันและทราบว่าธุรกรรมใดมาก่อนหรือหลัง ทำให้สามารถแก้ปัญหา Double-spending ได้ แต่ว่ามันก็ยังไม่สามารถแก้ปัญหาได้ทั้งหมด เนื่องจากในการใช้งานจริง เมื่อมีการส่ง Block ไปมาจำนวนมากอาจจะทำให้แต่ละ Node มี Timestamp Server ที่แตกต่างกันไปจนไม่สามารถระบุได้ว่า Timestamp Server ชุดใดเป็นชุดที่ถูกต้อง ซึ่ง Bitcoin ได้แก้ปัญหาดังกล่าวด้วยการนำระบบ “Proof-of-Work” เข้ามาช่วย
การใช้ระบบ Proof-of-work ในการทำ Timestamp Server ของ Bitcoin
Bitcoin ต้องการสร้างระบบกระจายการบันทึกเวลา (Distributed Timestamp Server) แบบ Peer-to-Peer (P2P) โดยใช้ Proof-of-work ซึ่งจะมีการตั้งโจทย์ว่าต้องการบิตที่เป็นเลข 0 จำนวนกี่ตัว จากนั้นเราจะทำการประมวล (work) เพื่อหาบิตที่เป็นเลข 0 ให้ได้มากกว่าที่โจทย์กำหนด โดยการเพิ่มจำนวน Nonce ลงใน Block จนกว่าจะเจอค่าที่ทำให้ Block Hash มีจำนวนบิตเป็นเลข 0 มากที่สุด ดังนั้น ยิ่งโจทย์ต้องการบิตที่เป็นเลข 0 มากเท่าไร ความยากในการประมวลผล (Work) ที่ใช้จะเพิ่มขึ้นแบบ Exponential ตามไปด้วย
Proof-of-work ช่วยตัดสินความถูกต้องของ Timestamp Server อย่างไร
ถ้าหากว่าการหาเสียงส่วนใหญ่ที่เป็นตัวตัดสินใจในระบบเป็นแบบ 1 IP 1 Vote อาจจะมีโอกาสที่ใครสักคนจะสร้าง IP จำนวนมากขึ้นมาเพื่อควบคุมระบบได้
แต่ Proof-of-work จะใช้การหาเสียงส่วนใหญ่ในระบบแบบ 1 CPU 1 Vote โดย Chain ที่ยาวที่สุดหรือมีการทำ Proof-of-work มากที่สุด ก็คือ Chain ที่ได้รับการ Vote มากที่สุด ซึ่งจะถือได้ว่าเป็น Chain ที่เสียงส่วนใหญ่ในระบบเชื่อถือ ถ้าหากเสียงส่วนใหญ่ในระบบยังถูกควบคุมโดย Node ที่ซื่อสัตย์ Chain ที่ถูกต้องจะยังคงเป็น Chain ที่ยาวที่สุดเมื่อเทียบกับ Chain อื่น ๆ
การแก้ไข Block ที่ผ่านไปแล้ว Attacker จะต้องทำการประมวลผล Proof-of-work ใน Block นั้นใหม่และต้องสร้าง Block ให้เร็วและมี Chain ยาวกว่า Chain ที่ Node ซื่อสัตย์สร้างขึ้น
แต่ความเป็นไปได้ที่ Attacker จะสร้าง Block ได้ทันจะน้อยลงแบบ Exponential ในทุก ๆ Block ที่เพิ่มขึ้นมาใน Chain ซึ่งค่าความยาก (Difficult) ในการทำ Proof-of-work จะถูกกำหนดโดยดูจากค่าเฉลี่ยของจำนวน Block ที่ถูกสร้างขึ้นในแต่ละชั่วโมง ถ้ามันถูกสร้างเร็วเกินไป ค่าความยากก็จะเพิ่มขึ้นตามไปด้วย
การทำงานของระบบ Blockchain ของ Bitcoin ประกอบด้วย ธุรกรรม (Transactions) , การบันทึกเวลา (Timestamp Server) จนมาถึงการทำ Proof-of-Work ทั้งหมดนี้จะถูกนำไปรวมอยู่ในระบบบางอย่างที่จะทำให้ทุกคนเห็นภาพการทำงานที่ชัดเจนมากยิ่งขึ้น หากอยู่รู้ว่าระบบที่ว่าคืออะไร ติดตามต่อได้ใน Series : Bitcoin Whitepaper EP ต่อไป