โหมดกลางคืน
โฆษณาที่คุณอาจสนใจ

คุณอาจจะเคยได้ยินคำว่า Proof of work หรือ PoW จากนักขุด altcoin อย่าง Ethereum แต่ก็ยังไม่เก็ทว่ามันคืออะไร หรือแม้แต่คำว่า Proof of stake หรือ PoS ที่ช่วงนี้นักขุดหลายๆคนก็พูดถึงมัน เนื่องจากเหรียญ Ethereum กำลังมีแผนที่จะเปลี่ยนจาก PoW ไปเป็น PoS

ในบทความนี้เราจะมาทำการอธิบายถึงความแตกต่างระหว่าง Proof of Work และ Proof of Stake ว่าต่างกันอย่างไร

Proof of Work คืออะไร

Proof of work (หรือถ้าภาษาไทยเราจะเรียกว่าการพิสูจน์ด้วยการทำงาน) คือชุดกฎคำสั่งหรือ Protocol ที่ถูกตั้งไว้โดยกลุ่มนักพัฒนาของเหรียญนั้นๆ โดยจุดประสงค์หลักๆที่สร้างมันขึ้นมาก็เพื่อป้องกันการโจมตีแบบ DDoS (distributed denial-of-service attack) หรือการโจมตีที่มีเครื่องคอมพิวเตอรืหลายๆเครื่องส่ง request เข้ามาเพื่อโจมตีเซิฟเวอร์เดียวโดยหวังให้เครื่องเซิฟเวอร์นั้นทำงานหนักและล่ม

แนวคิดของ Proof of work เริ่มต้นขึ้นก่อนที่จะมี Bitcoin เสียอีก ทว่า Satoshi Nakamoto ก็ได้นำเอาเทคนิคนี้มาปรับใช้กับ Bitcoin ในภายหลัง

อันที่จริงแล้ว PoW นั้นถูกคิดค้นขึ้นโดย Cynthia Dwork และ Moni Naor ในปี 1993 แต่คนที่ตั้งชื่อให้มันว่า “proof of work” คือนาย Markus Jakobsson และ Ari Juels ในเอกสารที่พวกเขาตีพิมพ์เมื่อปี 1999

ทว่าในปัจจุบันนั้น Proof of work น่าจะเป็นไอเดียที่ถูกนำมาปรับใช้กับ Bitcoin ได้อย่างอัจฉริยะและชาญฉลาดมากที่สุดโดย Satoshi Nakamoto เมื่อปี 2008 เนื่องจากว่ามันมีการให้อนุญาต trustless และ distributed consensus (ระบบแบบไม่ต้องวางใจใครแต่ใช้การตัดสินใจของคนหมู่มากแทน)

Trustless และ Distributed consensus คืออะไร

ระบบ trustless และ distributed consensus นั้นจะสามารถทำให้คุณสามารถส่งเงินหาใครก็ได้แบบไม่จำเป็นต้องพึ่งพาธนาคารหรือบุคคลที่สาม

เวลาคุณจะส่งเงินให้เพื่อคุณระยะไกล และเพื่อนคุณต้องการเดี๋ยวนั้น คุณก็คงต้องพึ่งพาระบบของธนาคาร หรือ Visa, Mastercard และ PayPal โดยพวกเขานั้นนั้นมักจะทำการเก็บข้อมูลประวัติการทำธุรกรรมของลูกค้าไว้ในระบบ account ผู้ใช้งานต่างๆนั้นๆ

ตัวอย่างง่ายๆที่สามารถนำมาอธิบายได้ก็คือถ้านาย ค. ส่งเงินให้นาง ว. เป็นจำนวน 100 บาท ดังนั้นผู้ที่อยู่ตรงกลางหรือ trusted party ก็จะทำการคีย์ข้อมูลในระบบว่าบัญชีธนาคารของนาย ค. นั้นลดลง 100 บาท ในขณะที่บัญชีของนาง ว. นั้นเพิ่มขึ้น 100 บาท ซึ่งนี่คือการทำงานของระบบบุคคลที่สามที่พวกเขาต้องไว้วางใจ

