Proof-of-Work (PoW) คืออะไร?
อัลกอริธึมที่เป็นรากฐานการทำงานให้กับคริปโตหลายสกุล
อัลกอริธึมที่เป็นรากฐานการทำงานให้กับคริปโตหลายสกุล
Proof-of-Work (PoW) แปลอย่างตรงตัวได้ว่า “การพิสูจน์การทำงาน” หมายถึงอัลกอริธึมที่เป็นโปรโตคอลหรือชุดกฎคำสั่งที่สร้างขึ้นมาเพื่อยับยั้งจุดประสงค์มุ่งร้าย เช่น การโจมตีแบบ DDoS, Double-Spending, Spam หรือการโจมตีใด ๆ ที่มีเครื่องคอมพิวเตอร์หลายเครื่องร่วมกันโจมตีเซิฟเวอร์เดียว เป็นต้น หรือในอีกความหมายหนึ่งคือเป็นอัลกอริธึมที่เรียกว่า “กลไกฉันทามติ” หมายถึงกลไกการทำงานที่มีการกระจายอำนาจและหลักการทำงานจะขับเคลื่อนด้วยผู้เข้าร่วมเครือข่ายทุกคน ซึ่งอัลกอริธึมต้องการให้สมาชิกของเครือข่ายใช้ความพยายามในการไขปริศนาทางคณิตศาสตร์ เพื่อป้องกันการโจมตีจากผู้ไม่ประสงค์ดี
หลังจากเปิดตัว Bitcoin ในปี 2009 นั้นอัลกอริธึม PoW ก็เป็นที่รู้จักมากยิ่งขึ้น เนื่องจากเป็นรากฐานการทำงานที่สำคัญของ Bitcoin ที่จะอนุญาตระบบที่เรียกว่า Trustless & Distributed Consensus (ระบบที่ต้องใช้การตัดสินใจจากคนหมู่มาก) ที่ระบบดังกล่าวได้ทำให้เกิดการกระจายอำนาจที่จะส่งเสริมให้มีความปลอดภัยมากยิ่งขึ้น
ยกตัวอย่างในกรณีของ Bitcoin ที่มีอัลกอริธึม PoW เป็นหัวใจหลักของการทำงาน ซึ่งได้มีการปรับใช้อัลกอริธึมดังกล่าวผ่านแนวคิด “Reusable Proof-of-Work” หรือ “การพิสูจน์การทำงานที่นำกลับมาใช้ใหม่ได้” ด้วยการใช้อัลกอริธึมที่เรียกว่า “SHA-256” ในการประมวลผลเพื่อตรวจสอบธุรกรรมภายในเครือข่าย และอัลกอริธึมดังกล่าวเป็นฟังก์ชันแฮชหรือฟังก์ชันการเข้ารหัสแบบทางเดียว โดยจะมีชุดข้อมูลที่กำหนดนำไปประมวลผลผ่านฟังก์ชัน เพื่อให้ได้แฮชเป้าหมายเพียงชุดเดียวเท่านั้น ที่จะอยู่ในรูปของสตริงตัวเลขและตัวอักษรยาว ๆ
นอกจากนี้การเปลี่ยนแปลงส่วนใดส่วนหนึ่งเพียงเล็กน้อยในชุดข้อมูลดั้งเดิมนั้นจะส่งผลให้เกิดแฮชที่ผิดพลาดได้ และไม่ว่าชุดข้อมูลดั้งเดิมจะมีขนาดเท่าใดก็ตาม แฮชที่สร้างโดยฟังก์ชันจะมีความยาวเท่ากันเสมอ นอกจากนี้ เนื่องจากมันเป็นฟังก์ชันการเข้ารหัสเพียงทางเดียว หมายความว่าคุณจะไม่สามารถแปลงกลับแฮชที่คุณสร้างให้เป็นชุดข้อมูลดั้งเดิมเพื่อตรวจสอบความถูกต้องได้
การสร้างแฮชใด ๆ สำหรับชุดธุรกรรมบนเครือข่าย Bitcoin นั้นเป็นเรื่องง่ายสำหรับคอมพิวเตอร์สมัยใหม่ ดังนั้นเพื่อเปลี่ยนกระบวนการดังกล่าวให้เปรียบเสมือน “งาน” มากที่สุด เครือข่าย Bitcoin จึงได้กำหนดระดับของสิ่งที่เรียกว่า “Difficulty (ค่าความยาก)” ให้กับการ “ขุด” บล็อกใหม่เพิ่มลงใน Blockchain ด้วยการสร้างแฮชที่ถูกต้องทุก ๆ 10 นาทีโดยประมาณ โดยการตั้งค่า Difficulty นั้นทำได้ด้วยการสร้าง “แฮชเป้าหมาย” หมายความว่า ยิ่งแฮชเป้าหมายเป้าหมายมีค่าต่ำ จะส่งผลให้ชุดของแฮชที่ถูกต้องมีน้อยลง และยิ่งสร้างได้ยากมากขึ้น (แฮชที่เริ่มต้นด้วยสตริงเลข 0 ที่ยาวมาก ยิ่งยาวมากยิ่งมีค่าต่ำ)
ระบบ Trustless & Distributed Consensus นั้นมีความสำคัญหากคุณต้องการส่งหรือรับเงินจากบุคคลอื่นโดยไม่จำเป็นต้องผ่านบุคคลที่สาม หรือหมายถึงระบบที่ไม่ต้องไว้วางใจใครคนใดคนหนึ่งแต่จะเป็นการตัดสินใจโดยคนหมู่มากแทน
ตัวอย่างเช่น เมื่อคุณใช้วิธีการชำระเงินแบบดั้งเดิมนั้น คุณต้องไว้วางในในบุคคลที่สามก่อนจะทำธุรกรรม (เช่น Visa, Mastercard, PayPal และธนาคาร) ซึ่งมักมีการจะเก็บประวัติการทำธุรกรรมและยอดคงเหลือแต่ละบัญชีเอาไว้ในระบบทั้งในส่วนของผู้รับและผู้ส่ง แต่ในทางกลับกัน Bitcoin และคริปโตทุกสกุล จะมีสิ่งที่เรียกว่า “บัญชีแยกประเภทสาธารณะ (Blockchain)” ที่จะทำการแสดงรายการธุรกรรมทุกรายการที่เกิดขึ้นผ่านการใช้คริปโตสกุลนั้น ๆ จึงไม่จำเป็นต้องพึ่งพาความไว้วางใจจากบุคคลที่สามอีกต่อไป
“Proof-of-Stake เป็นกลไกฉันทามติรูปแบบใหม่ที่ถูกสร้างขึ้นมาเพื่อเป็นทางเลือก”
หากเจาะลึกลงไปในความหมายของ Proof-of-Work นั้นก็เปรียบเสมือน “หลักเกณฑ์ในการทำงาน” ที่เป็นข้อกำหนดในการประมวลผลด้วยคอมพิวเตอร์แต่ละโหนด หรือเรียกอีกอย่างว่า “การขุด (Mining)” ซึ่งจำเป็นจะต้องดำเนินการเพื่อสร้างกลุ่มของรายการธุรกรรมแบบ Trustless (หรือเรียกว่า “บล็อก”) บนบัญชีแยกประเภทสาธารณะแบบกระจายอำนาจที่เรียกว่า “Blockchain”
การขุดมีจุดประสงค์หลักอยู่ 2 ประการด้วยกัน ดังนี้:
ยกตัวอย่างกรณี Bitcoin ที่กระบวนการขุดจะเริ่มต้นจาก ชุดข้อมูลจะถูกกำหนดให้สามารถสร้างแฮชเป้าหมายได้เพียงรายการเดียว แล้วนักขุดจะแน่ใจได้อย่างไรว่าพวกเขาสร้างแฮชที่ต่ำกว่าเป้าหมายสำเร็จแล้ว? –กฎการชนะไม่จำเป็นต้องสร้างแฮชที่ตรงกัน 100% เพียงแค่นักขุดสามารถหาแฮชที่มีขนาดเล็กกว่า หรือมีค่าน้อยกว่าแฮชเป้าหมายได้ก็จะถือว่าชนะการแข่งขันเช่นเดียวกัน– โดยนักขุดจะต้องเปลี่ยน Input ในฟังก์ชันแฮชด้วยการสุ่ม “Nonce (ตัวเลขที่ไม่มีความหมาย)” ไปเรื่อย ๆ จนกว่าจะพบแฮชที่ถูกต้อง จากนั้นแฮชที่ถูกต้องจะถูกเผยแพร่ไปยังเครือข่าย และถูกเพิ่มลงใน Blockchain
การขุดถือเป็นกระบวนการแข่งขัน ที่ใครบางคนจะสร้างหลักฐานการทำงานที่ถูกต้องทุก ๆ 10 นาที (ประมวลผลแฮชถูกต้อง) แต่จะเป็นใครนั้นก็ไม่อาจทราบได้ ซึ่งบรรดานักขุดต่างรวมตัวกันเพื่อเพิ่มโอกาสในการขุดบล็อก ที่มันจะสร้างค่าธรรมเนียมการทำธุรกรรมและรางวัลที่เป็นโทเคน Bitcoin บริสุทธิ์ที่ถูกสร้างใหม่ในช่วงเวลาที่จำกัด
Proof-of-Work เป็นกลไกการทำงานที่ทำให้ยากต่อการเปลี่ยนแปลงไม่ว่าด้านใดของ Blockchain เนื่องจากการเปลี่ยนแปลงดังกล่าวนั้นจะต้องมีการขุดบล็อกที่ต่อท้ายใหม่ทั้งหมดอีกครั้ง นอกจากนี้ยังทำให้ยากต่อนักขุดหรือกลุ่มนักขุดที่ต้องการผูกขาดพลังการประมวลผลของเครือข่าย เป็นเพราะว่าทรัพยากรและพลังงานที่จำเป็นในการประมวลผลฟังก์ชันแฮชให้เสร็จสมบูรณ์นั้นมีราคาแพง
PoW ทำงานได้ด้วยการขุด แต่สำหรับ PoS ทำงานด้วยการเดิมพัน
Proof-of-Work จะกำหนดให้คอมพิวเตอร์ทุกเครื่องบนเครือข่ายมีส่วนร่วมในประมวลผลผ่านฟังก์ชันแฮชจนกว่าจะเจอเครื่องที่ประมวลผชแฮชที่มีเลข 0 นำหน้าในจำนวนขั้นต่ำที่ถูกต้อง
ตัวอย่างเช่น แฮชสำหรับบล็อกเลขที่ #660000 ที่ขุดเมื่อวันที่ 4 ธันวาคม 2020 มีแฮชเป้าหมายคือ “00000000000000000008eddcaf078f12c69a439dde30dbb5aac3d9d94e9c18f6.2” จะเห็นได้ว่าแฮชเป้าหมายมีเลข 0 จำนวน 19 ตัว หมายความว่าผู้ที่ประมวลผลแฮชให้ได้ผลลัพธ์ที่มีเลข 0 เท่ากับหรือมากกว่า 19 ตัวก็จะถือว่าชนะการแข่งขัน และได้รับบล็อกรางวัลที่มี Bitcoin อยู่ในบล็อกจำนวน 6.25 BTC โดยแต่ละบล็อกมีจำนวนธุรกรรม 745 รายการที่ทำธุรกรรมด้วย Bitcoin รวมกันประมาณ 1,666 BTC เสมอ เช่นเดียวกับบล็อกก่อนหน้า และหากมีคนพยายามเปลี่ยนจำนวนธุรกรรมเป็นจำนวนอื่น เช่น 0.000001 BTC จะส่งผลให้แฮชไม่สามารถจดจำได้ (ต้องเท่ากับบล็อกก่อนหน้าเสมอ) และเครือข่ายจะปฏิเสธรายการธุรกรรมที่มีความพยายามฉ้อโกง
Q: Proof-of-Work หมายความว่าอย่างไร?
A: PoW ต้องการโหนดบนเครือข่ายเพื่อแสดงหลักฐานว่าพวกเขาได้ใช้พลังงานในการประมวลผล เพื่อบรรลุเป้าหมายการทำงานในลักษณะการกระจายอำนาจและเพื่อป้องกันไม่ให้ผู้หวังดีทำการโจมตีเครือข่าย
Q: Proof-of-Work ตรวจสอบธุรกรรมคริปโตอย่างไร?
A: สำหรับ Bitcoin นั้นจะเกี่ยวข้องกับการวนซ้ำของอัลกอริธึม SHA-256 ที่ต้องเปิดใช้งานไปเรื่อย ๆ จนกว่าจะได้ผลลัพธ์แฮชที่ถูกต้อง อย่างไรก็ตาม “ผู้ชนะ” ของแต่ละรอบก็จะทำการรวบรวมและบันทึกรายการธุรกรรมลงในบล็อกล่าสุด และโหนดทุกตัวบนเครือข่ายมีสิทธิ์ที่จะได้เป็นผู้ชนะอย่างเท่าเทียมกัน หากดำเนินการอย่างซื่อสัตย์และบันทึกเฉพาะรายการธุรกรรมที่แท้จริง
Q: ทำไมคริปโตถึงต้องการ Proof-of-Work
A: เนื่องจากลักษณะของการทำงานเป็นแบบกระจายอำนาจแบบ Peer-to-Peer ที่ทุกโหนดจะมีส่วนร่วมบนเครือข่ายทั้งหมด ดังนั้นการจะดำเนินงานอย่างยุติธรรม โปร่งใส และเป็นประชาธิปไตยได้ก็ต้องพึ่งพาอาศัยอัลกอริธึม Proof-of-Work ที่จะทำให้การพยายามแทรกแซงเครือข่ายเป็นไปได้ยากในทางปฏิบัติ แต่อย่างไรก็ตามในปัจจุบันก็มีอัลกอริธึมกลไกการทำงานที่เป็นทางเลือกใหม่ ซึ่งแต่ละกลไกก็มีข้อดีและข้อเสียแตกต่างกันออกไป
Q: Bitcoin ใช้อัลกอริธึม Proof-of-Work หรือไม่?
A: Bitcoin ใช้อัลกอริธึม Proof-of-Work ที่เรียกว่า SHA-256 เพื่อตรวจสอบและยืนยันรายการธุรกรรม ตลอดจนการออกโทเคนใหม่ของ Bitcoin เข้าสู่การหมุนเวียน
Q: Proof-of-Stake (PoS) แตกต่างจาก Proof-of-Work (PoW) อย่างไร?
A: PoS เป็นกลไกฉันทามติที่สุ่มโหนดที่จะขุดหรือจะตรวจสอบธุรกรรมบนบล็อก ตามจำนวนโทเคนที่โหนดครอบครองอยู่ ยิ่งมีโทเคนในครอบครองมากเท่าไหร่ ก็จะมีโอกาสได้รับเลือกมากเท่านั้น ถึงแม้ว่า PoS จะใช้ทรัพยากรน้อยกว่าก็ตาม แต่ก็มีข้อบกพร่องอื่น ๆ อีกหลายประการ รวมไปถึงโอกาสที่จะเกิด 51% Attack ในคริปโตประเภท Altcoin ได้มากกว่า รวมไปถึงเป็นแรงกระตุ้นที่ทำให้ผู้คนไม่นำได้นำเอาสินทรัพย์ของตนเองออกมาใช้งาน เพราะต้องทำการล็อคตลอดกระบวนการดังกล่าว