ข้อมูลจำเพาะฉันทามติ Proof-of-Stake ของ Ethereum
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการพิสูจน์การเดิมพันและชาร์ดดิ้ง โปรดดูเอกสาร PoS เอกสารชาร์ดดิ้ง และบทสรุปการวิจัย
พื้นที่เก็บข้อมูลนี้โฮสต์ข้อกำหนดการพิสูจน์การเดิมพัน Ethereum ในปัจจุบัน การอภิปรายเกี่ยวกับเหตุผลในการออกแบบและการเปลี่ยนแปลงที่เสนอสามารถนำมาพูดคุยเป็นประเด็นได้ การเปลี่ยนแปลงข้อมูลจำเพาะที่ได้รับการแก้ไขและตกลงร่วมกันสามารถทำได้ผ่านการร้องขอแบบดึง
ข้อมูลจำเพาะ
ข้อมูลจำเพาะหลักสำหรับไคลเอนต์ที่พิสูจน์การเดิมพัน Ethereum สามารถพบได้ในข้อมูลจำเพาะ สิ่งเหล่านี้แบ่งออกเป็นคุณสมบัติ คุณสมบัติต่างๆ ได้รับการวิจัยและพัฒนาแบบคู่ขนาน จากนั้นจึงรวมเข้าเป็นการอัพเกรดตามลำดับเมื่อพร้อม
ข้อมูลจำเพาะที่เสถียร
ลำดับ | ชื่อรหัส | ยุคส้อม | ข้อมูลจำเพาะ |
---|
0 | เฟส0 | 0 | - แกนกลาง
- ห่วงโซ่สัญญาณ
- สัญญาการฝากเงิน
- ตัวเลือกส้อมโซ่บีคอน
- เพิ่มเติม
- คู่มือผู้ตรวจสอบความถูกต้องที่ซื่อสัตย์
- เครือข่าย P2P
- ความเป็นส่วนตัวที่อ่อนแอ
|
1 | อัลแตร์ | 74240 | - แกนกลาง
- การเปลี่ยนแปลงห่วงโซ่บีคอน
- ส้อมอัลแตร์
- เพิ่มเติม
- โปรโตคอลการซิงค์ไคลเอนต์แบบ Light (โหนดเต็ม ไคลเอนต์แบบเบา ระบบเครือข่าย)
- การเปลี่ยนแปลงคำแนะนำผู้ตรวจสอบความถูกต้องที่ซื่อสัตย์
- เครือข่าย P2P
|
2 | เบลลาทริกซ์ ("การผสาน") | 144896 | - แกนกลาง
- การเปลี่ยนแปลงของบีคอนเชน
- ส้อมเบลลาทริกซ์
- การเปลี่ยนแปลงตัวเลือกส้อม
- เพิ่มเติม
- การเปลี่ยนแปลงคำแนะนำผู้ตรวจสอบความถูกต้องที่ซื่อสัตย์
- เครือข่าย P2P
|
3 | คาเปลลา | 194048 | - แกนกลาง
- การเปลี่ยนแปลงห่วงโซ่บีคอน
- ส้อมคาเปลลา
- เพิ่มเติม
- การเปลี่ยนแปลงโปรโตคอลการซิงค์ไคลเอนต์แบบเบา (fork, โหนดเต็ม, ระบบเครือข่าย)
- การเพิ่มเครื่องมือตรวจสอบความถูกต้อง
- เครือข่าย P2P
|
4 | เดเนบ | 269568 | - แกนกลาง
- การเปลี่ยนแปลงของบีคอนเชน
- ส้อมเดเนบ
- ข้อผูกพันพหุนาม
- การเปลี่ยนแปลงตัวเลือกส้อม
- เพิ่มเติม
- การเปลี่ยนแปลงโปรโตคอลการซิงค์ไคลเอนต์แบบเบา (fork, โหนดเต็ม, ระบบเครือข่าย)
- การเปลี่ยนแปลงคำแนะนำผู้ตรวจสอบความถูกต้องที่ซื่อสัตย์
- เครือข่าย P2P
|
ข้อมูลจำเพาะที่อยู่ระหว่างการพัฒนา
ลำดับ | ชื่อรหัส | ยุคส้อม | ข้อมูลจำเพาะ |
---|
5 | อีเล็กตร้า | จะแจ้งภายหลัง | - แกนกลาง
- การเปลี่ยนแปลงของบีคอนเชน
- ส้อมไฟฟ้า
- เพิ่มเติม
- การเปลี่ยนแปลงโปรโตคอลการซิงค์ไคลเอนต์แบบเบา (ทางแยก, ระบบเครือข่าย)
- การเปลี่ยนแปลงคำแนะนำผู้ตรวจสอบความถูกต้องที่ซื่อสัตย์
- เครือข่าย P2P
|
ข้อมูลจำเพาะที่ล้าสมัย
ชื่อรหัสหรือหัวข้อ | ข้อมูลจำเพาะ | หมายเหตุ |
---|
การแบ่งส่วน | - แกนกลาง
- การเปลี่ยนแปลงของบีคอนเชน
- เพิ่มเติม
| |
เกมการดูแล | - แกนกลาง
- การเปลี่ยนแปลงของบีคอนเชน
- เพิ่มเติม
- การเปลี่ยนแปลงคำแนะนำผู้ตรวจสอบความถูกต้องที่ซื่อสัตย์
| ขึ้นอยู่กับการแบ่งส่วน |
การสุ่มตัวอย่างความพร้อมใช้งานของข้อมูล | - แกนกลาง
- ประเภทหลักและฟังก์ชัน
- การเปลี่ยนแปลงตัวเลือกส้อม
- เพิ่มเติม
- เครือข่าย P2P
- กระบวนการสุ่มตัวอย่าง
| - ขึ้นอยู่กับการแบ่งส่วน
- ผู้อธิบายทางเทคนิค
|
เอกสารประกอบสามารถพบได้ในข้อมูลจำเพาะและรวมถึง:
- ข้อมูลจำเพาะ SimpleSerialize (SSZ)
- รูปแบบการพิสูจน์ Merkle
- รูปแบบการทดสอบทั่วไป
ข้อกำหนดเพิ่มเติมสำหรับผู้ใช้ไคลเอ็นต์
ข้อมูลจำเพาะและมาตรฐานเพิ่มเติมนอกเหนือจากฟังก์ชันการทำงานของไคลเอ็นต์ที่จำเป็นสามารถพบได้ใน repos ต่อไปนี้:
- บีคอน API
- API ของเครื่องยนต์
- บีคอนเมตริก
เป้าหมายการออกแบบ
ต่อไปนี้เป็นเป้าหมายการออกแบบกว้างๆ สำหรับข้อกำหนดฉันทามติหลักฐานการถือหุ้นของ Ethereum:
- เพื่อลดความซับซ้อนให้เหลือน้อยที่สุด แม้ว่าจะต้องสูญเสียประสิทธิภาพไปบ้างก็ตาม
- เพื่อให้คงอยู่ผ่านพาร์ติชั่นเครือข่ายหลัก และเมื่อโหนดส่วนใหญ่ออฟไลน์
- เพื่อเลือกส่วนประกอบทั้งหมดที่มีความปลอดภัยควอนตัมหรือสามารถสลับออกได้อย่างง่ายดายสำหรับชิ้นส่วนที่มีความปลอดภัยควอนตัมเมื่อมี
- เพื่อใช้การเข้ารหัสและเทคนิคการออกแบบที่ช่วยให้ผู้ตรวจสอบมีส่วนร่วมจำนวนมากในเวลาทั้งหมดและต่อหน่วย
- เพื่อให้แล็ปท็อปสำหรับผู้บริโภคทั่วไปที่มีทรัพยากร
O(C)
สามารถประมวลผล/ตรวจสอบชิ้นส่วน O(1)
ได้ (รวมถึงการตรวจสอบระดับระบบใดๆ เช่น สายสัญญาณบีคอน)
แหล่งข้อมูลภายนอกที่เป็นประโยชน์
- เหตุผลในการออกแบบ
- เอกสารการเริ่มต้นใช้งานระยะที่ 0
- การรวมกระดาษ GHOST และแคสเปอร์
สำหรับผู้ร่วมให้ข้อมูลเฉพาะ
คุณสามารถดูเอกสารประกอบเกี่ยวกับส่วนประกอบต่างๆ ที่ใช้ระหว่างการเขียนข้อมูลจำเพาะได้ที่นี่:
- เครื่องกำเนิดการทดสอบ YAML
- Python Spec ที่ปฏิบัติการได้พร้อมการทดสอบ Py
ผู้ดูออนไลน์ของรุ่นล่าสุด (สาขา master
ล่าสุด)
ข้อมูลจำเพาะฉันทามติของ Ethereum
การทดสอบข้อมูลจำเพาะที่เป็นเอกฉันท์
การทดสอบความสอดคล้องที่สร้างขึ้นจากข้อมูลจำเพาะของ Python ที่ปฏิบัติการได้นั้นมีอยู่ในที่เก็บถาวรการทดสอบข้อมูลจำเพาะฉันทามติ Proof-of-Stake ของ Ethereum tarballs ที่บีบอัดมีอยู่ในรุ่นต่างๆ
การติดตั้งและการใช้งาน
สามารถใช้ repo-specs ที่เป็นเอกฉันท์ได้โดยการรันการทดสอบภายในเครื่องหรือภายในคอนเทนเนอร์นักเทียบท่า
หากต้องการรันการทดสอบในเครื่อง:
- โคลนพื้นที่เก็บข้อมูลด้วย
git clone https://github.com/ethereum/consensus-specs.git
- สลับไปที่ไดเร็กทอรี
cd consensus-specs
- ติดตั้งการพึ่งพาด้วย:
make install_test && make preinstallation && make pyspec
- รันการทดสอบด้วย
make citest
หากต้องการรันการทดสอบภายในคอนเทนเนอร์นักเทียบท่า:
- สลับไปยังไดเร็กทอรีด้วย
cd scripts
- รันสคริปต์
./build_run_docker_tests.sh
- ค้นหาผลลัพธ์ในโฟลเดอร์ชื่อ
./testResults
- ค้นหาวิธีเพิ่มเติมในการปรับแต่งสคริปต์ด้วย
./build_run_docker_tests.sh --h