Consensus ของวงการ Blockchain ในอนาคต PoW vs PoS ใครจะอยู่ ใครจะไป!

3
1190

Consensus ของวงการ Blockchain ในอนาคต PoW vs PoS ใครจะอยู่ ใครจะไป!

เป็นที่รู้กันดีอยู่แล้ว ปัจจุบันไม่มีใครไม่รู้จัก Cryptocurrencies หรือสกุลเงินดิจิตอล  ซึ่งทุกคนต้องได้ยินคำว่า Bitcoin อันที่จริงแล้วเทคโนโลยีที่อยู่เบื้องหลัง หรือเป็นพื้นฐานของ Bitcoin นั้นก็คือ Blockchain ถามว่ามันคืออะไร อาจจะตอบแบบง่ายโดย ผู้เขียนพยายามแปลคำอธิบายที่ว่า “A Blockchain is an open, distributed ledger that can record transactions between two parties efficiently and in a permanent, verifiable way” หรือ “บล็อคเช่นหนึ่ง คือ บัญชีที่เปิดเผย และกระจาย ที่ซึ่งสามารถบัญทึกการซื้อขาย ระหว่างสองฝ่ายได้แบบมีประสิทธิภาพและถาวร ซึ่งสามารถตรวจสอบได้” นี่คือพยายามถอดคำต่อคำมาเลยนะ แต่เอาจริงๆจะให้แปลแบบง่ายๆ มันก็คือที่ซึ่งไว้เก็บของมูล การแลกเปลี่ยนระหว่าง สองฝ่าย ที่ซึ่งตรวจสอบได้ และไม่สามารถแก้ไขได้นั่นเอง

โดยเป็นที่ทราบกันโดยทั่วว่า Bitcoin นั่นเองที่ทำให้ทุกคนรู้จักบล็อคเชนเทคโนโลยี โดย Satoshi Nakamoto (นามแฝง) จุดมุ่งหมายคือ “peer-to-peer version of electronic cash [which] would allow online payments to be sent directly from one party to another without going through a financial institution” ผู้เขียนจะย่อให้ว่า เค้าต้องการให้เกิดการส่งเงินที่เป็นแบบอีเล็คโทรนิคระหว่างฝ่ายนึงไปยังอีกฝ่ายโดยไม่ผ่านสถาบันการเงิน ซึ่งถ้าว่ากันแค่สิ่งที่ Satoshi ต้องการมันก็ทำได้จริงตาม ณ เวลาที่เขียนบทความนี้โดย Bitcoin นั้นได้ใช้มติมหาชน หรือเราเรียกว่าการตรวจสอบละกัน (Consensus ถ้าแปลตามพจนาณกรรม) แบบ Proof of Word (PoW) แต่อย่างไรก็ตามยังมี กรรมวิธี (Algorithm) ต่างๆอีกมากมายที่สามารถนำมาใช้แทนได้ โดยเราจะมาเปรียบเทียบกันในบทความนี้ต่อไป

โดยในบทความนี้จะเน้นพูดถึงสถิติต่างๆ ในด้านขั้นตอนการทำงาน (Algorithm), ความยืดหยุ่น (Scalability), ผลตอบแทนสำหรับชาวเหมือง (Rewards) ต่ออัตราการสิ้นเปลืองพลังงาน และระดับความปลอดภัย (Security Risk) โดยการยกตัวอย่าง Consensus ของสกุลเงินดิจิตอลหลักๆที่ทุกคนรู้จักดีอยู่แล้ว อาทิเช่น Bitcoin, Ethereum, Ripple, และอื่นๆ

ขอกล่าวถึงปัญหาที่เกียวข้องกับการโหวตในวงการวิทยาศาสตร์คอมพิวเตอร์นิดนึง ซึ่งเป็นปัญหาที่โด่งดังที่ทุกคนพยายามจะหาทางแก้มัน ด้วยวิธีการต่างๆ เพื่อที่ต้องการทำให้มันเป็นธรรมมากที่สุดกับทุกฝ่าย ได้แก่

