Bitcoin 101: Proof of Work คืออะไร ทำงานอย่างไร?
การทำธุรกรรมบนเครือข่าย Blockchain จะต้องมีผู้ที่คอยตรวจสอบและยืนยันการทำธุรกรรมนั้น ๆ โดยระบบที่เอาไว้ใช้ตรวจสอบและยืนยันการทำธุรกรรมนั้น ๆ ว่าถูกต้องก็คือระบบที่เรียกว่า Proof of Work หรือ PoW นั่นเอง
ก่อนหน้านี้ได้มีการอธิบายเรื่อง Proof of Stake (PoS) ไปแล้วว่าเป็นโปรโตคอลที่เอาไว้ใช้ยืนยันการทำธุรกรรมบนเครือข่าย Blockchain เช่นกัน แต่ PoS นั้นจะไม่มีการขุดเข้ามาเกี่ยวข้อง โดยทั้ง PoS และ PoW เราเรียกว่าระบบที่เอาไว้ใช้รักษาความปลอดภัยของเครือข่าย Blockchain แบบฉันทามติ (consensus mechanism)
ส่วน PoW นั้นมีอัลกอริทึมที่เรียกว่าการขุด (Mining) เข้ามาเกี่ยวข้อง เป็นอัลกอริทึมที่ถูกสร้างขึ้นมาเพื่อแก้ไขปัญหา double spending สร้างและเสนอโดย Satoshi Nakamoto ในช่วงปี 2008 อ้างอิงจาก Whitepaper ของ Bitcoin แต่อันที่จริงอัลกอริทึมชนิดนี้เกิดขึ้นก่อนหน้านั้นมาก
เหรียญคริปโตที่ใช้ PoW ในตอนนี้ก็จะมี Bitcoin และ Ethereum และยังมีเหรียญคริปโตอื่น ๆ อีกด้วย
ทำไมต้องใช้ระบบ Proof of Work?
การใช้ PoW ก็เพื่อแก้ปัญหา double spending ในคริปโต กล่าวคือป้องกันไม่ให้การใช้เหรียญคริปโตนั้น ๆ ไปทำธุรกรรมซ้ำกับอันอื่น ซึ่งมันจะไม่เกิดขึ้นกับการทำธุรกรรมในเงินจริง ๆ เพราะว่าเมื่อเราจ่ายเงินสดซื้อของสิ่งใดไปแล้วเราไม่สามารถเอาเงินสดอันนั้นไปซื้อของอย่างอื่นได้อีก ต้องใช้ธนบัตรหรือเหรียญกษาปณ์อันใหม่
แต่พอเป็นคริปโตมันเป็นเงินดิจิทัล ข้อมูลทุกอย่างเก็บไว้ในรูปแบบดิจิทัล เพื่อป้องกันการนำข้อมูลไปใช้ซ้ำ เลยเกิดอัลกอริทึมแบบ PoW ขึ้น
อธิบายหลักการของ Proof of Work
Blockchain เป็นข้อมูลที่สามารถตรวจสอบและเข้าถึงได้สำหรับทุกคน เป็นระบบที่เก็บการทำธุรกรรมทุกอย่างเอาไว้ใส่ไว้ในบล็อค และเรียงลำดับต่อกันเป็นห่วงโซ่ (chain)
เมื่อมีการทำธุรกรรมจะมีการบันทึกไว้ในบล็อค แต่ก่อนที่บล็อคนั้นจะถูกเพิ่มไปยังห่วงโซ่หรือ chain มันจะต้องมีการอ้างอิงถึงบล็อคการทำธุรกรรมก่อนหน้าของมันก่อน เพื่อที่ว่าจะได้มั่นใจว่าการทำธุรกรรมนั้น ๆ มันยังไม่เคยเกิดขึ้นมาก่อนและเมื่อตรวจสอบแล้วจึงจะถูกเพิ่มไปยัง Blockchain
บล็อคต่อ ๆ มันจะมีการอ้างอิงใส่ข้อมูลบล็อคก่อนหน้ามันเสมอ เป็นการคัดลอกการทำธุรกรรมทั้งหมดและอัปเดทการทำธุรกรรมใหม่เข้ามา
หลักการทำงานของ PoW สามารถอธิบายเป็นขั้นตอนได้ดังนี้
- นักขุด (miner) แข่งกันยืนยันธุรกรรมว่าใครจะยืนยันสำเร็จเป็นคนแรก
- การยืนยันธุรกรรมต้องอาศัยการแก้ปัญหาการเข้ารหัสที่ซับซ้อนมากซึ่งเราเรียกว่า Hash
- เมื่อได้ค่า Hash แล้วนักขุดจะเผยแพร่มันขึ้นไปยังเครือข่ายอื่น ๆ เพื่อให้นักขุดรายอื่นตรวจสอบความถูกต้อง
- ถ้าค่า Hash ถูกต้อง คนที่ไขรหัสได้จะได้รับรางวัล
- ระบบนี้เรียกว่า Proof of Work
ข้อดีของระบบ Proof of Work
- ป้องกันปัญหา Double Spend เนื่องจากทุก ๆ บล็อคจะต้องถูกตรวจสอบด้วยนักขุดอยู่แล้ว
- มีความปลอดภัยสูง เนื่องจากว่าแต่ละการ Hash ที่เกิดขึ้นมันไม่เหมือนกันและไม่สามารถถูกดัดแปลง ทำซ้ำได้ ถ้าค่า Hash ไม่ถูกต้อง นักขุดจะต้องส่งค่าใหม่ การเปลี่ยนแปลงแค่ 1 ตัวอักษรจะส่งผลต่อผลลัพธ์ทั้งหมดเลย
- ถูกแฮ็กยาก การที่จะแฮ็กระบบ Blockchain ที่ใช้ PoW ได้ต้องมีการควบคุมเครือข่ายให้ได้มากกว่า 51% ขึ้นไปซึ่งต้องใช้ทั้งเวลา พลังงานไฟฟ้าและต้นทุนที่สูงมาก
ข้อเสียของระบบ Proof of Work
- ต้นทุนและผลกระทบต่อสิ่งแวดล้อมสูง เพราะระบบแบบ PoW ต้องอาศัยเครื่องคอมพิวเตอร์ พลังคอมพิวเตอร์ที่ช่วยประมวลผลการขุด ยิ่งมีพลังการขุดเยอะยิ่งมีโอกาสยืนยันธุรกรรมได้สูงกว่า จึงทำให้มีค่าใช้จ่ายทั้งต้นทุนของเครื่องขุด พลังงานไฟฟ้าที่ใช้ค่อนข้างสูง จึงส่งผลกระทบต่อสิ่งแวดล้อมด้วย
- มีความรวมศูนย์อำนาจมากเกินไป (centralization) ผู้ที่มีต้นทุนน้อยก็จะหันไปใช้การขุดร่วมกับคนอื่น ๆ ซึ่งเรียกว่า mining pool และหาก mining pool นั้นมีผู้เข้าร่วมเยอะก็ส่งผลให้เครือข่ายยิ่งเข้าใกล้สู่ความรวมศูนย์อำนาจมากขึ้น
ตัวอย่างเหรียญที่ใช้อัลกอริทึมแบบ Proof of Work
ในเวลานี้เหรียญที่ใช้อัลกอริทึมรักษาความปลอดภัยของระบบแบบ PoW ก็จะมี
- Bitcoin (BTC)
- Ethereum (ETH)
- Litecoin (LTC)
- Monero (XMR)
- Doge Coin (DOGE)
- Bitcoin Cash (BCH)
บทสรุป
ระบบแบบ Proof of Work มีความปลอดภัยสูงก็จริงแต่ด้วยข้อเสียคือต้นทุนในการที่นักขุดจะเข้ามาเป็นผู้รักษาความปลอดภัยของเครือข่ายนั้นค่อนข้างสูงและยังมีข้อกังวลเรื่องผลกระทบต่อสิ่งแวดล้อมทำให้นักพัฒนาต้องหันไปหาอัลกอริทึมชนิดอื่น ๆ แทนที่ต้นทุนต่ำกว่าและส่งผลกระทบต่อสิ่งแวดล้อมน้อยกว่า