Dokumen ini didorong oleh karya kami pada Spesifikasi konsensus FOCIL 23, di mana kami menyadari bahwa protokol ini membutuhkan pertimbangan yang lebih matang mengenai batasan sumber daya karena beberapa detail tidak secara eksplisit ditentukan dalam FOCIL pos penelitian Ethereum 14.
Sebelum kita memulai, kami berasumsi pengaturan berikut untuk membangun dasar yang bersih untuk pertimbangan kami:
Sebelum kita melanjutkan, kita mengasumsikan bahwa aktor-aktor berikut adalah bagian dari protokol dan menganalisis tanggung jawab mereka:
Kami mengasumsikan timeline berikut di mana komite IL, pengusul, dan saksi melakukan beberapa tindakan jujur:
Anggota komite IL mengambil daftar transaksi IL dari klien EL yang diberikan kepala (panggilan CL → EL), kemudian mereka menandatangani IL lokal (transaksi + ringkasan) dan melepaskannya ke jaringan gosip.
Node yang mengikuti rantai akan mengunduh IL, memverifikasinya untuk anti-DOS (belum mengimpor ke EL), dan meneruskannya ke simpul lain. Node juga mengimpor IL ke pilihan fork dan melacak IL mana yang telah dilihat menggunakan cache aggreGate. Attester dan node yang mengikuti rantai harus memiliki pandangan yang sama tentang rantai.
Penyaji untuk slot berikutnya secara aktif memantau jaringan gosip IL, mengumpulkan dan mengumpulkan IL lokal, kemudian pada batas pengumpulan IL (interval #2) penyaji memperbarui proses pembangunan blok dengan daftar transaksi IL yang akan disertakan untuk bloknya. Ini memerlukan panggilan CL ke EL.
Jika proposer slot berikutnya mengamati jumlah daftar inklusi yang cukup berdasarkan hash induk yang belum pernah dilihat, proposer akan perlu meminta secara manual blok beacon yang hilang, mengimpor blok tersebut, dan membangun di atas blok tersebut.
Berdasarkan hal di atas, kita dapat mengidentifikasi area-area yang berpotensi memakan banyak sumber daya dan mempersempit fokus pada area tersebut:
Penyusun memperbarui proses pembangunan blok dengan daftar transaksi dalam daftar inklusi. Ini adalah panggilan CL → EL.
Tampilkan daftar inklusi kunci. Berhenti menerima daftar inklusi lokal mulai dari titik ini.
Pengusul mengambil muatan eksekusi dari klien EL (panggilan CL → EL), dan melepaskannya ke jaringan gossip blok beacon. Setelah itu, semua orang memverifikasi blok tersebut.
Node menerima blok penanda dan memverifikasinya. Langkah verifikasi baru termasuk memeriksa konstruksi aggreGate daftar inklusi dan memastikan apakah daftar inklusi memenuhi fungsi evaluasi, yang akan diselesaikan di CL. Pemeriksaan kondisi IL (apakah mereka dapat dilewati karena konflik atau tidak) akan dilakukan di EL.
Tugas tambahan untuk pengusul sepertinya tidak menjadi kekhawatiran yang signifikan. Langkah verifikasi baru untuk node - memeriksa dan memverifikasi bahwa daftar inklusi memenuhi kondisi yang memuaskan - mungkin memperkenalkan beban CPU tambahan, tetapi tidak tampak menjadi masalah utama.
Pengesahkan memilih blok pancang menggunakan aturan pilihan fork LMD GHOST. Pengesahkan hanya akan memilih blok pancang yang memenuhi fungsi evaluasi daftar inklusi, berdasarkan pengamatan dari Interval 1.
Tidak ada perbedaan dari hari ini.
Seperti yang terlihat di atas, tantangan sumber daya yang paling signifikan berkaitan dengan unggahan daftar inklusi, unduhan, dan potensi spam dari perspektif node. Kekhawatiran utama lainnya adalah beban pada node untuk memverifikasi dan mengimpor daftar inklusi, serta kebutuhan proposer untuk memperbarui proses pembangunan bloknya untuk memenuhi daftar inklusi. Aspek-aspek ini membutuhkan pertimbangan dan desain yang hati-hati untuk memastikan efisiensi dan keamanan.
Berdasarkan hal di atas, kami menguraikan beberapa pertanyaan terbuka yang akan mempengaruhi bagaimana spesifikasinya ditulis:
Dokumen ini didorong oleh karya kami pada Spesifikasi konsensus FOCIL 23, di mana kami menyadari bahwa protokol ini membutuhkan pertimbangan yang lebih matang mengenai batasan sumber daya karena beberapa detail tidak secara eksplisit ditentukan dalam FOCIL pos penelitian Ethereum 14.
Sebelum kita memulai, kami berasumsi pengaturan berikut untuk membangun dasar yang bersih untuk pertimbangan kami:
Sebelum kita melanjutkan, kita mengasumsikan bahwa aktor-aktor berikut adalah bagian dari protokol dan menganalisis tanggung jawab mereka:
Kami mengasumsikan timeline berikut di mana komite IL, pengusul, dan saksi melakukan beberapa tindakan jujur:
Anggota komite IL mengambil daftar transaksi IL dari klien EL yang diberikan kepala (panggilan CL → EL), kemudian mereka menandatangani IL lokal (transaksi + ringkasan) dan melepaskannya ke jaringan gosip.
Node yang mengikuti rantai akan mengunduh IL, memverifikasinya untuk anti-DOS (belum mengimpor ke EL), dan meneruskannya ke simpul lain. Node juga mengimpor IL ke pilihan fork dan melacak IL mana yang telah dilihat menggunakan cache aggreGate. Attester dan node yang mengikuti rantai harus memiliki pandangan yang sama tentang rantai.
Penyaji untuk slot berikutnya secara aktif memantau jaringan gosip IL, mengumpulkan dan mengumpulkan IL lokal, kemudian pada batas pengumpulan IL (interval #2) penyaji memperbarui proses pembangunan blok dengan daftar transaksi IL yang akan disertakan untuk bloknya. Ini memerlukan panggilan CL ke EL.
Jika proposer slot berikutnya mengamati jumlah daftar inklusi yang cukup berdasarkan hash induk yang belum pernah dilihat, proposer akan perlu meminta secara manual blok beacon yang hilang, mengimpor blok tersebut, dan membangun di atas blok tersebut.
Berdasarkan hal di atas, kita dapat mengidentifikasi area-area yang berpotensi memakan banyak sumber daya dan mempersempit fokus pada area tersebut:
Penyusun memperbarui proses pembangunan blok dengan daftar transaksi dalam daftar inklusi. Ini adalah panggilan CL → EL.
Tampilkan daftar inklusi kunci. Berhenti menerima daftar inklusi lokal mulai dari titik ini.
Pengusul mengambil muatan eksekusi dari klien EL (panggilan CL → EL), dan melepaskannya ke jaringan gossip blok beacon. Setelah itu, semua orang memverifikasi blok tersebut.
Node menerima blok penanda dan memverifikasinya. Langkah verifikasi baru termasuk memeriksa konstruksi aggreGate daftar inklusi dan memastikan apakah daftar inklusi memenuhi fungsi evaluasi, yang akan diselesaikan di CL. Pemeriksaan kondisi IL (apakah mereka dapat dilewati karena konflik atau tidak) akan dilakukan di EL.
Tugas tambahan untuk pengusul sepertinya tidak menjadi kekhawatiran yang signifikan. Langkah verifikasi baru untuk node - memeriksa dan memverifikasi bahwa daftar inklusi memenuhi kondisi yang memuaskan - mungkin memperkenalkan beban CPU tambahan, tetapi tidak tampak menjadi masalah utama.
Pengesahkan memilih blok pancang menggunakan aturan pilihan fork LMD GHOST. Pengesahkan hanya akan memilih blok pancang yang memenuhi fungsi evaluasi daftar inklusi, berdasarkan pengamatan dari Interval 1.
Tidak ada perbedaan dari hari ini.
Seperti yang terlihat di atas, tantangan sumber daya yang paling signifikan berkaitan dengan unggahan daftar inklusi, unduhan, dan potensi spam dari perspektif node. Kekhawatiran utama lainnya adalah beban pada node untuk memverifikasi dan mengimpor daftar inklusi, serta kebutuhan proposer untuk memperbarui proses pembangunan bloknya untuk memenuhi daftar inklusi. Aspek-aspek ini membutuhkan pertimbangan dan desain yang hati-hati untuk memastikan efisiensi dan keamanan.
Berdasarkan hal di atas, kami menguraikan beberapa pertanyaan terbuka yang akan mempengaruhi bagaimana spesifikasinya ditulis: