BIKENZO

อธิบาย Proof of Work: บิตคอยน์บรรลุฉันทามติได้อย่างไร

Proof of work คือกระบวนการที่นักขุดบิตคอยน์แฮชบล็อกที่เป็นผู้สมัคร (candidate block) ซ้ำ ๆ จนกว่าจะมีบล็อกหนึ่งที่ทำได้ถึงเป้าหมายความยาก (difficulty target) จากนั้นเครือข่ายจะยึดตามเชนที่ถูกต้องซึ่งมีงานสะสมมากที่สุด — ทำให้การเขียนประวัติขึ้นใหม่มีต้นทุนทางเศรษฐกิจสูง และทำให้คนแปลกหน้าตกลงกันเรื่องบัญชีธุรกรรมร่วมกันเพียงชุดเดียวได้โดยไม่ต้องมีองค์กรกลาง

ปัญหาหลักของบิตคอยน์ดูเผิน ๆ เหมือนจะเรียบง่าย: คอมพิวเตอร์หลายพันเครื่องที่ไม่รู้จักและไม่ไว้ใจกันจะตกลงกันเรื่องบันทึกเดียวที่เรียงลำดับแล้วว่าใครเป็นเจ้าของอะไรได้อย่างไร — โดยไม่มีธนาคาร ไม่มีเซิร์ฟเวอร์ และไม่มีกรรมการ? Proof of work คือคำตอบของบิตคอยน์ มันเป็นกลไกที่เปลี่ยนไฟฟ้าและฮาร์ดแวร์คอมพิวเตอร์ให้กลายเป็นต้นทุนสำหรับการเสนอบล็อกใหม่ และเป็นกฎที่ทำให้ทุกคนรับรู้เชน "ที่แท้จริง" ได้ด้วยตนเองอย่างเป็นอิสระ บทความนี้อธิบายว่า proof of work คำนวณอะไรกันแน่ มันสร้างฉันทามติได้อย่างไร และเหตุใดการจัดวางนี้จึงยากที่จะโจมตี นี่เป็นบริบทเชิงการศึกษา ไม่ใช่คำแนะนำ

ปัญหาที่ proof of work แก้ไข

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

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

นักขุดกำลังคำนวณอะไรกันแน่

บล็อกที่เป็นผู้สมัครแต่ละบล็อกประกอบด้วยชุดธุรกรรม การอ้างอิงถึงบล็อกก่อนหน้า และตัวเลขเล็ก ๆ ที่เปลี่ยนแปลงได้ซึ่งเรียกว่า nonce นักขุดนำข้อมูลนี้ผ่านฟังก์ชันแฮช SHA-256 ซึ่งเปลี่ยนอินพุตใด ๆ ให้กลายเป็นเอาต์พุตความยาวคงที่ที่ดูคาดเดาไม่ได้ เป้าหมายคือการหาอินพุตที่ให้ค่าแฮชต่ำกว่าค่าเป้าหมายค่าหนึ่ง — ในทางปฏิบัติคือค่าแฮชที่ขึ้นต้นด้วยเลขศูนย์จำนวนหนึ่ง

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

ความยากและจังหวะประมาณสิบนาที

บิตคอยน์ตั้งเป้าให้มีบล็อกใหม่โดยเฉลี่ยประมาณทุก ๆ สิบนาที เมื่อมีพลังการประมวลผล (hash rate) เข้าร่วมเครือข่ายมากขึ้น บล็อกก็มักจะมาถึงเร็วขึ้น ดังนั้นโปรโตคอลจึงปรับความยากเป็นระยะ — ว่าค่าแฮชเป้าหมายต้องต่ำเพียงใด — เพื่อรักษาจังหวะเฉลี่ยให้คงที่ ประมาณทุก ๆ สองสัปดาห์ (2,016 บล็อก) แต่ละโหนดจะคำนวณความยากใหม่จากเวลาของบล็อกล่าสุด

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

จากบล็อกสู่ฉันทามติ: เชนที่ถูกต้องซึ่งยาวที่สุด

