Proof of work หรือ PoW คืออะไร ทำงานอย่างไร

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

ในการบันทึกธุรกรรมจะบันทึกเป็นรอบๆ ถ้าเป็นบิตคอยน์จะบันทึกทุก 10 นาที โดยผู้ที่ได้บันทึกธุรกรรมในแต่ละรอบจะมีแค่คนเดียว ใช้คำเรียกว่าการสร้าง”บล็อก” ซึ่งขอยกตัวอย่างการสร้างบล็อกของบิตคอยน์ “miner” หรือนักขุดซึ่งจะมีหน้าที่แข่งขันกันเพื่อเป็นผู้สร้างบล็อก นักขุดแต่ละคนจะนำข้อมูลธุรกรรมในช่วงเวลานั้นมารวมกับ Hash ของบล็อกก่อนหน้า แล้วทำการ Hashing ด้วย Algorithm SHA256 และ Hash ที่ได้ออกมาต้องน้อยกว่า Target ที่กำหนดไว้จึงจะสามารถปิดบล็อกหรือปิดบัญชีในช่วงเวลานั้นได้ ซึ่งตัวกำหนด Target ว่าจะเป็นเท่าไรคือ “Difficulty”

แต่ข้อมูลชุดเดิมจะ Hashing กี่รอบก็ได้ค่าเดิม นักขุดต้องทำการสุ่มตัวเลขมาต่อท้ายเรียกว่าค่า “Nonce” ซึ่งเลขที่มาต่อท้ายเปลี่ยนไปนิดเดียว Hash ก็จะไม่เหมือนเดิมอีกต่อไป ซึ่งกระบวนการหา Hash ที่อยู่ใน Target ได้ใช้หลักความน่าจะเป็นคือการใช้คอมพิวเตอร์สุ่มหา Hash ไปเรื่อยๆจนกว่าจะใช้ได้นั่นเอง ลองยกตัวอย่างง่ายๆถ้า Hash ทั้งหมดที่เป็นไปได้มี 100 ความเป็นไปได้ และ Difficulty กำหนดว่า Hash ต้องน้อยกว่า 10 ถึงจะปิดบล็อกได้ ซึ่งการที่จะได้ Hash ที่น้อยกว่า 10 ใน 100 ตัวนั้น มีค่าความน่าจะเป็นคือ 1 ใน 10 กลับกันหากความเป็นไปได้ของ Hash มีเยอะมากๆอย่างเช่น 100 ล้านความเป็นไปได้ และ Target ในการปิดบล็อกได้มีค่าน้อยมากๆอย่างเช่นต้องต่ำกว่า 100 ความน่าจะเป็นก็จะมีน้อยมากๆ อย่างกรณีที่ยกตัวอย่างก็ 1 ในล้าน ซึ่งระยะเวลาในการหาและความแรงของกำลังประมวลผลจะมากหรือน้อยก็ขึ้นอยู่กับความหน้าจะเป็นข้างต้นโดย Difficulty ของบิตคอยน์จะมีการปรับ Target ให้มีความน่าจะเป็นที่จะหา Hash ที่ใช่เจอใน 10 นาที

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

จุดแข็งของ Proof of work

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

จุดอ่อนของ Proof of work

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