Proof of Work (PoW) คืออะไร?
Proof of Work (PoW) คืออะไร?
หน้าหลักบทความ

Proof of Work (PoW) คืออะไร?

ระดับกลาง
2d ago
8m


สารบัญ


บทนำ

Proof of Work (โดยทั่วไปย่อว่า PoW) เป็นกลไกในการป้องกันการใช้จ่ายซ้ำซ้อนหรือ double-spend  คริปโทเคอร์เรนซีส่วนใหญ่ใช้กลไกนี้เป็นอัลกอริทึมฉันทามติ ซึ่งนั่นเป็นเพียงสิ่งที่เราเรียกว่าวิธีการรักษาความปลอดภัยบัญชีแยกประเภทของคริปโทเคอร์เรนซี
Proof of Work เป็นอัลกอริธึมฉันทามติแรกที่ปรากฏและจนถึงปัจจุบันยังคงเป็นวิธีการที่โดดเด่น ได้รับการนำเสนอโดย Satoshi Nakamoto ในสมุดปกขาว Bitcoin เมื่อปี 2008 แต่เทคโนโลยีนี้ได้เกิดขึ้นฒก่อนหน้านั้นนานแล้ว 

HashCash ซึ่งเสนอโดย Adam Back เป็นตัวอย่างแรกเริ่มของอัลกอริทึม Proof of Work ในช่วงก่อนที่จะมีคริปโทเคอร์เรนซี การกำหนดให้ผู้ส่งใช้คอมพิวเตอร์ประมวลผลเล็กน้อยก่อนที่จะส่งอีเมล สามารถลดสแปมสำหรับผู้รับได้ การคำนวณนี้แทบจะไม่มีค่าใช้จ่ายใดๆ สำหรับผู้ส่งที่ประพฤติดี แต่ค่าใช้จ่ายจะเพิ่มขึ้นอย่างรวดเร็วสำหรับผู้ที่ส่งอีเมลเป็นจำนวนมาก


การใช้จ่ายซ้ำซ้อนคืออะไร?

การใช้จ่ายซ้ำซ้อนหรือ double-spend เกิดขึ้นเมื่อมีการใช้จ่ายเงินจำนวนเดียวกันมากกว่าหนึ่งครั้ง คำนี้ใช้แทบจะใช้เฉพาะในบริบทของเงินดิจิทัลเท่านั้น – เพราะอย่างว่า คงยากที่คุณจะใช้จ่ายธนบัตรใบเดิมสองครั้ง เมื่อคุณจ่ายค่ากาแฟวันนี้คุณจะมอบเงินสดให้กับแคชเชียร์ซึ่งอาจล็อกไว้ในเครื่องเก็บเงิน คุณไม่สามารถไปที่ร้านกาแฟฝั่งตรงข้ามและจ่ายค่ากาแฟอีกแก้วด้วยธนบัตรใบเดียวกันได้

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

เนื่องจากเงินดิจิทัลเป็นเพียงข้อมูล คุณจึงต้องป้องกันไม่ให้ผู้คนคัดลอกและใช้จ่ายหน่วยเดียวกันในที่ต่างๆ มิฉะนั้นสกุลเงินของคุณจะล่มสลายในเวลาไม่นาน

หากต้องการดูรายละเอียดเพิ่มเติมเกี่ยวกับการใช้จ่ายซ้ำซ้อนโปรดอ่าน การใช้จ่ายซ้ำซ้อนคืออะไร


ทำไม Proof of Work จึงจำเป็น?

หากคุณได้อ่านไกด์เกี่ยวกับเทคโนโลยีบล็อกเชนของเรา คุณจะทราบว่าผู้ใช้กระจายข้อมูลธุรกรรมไปยังเครือข่าย ธุรกรรมเหล่านั้นไม่ได้ถือว่าถูกต้องในทันที จะเกิดขึ้นก็ต่อเมื่อมีการเพิ่มเข้าไปในบล็อกเชน 
บล็อกเชนเป็นฐานข้อมูลขนาดใหญ่ที่ผู้ใช้ทุกคนสามารถมองเห็นได้ ดังนั้นพวกเขาจึงสามารถตรวจสอบได้ว่ามีการใช้จ่ายเงินก่อนหน้านี้หรือไม่ ลองนึกภาพออกว่าคุณและเพื่อนสามคนมีสมุดบันทึก เมื่อใดก็ตามที่คุณต้องการโอนหน่วยใดๆ ที่คุณกำลังจะใช้จ่ายให้จดไว้ – อลิซจ่ายบ็อบห้าหน่วย บ๊อบจ่ายแครอลสองหน่วย ฯลฯ
มีความซับซ้อนอีกอย่างตรงนี้ – ทุกครั้งที่คุณทำธุรกรรม คุณอ้างถึงธุรกรรมซึ่งเป็นที่มาของเงิน ดังนั้นหากบ็อบจ่ายเงินให้แครอลด้วยสองหน่วย รายการจะมีลักษณะดังนี้: บ็อบจ่ายให้แครอลสองหน่วยจากธุรกรรมก่อนหน้านี้กับอลิซ

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

ตอนนี้ สิ่งนี้อาจใช้ได้ดีในกลุ่มเล็กๆ ทุกคนรู้จักกัน ดังนั้นพวกเขาอาจจะตกลงกันว่าเพื่อนคนไหนควรเพิ่มธุรกรรมลงในสมุดบันทึก จะเป็นอย่างไรหากเราต้องการมีกลุ่มที่มีผู้เข้าร่วม 10,000 คน? แนวคิดการใช้สมุดบันทึกไม่ได้ปรับขนาดได้ดีเพราะไม่มีใครอยากไว้วางใจให้คนแปลกหน้าจัดการ

นี่คือที่มาของ Proof of Work ซึ่งจะช่วยให้มั่นใจได้ว่าผู้ใช้จะไม่ใช้จ่ายเงินโดยที่พวกเขาไม่มีสิทธิ์ใช้จ่าย ด้วยการใช้ทฤษฎีเกมร่วมกับการเข้ารหัส อัลกอริทึม PoW ช่วยให้ทุกคนสามารถอัปเดตบล็อกเชนได้ตามกฎของระบบ


PoW ทำงานอย่างไร?

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

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

สำหรับ Proof of Work คุณต้องให้ข้อมูลที่มีค่าแฮชตรงกับเงื่อนไขบางประการ แต่คุณไม่รู้วิธีหาข้อมูลนั่น ทางเลือกเดียวของคุณคือส่งข้อมูลของคุณผ่านฟังก์ชันแฮชและตรวจสอบว่าตรงกับเงื่อนไขหรือไม่ หากไม่ คุณจะต้องเปลี่ยนแปลงข้อมูลเล็กน้อยเพื่อให้ได้แฮชที่แตกต่างกัน การเปลี่ยนอักขระแม้แต่ตัวเดียวในข้อมูลของคุณจะทำให้ได้ผลลัพธ์ที่แตกต่างกันโดยสิ้นเชิงดังนั้นจึงไม่มีทางที่จะคาดเดาได้ว่าผลลัพธ์จะเป็นอย่างไร

ด้วยเหตุนี้หากคุณต้องการสร้างบล็อก คุณกำลังเล่นเกมเสี่ยงทาย โดยปกติคุณจะรวบรวมข้อมูลเกี่ยวกับธุรกรรมทั้งหมดที่คุณต้องการเพิ่มและข้อมูลสำคัญอื่นๆ จากนั้นจึงแฮชข้อมูลที่รวมกันนี้ แต่เนื่องจากชุดข้อมูลของคุณไม่เปลี่ยนแปลงคุณจึงต้องเพิ่มข้อมูลที่เป็นตัวแปร มิฉะนั้นคุณจะได้รับแฮชเดียวกันกับเอาต์พุตเสมอ ข้อมูลตัวแปรนี้เรียกว่า nonce เป็นตัวเลขที่คุณจะเปลี่ยนทุกครั้งที่พยายามเพื่อที่คุณจะได้รับแฮชที่แตกต่างกันทุกครั้ง และนี่คือสิ่งที่เราเรียกว่าการขุด

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

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

ขอสรุปสิ่งที่เรารู้จนถึงตอนนี้:

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

จนถึงตอนนี้ยังดูดีอยู่ แต่ถ้าคุณพยายามโกงล่ะ? มีอะไรที่จะหยุดคุณจากการใส่ธุรกรรมหลอกลวงจำนวนมากลงในบล็อกและสร้างแฮชที่ถูกต้อง

นั่นคือสิ่งที่การเข้ารหัสแบบคีย์สาธารณะเข้ามา เราจะไม่ลงลึกในบทความนี้แต่ลองอ่าน Public-Key Cryptography คืออะไร? เพื่อดูโดยละเอียด กล่าวสั้นๆ เราใช้เทคนิคการเข้ารหัสที่แยบยลช่วยให้ผู้ใช้ทุกคนสามารถตรวจสอบได้ว่าใครบางคนมีสิทธิ์ที่จะย้ายเงินที่กำลังพยายามจะใช้จ่ายหรือไม่
เมื่อคุณสร้างธุรกรรมคุณจะลงนาม ทุกคนในเครือข่ายสามารถเปรียบเทียบลายเซ็นของคุณกับ คีย์สาธารณะ ของคุณและตรวจสอบว่าตรงกันหรือไม่ นอกจากนี้ยังตรวจสอบด้วยว่าคุณสามารถใช้จ่ายเงินของคุณได้จริงหรือไม่และผลรวมของรายรับของคุณสูงกว่าผลรวมของรายจ่ายของคุณ (กล่าวคือคุณไม่ได้ใช้จ่ายเกินกว่าที่คุณมี)

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