แต่ทว่าใน Bitcoin และเหรียญ cryptocurrency อื่นๆนั้น ทุกๆคนจะทำการเก็บบัญชีสมุดธนาคารหรือ ledger (Blockchain) ของผู้คนทั้งโลกที่ใช้เหรียญนั้นๆ ดังนั้นจึงไม่ต้องมีใครไว้วางใจบุคคลที่สามอีกต่อไป

การนำ Proof of work มาใช้ในการขุด

เรามาลงลึกกันไปเรื่อยๆ Proof of work นั้นคือ “หลักเกณฑ์ความต้องการ” ที่ต้องใช้กำลังในการประมวลผลทางด้านคอมพิวเตอร์ หรือจะเรียกว่าการขุดก็ได้เช่นกัน ซึ่งพลังในการคำนวณหรือขุดเหล่านั้นจะต้องถูกนำมาใช้เพื่อสร้างและบันทึกธุรกรรมแบบ trustless (หรือจะเรียกว่าบล็อกก็ได้) ขึ้นมาบนเครือข่ายกระจายศูนย์ (distributed ledger) ที่เรียกว่า Blockchain

เป้าหมายของการขุดนั้นมีอยู่สองข้อ

  1. เพื่อใช้ตรวจสอบธุรกรรมที่เกิดขึ้นใหม่หรือใช้เพื่อป้องกันการขี้โกงจากผู้จ่ายเงินเช่นการ “จ่ายสองครั้ง”
  2. เพื่อสร้างเหรียญดิจิตอลใหม่โดยการให้รางวัลนักขุดที่ทำงาน

เมื่อคุณทำธุรกรรม สิ่งเหล่านี้จะเกิดขึ้นบนระบบเบื้องหลัง

  • ธุรกรรมจะถูกนำมามัดรวมกันไว้และเก็บในตัวเก็บข้อมูลที่เรียกว่าบล็อก
  • นักขุดหลายๆคนจะทำการตรวจสอบบล็อกนั้นๆว่าเป็นของจริงหรือไม่
  • การที่จะทำเช่นนั้น นักขุดจะต้องแก้ไขสมการทางคณิตศาสตร์ที่เรียกว่าปัญหาของ proof of work
  • รางวัลนั้นจะถูกมอบให้กับนักขุดคนแรกที่ทำการไขสมการและปิดบล็อกนั้นได้สำเร็จ
  • บล็อกเก็บธุรกรรมที่ถูกตรวจสอบและปิดแล้วจะถูกเก็บไว้ใน Blockchain

โดยเจ้าสมการทางคณิตศาสตร์ดังกล่าวนี้ฟีเจอร์ก็คือความไม่สมดุลของมัน หรือหากจะอธิบายง่ายๆก็คือจะต้องทำให้มันทำให้แก้ไขได้ยาก แต่ก็ยังต้องถูกตรวจสอบได้ง่ายบนเครือข่ายอยู่ ซึ่งแนวคิดดังกล่าวนั้นยังมีชื่ออื่นๆที่เรียกแตกต่างกันไปว่า CPU cost function, client puzzle, computational puzzle หรือ CPU pricing function

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

เมื่อนักขุดทำการแก้ไขสมการสำเร็จ เขาจะประกาศบนเครือข่ายนักขุดว่าเขานั้นได้ค้นพบรางวัล (cryptocurrency prize) ที่ protocol ทำไว้ให้

หากมองในมมุมมองด้านเทคนิคนั้น การขุดเหรียญคริปโตคือขั้นตอนอย่างหนึ่งในการ inverse hasing โดยมันจพทำการกำหนดตัวเลข (nonce) ขึ้นมาเพื่อให้ระดับข้อมูลของบล็อกนั้นลดน้อยลงกว่าขั้นที่กำหนดไว้

