หลักฐานการทำงานหมายถึงอะไร
หลักฐานการทำงานอธิบายถึงระบบที่ต้องใช้ความพยายามอย่างไม่มีนัยสำคัญ แต่ไม่มีความเป็นไปได้ในการยับยั้งการใช้พลังงานในการคำนวณที่ไม่สำคัญหรือเป็นอันตรายเช่นการส่งอีเมลขยะหรือการปฏิเสธการโจมตีบริการ แนวคิดนี้ได้รับการปรับให้เข้ากับเงินโดย Hal Finney ในปี 2004 ผ่านแนวคิด "การพิสูจน์ซ้ำของงาน" หลังจากการเปิดตัวในปี 2552 bitcoin กลายเป็นแอปพลิเคชั่นที่ได้รับการยอมรับอย่างกว้างขวางเป็นครั้งแรกของ Finney (Finney ยังเป็นผู้รับของการทำธุรกรรม bitcoin แรก) หลักฐานการทำงานเป็นพื้นฐานของ cryptocurrencies อื่น ๆ อีกมากมายเช่นกัน
หลักฐานการทำงานอธิบาย
คำอธิบายนี้จะมุ่งเน้นไปที่การพิสูจน์การทำงานตามที่ทำงานในเครือข่าย bitcoin Bitcoin เป็นสกุลเงินดิจิทัลที่ได้รับการสนับสนุนจากบัญชีแยกประเภทที่รู้จักกันในชื่อ "blockchain" บัญชีแยกประเภทนี้มีการบันทึกการทำธุรกรรม bitcoin ทั้งหมดซึ่งจัดเรียงใน "บล็อก" ตามลำดับเพื่อให้ผู้ใช้ไม่ได้รับอนุญาตให้ใช้การถือครองใด ๆ ของพวกเขาสองครั้ง เพื่อป้องกันการปลอมแปลงบัญชีแยกประเภทเป็นสาธารณะหรือ "กระจาย" เวอร์ชันที่เปลี่ยนแปลงจะถูกปฏิเสธโดยผู้ใช้รายอื่นอย่างรวดเร็ว
วิธีที่ผู้ใช้ตรวจพบการปลอมแปลงในทางปฏิบัติคือผ่านแฮชสตริงจำนวนยาวที่ใช้เป็นหลักฐานการทำงาน ใส่ชุดข้อมูลที่กำหนดผ่านฟังก์ชั่นแฮช (bitcoin ใช้ SHA-256) และมันจะสร้างแฮชเพียงครั้งเดียว อย่างไรก็ตามเนื่องจาก "เอฟเฟกต์หิมะถล่ม" แม้การเปลี่ยนแปลงเพียงเล็กน้อยในส่วนใด ๆ ของข้อมูลต้นฉบับจะส่งผลให้แฮชที่ไม่สามารถจดจำได้ทั้งหมด ไม่ว่าขนาดของชุดข้อมูลต้นฉบับใดก็ตามแฮชที่สร้างโดยฟังก์ชันที่กำหนดจะมีความยาวเท่ากัน แฮชเป็นฟังก์ชั่นทางเดียว: ไม่สามารถใช้เพื่อรับข้อมูลต้นฉบับได้เพียงเพื่อตรวจสอบว่าข้อมูลที่สร้างแฮชตรงกับข้อมูลดั้งเดิม
การสร้างแฮชเพียงเล็กน้อยสำหรับชุดการทำธุรกรรม bitcoin นั้นจะไม่สำคัญสำหรับคอมพิวเตอร์ยุคใหม่ดังนั้นเพื่อเปลี่ยนกระบวนการให้กลายเป็น "ทำงาน" เครือข่าย bitcoin จะกำหนดระดับ "ความยากลำบาก" ระดับหนึ่ง การตั้งค่านี้จะถูกปรับเพื่อให้บล็อกใหม่เป็น "mined" - เพิ่มใน blockchain โดยสร้างแฮชที่ถูกต้อง - ประมาณทุกๆ 10 นาที ความยากลำบากในการตั้งค่าทำได้โดยการสร้าง "เป้าหมาย" สำหรับแฮช: เป้าหมายที่ต่ำกว่าชุดแฮชที่ถูกต้องที่น้อยกว่าและยิ่งยากที่จะสร้างมันขึ้นมา ในทางปฏิบัตินี่หมายถึงแฮชที่เริ่มต้นด้วยสตริงที่มีความยาว: แฮชสำหรับบล็อก # 429818 คือ 000000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d บล็อกนั้นมีธุรกรรม 2, 012 รายการที่มีมากกว่า 1, 000 bitcoin รวมถึงส่วนหัวของบล็อกก่อนหน้า หากผู้ใช้เปลี่ยนจำนวนหนึ่งธุรกรรมเป็น 0.0001 bitcoin แฮชผลลัพธ์จะไม่สามารถจดจำได้และเครือข่ายจะปฏิเสธการฉ้อโกง
เนื่องจากชุดข้อมูลที่กำหนดสามารถสร้างแฮชได้เพียงหนึ่งชุดเท่านั้นผู้ขุดจะแน่ใจได้อย่างไรว่าพวกเขาสร้างแฮชต่ำกว่าเป้าหมาย พวกเขาเปลี่ยนอินพุตโดยการเพิ่มจำนวนเต็มเรียกว่า nonce ("หมายเลขที่ใช้ครั้งเดียว") เมื่อพบแฮชที่ถูกต้องมันจะถูกส่งไปยังเครือข่ายและบล็อกจะถูกเพิ่มใน blockchain
การขุดเป็นกระบวนการแข่งขัน แต่มีลอตเตอรี่มากกว่าการแข่งขัน โดยเฉลี่ยแล้วใครบางคนจะสร้างหลักฐานการทำงานที่ยอมรับได้ทุกสิบนาที แต่ใครจะเดาได้ คนงานเหมืองรวมกันเพื่อเพิ่มโอกาสในการขุดบล็อกซึ่งสร้างค่าธรรมเนียมการทำธุรกรรมและระยะเวลาที่ จำกัด รางวัลของ bitcoins ที่สร้างขึ้นใหม่
หลักฐานการทำงานทำให้ยากมากที่จะเปลี่ยนมุมมองใด ๆ ของ blockchain เนื่องจากการเปลี่ยนแปลงดังกล่าวจะต้องทำการขุดบล็อกที่ตามมาทั้งหมดอีกครั้ง นอกจากนี้ยังทำให้ผู้ใช้หรือกลุ่มผู้ใช้ยากที่จะผูกขาดอำนาจการคำนวณของเครือข่ายเนื่องจากเครื่องจักรและพลังงานที่จำเป็นในการใช้ฟังก์ชันแฮชมีราคาแพง