The Byzantine General Problems 

คือจะไม่พูดถึงเยอะเนอะ เอาแบบง่ายๆเลย สมมติมีกองทัพที่ชื่อ Byzantine ไปทำการปิดล้อมเมือง ปัญหาคือ จะรู้ได้อย่างไงว่าข้อความที่ส่งจากผู้บัญชาการไปหาเหล่านายพลทั้งหลายเป็นข้อความจริง ลองคิดเล่นๆกันดูละกันว่าจะทำได้อย่างไง เพราะนี่คือปัญหาที่เกิดใน Distributed System จริง

ต่อมาจึงได้มีการพูดถึง Byzantine Fault Tolerance (BFT) และ Delegated Byzantine Falut Tolerance (dBFT) ซึงมันถูกคิดขึ้นมาเพื่อแก้ไขปัญหา Byzantine ที่กล่าวไปข้างต้นนั่นเอง ซึ่งจะขอไม่กล่าวถึงในบทความนี้ก็แล้วกัน แต่ถ้าใครอยากศึกษาเพิ่มเติมแล้วละก็ไปตามอ่านได้ที่ nuuneoi.com ซึ่งผมมองว่าพี่หนูเนยนั้นเขียนอธิบายไว้ได้ดีมาก ต่อให้ไม่มีพื้นฐานด้านวิทยาศาสตร์คอมพิวเตอร์ก็เข้าใจได้ รวมทั้ง consensus แบบอื่นๆอีกด้วย งั้นเรามาดูถึงสกุลเงินดิจิตอลเด่นๆ ที่มีมูลค่าตามราคาตลาดสูงในตลาดคริปโตตอนนี้กันว่าใช้ consensus อะไรกันบ้าง

Currency Name Consensus Algorithm
Bitcoin Proof of Work
Ethereum Proof of Work
Ripple Ripple Protocol Consensus Algorithm
Bitcoin Cash Proof of Work
Cardano Proof of Stake
Stellar Stellar Consensus Protocol
NEO Delegated Byzantine Fault Tolerance
Litecoin Proof of Work
ESO Delegated Proof of Stake
NEM Proof of Importance

 

Proof of Work (PoW)

งั้นจะขอพูดถึง Proof of Work (PoW) ของ Bitcoin ซึ่งเป็นต้นตำหรับก็ว่าได้ ระบบจะทำงานโดยการค้นหามูลค่าที่เมื่อมีการเข้ารหัส (hashed) แล้วก็ไปทำอะไรสักอย่างกับมัน (nonce) รวมกับค่าเริ่มต้น หลังจาก nonce ถูกหาเจอแล้ว รวมทั้งการทำงานของ PoW เป็นที่พอใจ บล็อคก็จะถูกสร้างขึ้นมา และไม่สามรถเปลี่ยนแปลงได้

Block.png

ถ้าสังเกตจากรูปภาพด้านบนจะเห็นได้ว่า Block ถัดไปนั้น จะมีการเก็บค่าที่ทำการเข้ารหัสของบล็อคก่อนนั้นไว้เสมอ เอาประมาณนี้ละกัน เดี๋ยวจะลงรายละเอียดเยอะเกินไป ที่ซึ่งไม่ใช่จุดมุ่งหมายของบทความนี้

Ripple Protocol Consensus Algorithm (RPCA)

โดยชื่อมันก็บอกอยู่ว่า consensus นี่ถูกใช้เฉพาะใน Ripple จำเพาะเจาะจงเพื่อลดปัญหา Address latency ที่เกิดขึ้นใน algorithm อื่นๆ จะมีฟังก์ชั่นย่อๆ อยู่ 4 ข้อ แต่ไว้มาอธิบายโอกาสถัดไปนะครับ

Proof of Stake (POS)

Proof of Stake กันบ้าง โดยจะขอพูดถึงของ Cardano ที่มีชื่อเรียกว่า Cardano’s Ouroboros โดยคือการนำเอา Original Proof of Stake มาเพิ่มส่วนของความปลอดภัยเพิ่มเข้าไป อธิบายคราวๆ คือมีกระบวนการคัดเลือกผู้ถือหุ้น (Stakeholder) และทำการเก็บค่านั้นเอาไว้ใน epoch (ถ้าจะแปลความหมายคำนี้ มันก็คือช่วงเวลาหนึ่งในประวัติศาสตร์ หรือชีวิตคน) และในจำนวนผู้ถูกเลือกในนั้น จะถูกสุ่มเลือกมาว่า ใครจะไปอยู่ใน epoch ถัดไป บทความนี้จะไม่กล่าวถึงมากในรายละเอียดละกันครับ เพียงแต่จะหยิบยกมาอธิบายวิธีการแบบคร่าวๆ

Stellar Consensus Protocol (SCP)

วิธีเข้าใจง่ายๆคือ สำหรับตัว Stellar นั้น Node ต่างๆที่อยู่ใน network ไม่จำเป็นต้องเชื่อใจในตัวเครือข่าย แต่มันจะมีความสามารถในการเลือกได้ว่าโหนดไหนที่ตัวเองจะเชื่อ ซึ่งกลุ่มของโหนดที่เชื่อถือกันและกันจะถูกเรียกว่า “quorum slice” โดย Stellar บอกว่า quorum (อ่านว่า ครู-รัม) ซึ่งมันก็คือกลุ่มของโหนดที่ผ่านข้อตกลงขั้นต่ำที่ Stellar กำหนด แล้ว quorum slice ก็คือส่วนนึงของ quorum เอาไว้แค่นี้ก่อนละกัน

Delegated Proof of Stake (dPOS)

จะให้อธิบายง่ายๆ มันก็คือการที่ Stakeholders หรือผู้ถือเหรียญ ทำการลงมติ เพื่อเลือกพยาน (Witnesses) จำนวนหนึ่งเพื่อสร้างบล็อค โดยจะมีระยะเวลาซ่อมบำรุงเพื่อที่สับเปลี่ยนพยานเพื่อสร้างบล็อคต่อไปในระยะเวลา n วินาที โดย n ขึ้นอยู่กับการนำไปใช้แล้วแต่จะกำหนด โดย consensus ตัวนี้ถูกนำไปปรับใช้ใน EOS โดยบล็อคใน ESO จะถูกสร้างขึ้นทุกๆ 3 วินาที และจะมีการสับเปลี่ยนผู้สร้างบล็อคทุกๆ 21 วินาที แต่ถ้าผู้ที่ถูกเลือกให้สร้างบล็อค ไม่ได้ทำการสร้างบล็อคใดๆเลยภายในเวลา 24 ชั่วโมง ก็จะถูกคัดออกจากการเป็นผู้สร้างบล็อค คืออ่านแล้วมันจะงงๆเนอะ ไว้โอกาสถัดไป เราจะมาเจาะข้อมูลด้านเทคนิคของแต่ละเหรียญอีกครั้ง

Proof of Importance (PoI)

Consensus ตัวนี้ถูกนำไปใช้ใน NEM network โดยมีเหรียญที่ใช้ตัวย่อว่า XEM โดยแต่ละบัญชีใน NEM จะถูกแยกออกเป็น 2 ส่วน คือ vested and unvested (ไม่รู้จะแปลอย่างไง) เมื่อไรก็ตามที่บัญชีมีการรับ XEM เข้ามา ยอดล่าสุดจะถูกใส่เข้าไปใน unvested หลังจาก 1/10 ของยอดใน unvested จะถูกย้ายไปใส่ vested ในทุกๆ 1440 blocks ในทางกลับกันเมื่อบัญชีมีการส่ง XEM ออก ยอดจะถูกหักออกจากทั้งใน vested และ unvested เพื่อควบคุมอัตราส่วนเดิมเอาไว้ โดยบัญชีนั้นๆจะต้องมีมีกว่า 10,000 vested XEM ถึงจะนำมาคำนวนในระบบ

หลังจากได้แนะนำ consensus ที่ใช้ในสกุลเงินดิจิตอลดังๆไปแล้วนั้น ต่อไปเราจะมาทำการเปรียบเทียบกัน

Consensus Characteristic.jpgตารางแสดงคุณลักษณะ (Characteristic) ของแต่ละ Consensus Algorithm

ปล. ตารางด้านบนในเรื่องการประหยัดพลังงานนั้น แสดงได้แค่ คำว่า yes-no-partial เพราะมันแทบเป็นไปไม่ได้เลยที่จะวัดตัวเลขจริงๆได้

งั้นเรามาขยายความตารางข้างบน ในด้านต่างๆกันครับ เริ่มต้นด้วยเรื่องความปลอดภัย เพราะเป็นที่กังวลเป็นอย่างมากสำหรับทุกๆคน โดยถ้าอ้างอิงจากตารางข้างบนนั้น ในส่วนของ Tolerated power of adversary แสดงถึงจำนวนที่พลังหรือจะเรียกว่าจำนวนเสียงที่ hacker ต้องมีในเครือข่ายนั้นๆ เพื่อที่จะทำการโจมตีได้สำเร็จ จะเห็นว่าสำหรับ PoW นั้น อย่างต่ำต้องมีเครื่องขุดที่มีกำลังมากกว่า 25% ก็จะสามารถปลอมแปลง transaction หรือโจมตีได้นั่นเอง

ในทางเดียวกัน ใน PoS จะเป็นที่จะต้องมีเหรียญมากกว่า 51% ในเครือข่ายเพื่อที่จะปลอมแปลงการส่งข้อมูล ซึ่งจะสังเกตได้ว่าตัวเดียวที่แตกต่างออกไปนั่งคือ Stellar เพราะหลักการคือ quorum slices ใน SCP นั้น โหนดสามารถเลือกที่จะเชื่อโหดนไหนก็ได้ ในทางทฤษฏีนั้น Hacker สามารถจะควบคุม quorum slices ส่วนมากใน quorum ได้ แต่ก็ไม่ได้หมายความว่าจะสามารถควบคุมเครือข่ายไว้ได้ อันจริงๆนะ ผมอ่านยังงงเลย เพราะมันอธิบายไว้ได้ไม่ค่อยชัดเจนเท่าไหร่ แต่มีงานวิจัยพิสูจย์ว่าอันที่จริงแล้ว เราไม่จำเป็นต้องถือครอบกำลังขุดระดับ 51% เพื่อทำการเจาะ PoW ซึ่งงานวิจัยพิสูจน์ว่า Hacker สามารถถือครองกำลังขุดแค่ครึ่งเดียว หรือ 25% ก็สามารถที่จะปลอมแปลงข้อมูลได้แล้ว

ต่อมาเราลองมาเปรียบเทียบด้านความหยืดยุ่น (Scalability) บ้าง โดยในหัวข้อนี้จะพูดถึงในทางทฤษฏีของการส่งข้อมูลในวินาที หรือ The theoretical maximum number of transactions per second (TPS) ที่ซึ่งสกุลเงินดิจิตอลต่างๆสามารถทำได้

Cryptocurrency Name Protocol TPS
Bitcoin

PoW

7

Ethereum

PoW

15

Ripple

RPCA

1500

Bitcoin Cash

PoW

60

Cardano

PoS

7

Stellar

SCP

1000

NEO

DBFT

10000

Litecoin

PoW

56

EOS

DPoS

A million

NEM

PoI

4000

