Spesifikasi Konsensus Bukti Saham Ethereum
Untuk mempelajari lebih lanjut tentang bukti kepemilikan dan sharding, lihat dokumentasi PoS, dokumentasi sharding, dan ringkasan penelitian.
Repositori ini menampung spesifikasi bukti kepemilikan Ethereum saat ini. Diskusi tentang dasar pemikiran desain dan usulan perubahan dapat diangkat dan didiskusikan sebagai isu. Perubahan spesifikasi yang disepakati dan diperkuat dapat dilakukan melalui permintaan tarik.
Spesifikasi
Spesifikasi inti untuk klien bukti kepemilikan Ethereum dapat ditemukan di spesifikasi. Ini dibagi menjadi beberapa fitur. Fitur diteliti dan dikembangkan secara paralel, lalu dikonsolidasikan ke dalam peningkatan berurutan jika sudah siap.
Spesifikasi Stabil
Urutan. | Nama Kode | Zaman Garpu | Spesifikasi |
---|
0 | Fase0 | 0 | - Inti
- Rantai suar
- Kontrak simpanan
- Pilihan garpu rantai suar
- Tambahan
- Panduan validator yang jujur
- jaringan P2P
- Subjektivitas yang lemah
|
1 | Altair | 74240 | - Inti
- Perubahan rantai suar
- Garpu Altair
- Tambahan
- Protokol sinkronisasi klien ringan (node penuh, klien ringan, jaringan)
- Perubahan panduan validator jujur
- jaringan P2P
|
2 | Bellatrix ("Penggabungan") | 144896 | - Inti
- Rantai Beacon berubah
- Garpu Bellatrix
- Perubahan pilihan garpu
- Tambahan
- Perubahan panduan validator jujur
- jaringan P2P
|
3 | Kapel | 194048 | - Inti
- Perubahan rantai suar
- Garpu capella
- Tambahan
- Perubahan protokol sinkronisasi klien ringan (fork, node penuh, jaringan)
- Penambahan validator
- jaringan P2P
|
4 | Deneb | 269568 | - Inti
- Rantai Suar berubah
- garpu Deneb
- Komitmen polinomial
- Perubahan pilihan garpu
- Tambahan
- Perubahan protokol sinkronisasi klien ringan (fork, node penuh, jaringan)
- Perubahan panduan validator jujur
- jaringan P2P
|
Spesifikasi Dalam Pengembangan
Urutan. | Nama Kode | Zaman Garpu | Spesifikasi |
---|
5 | listrik | TBD | - Inti
- Rantai Suar berubah
- Garpu electra
- Tambahan
- Perubahan protokol sinkronisasi klien ringan (fork, jaringan)
- Perubahan panduan validator jujur
- jaringan P2P
|
Spesifikasi Kedaluwarsa
Nama Kode atau Topik | Spesifikasi | Catatan |
---|
Pembagian | | |
Permainan Penitipan | - Inti
- Tambahan
- Perubahan panduan validator jujur
| Tergantung pada sharding |
Pengambilan Sampel Ketersediaan Data | - Inti
- Jenis dan fungsi inti
- Perubahan pilihan garpu
- Tambahan
- Jaringan P2P
- Proses pengambilan sampel
| - Tergantung pada sharding
- Penjelasan teknis
|
Dokumen yang menyertainya dapat ditemukan dalam spesifikasi dan mencakup:
- Spesifikasi SimpleSerialize (SSZ).
- Format bukti merkle
- Format tes umum
Spesifikasi tambahan untuk pelaksana klien
Spesifikasi dan standar tambahan di luar fungsionalitas klien yang diperlukan dapat ditemukan di repo berikut:
- API Suar
- API mesin
- Metrik Suar
Tujuan desain
Berikut ini adalah tujuan desain umum untuk spesifikasi konsensus bukti kepemilikan Ethereum:
- untuk meminimalkan kompleksitas, bahkan dengan mengorbankan efisiensi
- untuk tetap hidup melalui partisi jaringan utama dan ketika sebagian besar node offline
- untuk memilih semua komponen sedemikian rupa sehingga aman secara kuantum atau dapat dengan mudah ditukar dengan komponen yang aman kuantum jika tersedia
- untuk memanfaatkan teknik kripto dan desain yang memungkinkan partisipasi validator dalam jumlah besar secara total dan per unit waktu
- untuk memungkinkan laptop konsumen biasa dengan sumber daya
O(C)
memproses/memvalidasi pecahan O(1)
(termasuk validasi tingkat sistem apa pun seperti rantai suar)
Sumber daya eksternal yang berguna
- Alasan Desain
- Dokumen Orientasi Tahap 0
- Menggabungkan kertas GHOST dan Casper
Untuk kontributor spesifikasi
Dokumentasi tentang berbagai komponen yang digunakan selama penulisan spesifikasi dapat ditemukan di sini:
- Generator Uji YAML
- Spesifikasi Python yang dapat dieksekusi, dengan tes Py
Penampil online dari rilis terbaru (cabang master
terbaru)
Spesifikasi Konsensus Ethereum
Tes spesifikasi konsensus
Uji kesesuaian yang dibuat dari spesifikasi python yang dapat dieksekusi tersedia di repo Tes Spesifikasi Konsensus Bukti Pasak Ethereum. Tarbal terkompresi tersedia dalam rilis.
Instalasi dan Penggunaan
Repo spesifikasi konsensus dapat digunakan dengan menjalankan pengujian secara lokal atau di dalam container buruh pelabuhan.
Untuk menjalankan pengujian secara lokal:
- Kloning repositori dengan
git clone https://github.com/ethereum/consensus-specs.git
- Beralih ke direktori
cd consensus-specs
- Instal dependensi dengan:
make install_test && make preinstallation && make pyspec
- Jalankan tes dengan
make citest
Untuk menjalankan pengujian di dalam container buruh pelabuhan:
- Beralih ke direktori dengan
cd scripts
- Jalankan skrip
./build_run_docker_tests.sh
- Temukan hasilnya di folder bernama
./testResults
- Temukan lebih banyak cara untuk menyesuaikan skrip dengan
./build_run_docker_tests.sh --h