What is Compact Blocks?
Compact Blocks เป็นวิธีให้ node ของ Bitcoin แลกเปลี่ยนบล็อกใหม่ด้วยไบต์ที่น้อยลงมาก โดยไม่สูญเสียข้อมูลใดๆ แทนที่จะส่งธุรกรรมเต็มๆ ทั้งหมด Node จะสลับสรุปขนาดเล็กเพื่อให้เพียร์สามารถสร้างบล็อกจากสิ่งที่พวกเขามีอยู่แล้ว คิดซะเหมือนส่งข้อความชื่อเพลย์ลิสต์ให้เพื่อนที่ได้ดาวน์โหลดเพลงแล้ว
“Compact Blocks เปลี่ยน ขนาดของบล็อก.” ไหมล่ะ บล็อกบนเชนยังคงเดิม นี่เป็นเพียงวิธีที่ peers ซิงค์มันเร็วขึ้นและเบาขึ้นบนเครือข่าย
How Compact Blocks works
จินตนาการถึงผู้ขุดที่พบบล็อกที่ถูกต้องและ node ของคุณต้องการมันทันที แทนที่จะส่งทั้งบล็อก หนึ่ง neighbor ส่งชุดเล็กๆ เพื่อให้คุณสร้างใหม่ได้ในท้องถิ่น
- Step 1: node ประกาศบล็อกใหม่ด้วยการส่ง บล็อก headers และคำแนะนำสั้นๆ
- Step 2: ร่วมกับ header มันรวม IDs สั้นๆ สำหรับธุรกรรมที่คิดว่าคุณมีอยู่ใน mempool ของคุณ
- Step 3: node ของคุณ แมตช์ IDs สั้นๆ เหล่านั้นกับรายการ mempool และสร้างบล็อกส่วนใหญ่ไว้ในเครื่อง
- Step 4: หากมีสิ่งที่หายไป Node ของคุณร้องขอเฉพาะธุรกรรมที่ขาดหายไป
- Step 5: คุณตรวจสอบบล็อกที่สร้างใหม่และดำเนินชีวิตต่อไป โดยเร็วขึ้นหลายร้อยมิลลิวินาที
ข้อความขนาดเล็ก การซิงค์เร็ว ความปลอดภัยเหมือนเดิม ใช่ นั่นคือไอเดีย
Why Compact Blocks Matters
เพราะเวลาและแบนด์วิดธ์คือเงิน และ node ชอบทั้งคู่
- Benefit: ข้อมูลที่ถูกส่งต่อบล็อกน้อยลงหมายถึง การใช้งานแบนด์วิดธ์ที่ลดลง และการแพร่กระจายทั่วเครือข่ายเร็วขึ้น
- Perspective: การแพร่กระจายที่เร็วขึ้นลดโอกาสบล็อกเก่าหลงหายและช่วยปรับปรุง scalability ในทางปฏิบัติ
- Relevance: หากคุณรัน node ที่บ้านหรือต่างคลาวด์ นี่คือส่วนหนึ่งของเหตุผลที่การซิงค์ยังคงราบรื่น even ในช่วงการจราจรหนาแน่น
ถ้าคุณรัน Bitcoin node ให้รักษา mempool ของคุณให้เต็มและ peers ให้มีสุขภาพดี ยิ่ง overlap มากเท่าไร Compact Blocks ก็ทำงานได้ดียิ่งขึ้น
Key Characteristics of Compact Blocks
ชี้ให้เห็นลักษณะหลักที่ทำให้แนวคิดนี้โดดเด่น แขวนไว้ให้สั้นและอ่านง่าย:
- Lightweight: ส่ง identifiers แทนธุรกรรมเต็มเมื่อเป็นไปได้
- Fast: ข้อความสั้นลงทำให้บล็อกแพร่กระจายระหว่าง node ได้เร็วขึ้น
- Selective: เฉพาะธุรกรรมที่หายไปถูกดึงมา ไม่ใช่ทั้งบล็อกอีกครั้ง
- Compatible: ทำงานร่วมกับการตรวจสอบบล็อกปกติและตรรกะ mempool
Variations
โปรโตคอลที่แตกต่างกันไล่ตามเป้าหมายคล้ายคลึงกัน แต่ละแบบมีรสชาติของตัวเอง
- Compact: มาตรฐานใน Bitcoin ผ่าน BIP 152 ใช้งานจริงและแพร่หลาย
- Graphene: แนวคิดที่ขับเคลื่อนโดยการวิจัยด้วยการทำ reconciliation ของชุดข้อมูลและการเข้ารหัสที่ช smarter
- Xthin: วิธีการก่อนหน้านี้ที่ใช้โดย forks บางราย มุ่งเน้นการส่งผ่านบล็อกแบบบาง
- Erlay: ข้อเสนอเพื่อลดภาระในการ relay ธุรกรรม ผสานกับแนวคิดบล็อกแบบ compact
Compact Blocks เปลี่ยนวิธีที่ข้อมูลถูกแชร์ระหว่าง peers ไม่ใช่วิธีที่บล็อกถูกสร้างหรือยืนยัน กระบวนการตรวจสอบความปลอดภัยยังคงเหมือนเดิม
Example
ผู้ขุดพบบล็อกใหม่ node ของคุณจะได้รับ header และ IDs สั้นๆ เติมเต็มส่วนใหญ่จาก mempool ดึงธุรกรรมที่ขาดหายไปสองรายการ จากนั้นตรวจสอบและ relay ต่อ
Fun Fact
Compact Blocks เปิดตัวใน Bitcoin ตาม BIP 152 และ rollout ในปี 2016 ซึ่งเงียบๆ ช่วยลดแบนด์วิดธ์อย่างมากในช่วง mempool หนาแน่น
Wrap-Up
ถ้าคุณต้องการสั้นๆ นี่คือคำหนึ่งบรรทัด Compact Blocks รักษาความเป็นของบล็อกในขณะเดียวกันทำให้การดาวน์โหลดรู้สึกเหมือน shortcut