in Technology

Blockchain Trilemma

ประเด็นที่พูดกันอยู่บ่อยๆ ในแง่การวิจารณ์ระบบการทำงานของบล็อกเชนคือ scalability ของระบบในการประมวลผลธุรกรรม ที่มีอัตราต่ำมาก (Bitcoin อยู่ราว 3-7 transaction per second, Ethereum ราว 12-15 TPS)

ข้อจำกัดเรื่อง scalability มาจากสถาปัตยกรรมของบล็อกเชนเอง ที่ให้ความสำคัญกับการกระจายศูนย์ (decentralization) และความปลอดภัย (security ในที่นี้หมายถึง 51% attack ที่มาโจมตีเครือข่าย ไม่ได้หมายถึงการแฮ็ก) จึงทำให้เกิดข้อจำกัดด้านการสเกล (scalability)

Vitalik Buterin ผู้ก่อตั้ง Ethereum เป็นผู้นิยามภาวะ Blockchain Trilemma (หรือ Scalability Trilemma) สามเหลี่ยมพิศวงแห่งบล็อกเชน ที่เราสามารถเลือกได้แค่ 2 อย่างจากคุณสมบัติ 3 ประการคือ decentralization, security, scalability (คาดว่าเขาได้รับอิทธิพลมาจาก CAP Theorem ซึ่งเป็นทฤษฎี trilemma ในโลกการประมวลผลแบบกระจายศูนย์มาตั้งแต่ปี 2020)

โพสต์ต้นฉบับของ Vitalik, โพสต์ล่าสุดเวอร์ชันปี 2021

  • Decentralization + Security = บล็อกเชนแบบดั้งเดิม เช่น Ethereum, Bitcoin ที่ยึดถือการกระจายศูนย์และความปลอดภัยเป็นหลัก แต่มีปัญหาเรื่องสเกล
  • Scalability + Security = บล็อกเชนบางตัว เช่น Ripple แก้ปัญหาการสเกลด้วยการลดจำนวนโหนดที่ใช้ประมวลผลในเครือข่ายลง (เหลือหลัก 10-100 โหนด) ข้อดีคือประมวลผลได้มากขึ้น ข้อเสียคือพลัง decentralization หายไป โหนดกระจุกตัวกว่าเดิมมาก
  • Decentralization + Scalability = หากต้องเลือกพลังการสเกล โดยยังรักษาการกระจายศูนย์ไว้ด้วย ทางออกคือการทำ Multi-chain แบ่งการประมวลผลออกไปหลายๆ เชนขนานกันแทน ข้อเสียคือความปลอดภัยลดลง เพราะโดนโจมตีแค่เชนเดียว ก็ส่งผลกระทบต่อทั้งระบบแล้ว

แล้วแบบนี้ทำไงกันดีล่ะ?

ข้อเสนอของ Vitalik คือ ยึดเอาแนวคิดสุดท้าย (Decentralization + Scalability) ใช้การแบ่งการประมวลผลเพื่อให้การสเกลเพิ่มขึ้น แต่เปลี่ยนวิธีจากการกระจายเชนแยกกัน มาเป็นการทำ sharding หรือแบ่งส่วนประมวลผลบนเชนเดียวกัน เพื่อรักษาความปลอดภัยของระบบไว้ (ระบบยังมองเป็นเชนใหญ่อันเดียว)

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

ข้อเสนอของ Vitalik คือสุ่มตำแหน่งของโหนดที่ทำหน้าที่ validator เป็นกลุ่มย่อย (committee) มาทำหน้าที่ประมวลผลงานแต่ละส่วนขนานกันไป เพื่อให้มีสมรรถนะในการประมวลผลเพิ่มขึ้นนั่นเอง

แนวคิดนี้คล้ายกับ Decentralization + Scalability แต่ต่างกันตรงความปลอดภัยเหนือกว่า เพราะทำการโจมตีแบบ 51% แยกรายเชนย่อยไม่ได้ ต้องโจมตีทั้งเชน

รายละเอียดทางเทคนิคอื่นๆ อ่านในบทความต้นฉบับ

The random sampling prevents the attacker from concentrating their power on one shard. In a 100-chain multichain ecosystem, the attacker only needs ~0.5% of the total stake to wreak havoc: they can focus on 51% attacking a single chain. In a sharded blockchain, the attacker must have close to ~30-40% of the entire stake to do the same (in other words, the chain has shared security).

ข้อจำกัดของ sharding คงอยู่ที่เรื่อง overhead และ complexity ในระบบที่เพิ่มขึ้น (บ้าง) แต่ถ้ามองว่าแลกกับพลังประมวลผลที่ได้มาเพิ่มขึ้น รองรับธุรกรรมเพิ่มขึ้น ก็อาจเป็นสิ่งที่คุ้มค่า

แผนการของ Ethereum คือจะเริ่มนำ sharding เข้ามาหลัง The Merge ที่เปลี่ยนจาก Proof of Work เป็น Proof of Stake ซึ่งน่าจะเกิดราวปี 2023 (รายละเอียดเรื่อง Sharding ของ Ethereum) คงต้องจับตาดูกันต่อไป