ซึ่งขั้นที่กำหนดนั้น เราเรียกมันว่า difficulty ที่ใช้เป็นตัวกำหนดความท้าทายพลังในการขุด โดยนั่นหมายความว่าหากมีผู้ที่มีพลังในการขุดมากกระโดดเข้ามาในเครือข่าย จะทำให้ค่า difficulty ดังกล่าวเพิ่มสูงขึ้น โดยค่านี้จะถูกคำนวณมาอย่างพอดีว่าจะทำให้บล็อกที่จะถูกปิดลงและขึ้นบล็อกใหม่นั้นใช้เวลานานเท่าไร ซึ่งขั้นตอนดังกล่าวนี้จะผลักดันให้ต้นทุนต่อการสร้างบล็อกใหม่หรือขุดนั้นสูงขึ้นด้วย เป็นการบังคับให้นักขุดต้องทำการอัพเกรดอุปกรณ์ในการขุดของพวกเขาเพื่อสมดุลของเศรษฐกิจองค์รวม การอัพเดตค่า difficulty นั้นจะเกิดขึ้นโดยเฉลี่ยที่ทุกๆ 14 วัน และการตั้งค่าความยากเพื่อให้สร้างบล็อกใหม่นั้นจะถูกคำนวณไว้ให้เกิดบล็อกใหม่ที่ทุกๆ 10 นาที

proof of work ไม่เพียงแต่ถูกใช้บน blockchain ของ Bitcoin เท่านั้น แต่ยังถูกใช้ในเหรียญยอดนิยมอย่ง Ethereum และเหรียญอื่นๆหลายๆเหรียญด้วยเช่นกัน

proof of work นั้นยังถูกแบ่งแยกย่อยไปอีกหลายๆแบบ และมีฟังก์ชันที่แตกต่างกัน เนื่องจากมันต้องถูกนำมาปรับใช้กับ Blockchain ของคนละตัว แต่ทางเราคงต้องขอหยุดไว้เพียงเท่านี้เนื่องจากมันเยอะ และอาจสร้างความงงให้กับผู้อ่านได้

สิ่งสำคัญก็คือ คุณตอนนี้คุณควรจะทราบว่าตอนนี้นักพัฒนา Ethereum นั้นต้องการที่จะเปลี่ยนไปใช้ระบบ consensus ใหม่ที่เรียกว่า proof of stake

Proof of stake คืออะไร

Proof of stake นั้นคืออีกหนึ่งวิธีที่แตกต่างที่ใช้ในการตรวจสอบธุรกรรม

มันก็ยังคงเป็นอีกหนึ่งอัลกอริทึ่มอีกตัว และจุดมุ่งหมายนั้นก็ยังคงเหมือนกับ proof of work แต่ขั้นตอนในการที่จะไปให้ถึงเป้าหมายนั้นแตกต่าง

แนวคิดของ proof of stake คิดขึ้นมาในงาน Bitcointalk forum เมื่อปี 2011 แต่เหรียญตัวแรกของโลกที่ใช้เจ้าอัลกอริทึมตัวนี้มีนามว่า Peercoin ซึ่งเริ่มใช้เมื่อปี 2012 โดยหลังจากนั้นก็มี ShaodowCash, Nxt, BlackCoin, NuShares/NuBits, Qora และ Nav Coin

สิ่งที่ทำให้มันแตกต่างจาก Proof of work ที่โดยปกติแล้วรางวัลจะถูกมอบให้ผ่านการขุดหรือการแก้ไขสมการเพื่อการยืนยันตรวจสอบธุรกรรมและสร้างบล็อกใหม่นั้น ใน Proof of stake การสร้างบล็อกใหม่จะถูกกำหนดโดย “ความรวย” ของผู้ถือเหรียญ หรือจะเรียกอีกอย่างว่าการ stake ก็ได้

ไม่มี Block reward ใน proof of stake

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

นั่นหมายความว่าในระบบของ PoS นั้น มันจะไม่มีรางวัลในการสร้างบล็อกใหม่ ดังนั้นผู้ถือ stake จะได้รับค่าธรรมเนียมแทน ซึ่งไม่ต่างจากการขุด

นั่นจึงเป็นสาเหตุที่ทำไมในระบบ PoS นั้น นักขุดจึงถูกเรียกว่านักตีเหล็กแทน

