V God: เมื่อเรายืนยัน blockchain เรากำลังทำอะไรอยู่?
หมายเหตุบรรณาธิการ: บทความนี้มาจากผู้ที่ชื่นชอบ Ethereum (ID: ethfans)หมายเหตุบรรณาธิการ: บทความนี้มาจาก
ผู้ที่ชื่นชอบ Ethereum (ID: ethfans)
ผู้เขียน: Vitalik แปลและพิสูจน์อักษร: Elisa & A Jian พิมพ์ซ้ำโดย Odaily โดยได้รับอนุญาต
แต่ในทางปฏิบัติเราต้องการผู้ตรวจสอบความถูกต้องจริง ๆ กี่คน? โหนดตรวจสอบความถูกต้องอย่างอิสระหนึ่งร้อยโหนด? พัน? เราจำเป็นต้องมีคนปกติทุกคนในโลกที่ใช้ซอฟต์แวร์เพื่อตรวจสอบการทำธุรกรรมทั้งหมดหรือไม่? การตอบคำถามเหล่านี้เป็นความท้าทายของเราโดยเฉพาะอย่างยิ่งหากเราต้องการสร้างบล็อกเชนด้วยกลไกที่เป็นเอกฉันท์ซึ่งให้ประโยชน์มากกว่าการพิสูจน์การทำงานของ Nakamoto แบบเชนเดียว การแก้ปัญหาเหล่านี้มีความสำคัญอย่างยิ่ง
ชื่อเรื่องรอง
ตรวจสอบทำไม
คำอธิบายภาพ
มีประโยชน์หลักสองประการที่ผู้ใช้ตรวจสอบ blockchain ประการแรก สิ่งนี้สามารถอนุญาตให้โหนดมีส่วนร่วมในกระบวนการกำหนดห่วงโซ่ทางกฎหมาย (นั่นคือห่วงโซ่ที่ชุมชนทั้งหมดยอมรับและมีความชอบธรรม) ในระดับสูงสุด โดยทั่วไปแล้ว chain ทางกฎหมายหมายถึง "blockchain ที่ถูกต้องซึ่งสนับสนุนโดยนักขุดหรือตัวตรวจสอบความถูกต้องส่วนใหญ่" เช่น "โซ่ที่ถูกต้องยาวที่สุด" ใน Bitcoin เชนที่ไม่ถูกต้องจะถูกปฏิเสธตามคำนิยาม และหากเชนที่ถูกต้องหลายตัวแข่งขันกัน เชนที่มีผู้ขุดหรือตัวตรวจสอบความถูกต้องสนับสนุนมากที่สุดจะเป็นผู้ชนะ ดังนั้น หากคุณเรียกใช้โหนดที่ตรวจสอบความถูกต้องของบล็อกทั้งหมด คุณจะสามารถตรวจจับได้ว่าเชนใดถูกต้องและไม่ถูกต้อง ซึ่งจะช่วยเพิ่มโอกาสในการตรวจจับเชนที่ถูกต้อง
แต่แท้จริงแล้วมีประโยชน์ที่ลึกกว่าสำหรับผู้ใช้ในการตรวจสอบ blockchain หากผู้กระทำที่มีอำนาจพยายามให้เครือข่ายยอมรับการเปลี่ยนแปลงโปรโตคอล (เช่น การเปลี่ยนแปลงการออก) และมีผู้ขุดส่วนใหญ่สนับสนุน การโจมตีจะสำเร็จได้อย่างง่ายดายโดยไม่มีใครตรวจสอบความถูกต้องของบล็อกเชน และลูกค้าทั้งหมดจะยอมรับเครือข่ายใหม่นี้โดยค่าเริ่มต้น เมื่อทุกคนมีสติสัมปชัญญะและตระหนักถึงสิ่งนี้ พวกเขาสามารถพึ่งพาฝ่ายตรงข้ามเท่านั้นที่จะปฏิเสธห่วงโซ่ใหม่นี้ผ่านการประสานงาน แต่ถ้าผู้ใช้ทั่วไปเข้าร่วมในการตรวจสอบด้วย สถานการณ์จะแตกต่างไปจากเดิมอย่างสิ้นเชิง และผู้โจมตีที่พยายามเปลี่ยนโปรโตคอลจำเป็นต้องโน้มน้าวให้ผู้ใช้ที่ได้รับการยืนยันให้ดาวน์โหลดแพตช์ซอฟต์แวร์เพื่อเปลี่ยนโปรโตคอล
หากมีผู้ใช้เข้าร่วมในการตรวจสอบมากพอ เมื่อมีคนพยายามเปลี่ยนแปลงโปรโตคอลที่เป็นที่ถกเถียง ค่าเริ่มต้นจะไม่สำเร็จแต่จะเกิดความสับสน ความโกลาหลตามธรรมชาติจะสร้างความเสียหายให้กับเครือข่ายซึ่งต้องอาศัยการประสานงานทางสังคมนอกระดับโปรโตคอลในการแก้ปัญหา แต่ก็ยังเป็นอุปสรรคที่ใหญ่กว่าต่อหน้าผู้โจมตี ทำให้พวกเขาไม่สามารถมั่นใจว่าจะประสบความสำเร็จในการระเบิดครั้งเดียวแล้วเดิน ห่างออกไป ลดความเต็มใจที่จะโจมตีลงอย่างมาก หากผู้ใช้ส่วนใหญ่เข้าร่วมในการตรวจสอบโดยตรงหรือโดยอ้อม และผู้โจมตีได้รับการสนับสนุนจากนักขุดส่วนใหญ่เท่านั้น การโจมตีก็จะล้มเหลวโดยธรรมชาติ ซึ่งเป็นผลลัพธ์ที่ดีที่สุดสำหรับทุกคน
ชื่อเรื่องรอง
มุมมองที่กำหนด VS มุมมองความร่วมมือ
ควรสังเกตว่าตรรกะของการให้เหตุผลข้างต้นนั้นแตกต่างอย่างมากจากการให้เหตุผลประเภทอื่นที่เรามักจะได้ยิน: พวกเขากล่าวว่าตราบใดที่ห่วงโซ่เปลี่ยนแปลงกฎของโปรโตคอล มันจะไม่เป็นห่วงโซ่ทางกฎหมาย "ตามคำนิยาม" และที่สำคัญ ปัญหาไม่ได้อยู่ที่จำนวนผู้ใช้ที่ยินดีรับกฎชุดใหม่ แต่อยู่ที่ว่าคุณสามารถอยู่ในห่วงโซ่ได้ตลอดเวลาโดยใช้กฎเดิมที่คุณชอบ
ลองดูตัวอย่างนี้จาก Gavin Andresen ที่พูดถึงเรื่องนี้จาก "มุมมองของคำนิยาม":
"Bitcoin" เป็นบัญชีแยกประเภทธุรกรรมที่บันทึกธุรกรรมที่ลงนามตามกฎหมายในรูปแบบของบล็อกเชนที่ใช้จ่ายเงินที่ไม่ได้ใช้ไปก่อนหน้านี้ ห่วงโซ่เริ่มต้นด้วยบล็อกการกำเนิดซึ่งมีแฮชคือ 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f ซึ่งออก 21 ล้าน bitcoins บนห่วงโซ่ที่สะสมหลักฐานการทำงาน SHA256 สองเท่ามากที่สุดตามกำหนดเวลาที่กำหนดไว้
คำจำกัดความอื่นจากกระเป๋าเงิน Wasabi ซึ่งตรงไปตรงมามากกว่าในการอธิบายค่าของโหนดแบบเต็ม:
เมื่อใช้งานโหนดเต็มของ Bitcoin คุณสามารถกำหนดกฎสกุลเงินที่แน่นอนที่คุณเห็นด้วย ไม่มีใครบังคับคุณได้ ดังนั้น องค์กรอิสระใด ๆ ที่ต้องการอิสรภาพทางการเงินควรเรียกใช้โหนดแบบเต็ม หลังจากกำหนดกฎของตัวเองแล้ว ซอฟต์แวร์ฟูลโหนดสามารถค้นหาโหนดที่ตรงตามกฎของเราในเครือข่าย Bitcoin peer-to-peer โหนดเหล่านี้ส่งธุรกรรมที่เราตัดสินว่าถูกต้องตามกฎของพวกเขา และเราตรวจสอบธุรกรรมเหล่านั้นตามกฎของเราเอง หากเราได้รับธุรกรรมที่ไม่เป็นไปตามกฎ เราสามารถทำเครื่องหมายว่าเป็นธุรกรรมที่ไม่ถูกต้องและยกเลิกการเชื่อมต่อจากโหนดต้นทางของธุรกรรมที่ไม่ถูกต้อง
ชื่อเรื่องรอง
ยืนยันอำนาจอธิปไตยทางการเงินของคุณ
การใช้โหนดแบบเต็มทำให้เรามีอำนาจในการกำหนด ตรวจสอบ และบังคับใช้กฎของสกุลเงิน Bitcoin ของเรา
เราควรให้ความสนใจกับสองแกนในมุมมองของ "คำจำกัดความ":
สิ่งที่สำคัญที่สุดคือคุณยึดติดกับห่วงโซ่ที่สอดคล้องกับกฎของคุณเอง
จากมุมมองของคุณ คุณยังคงมีสกุลเงินในระบบที่สร้างขึ้นตามกฎที่คุณเห็นด้วย แต่แล้วอะไรล่ะ ไม่มีใครยอมรับสกุลเงินของคุณอีกต่อไป การแลกเปลี่ยนจะไม่ยอมรับ เว็บไซต์อาจแสดงราคาที่พุ่งสูงขึ้นสำหรับสกุลเงินใหม่ แต่เป็นสกุลเงินในเครือข่ายที่มีผู้ใช้ส่วนใหญ่ และสกุลเงินของคุณจะกลายเป็นสิ่งไร้ค่า Cryptocurrencies และ blockchains เป็นโครงสร้างทางสังคมโดยพื้นฐาน พวกเขาจะไม่มีความหมายถ้าไม่มีใครเชื่อในพวกเขา
แล้วเราควรมองประเด็นนี้จากมุมไหน? ศูนย์กลางของมุมมองนี้คือบล็อกเชนเป็นตัวอย่างของการใช้ประโยชน์จากปัญหาการประสานงานเพื่อให้ได้มาซึ่งความปลอดภัย
โดยทั่วไป ปัญหาการปรองดองในโลกแห่งความเป็นจริงนั้นยาก แม้ว่าสำหรับคนส่วนใหญ่ มันจะดีกว่าถ้าภาษาอังกฤษเปลี่ยนระบบการสะกดคำที่มีความซับซ้อนสูงและไม่สม่ำเสมอเป็นการสะกดแบบสัทอักษร แม้ว่าจะดีกว่าหากสหรัฐอเมริกาเปลี่ยนไปใช้เมตริกดี ขณะที่อยู่ใน ภาวะเศรษฐกิจถดถอย จะดีกว่าหากเราลดราคาและค่าจ้างทั้งหมดลง 10% พร้อมกัน ในทางปฏิบัติ ทุกคนจะต้องยอมรับการเปลี่ยนแปลงเหล่านี้พร้อมกัน ซึ่งเป็นเรื่องยากมากที่จะบรรลุผลสำเร็จ
แต่ในการประยุกต์ใช้ blockchain ปัญหาการประสานงานกลายเป็นข้อได้เปรียบของเรา เราใช้ประโยชน์จากแรงเสียดทานที่เกิดจากปัญหาการประสานงานเพื่อป้องกันการกระทำที่ไม่เหมาะสมโดยผู้เล่นหลัก เราสามารถสร้างระบบที่มีพร็อพเพอร์ตี้ X และรับประกันว่าพร็อพเพอร์ตี้ X จะถูกรักษาไว้ เนื่องจากการเปลี่ยนกฎจากพร็อพเพอร์ตี้ X เป็น non-X จำเป็นต้องมีคนจำนวนมากเพื่อตกลงและอัปเดตซอฟต์แวร์พร้อมกัน แม้ว่านักแสดงคนเดียวจะสามารถบังคับให้เกิดการเปลี่ยนแปลงได้ แต่ก็คงยากกว่าสำหรับฝ่ายตรงข้ามที่จะประสานการต่อต้านการเปลี่ยนแปลงอย่างแข็งขัน
ข้อความ
เราควรให้ความสนใจกับผลพิเศษของการยึดถือมุมมองนี้: จุดประสงค์ของการรันโหนดแบบเต็มนั้นไม่เพียงแต่เพื่อปกป้องผลประโยชน์ของตัวเองเท่านั้น ในกรณีของ Hard Fork ที่ถกเถียงกัน ผู้ใช้ที่รันโหนดแบบเต็มจะปลอดภัย แต่ ไม่ใช่โดยไม่มีโหนดแบบเต็ม ในระดับที่กว้างกว่านั้นสามารถมองได้ว่าเป็นการสร้างภูมิคุ้มกันแบบฝูง (herd immunity) ยิ่งมีคนตรวจสอบมากเท่าไหร่ทุกคนก็ยิ่งปลอดภัยมากขึ้นเท่านั้นและแม้ว่าจะมีการตรวจสอบเพียงบางคน
ชื่อเรื่องรอง
การอภิปรายเชิงลึกเกี่ยวกับ "การตรวจสอบ"
ค่าเริ่มต้นทำให้เกิดความล้มเหลว > ค่าเริ่มต้นทำให้เกิดความสับสน > ค่าเริ่มต้นสำเร็จ
"สัญลักษณ์มากกว่า" ในที่นี้หมายความว่าอันแรกดีกว่าอันหลัง กรณีที่ดีที่สุดคือการโจมตีล้มเหลวโดยตรง กรณีรองลงมาคือการโจมตีนำไปสู่ความสับสน และทุกคนไม่สามารถเห็นพ้องต้องกันในห่วงโซ่ทางกฎหมาย และกรณีที่เลวร้ายที่สุดคือการโจมตีสำเร็จ เหตุใดการสร้างความวุ่นวายจึงดีกว่าการโจมตีสำเร็จ มันมาจากสิ่งจูงใจ ความสับสนยังทำให้ผู้โจมตีเสียค่าใช้จ่าย ทำให้พวกเขามั่นใจน้อยลงว่าการโจมตีจะประสบความสำเร็จ ซึ่งจะเป็นการลดแรงจูงใจสำหรับผู้โจมตีที่จะเริ่มการโจมตี สภาพแวดล้อมที่นำไปสู่ความโกลาหลโดยธรรมชาติหมายถึงผู้โจมตีที่พวกเขาจำเป็นต้องชนะสงครามบล็อกเชน (เปิดการโจมตีสำเร็จ 51%) และชนะ "สงครามความคิดเห็นสาธารณะ" เพื่อโน้มน้าวชุมชนทั้งหมดให้ติดตามห่วงโซ่การโจมตี สิ่งนี้ทำให้การโจมตียากขึ้นมากและให้ผลกำไรน้อยกว่าการเปิดการโจมตี 51% รับประกันว่าจะประสบความสำเร็จ
เป้าหมายของการตรวจสอบคือการรับการโจมตีจากสถานะที่ประสบความสำเร็จโดยธรรมชาติ ไปสู่สถานะที่ล้มเหลวโดยธรรมชาติ (ดีที่สุด) หรือไปยังสถานะที่นำไปสู่ความสับสนโดยธรรมชาติ (ต่ำกว่าเกณฑ์) หากคุณเรียกใช้โหนดที่ตรวจสอบบล็อกทั้งหมดอย่างสมบูรณ์ และผู้โจมตีพยายามให้เครือข่ายยอมรับห่วงโซ่ที่มีกฎต่างกัน การโจมตีจะล้มเหลว หากผู้ใช้บางคนใช้การตรวจสอบความถูกต้องของโหนดทั้งหมด แต่หลายคนไม่ทำ การโจมตีอาจนำไปสู่ความโกลาหลได้ แต่เรายังคงต้องคิดว่ามีวิธีอื่นที่จะทำให้ได้ผลเช่นเดียวกันหรือไม่?
Light Clients และ Fraud Proofs
แนวทางที่ดีกว่าคือการใช้ไคลเอ็นต์ขนาดเล็กที่มีหลักฐานการฉ้อโกง ไคลเอ็นต์ blockchain light ปัจจุบันส่วนใหญ่จะยืนยันว่านักขุดส่วนใหญ่สนับสนุนบล็อกเฉพาะเท่านั้น ไม่ใช่ว่าเป็นไปตามกฎของโปรโตคอล การทำงานปกติของลูกค้าเหล่านี้ถือว่านักขุดส่วนใหญ่มีความซื่อสัตย์ เมื่อมีการแยกความขัดแย้งเกิดขึ้น ลูกค้าดังกล่าวจะเป็นไปตามแนวโน้มโดยธรรมชาติ และผู้ใช้จำเป็นต้องใช้มาตรการเชิงรุกเพื่ออยู่ในห่วงโซ่ของชนกลุ่มน้อยภายใต้กฎเดิม ดังนั้นสำหรับไคลเอนต์ปัจจุบันที่เริ่มการโจมตี ผู้โจมตีสามารถประสบความสำเร็จได้โดยธรรมชาติ แต่ด้วยเทคโนโลยีที่พิสูจน์การฉ้อโกง สถานการณ์จะแตกต่างไปจากเดิมอย่างสิ้นเชิง
กล่าวง่ายๆ ว่าหลักฐานการฉ้อโกงทำงานดังนี้ โดยทั่วไปแล้ว บล็อกเดียวในบล็อกเชนจะอ้างถึงส่วนเล็กๆ ของ "สถานะ" ของบล็อกเชนเท่านั้น (ยอดคงเหลือในบัญชี รหัสสัญญาอัจฉริยะ...) หากโหนดเต็มรูปแบบประมวลผลบล็อกและพบว่าบล็อกนั้นไม่ถูกต้อง ก็จะสามารถสร้างแพ็กเก็ตข้อมูล (นั่นคือ หลักฐานการฉ้อโกง) และเผยแพร่ไปยังไคลเอ็นต์แบบไลท์ แพ็กเก็ตข้อมูลจะรวมเฉพาะบล็อกและข้อมูลที่เพียงพอในการประมวลผลบล็อก หลังจากได้รับแพ็กเก็ตข้อมูลแล้ว ไคลเอ็นต์แบบไลท์จะสามารถตรวจสอบบล็อกได้ด้วยตัวเองโดยไม่ต้องใช้ข้อมูลอื่นในสายโซ่
เทคนิคนี้บางครั้งเรียกว่าการยืนยันแบบไร้สถานะ ลูกค้าสามารถบันทึกเฉพาะส่วนหัวของบล็อกโดยไม่ต้องบันทึกข้อมูลสถานะของบล็อกเชนทั้งหมด และสามารถตรวจสอบได้แบบเรียลไทม์โดยขอให้ Merkle พิสูจน์รายการสถานะโดยพลการจากโหนดอื่นๆ บล็อก
การกระจายตัว
ประสิทธิภาพของเทคนิคนี้คือไคลเอ็นต์แบบเบาจะตรวจสอบเพียงบล็อกเดียวหลังจากได้รับการแจ้งเตือน (การแจ้งเตือนยังสามารถตรวจสอบได้ หากไคลเอ็นต์แบบเบาพบการแจ้งเตือนที่ผิดพลาด พวกเขาสามารถหยุดฟังการแจ้งเตือนของโหนดได้) ดังนั้นภายใต้สถานการณ์ปกติ ไคลเอ็นต์แบบไลท์ยังคงมีน้ำหนักเบาและตรวจสอบเฉพาะบล็อกที่ได้รับการสนับสนุนโดยนักขุดหรือผู้ตรวจสอบความถูกต้องส่วนใหญ่ อย่างไรก็ตาม ในกรณีพิเศษ หากเชนที่คนส่วนใหญ่อาศัยอยู่มีบล็อกที่ไคลเอ็นต์แบบเบาไม่ยอมรับ ตราบใดที่โหนดแบบเต็มที่ซื่อสัตย์อย่างน้อยหนึ่งโหนดยืนยันการบล็อกที่มีปัญหา ก็จะสามารถทราบได้ว่าโหนดนั้นไม่ถูกต้องและ เผยแพร่หลักฐานการฉ้อฉลเพื่อให้โหนดอื่น ๆ ในเครือข่ายปฏิเสธเช่นกัน
ชื่อเรื่องรอง
การกระจายตัว
นอกจากนี้ อีกประเด็นหนึ่งที่สำคัญมาก: ในระบบชาร์ดดิ้ง เกณฑ์สำหรับการสร้างบล็อก (ไม่ใช่แค่การยืนยัน) นั้นต่ำมาก และสามารถทำได้บนแล็ปท็อปที่บ้านด้วยซ้ำ แกนหลักของเครือข่ายไม่ได้พึ่งพาฮาร์ดแวร์ที่มีประสิทธิภาพสูง ซึ่งทำให้มั่นใจได้ว่าเกณฑ์สำหรับฝ่ายค้านที่จะเป็นชนกลุ่มน้อยนั้นต่ำพอ ซึ่งทำให้ยากขึ้นสำหรับโปรโตคอลที่ครอบงำโดยส่วนใหญ่ที่จะกลายเป็น "ความสำเร็จในการโจมตีตามธรรมชาติ " ระบุโดยผู้โจมตี (บังคับให้ผู้อื่นเชื่อฟังการโจมตี)
นี่คือความหมายของการตรวจสอบในโลกแห่งความเป็นจริงเช่นกัน ไม่ใช่ทุกคนที่จะตรวจสอบทุกอย่างตลอดเวลา แต่ก่อนอื่น มีคนจำนวนมากพอที่จะตรวจสอบแต่ละส่วน และรับประกันว่าจะพบข้อผิดพลาด และประการที่สอง เมื่อตรวจสอบข้อผิดพลาดแล้ว และทุกคนสามารถเห็นได้ชัดเจนว่าพวกเขาผิดพลาดตรงไหน
ต้องบอกว่าในระยะยาว blockchain สามารถไปได้ไกลกว่านี้อย่างแน่นอน แหล่งที่มาหนึ่งของความคืบหน้าคือ ZK-SNARK (หรือ "การพิสูจน์ความถูกต้อง") ซึ่งเป็นการพิสูจน์การเข้ารหัสลับที่มีประสิทธิภาพและตรวจสอบได้ ซึ่งช่วยให้ผู้ผลิตบล็อกสามารถพิสูจน์ให้ลูกค้าเห็นว่าการบล็อกเป็นไปตามเงื่อนไขความถูกต้องที่ซับซ้อนโดยพลการ การพิสูจน์ความถูกต้องนั้นแข็งแกร่งกว่าการพิสูจน์การฉ้อโกงเนื่องจากไม่ต้องอาศัยเกมแบบโต้ตอบเพื่อตรวจจับการหลอกลวง เทคนิคสำคัญอีกประการหนึ่งคือ "การตรวจสอบความพร้อมใช้งานของข้อมูล" ซึ่งสามารถตรวจจับบล็อกที่ไม่มีเนื้อหาเปิดเผยทั้งหมด การพิสูจน์ความพร้อมใช้งานของข้อมูลขึ้นอยู่กับสมมติฐานด้านความปลอดภัยบางประการ แต่ข้อสันนิษฐานนี้เป็นแบบอนุรักษ์นิยมมาก: ยังมีโหนดที่มีอยู่จำนวนเล็กน้อยในเครือข่ายที่ซื่อสัตย์ ("เต็มใจที่จะปฏิบัติตามข้อตกลง") ข่าวดีก็คือสิ่งนี้ จำนวนผู้ตรวจสอบที่ซื่อสัตย์ขั้นต่ำมีน้อย และแม้ว่าผู้โจมตีจะมีจำนวนมาก แต่ก็มีความจำเป็นเพียงเล็กน้อยในการเพิ่มข้อกำหนด
ชื่อเรื่องรอง
ทีนี้ มาดูผลลัพธ์ที่ทรงพลังที่สุดของรูปแบบ "ความโกลาหลตามธรรมชาติ": การโจมตี 51% เริ่มโจมตีตัวเอง ในชุมชนปัจจุบันหลายแห่ง หากการโจมตี 51% เกิดขึ้นและผู้โจมตีชนะ ห่วงโซ่การโจมตี 51% จะกลายเป็นห่วงโซ่ที่ถูกต้อง ข้อกำหนดนี้ทุกคนปฏิบัติตามอย่างเคร่งครัด การโจมตี 51% ล่าสุดของ Ethereum Classic แสดงให้เห็นจุดนี้ ผู้โจมตีย้อนกลับมากกว่า 3,000 บล็อก ขโมย 807,260 ETC ด้วยการใช้จ่ายสองครั้งในกระบวนการ เนื่องจากหนึ่งในสองไคลเอนต์คลาสสิกของ Ethereum (OpenEthereun) ไม่สามารถกลับไปสู่จุดสูงสุดในอดีตของห่วงโซ่การโจมตีได้ โหนด Geth สามารถทำงานบนห่วงโซ่การโจมตีได้ ในขณะที่ OpenEthereum สามารถติดอยู่ในห่วงโซ่เดิมเท่านั้น
เราสามารถพูดได้ว่าการโจมตีนำไปสู่ความโกลาหล แต่มันเป็นอุบัติเหตุมากกว่าการออกแบบโดยเจตนาโดยชุมชน Ethereum Classic น่าเสียดายที่ต่อมาชุมชนเลือกที่จะยอมรับห่วงโซ่การโจมตี (ที่ยาวกว่า) ว่าถูกต้องตามกฎหมาย บัญชี Twitter ของ Ethereum Classic เรียกมันว่า "การยึดมั่นในหลักฐานการทำงานอย่างเข้มงวดเหมือนกับความตั้งใจดั้งเดิมของเรา" ดังนั้นบรรทัดฐานของชุมชนนี้ช่วยให้ผู้โจมตีได้รับชัยชนะอย่างจริงจัง
แต่ในความเป็นจริงเราสามารถบรรลุฉันทามติอื่นเกี่ยวกับคำจำกัดความของห่วงโซ่ทางกฎหมาย ตัวอย่างเช่น ตั้งกฎว่าหลังจากบล็อกหนึ่งมีบล็อกที่สืบทอดมากกว่า 100 บล็อก ความชอบธรรมของบล็อกนั้นไม่สามารถล้มล้างได้ หรือหลักฐานการเดิมพันที่มีขั้นสุดท้าย (เช่น Ethereum 2.0 เป็นกรณีนี้) กฎคือเมื่อบล็อกเสร็จสิ้นแล้วจะไม่มีการย้อนกลับ
คำอธิบายภาพ
แนวทางนี้ยังมีศักยภาพที่จะเติบโต เราสามารถพยายามสร้างการโจมตี 51% เพื่อเซ็นเซอร์ธุรกรรมโดยเฉพาะซึ่งอาจทำให้เกิดความสับสน การวิจัยเกี่ยวกับเครื่องตรวจสอบความตรงต่อเวลายังผลักดันให้การโจมตีทุกประเภทไปสู่ความล้มเหลวโดยธรรมชาติ ถึงกระนั้น ก็จะยังคงมีความสับสน เนื่องจากตัวตรวจสอบความตรงเวลาไม่สามารถช่วยโหนดเหล่านั้นที่ออฟไลน์หรือมีการเชื่อมต่อเครือข่ายที่ไม่ดี
สรุปแล้ว
สำหรับชุมชนบล็อกเชนที่ให้ความสำคัญกับการเปลี่ยนแปลงไม่ได้ อาจกล่าวได้ว่ามาตรการจำกัดการย้อนกลับนี้เป็นทางเลือกที่ดี หากไม่ว่าเครือข่ายจะยอมรับธุรกรรมนานเท่าใด ก็อาจถูกย้อนกลับโดยไม่ตั้งใจ จากนั้นบล็อกเชน ไม่สามารถอ้างว่าเปลี่ยนรูปไม่ได้ แน่นอน ฉันเชื่อว่าแม้แต่ BTC และ ETC ก็มีข้อจำกัดในการย้อนกลับในกรณีที่รุนแรง หากการโจมตีพยายามย้อนประวัติการบล็อกหลายสัปดาห์ ชุมชนสามารถเริ่มต้นซอฟต์ฟอร์กที่ต้องการการมีส่วนร่วมของผู้ใช้ที่กระตือรือร้นเพื่อปฏิเสธการโจมตีห่วงโซ่ของผู้รับ แต่ข้อตกลงที่ชัดเจนกว่านี้และการดำเนินการอย่างเป็นทางการของมาตรการนี้จะก้าวไปอีกขั้น
ชื่อเรื่องรอง
สรุปแล้ว
แล้วนิทานเรื่องนี้สอนอะไรเราบ้าง? ประการแรก หากเรายอมรับความชอบธรรมของการทำงานร่วมกันทางสังคม และความถูกต้องของการตรวจสอบทางอ้อมโดยใช้รูปแบบความน่าเชื่อถือ "1-of-N" นั่นคือ สมมติว่ามีผู้เข้าร่วมที่ซื่อสัตย์ในเครือข่ายเสมอ แทนที่จะสมมติว่ามีผู้เข้าร่วมบางราย (เช่น Infura) มีความซื่อสัตย์เสมอ จากนั้นเราสามารถสร้างบล็อกเชนที่ปรับขนาดได้มากขึ้น


