ETH2.0 กำลังจะมา คุณไม่รู้แคสเปอร์หรือยัง?
เมื่อต้นปีนี้ Ethereum ได้รับการอัปเกรดเป็น Constantinople ด้วยการอัปเกรด เมื่อ Ethereum สามารถเปลี่ยนไปใช้ PoS ได้ กลายเป็นคำถามที่ทุกคนให้ความสนใจอีกครั้ง อย่างที่เราทราบกันดี อัลกอริทึม PoW นั้นสิ้นเปลืองทรัพยากรจำนวนมาก สมาธิของพลังการประมวลผล และปัญหาอื่น ๆ Ethereum พยายามเปลี่ยนไปใช้อัลกอริทึม PoS ตั้งแต่ปี 2560 อย่างไรก็ตาม เนื่องจากเงื่อนไขวัตถุประสงค์ต่างๆ จึงไม่มีการพัฒนาที่เป็นสาระสำคัญ หลังจากปล่อยให้ผู้ที่ชื่นชอบบล็อกเชนส่วนใหญ่คลั่งไคล้มานานหลายปี ในที่สุด Ethereum 2.0 ก็จะใช้อัลกอริทึม PoS เพื่อให้สอดคล้องกับคุณธรรมดั้งเดิมของจีนที่ว่าการมีความสุขคนเดียวนั้นแย่กว่าการมีความสุขร่วมกับผู้อื่น ช่างฝีมือของ Fractal จึงตัดสินใจแบ่งปันมุมมองของเราเกี่ยวกับโปรโตคอลฉันทามติ Ethereum รุ่นต่อไป - Casper
ชื่อเรื่องรอง
Casper FFG ——PoW+PoS
จริงๆ แล้ว Casper มีสองเวอร์ชัน เวอร์ชันหนึ่งคือ Casper FFG นำโดย Vitalik และอีกเวอร์ชันคือ Casper CBC นำโดย Vlad ความแตกต่างระหว่างเวอร์ชันทั้งสองคือ FFG เป็นโปรโตคอลการเปลี่ยนแปลงมากกว่า ทำให้ Ethereum สามารถเปลี่ยนจาก PoW เป็น PoW ได้สำเร็จ PoS; และ CBC เป็นเวอร์ชันที่ดีกว่าหลังจากที่ Ethereum เปลี่ยนไปใช้ PoS แต่จากมุมมองปัจจุบัน ยังมีรายละเอียดอีกมากมายของ CBC ที่ต้องทำการวิจัยและอภิปรายเพิ่มเติม
แนวคิดหลักของ FFG คือการใช้ PoS เพื่อช่วยในการยืนยันขั้นสุดท้ายของบล็อกที่สร้างโดย PoW ซึ่งจะช่วยปรับปรุงความปลอดภัยของระบบในขณะที่ลดรางวัลของผู้ขุด
คำอธิบายภาพ

รูปที่ 1 บล็อกถูกบีบอัดในจุดตรวจ
คำอธิบายภาพ

รูปที่ 2: ฟังก์ชันความสูงของจุดตรวจ
ขั้นแรก เราอธิบายกระบวนการฉันทามติของ Casper โดยรวม ผู้ตรวจสอบที่เข้าร่วมในฉันทามติจะลงคะแนนในจุดตรวจสอบที่อธิบายไว้ข้างต้น Validator แต่ละคนจะส่งจุดตรวจ โดยเริ่มจากจุดตรวจที่เหมาะสมไปยังจุดตรวจหลังจากผ่านจุดตรวจหลายจุด เรากำหนดว่าจุดตรวจสอบที่เป็นธรรมแรกคือบล็อก Genesis เมื่อจุดตรวจสอบได้รับคะแนนเสียงมากกว่า 2/3 จากจุดตรวจสอบที่เป็นธรรม
ชื่อเรื่องรอง
โหวตผู้ตรวจสอบ
ใน:
vote=
ใน:
v : ข้อมูลประจำตัวของผู้ตรวจสอบ;
s : แฮชของจุดตรวจที่สมเหตุสมผล ซึ่งสามารถเข้าใจได้ว่าเป็นจุดตรวจต้นทาง เราจะอธิบายรายละเอียดเกี่ยวกับคำจำกัดความของเหตุผลในภายหลัง
t : แฮชของโหนดที่สืบทอดมา ซึ่งสามารถเข้าใจได้ว่าเป็นจุดตรวจสอบเป้าหมาย
h(s) : ความสูงของ s;
ชื่อเรื่องรอง
ความสัมพันธ์สองด่าน
หลังจากกำหนดกฎการลงคะแนนแล้ว ให้กำหนดความสัมพันธ์ระหว่างจุดตรวจสอบสองจุด:
ลิงก์เสียงส่วนใหญ่: สำหรับจุดตรวจสอบคู่หนึ่ง (a, b) ให้เขียน (a→b) หากมีผู้ตรวจสอบความถูกต้องมากกว่า 2/3 โหวต vote= สามารถเรียกได้ว่า (a→b) เป็นลิงก์เสียงส่วนใหญ่ และ h (ข) ≥h(ก)+1
คำอธิบายภาพ

รูปที่ 3: แผนผังของโครงสร้างแคสเปอร์
ชื่อเรื่องรอง
ด่านสองรัฐ
หลังจากกำหนดความสัมพันธ์ระหว่างจุดตรวจสอบแล้ว ให้กำหนดสถานะของจุดตรวจสอบสองสถานะ—c:
-c เป็นธรรม:
1) c = root: จุดตรวจ c คือ root;
2) หรือมีอยู่จริง (c'→c) นั่นคือ การเชื่อมโยง supermajority จาก c' ถึง c และ c' เป็นธรรม;
-c เสร็จสิ้น:
a) c เป็นธรรม;
b) มี (c'→c) ลิงค์เสียงส่วนใหญ่จาก c' ถึง c;
c) c , c' not conflicting;
d) h(c')=h(c)+1;
ชื่อเรื่องรอง
กลไกการลงโทษ
เพื่อป้องกันไม่ให้ Validator ทำสิ่งชั่วร้ายในระหว่างกระบวนการทำงาน Casper ได้กำหนดชุดกลไกการลงโทษดังนี้: สำหรับ Validator คนเดียวกัน จะมีการลงคะแนนที่แตกต่างกันสองครั้ง =และโหวต=หากมีกรณีสองกรณีต่อไปนี้ เงินเดิมพันของการจำนองจะถูกลงโทษ
1. h(t1)=h(t2): สำหรับความสูงเป้าหมายเดียวกัน จะไม่สามารถเริ่มการโหวตที่แตกต่างกันสองรายการได้
2. ชั่วโมง(s1)
คำอธิบายภาพ

ชื่อเรื่องรอง
กลไกการเลือกส้อม
เพื่ออนุญาตให้ PoS ปรับปรุงความปลอดภัยของห่วงโซ่ PoW FFG ได้ทำการปรับเปลี่ยนบางอย่างกับห่วงโซ่ที่หนักที่สุดเมื่อเลือกทางแยก: ก่อนอื่นให้ค้นหาจุดตรวจสอบที่สมเหตุสมผลซึ่งมีความสูงสูงสุดในมุมมอง และบล็อกหลังจากจุดตรวจสอบ การเลือกห่วงโซ่ที่หนักที่สุดคือ ดำเนินการเมื่อ. สิ่งนี้มีข้อดี 2 ประการ ข้อแรกคือเมื่อเปรียบเทียบกับอัลกอริทึม ghost ดั้งเดิม การยืนยันบล็อกน่าจะเป็นไปได้ หลังจากรอความสูงที่เพียงพอ มีความเป็นไปได้น้อยมากที่จะคว่ำบล็อกก่อนหน้า แม้ว่าความน่าจะเป็นจะต่ำมาก แต่ก็ยังมีความเป็นไปได้ ตราบเท่าที่บล็อกใน FFG เสร็จสิ้นก่อนสิ้นสุด บล็อกทั้งหมดจะได้รับการยืนยัน และไม่มีความเป็นไปได้ที่จะถูกพลิกกลับ
ชื่อเรื่องรอง
การเปลี่ยนตัวตรวจสอบความถูกต้อง
ดังที่เรากล่าวไว้ในตอนต้น สันนิษฐานว่า Validator ได้รับการแก้ไขแล้ว แต่ระบบ blockchain จริงต้องสามารถอนุญาตให้ผู้เข้าร่วมเข้าและออกได้อย่างอิสระ ดังนั้น FFG จึงมีชุดหลักการเข้าและออกของ Validator เป็นของตัวเอง ขั้นแรก กำหนดราชวงศ์ของบล็อก b เป็น: จำนวนจุดตรวจที่สรุปแล้วระหว่างบล็อกที่พบและบล็อกหลักของ b
จำนอง:
ผู้ใช้ที่ต้องการเป็น Validator จะต้องจำนองเงินเดิมพันจำนวนหนึ่ง เมื่อรวมธุรกรรมจำนองของผู้ใช้ v ไว้ในบล็อกที่มี Dynasty=d ให้กำหนด Start Dynasty และเขียน SD(v) = d+2
การไถ่ถอน:
หาก Validator v ต้องการคืนเดิมพันที่จำนำ จะต้องเริ่มธุรกรรมไถ่ถอน เมื่อข้อมูลธุรกรรมนี้รวมอยู่ในบล็อกที่มีราชวงศ์ ให้กำหนด End Dynasty และเขียน ED(v) = +2 เพื่อหลีกเลี่ยงการจัดการกับ SD และ ED หลายรายการ ผู้ใช้ไม่สามารถวางเดิมพันเพื่อเป็น Validator ได้หลังจากการไถ่ถอน ในเวลาเดียวกัน เพื่อป้องกันไม่ให้ผู้ไม่หวังดีไถ่ถอนเงินเดิมพันทันทีหลังจากทำชั่ว เดิมพันยังคงต้องถูกล็อกไว้เป็นระยะเวลาหนึ่งหลังจากดำเนินการธุรกรรมไถ่ถอน
สำหรับบล็อก b สมมติว่าราชวงศ์ของมันคือ d เฉพาะผู้ตรวจสอบความถูกต้องที่มี d อยู่ระหว่าง ED และ SD เท่านั้นที่สามารถลงคะแนนได้
การแนะนำบทความนี้สิ้นสุดที่นี่ หากคุณมีข้อสงสัย คุณสามารถเข้าร่วมการสนทนากลุ่ม Fractal อย่างเป็นทางการ ช่างเทคนิค Fractal จะตอบคำถามของคุณทางออนไลน์ ในบทความหน้า เราจะแนะนำคุณสมบัติหลักของ Casper ที่จะใช้ใน Ethereum 2.0. กระบวนการข้อตกลง.