ทำไม Ethereum ถึงอยากจะใช้ PoS

กลุ่มนักพัฒนา Ethereum และรวมถึงผู้สร้างมันนามว่า Vitalik Buterin กำลังวางแผนเพื่อทำ hard fork เพื่อให้ระบบบล็อกเชนของ ETH นั้นเปลี่ยนจากระบบ proof of work มาเป็น proof of stake แทน

แต่คำถามที่ตามมาคือ ทำไมพวกเขาถึงอยากจะเปลี่ยนจากอัลกอริทึมนี้ไปเป็นอีกแบบล่ะ?

ใน proof of work ที่มีการหา distributed consensus ได้นั้น นักขุดจะต้องใช้พลังงานไฟฟ้าอย่างมาก โดยอ้างอิงข้อมูลจากปี 2015 นั้น การจะสร้าง Bitcoin ขึ้นมา 1 BTC จะต้องใช้พลังไฟฟ้าที่มากถึงบ้านของประชากรอเมริกัน 1.57 ครัวเรือนต่อวัน

และต้นทุนค่าไฟเหล่านี้ถูกจ่ายด้วยเงินสด ซึ่งนั่นอาจทำให้เกิดปัญหาด้านมูลค่าเศรษฐกิจของเหรียญ cryptocurrency ในระยะยาวได้

ในการวิจัยล่าสุดนั้น ผู้เชี่ยวชาญได้เถียงว่าการคอนเฟิร์มธุรกรรมของ Bitcoin นั้นอาจจะกินพลังงานไฟฟ้าเท่ากับประเทศเด็นมาร์กทั้งประเทศในปี 2020 ก็เป็นได้

นักพัฒนาส่วนใหญ่นั้นกำลังกังวลเกี่ยวกับปัญหาดังกล่าวนี้ นั่นจึงทำให้กลุ่มนักพัฒนาของ Ethereum ต้องการที่จะนำเอา proof of stake มาปรับใช้โดยหวังเพื่อลดการใช้พลังงานและทำลายทรัพยากรธรรมชาติ

การสร้างบล็อกใหม่ของ PoS นั้นต่างจากของ PoW ซึ่งใน proof of work นั้นนักขุดอาจจะไม่จำเป็นต้องถือเหรียญ cryptocurrency อะไรเลย แต่ใน proof of stake นักตีเหล็กนั้นจะเป็นผู้ที่มักจะได้เหรียญใหม่ๆมาครอง

พวกเขาจะเลือกนักตีเหล็กอย่างไร

ถ้าหากว่า Casper (ชื่อของโปรเจ็ค proof of stake ตัวใหม่ของ Ethereum) ถูกติดตั้ง จะทำให้ pool นักตรวจสอบถูกสร้างขึ้นมา (เหมือนกับ pool นักขุด) ซึ่งผู้ใช้งานสามารถที่จะเข้าร่วมกับ pool ดังกล่าวเพื่อที่จะได้ถูกรับเลือกเป็นนักตีเหล็ก ซึ่งขั้นตอนดังกล่าวนี้จะมีให้หาได้ผ่านฟังก์ชั่นในการเรียกสัญญาของ Casper และการส่ง Ether หากัน หรือเรียกหาผู้ถือเหรียญที่มากที่สุดบนเครือข่ายของ Ethereum ไปพร้อมๆกัน บิดาแห่ง Ethereum ได้กล่าวว่า

“คุณจะถูกแต่งตั้งให้มาเป็นนักตีเหล็กไม่ช้าก็เร็ว”

โดยเขายังได้เสริมอีกว่า

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

รางวัลของนักตีเหล็กนั้นจะอยู่ที่ “ราวๆ 2-15%” แต่ก็อาจจะยังไม่แน่นอน

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

เป็นระบบที่ปลอดภัยขึ้นหรือไม่