การหาบล็อกที่ถูกต้องเป็นเพียงครึ่งหนึ่งของเรื่องราว โหนดยังคงต้องตกลงกันเรื่องประวัติเดียวเมื่อนักขุดสองคนหาบล็อกได้ในเวลาเกือบพร้อมกัน กฎคือโหนดจะยึดตามเชนที่ถูกต้องซึ่งมี proof of work สะสมรวมมากที่สุด — มักสรุปกันว่าเป็น "เชนที่ยาวที่สุด" แม้ว่าจริง ๆ แล้วมันคือเชนที่หนักที่สุดโดยวัดจากงานสะสม

โหนดแบบเต็ม (full node) ทุกโหนดตรวจสอบบล็อกแต่ละบล็อกด้วยตนเองอย่างเป็นอิสระเทียบกับกฎของบิตคอยน์: ลายเซ็นที่ถูกต้อง ไม่มีการใช้จ่ายซ้ำซ้อน รางวัลบล็อกที่ถูกต้อง และค่าแฮชที่ถึงเป้าหมาย บล็อกที่ละเมิดกฎจะถูกปฏิเสธไปเลย ไม่ว่าจะทุ่มงานลงไปมากเพียงใดก็ตาม ความไม่ลงรอยชั่วคราว (การแยกเชนหรือ fork) จะคลี่คลายเมื่อบล็อกถัดไปต่อยอดกิ่งหนึ่ง และนักขุดที่ซื่อสัตย์จะรวมตัวกันที่กิ่งนั้น เพราะการสร้างต่อบนเชนที่ได้รับการยอมรับคือที่ที่รางวัลอยู่

เหตุใดสิ่งนี้จึงรักษาความปลอดภัยของเครือข่าย

เพื่อจะเขียนธุรกรรมในอดีตขึ้นใหม่ ผู้โจมตีจะต้องทำ proof of work ของบล็อกนั้นและทุกบล็อกหลังจากนั้นใหม่ทั้งหมด แล้วจึงต้องแซงหน้าเครือข่ายที่ซื่อสัตย์ทั้งหมดเพื่อสร้างเชนที่ยาวกว่า ยิ่งธุรกรรมถูกฝังลึกเท่าใด ก็ยิ่งต้องทำงานซ้ำใหม่มากขึ้นเท่านั้น — ซึ่งเป็นเหตุผลว่าทำไมผู้ค้าจึงมักรอการยืนยันหลายครั้ง ต้นทุนแปรผันตามพลังการประมวลผลรวม (hash rate) ของเครือข่าย

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

ข้อแลกเปลี่ยนและการถกเถียงในวงกว้าง

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

การออกแบบฉันทามติทางเลือกอื่น เช่น proof of stake รักษาความปลอดภัยของเครือข่ายอื่น ๆ บางแห่งด้วยพลังงานที่น้อยกว่ามาก โดยใช้หลักประกันทางเศรษฐกิจแทนการคำนวณ มันเกี่ยวข้องกับสมมติฐานและข้อแลกเปลี่ยนที่แตกต่างออกไป และการเปรียบเทียบกันอย่างเป็นธรรมก็เป็นหัวข้อในตัวเอง สำหรับบิตคอยน์โดยเฉพาะ proof of work ยังคงเป็นกลไก และความปลอดภัยกับตารางการออกเหรียญของมันก็ผูกอยู่กับกลไกนี้

FAQ

