Network – ขั้นตอนการทำงานของเครือข่าย

ขั้นตอนการทำงานของเครือข่ายเป็นดังนี้:

  1. ธุรกรรมใหม่จะถูกกระจาย (broadcast) ไปยังทุกโหนด
  2. แต่ละโหนดจะรวบรวมธุรกรรมใหม่ ๆ มาสร้างเป็นบล็อก
  3. แต่ละโหนดพยายามหาค่า Proof-of-Work ที่ยากสำหรับบล็อกนั้น
  4. เมื่อมีโหนดเจอ Proof-of-Work ที่ถูกต้อง จะกระจายบล็อกออกไปยังเครือข่าย
  5. โหนดยอมรับบล็อกนั้นก็ต่อเมื่อทุกธุรกรรมในบล็อกถูกต้องและไม่มีการใช้จ่ายซ้ำ
  6. โหนดที่ยอมรับบล็อกจะเริ่มทำงานสร้างบล็อกถัดไป โดยใช้ hash ของบล็อกก่อนหน้าเป็นตัวเชื่อมต่อ

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

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

สรุป

  • เครือข่าย Bitcoin ใช้หลักการ broadcast แบบ best effort → ไม่ต้องครบทุกโหนด
  • Consensus = Longest Chain Wins → ความถูกต้องมาจาก “งานรวม” ไม่ใช่การโหวตโดยตรง
  • ระบบมี ความทนทาน (resilience) ต่อการแตก branch และ latency ของเครือข่าย
  • ทุกโหนดทำงานอิสระ แต่สอดคล้องกันโดยกลไก Proof-of-Work

วิเคราะห์เชิงธุรกิจ/กลยุทธ์

  1. โมเดลเครือข่ายไร้ศูนย์กลาง
    • แต่ละโหนดทำงานอิสระ ไม่ต้องประสานงานกันโดยตรง → ลด bottleneck
    • Consensus เกิดขึ้น “โดยธรรมชาติ” → คล้ายตลาดเสรีที่แก้ไขตัวเอง
  2. การบริหารความขัดแย้ง
    • หากมีข้อมูล “ซ้ำ” (เช่นบล็อกสองชุด) → ระบบรอเวลาตัดสินใจ ไม่ต้องมีผู้พิพากษา
    • นี่คือการจัดการ “conflict resolution” แบบอัตโนมัติในระดับโครงสร้าง
  3. บทเรียนสำหรับนนท์
    • เวลาออกแบบระบบ AI/ธุรกิจ → อย่าคิดว่า network ต้อง perfect → design for eventual consistency
    • ใช้กฎง่าย ๆ (เช่น Longest Chain) เพื่อแก้ปัญหาความซับซ้อน
    • นี่คือ mindset ของ “ระบบที่ทนทาน” (anti-fragile system) ที่ทำงานได้แม้ไม่สมบูรณ์

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *