BTC
ETH
HTX
SOL
BNB
ดูตลาด
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

เสียงสะท้อน: Yuliang Complex ของ Casper FFG และ Casper CBC

星球君的朋友们
Odaily资深作者
บทความนี้มีประมาณ 5751 คำ การอ่านทั้งหมดใช้เวลาประมาณ 9 นาที
บทความนี้จะใช้ชุดทวีตเพื่ออธิบายประวัติการวิจัย/เนื้อสัมผัส/ความคืบหน้าของข้อตกลงฉันทา
สรุปโดย AI
บทความนี้จะใช้ชุดทวีตเพื่ออธิบายประวัติการวิจัย/เนื้อสัมผัส/ความคืบหน้าของข้อตกลงฉันทา

หมายเหตุบรรณาธิการ: บทความนี้มาจากผู้ที่ชื่นชอบ Ethereum (ID: Ethfans)หมายเหตุบรรณาธิการ: บทความนี้มาจาก

บทความนี้เป็นการแปลโดย Qiu Jun สมาชิกของชุมชน Taipei Ethereum Meetup จากทวีตขนาดยาวโดย Vitalik ซึ่งแนะนำการพัฒนาของ Casper ในเดือนสิงหาคม 2018 หนึ่งปีต่อมา กฎการเลือกทางแยกของ Eth2.0 ได้ถูกกำหนดให้เป็น LMD Ghost ไม่ใช่ IMD Ghost ซึ่ง Vitalik แสดงความชอบของเขาในทวีตยาวนี้ แต่ประวัติวิวัฒนาการของ Casper ที่กล่าวถึงในบทความยังคงเต็มไปด้วยข้อมูลเชิงลึก

คำนำ

ชื่อเรื่องรอง

คำนำ

ข้อความต่อไปนี้เริ่มต้นขึ้น

การแนะนำ

การแนะนำ

ฉันจะใช้ชุดทวีตเพื่ออธิบายประวัติการวิจัย/สายงาน/ความคืบหน้าของข้อตกลงฉันทามติ Ethereum Casper รวมถึงการอภิปราย FFG กับ CBC การแปลงโมเดลไฮบริดเป็น PoS เต็มรูปแบบ บทบาทของการสุ่ม การพิจารณาการออกแบบของ กลไกฉันทามติและประเด็นอื่นๆ

ชื่อเรื่องรอง

ไม่มีอะไรเป็นเดิมพันและการโจมตีระยะไกล

การวิจัยหลักฐานการถือหุ้นใน Ethereum เริ่มต้นจากข้อตกลง Slasher ในเดือนมกราคม 2014 แม้ว่าอัลกอริธึม Slasher จะไม่ค่อยเหมาะนัก แต่ก็แนะนำแนวคิดที่สำคัญบางประการ โดยเฉพาะการใช้บทลงโทษเพื่อแก้ปัญหา อย่างไรก็ตามบทลงโทษที่ฉันใช้นั้นค่อนข้างน้อย เพียงแค่ยกเลิกรางวัลการโหวต Vlad Zamfir เข้าร่วมเมื่อกลางปี ​​2014 และเขาแนะนำวิธีการกำหนดให้ผู้ตรวจสอบความถูกต้องทำการเดิมพันได้อย่างรวดเร็ว เงินฝากเป็นจำนวนที่มากกว่ารางวัล และการกระทำที่ไม่ถูกต้องจะส่งผลให้เงินฝากนั้นหายไป (การถอดความของ Vlad ที่นี่)

เราใช้เวลาส่วนใหญ่ในช่วงครึ่งหลังของปี 2014 เพื่อแก้ปัญหา "การโจมตีระยะไกล" ซึ่งผู้โจมตีสามารถถอนเงินที่ฝากไว้จากเชนหลักและสร้างเชนการโจมตีอื่นที่มีลายเซ็นมากขึ้น ด้วยวิธีนี้ โหนดที่เข้าร่วมใหม่จะถูกหลอกให้เข้าไป คิดว่าสายโจมตีเป็นสายหลัก หากจุดเวลาของห่วงโซ่การโจมตีและส้อมของห่วงโซ่หลักค่อนข้างใกล้เคียงกับเวลาปัจจุบัน ห่วงโซ่การโจมตีจะไม่ก่อให้เกิดปัญหา เนื่องจากหากผู้ตรวจสอบลงนามสองข้อความที่ขัดแย้งกันบนทั้งสองห่วงโซ่ในเวลาเดียวกัน ลายเซ็นนี้สามารถใช้ได้ เพื่อเป็นการลงโทษผู้ตรวจสอบหลักฐานที่จะริบเงินมัดจำ อย่างไรก็ตาม หากการ fork เกิดขึ้นนานมาแล้ว (ดังนั้น คำว่าการโจมตีระยะไกล) ผู้โจมตีสามารถถอนเงินมัดจำเพื่อหลีกเลี่ยงการถูกริบ

เราสรุปได้ว่าการโจมตีระยะไกลเป็นสิ่งที่หลีกเลี่ยงไม่ได้ด้วยเหตุผลเดียวกับที่ผู้สนับสนุน PoW กล่าว อย่างไรก็ตาม เราไม่ยอมรับข้อสรุปของพวกเขา เนื่องจากเราพบว่าเราสามารถแนะนำสมมติฐานด้านความปลอดภัยเพิ่มเติมสองข้อเพื่อแก้ปัญหาการโจมตีระยะไกล: 1. โหนดต้องเข้าสู่ระบบอย่างน้อยหนึ่งครั้งทุกๆ 4 เดือน (การฝากใช้เวลา 4 เดือนในการถอน) การย้อนรอย

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

Casper CBC

ฉันเขียนบทความ "Bet Consensus" ที่เหม็น ยาว และนอกประเด็น การลงมติเป็นเอกฉันท์ของ Stake เป็นข้อเสนอที่น่าสนใจ: ผู้ตรวจสอบจะวางเดิมพันว่าบล็อกใดจะสิ้นสุด และเดิมพันจะกำหนดว่า Chain ใดจะบรรลุฉันทามติ PoW ยังมีคุณสมบัตินี้เนื่องจากการขุดเป็นการเดิมพัน หากคุณเดิมพันเชนที่ถูกต้อง คุณจะได้รับรางวัล หากคุณเดิมพันเชนผิด คุณจะสูญเสียค่าใช้จ่ายในการขุด แต่ใน PoS เราสามารถมีอัตราต่อรองที่สูงขึ้นได้: อัตราต่อรองของผู้ตรวจสอบความถูกต้องเริ่มต้นต่ำ แต่เมื่อผู้ตรวจสอบความถูกต้องเห็นความมั่นใจของกันและกันในบล็อกที่ค่อยๆ เพิ่มขึ้น อัตราต่อรองของทุกคนจะเพิ่มขึ้นแบบทวีคูณ จนกว่าทุกคนจะวางเดิมพันในบล็อกเดียวกัน การดำเนินการนี้จะสิ้นสุด

ชื่อเรื่องรอง

ในขณะเดียวกัน Vlad ก็เริ่มทำการวิจัยมากมายเกี่ยวกับการออกแบบกลไก โดยเฉพาะอย่างยิ่งการทำให้ Casper ต้านทานต่อผู้ขายน้อยรายได้มากขึ้น นอกจากนี้ เรายังเริ่มทำงานกับฉันทามติที่ได้รับแรงบันดาลใจจาก Byzantine Fault Tolerance (BFT) คลาสสิก เช่น Tendermint วลาดคิดว่า BFT แบบคลาสสิกนั้นไม่น่าเชื่อถือ (เขาไม่ชอบเกณฑ์แบบตายตัวใน BFT เป็นพิเศษ เช่น 2/3 ของโหนด PBFT ต้องเป็นโหนดที่ซื่อสัตย์) และเขาต้องการใช้สิ่งที่เขาเรียกว่า "แก้ไขโดยการก่อสร้าง (CBC)" วิธีการนี้พยายามคิดค้น BFT ใหม่ (คำเดิมของ Vlad: ลิงก์ 1 / ลิงก์ 2 / ลิงก์ 3)

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

Casper FFG

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

ชื่อเรื่องรอง