เอาจริงๆตัวเลขด้านบนก็เป็นแค่ทฤษฏี และส่วนใหญ่หลังจากทดสอบจริง จะได้ใกล้เคียงหรือน้อยกว่า เอาเป็นว่าตัวเลขในตารางเอาไว้ใช้อ้างอิงอย่างเดียวก่อนในตอนนี้ ถ้าเรานำตัวเลขมาวิเคราะห์จริง จะเห็นได้ว่าโดยส่วนใหญ่นั้นสกุลเงินดิจิตอลที่ใช้ PoW มักจะถูกจำกัดด้วย Block sizes ยกตัวอย่าง Bitcoin ที่จำกัดขนาดไว้ที่ 1Mb ต่อ block เอาจริงในทางปฏิบัตินั้นแทบเป็นไปไม่ได้เลยที่จะนำแต่ละสกุลเงินมาเทียบกัน เพราะอัตราการใช้งานในแต่ละเครือข่ายมีความหนาแน่น หรือเรียกว่ามีความนิยมไม่เท่ากันในช่วงเวลานั้นๆ คือเหมือนรถไฟฟ้า BTS กับ MRT บ้านเรา เรายังเทียบกันได้ใช้ไหมครับ ว่า ณ ช่วงเวลานี้มีคนใช้งานอันไหนมากกว่ากัน

อย่างไรก็ตามนั้นเราจะลองเอามาเทียบกับ Visa  และ PayPal ซึ่งเป็น สองเจ้าที่รู้จักและได้รับความนิยมแพร่หลายในโลกดิจิตอลกัน สำหรับ Visa ในปี 2018 นี้นั้น สามารถทำธุรกรรมคราวๆได้ 24,000 ธุรกรรมต่อวินาที (TPS) โดยทาง PayPal นั้นทำได้ราวๆ 193 TPS สังเกตตัวเลขพวกนี้ดีๆนะครับ นี่เป็นระบบ centralized ที่จัดการด้วย server ที่มีความสามารสูง ยังทำได้แค่นี้ แล้ว EOS บอกว่าสามารถทำธุรกรรมได้ ล้านต่อวินาที มันจะดูเกินจริงไปไหม ผู้อ่านลองไปตัดสินใจกันดู

ต่อมาเราจะมาพูดถึงการใช้พลังงาน หรือ power consumption โดยส่วนมากแล้วสกุลเงินดิจิตอลต่างๆไม่สามารถบอกเป็นตัวเลขที่แน่นอนได้ว่าเครือข่ายที่ใช้นั้นกินพลังงานเท่าไหร่ ซึ่งจะเห็นได้ว่า สองสกุลเงินหลักก็ว่าได้อย่าง Bitcoin และ Ethereum ใช้ PoW ซึ่งจะขอนำสองตัวนี้มาเปรียบเทียบกัน โดยเข้าใจว่าสกุลเงินอื่นๆที่ใช้ PoW ต้องมีจุดขายที่ใข้พลังงานน้อยกว่าอย่างแน่นอน

Power Consumptionตารางเปรียบเทียบการใช้พลังงานระหว่าง Bitcoin และ Ethereum และประเทศต่างๆ

ถ้าสังเกตจากกราฟข้างบนจะสังเกตได้ว่า Bitcoin นั้นใช้พลังงานมากกว่า Ethereum 3.6 เท่า ซึ่งมากกว่าประเทศเมียนม่าทั้งประเทศ ที่สำคัญมากว่าประเทศที่มีเศรษฐกิจเติบโตดีอย่างสิงคโปร์อีกนะ และยังมีสถิติบอกว่าถ้า Bitcoin มีธุรกรรม 3.5 ต่อวินาที นั้นจะทำให้ Bitcoin ใช้ไฟเท่ากันค่าเฉลี่ยของบ้านหนึ่งหลังคาเรือนในอเมริกาต่อปี ทุกๆ 4 วินาที กินพลังงานแบบมหาศาล

BitcoinVsVisa
ตารางเปรียบเทียบธุรกรรมเฉลี่ยนของ Bitcoin กับ Visa