และนั้นคือความสวยงามของ Proof of Work: มันทำให้การโกงมีราคาแพง แต่ให้ผลกำไรจากการดำเนินการอย่างซื่อสัตย์ นักขุดที่มีเหตุผลจะมองหา ROI ดังนั้นจึงสามารถคาดหวังได้ว่าพวกเขาจะทำงานในลักษณะที่รับประกันว่าจะมีรายได้



ต้องการเริ่มต้นซื้อขายคริปโทเคอร์เรนซีหรือเปล่า? ซื้อ Bitcoin ที่ Binance!



Proof of Work เทียบกับ Proof of Stake

มีอัลกอริทึมฉันทามติหลายแบบ แต่หนึ่งในอัลกอริทึมที่ได้รับการคาดหวังมากที่สุดคือ Proof of Stake (PoS) แนวคิดนี้ย้อนกลับไปในปี 2011 และได้นำไปใช้ในโพรโทคอลที่มีขนาดเล็ก แต่ยังไม่เห็นการนำไปใช้ในบล็อกเชนขนาดใหญ่ใดๆ
สำหรับระบบ Proof of Stake ผู้ขุดจะถูกแทนที่ด้วย validators หรือผู้ยืนยันความถูกต้อง ไม่มีการขุดที่เกี่ยวข้องและไม่มีการแข่งขันกันเพื่อเดาแฮช แต่ผู้เข้าร่วมจะถูกเลือกแบบสุ่ม – หากพวกเขาได้รับเลือก พวกเขาจะต้องเสนอ (หรือ “ขึ้นรูป”) บล็อก หากการสร้างบล็อกถูกต้อง พวกเขาจะได้รับรางวัลที่ประกอบด้วยค่าธรรมเนียมจากธุรกรรมที่อยู่ในบล็อก
แต่ไม่ใช่ว่าใครก็ได้ที่จะถูกเลือก – โพรโทคอลจะเลือกตามปัจจัยหลายประการ เพื่อจะมีสิทธิ์ ผู้เข้าร่วมจะต้องล็อก Stake ซึ่งเป็นจำนวนเงินที่กำหนดไว้ล่วงหน้าโดยใช้สกุลเงินเดิมประจำบล็อกเชน กลไกการร่วม Staking นั้นทำงานเหมือนการประกันตัวเช่นเดียวกับที่จำเลยวางเงินจำนวนมากเพื่อให้พวกเขาคิดหนีการพิจารณาคดี ผู้ยืนยันความถูกต้องจะล็อก Stake ไว้เพื่อไม่ให้มีเหตุจูงใจในการโกง หากพวกเขากระทำการโดยไม่สุจริต Stake ของพวกเขา (หรือบางส่วน) จะถูกยึดไป
Proof of Stake มีข้อดีกว่า Proof of Work บางประการ สิ่งที่น่าสังเกตที่สุดคือการผลิตคาร์บอนที่น้อยกว่า – เนื่องจากไม่จำเป็นต้องใช้ฟาร์มขุดที่ใช้พลังงานสูง สำหรับ PoS พลังงานไฟฟ้าที่ใช้จึงเป็นเพียงเศษเสี้ยวของพลังงานที่ใช้ใน PoW 

แม้กล่าวดังนั้น ในแง่ประวัติการใช้งาน PoS ยังไม่ใกล้เคียง PoW ถึงแม้อาจถูกมองว่าสิ้นเปลือง แต่การขุดเป็นอัลกอริทึมฉันทามติเดียวที่พิสูจน์ตัวเองในวงกว้าง ในช่วงเวลากว่าทศวรรษที่ผ่านมามีการทำธุรกรรมมูลค่าหลายล้านล้านดอลลาร์ หากจะให้พูดถึงอย่างมั่นใจว่า PoS สามารถแข่งขันกับ PoW ในแง่ความปลอดภัยได้หรือไม่ PoS จะต้องได้รับการทดสอบอย่างเหมาะสมในสนามจริง


ข้อคิดส่งท้าย

Proof of Work เป็นวิธีการดั้งเดิมสำหรับแก้ปัญหาการใช้จ่ายซ้ำซ้อน และได้รับการพิสูจน์แล้วว่าเชื่อถือได้และปลอดภัย Bitcoin พิสูจน์แล้วว่าเราไม่จำเป็นต้องมีหน่วยงานกลางเพื่อป้องกันไม่ให้มีการใช้เงินจำนวนเดียวกันสองครั้ง ด้วยการใช้การเข้ารหัส ฟังก์ชันแฮช  และทฤษฎีเกมอย่างชาญฉลาด ผู้เข้าร่วมในสภาพแวดล้อมแบบกระจายอำนาจสามารถเห็นตรงกันได้เกี่ยวกับสถานะของฐานข้อมูลทางการเงิน