การสรุปผลเป็นการพัฒนาที่สำคัญมาก: เมื่อการบล็อกเสร็จสิ้นแล้ว สามารถรับประกันความปลอดภัยได้ไม่ว่าเครือข่ายจะล่าช้าแค่ไหน (ต่างจาก PoW ซึ่งต้องมีการยืนยันการบล็อกหลายครั้ง) และการบล็อกการย้อนกลับต้องใช้ผู้ตรวจสอบมากกว่า 1/3 เพื่อโกง และสามารถตรวจพบและเงินฝากถูกทำลาย เป็นผลให้ค่าใช้จ่ายในการสรุปผลย้อนหลังอาจสูงถึงหลายร้อยล้านดอลลาร์ ทั้ง Casper CBC และ FFG บรรลุคุณสมบัตินี้ด้วยวิธีที่แตกต่างกัน

FFG vs CBC

ควรสังเกตว่าทั้ง Casper CBC และ FFG เป็นโอเวอร์เลย์เชิงนามธรรม และทั้งคู่จำเป็นต้องสร้างขึ้นจากกฎการเลือกส้อมที่มีอยู่ ในภาษาท้องถิ่น Casper CBC คือการปรับชั้นการครอบคลุมขั้นสุดท้าย (ชั้นบน) เพื่อปรับให้เข้ากับกฎการเลือกส้อม (ชั้นล่าง) ในขณะที่ Casper FFG คือการปรับชั้นการครอบคลุมขั้นสุดท้าย (ชั้นบน) ให้เข้ากับกฎการเลือกส้อม (ชั้นล่าง ).

ชื่อเรื่องรอง

การตั้งค่าเริ่มต้นของ Vlad สำหรับกฎการเลือกทางแยกคือ "GHOST ที่ขับเคลื่อนด้วยข้อความล่าสุด (LMD GHOST)" ซึ่งเป็นรุ่นดัดแปลงของ GHOST สำหรับ PoS และการตั้งค่าเริ่มต้นของฉันคือการใช้ "Hybrid PoS (Hybrid PoS) ก่อน" PoS) โดยใช้ PoW เป็นกฎการเลือกส้อมพื้นฐาน

ใน FFG เวอร์ชันดั้งเดิม PoW จะรันบล็อกลูกโซ่ทีละบล็อก และ PoS จะตามมาเพื่อสิ้นสุดบล็อก ส่วน Casper CBC เป็น PoS เต็มรูปแบบตั้งแต่เริ่มต้น ในขณะเดียวกัน Vlad และฉันต่างตั้งทฤษฎีเกี่ยวกับสิ่งจูงใจที่เป็นเอกฉันท์

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

การลงโทษข้อผิดพลาดที่มาโดยเฉพาะ (Casper FFG ตัดเงื่อนไขการฝาก) เป็นเรื่องง่าย การลงโทษข้อผิดพลาดที่ไม่ซ้ำกันนั้นทำได้ยาก จะเกิดอะไรขึ้นถ้าคุณไม่สามารถบอกได้ว่าการบล็อกหยุดการสรุปเพราะโหนดส่วนน้อยออฟไลน์หรือเพราะโหนดส่วนใหญ่บล็อกส่วนน้อย ขณะนี้มีวิธีแก้ไขปัญหาอยู่ 3 วิธี: 1. ลงโทษทั้งสองฝ่ายเล็กน้อย 2. ลงโทษทั้งสองฝ่ายอย่างรุนแรง (ชอบของ Vlad) 3. แบ่งห่วงโซ่ออกเป็นสองส่วน ลงโทษด้านใดด้านหนึ่งของห่วงโซ่ทั้งสอง และให้ตลาดเป็นผู้ตัดสินว่า โซ่มีค่ามากกว่า (ความชอบของฉัน) หรือคุณสามารถอ้างถึงบทความนี้ที่ฉันเขียน

ในเดือนพฤศจิกายน 2017 ฉันได้ตัดเงื่อนไขการฝากเงินของ Casper FFG และโหนด 1/3 เนื่องจาก "Quadratic Leak" วิธีแก้ปัญหาออฟไลน์จะถูกเขียนเป็นเอกสาร