Proof of work คืออะไรในแบบง่าย ๆ
มันคือระบบที่คอมพิวเตอร์แข่งขันกันไขปริศนาการเดาแบบสุ่มที่ยาก โดยนำข้อมูลผ่านฟังก์ชันแฮชจนกว่าจะพบผลลัพธ์ที่ผ่านเกณฑ์ ปริศนานี้ไขได้ยากมีต้นทุนสูง แต่คนอื่น ๆ ตรวจสอบได้ง่าย ซึ่งทำให้เครือข่ายของคนแปลกหน้าตกลงกันเรื่องบล็อกใหม่ได้โดยไม่ต้องไว้ใจกัน
Proof of work ป้องกันการใช้จ่ายซ้ำซ้อนได้อย่างไร
ธุรกรรมถูกจัดเรียงลำดับอยู่ภายในบล็อก และเครือข่ายยึดตามเชนที่ถูกต้องซึ่งมีงานสะสมมากที่สุด การจะใช้จ่ายเหรียญเดียวกันสองครั้ง ผู้โจมตีจะต้องทำงานของบล็อกที่เกี่ยวข้องใหม่และแซงหน้าเครือข่ายที่ซื่อสัตย์ทั้งหมด — ซึ่งมีต้นทุนสูงจนเกินจะรับไหวเมื่อการยืนยันสะสมเพิ่มมากขึ้น
Proof of work เหมือนกับการขุดหรือไม่
ทั้งสองเกี่ยวข้องกันอย่างใกล้ชิดแต่ไม่เหมือนกัน Proof of work คือกฎและปริศนา ส่วนการขุดคือกิจกรรมของการทำงานนั้น — การเดินเครื่องฮาร์ดแวร์เพื่อค้นหาบล็อกที่ถูกต้อง นักขุดจะได้รับรางวัลเป็นบิตคอยน์ที่ออกใหม่และค่าธรรมเนียมธุรกรรมเมื่อพวกเขาทำสำเร็จ
การโจมตี 51% คืออะไร
มันอธิบายสถานการณ์ที่ฝ่ายเดียวควบคุมพลังแฮชของเครือข่ายมากกว่าครึ่งหนึ่ง ซึ่งอาจทำให้พวกเขาจัดลำดับใหม่หรือขัดขวางธุรกรรมล่าสุดได้ มันไม่สามารถปลอมลายเซ็นหรือขโมยเหรียญที่มีอยู่ได้ และมันมีต้นทุนสูงและย้อนกลับมาทำร้ายตัวเอง เพราะการโจมตีที่สำเร็จอาจทำให้มูลค่าของสิ่งที่ผู้โจมตีกำลังขุดอยู่เสียหาย
เหตุใดบิตคอยน์จึงใช้พลังงานมากขนาดนี้
การใช้พลังงานเป็นเรื่องที่ตั้งใจ: ต้นทุนในโลกจริงคือสิ่งที่ทำให้การเขียนประวัติขึ้นใหม่มีต้นทุนสูง ซึ่งเป็นที่มาของความปลอดภัย การประมาณการการใช้พลังงานทั้งหมดมีความแตกต่างกันและเปลี่ยนแปลงไปตามเวลา และสัดส่วนของพลังงานส่วนเกินหรือพลังงานหมุนเวียนก็ต่างกันไปตามภูมิภาค — ตัวเลขนั้นควรตรวจสอบเทียบกับแหล่งข้อมูลที่น่าเชื่อถือและเป็นปัจจุบัน
Proof of work เกี่ยวข้องกับเทอร์มินัลสภาพคล่องอย่าง BIKENZO อย่างไร
มันไม่ได้เปลี่ยนวิธีที่คุณอ่านข้อมูลตลาด แต่ช่วยอธิบายว่าบิตคอยน์คืออะไร: เครือข่ายที่ถูกรักษาความปลอดภัยด้วยงาน ไม่ใช่บริษัท BIKENZO เป็นเครื่องมือด้านข้อมูลที่พล็อตดัชนีสภาพคล่องทั่วโลก (Global Liquidity Index) เทียบกับราคาบิตคอยน์เพื่อเป็นบริบท การเข้าใจ proof of work เป็นความรู้พื้นฐาน ในขณะที่เทอร์มินัลเพียงแค่แสดงบริบทของตลาด มันให้บริบท ไม่ใช่คำแนะนำ — คุณเป็นผู้ตัดสินใจ

A Bitcoin liquidity terminal. Global central-bank liquidity, plotted against the Bitcoin price, in one screen.

ขอดูตัวอย่าง