เจ้าของเครื่องคอมพิวเตอร์ทุกคนก็คงต้องการให้คอมของพวกเขาปลอดภัยจากการโจมตีของนักแฮค โดยเฉพาะอย่างยิ่งถ้ามันมีเรื่องเกี่ยวกับการเงินอยู่ในคอมของคุณ

ดังนั้นคำถามก็คือ proof of stake นั้นปลอดภัยกว่า proof of work หรือไม่

ผู้เชี่ยวชาญนั้นกำลังกังวลเกี่ยวกับเรื่องนี้ รวมถึงผู้ใช้งานใน community ก็ยังสงสัยเช่นกัน

ในการใช้ระบบ proof of work นั้น พวกนักแฮคหรือพวกผู้ไม่ประสงค์ดีจะถูกการันตีว่าจะไม่มีวันถูกแฮคได้ เนื่องมาจากอุปกรณ์คอมพิวเตอร์ที่มีราคาแพงและคุณภาพสูง

อันที่จริงแล้ว การจะแฮคระบบ proof of work นั้นต้นทุนมันมีสูงมาก ซึ่งอาจจะสูงกว่าจำนวนเงินทุกคุณต้องการจะขโมยเสียอีก

การใช้อัลกอริทึ่ม PoS นั้นจะต้องป้องกันการแฮคได้เช่นกัน หากไม่มีการป้องกันหรือบทลงโทษที่เพียงพอ ระบบ proof of stake นั้นก็อาจจะถูกเจาะและโจมตีได้โดยง่าย

ในการแก้ปัญหาดังกล่าวนี้ นาย Vitalik Buterin ได้สร้างโพรโตคอลของ Casper โดยกำหนดให้นักตีเหล็กนั้นทำการฝากเหรียญไว้เพื่อเป็นตัวเดิมพัน และจะทำการริบเหรียญเดิมพันนั้นไปถ้าหาก protocol ตรวจพบว่าพวกนักตีเหล็กเหล่านั้นทำผิดกฎ (หรือการ slasing conditions)

การ slashing conditions หมายถึงกฎที่ผู้ใช้งานนั้นไม่ควรจะแหก

สรุป

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

ดังนั้นความเป็นไปได้ในการเปลี่ยนจาก PoW ไปเป็น PoS นั้นอาจจะสร้างข้อได้เปรียบเหล่านี้

  1. ประหยัดพลังงาน
  2. การโจมตีเจาะระบบอาจจะแพงขึ้น ยกตัวอย่างเช่นถ้าหากนักแฮคต้องการจะซื้อจำนวนเหรียญ 51% ของทั้งหมด ตลาดนั้นก็จะทำการขึ้นราคาอย่างรวดเร็ว

ด้วยเหตุนี้ Casper จะกลายเป็นระบบเก็บเงินฝากที่มีความปลอดภัยที่จะขึ้นอยู่กับระบบ econimic consensus ซึ่ง node (หรือนักตีเหล็ก) จะต้องจ่ายค่ามัจจำเสียก่อนเพื่อที่จะได้เป็นส่วนหนึ่งของ consensus อีกทั้ง Casper จะทำการกำหนดจำนวนรางวัลที่จะแจกจ่ายให้นักตีเหล็กให้สมเหตุสมผลอีกด้วย

ถ้าหากมีนักตีเหล็กคนหนึ่งสร้างบล็อกที่ไม่ถูกต้องออกมา เหรียญมัจจำที่เขาวางไว้ก็จะถูกลบหายไป และรวมถึงสิทธิสมาชิกของ pool นักตีเหล็กก็จะหายไปด้วยเช่นกัน

หากจะกล่าวง่ายๆนั้น ระบบความปลอดภัยของ Casper ขึ้นอยู่กับอะไรบ้างอย่างที่ใกล้เคียงกับการวางเงินเดิมพันหรือการพนัน โดยอ้างอิงจากกฎ consensus เงินเดิมพันนี้เองจะเป็นธุรกรรมที่จะนำไปจ่ายเป็นรางวัลให้กับนักตีเหล็กบวกกับเงินรางวัลที่นักตีเหล็กได้นำไปวางพนันไว้ใน chain นั้นๆ

Comments

comments