แน่นอน ฉันทราบดีว่าการใช้แง่มุมทางสังคมเพื่อแก้ปัญหาการโจมตี 51% นั้นไม่ดีนัก ดังนั้นฉันจึงเริ่มมองหาวิธีอย่างน้อยให้โหนดบนเชนตรวจจับ "เชนกฎหมาย" และ "เชนโจมตี" โดยอัตโนมัติ นี่เป็นความคิดขั้นต้น นี่เป็นแนวคิดที่ดี แต่ก็ยังถือว่าไม่ดีนัก เว้นแต่ว่าเครือข่ายจะไม่มีเวลาแฝง มันสามารถรับประกันขอบเขตบนของความแตกต่างของคะแนนความสงสัยระหว่างโหนดเท่านั้น และไม่ใช่ทุกโหนดที่เห็นด้วยอย่างเต็มที่

เป็นมูลค่าการกล่าวขวัญว่าปัญหาทั้งหมดข้างต้นไม่ได้เกิดขึ้นเฉพาะกับ PoS ในความเป็นจริงใน PoW ผู้คนมักจะยอมแพ้และคิดว่าการป้องกันการโจมตี 51% นั้นแทบจะเป็นไปไม่ได้เลย และการโจมตี 51% ถือเป็นหายนะที่ต้องหลีกเลี่ยงด้วยค่าใช้จ่ายทั้งหมด อย่างไรก็ตาม ในกรณีของ Ethereum นั้น Vlad และฉันเข้าใจผิดว่าคำว่า "ทะเยอทะยาน" เป็นคำชม และยังคงตรวจสอบวิธีต่างๆ เพื่อบรรเทาและกู้คืนจากการโจมตี 51%

ในช่วงต้นปี 2018 การวิจัยของ Vlad ที่ CBC เริ่มก้าวหน้าอย่างรวดเร็ว รวมถึงความคืบหน้าของการพิสูจน์ความปลอดภัย —ดูการบรรยายสรุป 2 ชั่วโมงอันยิ่งใหญ่นี้เพื่อติดตามความคืบหน้าของการวิจัยจนถึงเดือนมีนาคม 2018 ในขณะเดียวกัน Casper FFG ก็มีความคืบหน้าอย่างมาก และการตัดสินใจดำเนินการตามสัญญาทำให้การพัฒนาง่ายขึ้น เมื่อวันที่ 31 ธันวาคม 2017 เราได้เปิดตัว testnet เวอร์ชัน Python

ชื่อเรื่องรอง

การรวม Casper เข้ากับเส้นทางการพัฒนาชิ้นส่วน

น่าเสียดายที่การพัฒนา FFG ได้ช้าลง แม้ว่าการนำ FFG ไปใช้กับสัญญาจะทำให้บางสิ่งง่ายขึ้น แต่ก็ทำให้การโอนย้ายจาก EVM ไปยัง EWASM และจาก Casper แบบสายเดี่ยวไปยัง Casper แบบแยกย่อยทำได้ยากขึ้นในอนาคต นอกจากนี้ งาน R&D ของทีมยังแบ่งออกเป็น "Main Chain Casper" และ "Shard Chain Casper" มีความเป็นไปได้ที่จะมีการทำงานซ้ำซ้อนโดยไม่จำเป็นระหว่างสองทีมนี้

ในเดือนมิถุนายน 2018 เราได้ทำการตัดสินใจครั้งสำคัญ: ละทิ้ง Casper FFG ซึ่งดำเนินการตามสัญญา และติดตาม Casper ซึ่งดำเนินการในลักษณะ chain อิสระแทน การออกแบบดังกล่าวจะทำให้การแบ่งส่วนง่ายขึ้น

การเปลี่ยนไปใช้ PoS เต็มรูปแบบทำให้ฉันเริ่มคิดอย่างจริงจังมากขึ้นเกี่ยวกับกฎการเลือกส้อมของ PoS ทั้ง Casper FFG และ CBC กำหนดให้โหนดการตรวจสอบทั้งหมดลงคะแนนเสียงในแต่ละ "ยุค" เพื่อสิ้นสุดการบล็อก ซึ่งหมายความว่าจะมีการส่งลายเซ็นนับหมื่นไปยังแต่ละโหนดการตรวจสอบทุกๆ วินาที การรวมลายเซ็น BLS ทำให้การคำนวณต้นทุนเป็นไปได้ แต่ฉันต้องการลองใช้ลายเซ็นเพิ่มเติมเหล่านี้เพื่อทำให้ห่วงโซ่มีเสถียรภาพมากขึ้นและบรรลุความปลอดภัยเทียบเท่ากับ "การยืนยัน 100 ครั้ง" ในไม่กี่วินาที นี่คือความคิดเริ่มต้นของฉัน (ลิงก์ 1/ลิงก์ 2)