ส่วนสถิติด้านบนก็หนักเอาการ เมื่อเปรียบเทียบการทำธุรกรรมของ Bitcoin แค่ธุรกรรมเดียวต่อ Visa 100,000 ธุรกรรม เน้นนะครับ 1:100,000 คิดดูสิว่าสิ้นเปลืองพลังงานขนาดไหน

BTC_ETHVsHousehold
ตารางเปรียบเทียบ Bitcoin และ Ethereum ต่อค่าเฉลี่ยการใช้ไฟต่าหลังคาเรือนในอเมริกา

ถ้ายังคิดว่าไม่พอ ไปดูกราฟข้างบน บ่งบอกว่า Bitcoin นั้นกินไฟต่อวัน เกือบเท่าอัตราการใช้ไฟฟ้าเฉลี่ยนในอเมริกาเกือบเท่ากัน 25 หลังคาเรือนเลยทีเดียว

สรุปได้ว่าอัตราการสิ้นเปลืองพลังงานของทั้งสองสกุลเงิน คือ Bitcoin และ Ethereum นั้นต่างกันอย่างมาก ยิ่งถ้า Ethereum จะเปลี่ยนไปใช้ PoS   ด้วยแล้วนั้น ยิ่งจะทำให้ความต่างเรื่องการสิ้นเปลืองพลังงานนั้นห่างกันออกไปอีก ซึ่งอัตราการสิ้นเปลืองพลังงานของแต่ละเครือข่ายในการทำงานของทุกๆสกุลเงินดิจิตอลที่ใช้ PoW นั้นเป็นทางทราบกันดีอยู่แล้ว ในทุกวันนี้จึงมีการคิดค้นวิธีการยืนยันธุรกรรมในระบบเพิ่มมากขึ้น ไม่ว่าจะเป็น Proof of Luck (PoL) หรือ Proof of eXercise (PoX) และอื่นๆ ซึ่งสามารถไปหาศึกษากันต่อได้

สรุป

ถ้าเอาทุกอย่างที่กล่าวไปในบทความนี้มาตัดสิน จะเห็นได้ว่า consensus ที่ได้รับความนิยมสูงสุดตอนนี้ก็คงหนีไม่พ้น PoW ซึ่งคนทั่วไปจะกล่าวว่า ตอนนี้สกุลดิจิตอลอยู่ได้เพราะชาวเหมืองและ PoW อันนี้ผมก็คงจะไม่เถียง เนื่องด้วยตัว Consensus เองมันได้รับความนิยมสูงสุด แต่ถ้าดูถึงในเรื่องอื่นๆก็คงจะบอกได้เต็มปากว่า ในอนาคตนั้น มันไม่ใช่โลกของ PoW Consensus อย่างแน่นอน ซึ่งถ้ามองกันแค่ในบทความนี้ก็จะเห็นว่าทำไม Ethreum ต้องการเปลี่ยนมาเป็น PoS โดยเคยพยายามจะทำ Byzantium and Constantinople hard fork ตามลำดับ

ซึ่งตัวผู้เขียนเองมองว่าเป็นผลดีระยะยาวของตัวเครือข่าย Etereum เอง รวมทั้งมันจะแก้ไขเรื่องความหยืดหยุ่น หรือ scalability ที่จะช่วยเพิ่มธุรกรรมต่อวินาที (TPS) ได้เพิ่มมากขึ้น ไม่เช่นนั้นคู่แข่งที่ใช้ Consensus   ที่ได้รับการพัฒนาที่ดียิ่งกว่าก็อาจจะครอบครองตลาดในอนาคตไปก็ซึ่ง SCP ของ Stellar ก็ดุน่าสนใจไม่ใช่น้อย หรือแม้กระทั่งตัว Ouroboros ของ Cardano ถ้าสามารถทำได้ตามที่ตั้งเป้าเอาไว้

3 ความคิดเห็น

ใส่ความเห็น

This site uses Akismet to reduce spam. Learn how your comment data is processed.