อย่างไรก็ตาม วิธีการเลือกทางแยกเหล่านี้มีข้อบกพร่อง: พวกเขาทั้งหมดแบ่งโหนดการตรวจสอบเป็น "ผู้ทดสอบ" และ "ผู้เสนอ" และผู้ผลิตบล็อกเหล่านี้ที่รับผิดชอบในการสร้างบล็อกมีอำนาจมาก สิ่งนี้ไม่ดีนัก ส่วนใหญ่เป็นเพราะเราต้องมีตัวสร้างตัวเลขสุ่มบนเครือข่ายที่ปลอดภัยมากเพื่อเลือกโหนดบล็อกอย่างยุติธรรม และตัวสร้างตัวเลขสุ่มบนเชนนั้นยาก และวิธีการง่ายๆ เช่น RANDAO ดูเหมือนจะมีมากกว่า และคำถามเพิ่มเติม Justin Drake และฉันออกเดินทางเพื่อแก้ปัญหานี้: Justin ใช้ VDF ซึ่งเป็นฟังก์ชันที่มีเอาต์พุตที่กำหนดได้และตรวจสอบได้ แต่ต้องใช้เวลาในการดำเนินการตามลำดับที่ไม่สามารถขนานกันได้จำนวนมาก ทำให้การแก้ไขดัดแปลงในช่วงแรกเป็นไปไม่ได้ Vlad สอนการประนีประนอมโดยใช้ GHOST กฎการเลือกทางแยกที่อิงตามเพื่อลดการพึ่งพาผู้ผลิตบล็อก ทำให้ห่วงโซ่เติบโตอย่างไม่ถูกรบกวนเมื่อผู้ผลิตบล็อกที่เป็นอันตรายมีมากกว่า 90% และโหนดพยานที่ซื่อสัตย์มากกว่า 50% วลาดมีความสุข แต่ไม่มีความสุขมากเกินไป เขาชอบ LMD GHOST และฉันชอบ IMD GHOST

ในช่วงเวลาเดียวกัน ฉันก็พยายามหาวิธีการ "วางท่อ" Casper FFG โดยลดเวลาการสรุปผลจาก 2.5 ยุคเป็น 2 ยุคที่เหมาะสมที่สุดในทางทฤษฎี ฉันดีใจที่กฎการเลือกทางแยกของ RPJ (ภายหลังเปลี่ยนชื่อเป็น IMD GHOST) ทำงานได้ดีกับ FFG นอกจากนี้ยังมี "ความเสถียร" ที่สำคัญมาก: ทางเลือกของส้อมคือการคาดการณ์ที่ดีของทางเลือกของส้อมในอนาคต ดูเหมือนชัดเจน แต่เป็นเรื่องง่ายมากที่จะสร้างกฎการแยกที่ไม่มีคุณสมบัตินี้ ความคืบหน้าล่าสุดคือ: LMD GHOST อาจมีค่าความทนทานต่อความผิดพลาดเพียง 25% ใน 2 รอบเนื่องจากรายละเอียดทางเทคนิค แต่ IMD GHOST ยังสามารถมีค่าความทนทานต่อความผิดพลาดได้เต็มที่ 33% (ขณะนี้ยังไม่มีเอกสาร) (แปล: เมื่อแปลเสร็จ Ethereum 2.0 ใช้ LMD GHOST)

การแลกเปลี่ยนหลักระหว่าง FFG และ CBC คือ: CBC ดูเหมือนจะมีคุณสมบัติทางทฤษฎีที่ดีกว่า ในขณะที่ FFG ดูเหมือนจะนำไปใช้ได้ง่ายกว่า ในขณะเดียวกัน VDF ก็มีความก้าวหน้าอย่างมากเช่นกัน

ETH
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก:
https://t.me/Odaily_News
กลุ่มสนทนา:
https://t.me/Odaily_GoldenApe
บัญชีทางการ:
https://twitter.com/OdailyChina
สารบัญบทความ
อันดับบทความร้อน
Daily
Weekly
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android