Perubahan protokol dan staking pool yang dapat meningkatkan desentralisasi dan mengurangi overhead konsensus

Lanjutan1/11/2024, 8:21:09 AM
Vitalik telah mengusulkan beberapa optimasi untuk mekanisme staking Ethereum saat ini, menyediakan jalur referensi untuk lebih mengurangi beban sentralisasi dan konsensus pada Ethereum.

Terima kasih khusus kepada Mike Neuder, Justin Drake, dan lainnya atas masukan dan ulasannya. Lihat juga: postingan sebelumnya tentang tema serupa oleh<a href="https://notes.ethereum.org/ @mikeneuder /goldilocks">Mike Neuder, Dankrad Feist dan arixon.eth .

Status quo Ethereum dapat digambarkan sebagai termasuk sebagian besar pertaruhan dua tingkat yang muncul. Yang saya maksud dengan two-tiered staking adalah model staking dimana terdapat dua kelas peserta:

  1. Operator node, yang menjalankan node dan menjaminkan reputasi mereka atau sejumlah modal tetap mereka sendiri
  2. Delegator, yang memasang sejumlah ETH, tanpa komitmen minimum dan tidak ada persyaratan ketat untuk berpartisipasi dengan cara lain selain membawa jaminannya

Taruhan dua tingkat yang muncul ini muncul melalui tindakan sebagian besar pemangku kepentingan yang berpartisipasi dalam kumpulan taruhan yang menawarkan token taruhan cair (LST), misalnya. Kolam Roket dan Lido.

Status quo mempunyai dua kelemahan utama:

  • Risiko sentralisasi pada operator node. Mekanisme untuk memilih operator node di staking pool yang ada tidak terlalu terdesentralisasi atau memiliki kelemahan lain.
  • Beban lapisan konsensus yang tidak perlu. Ethereum L1 memverifikasi ~800,000 tanda tangan per epoch, dan dengan<a href="https://notes.ethereum.org/ @vbuterin /single_slot_finality">single finalitas slot yang dapat meningkat hingga 800.000 per slot. Ini adalah beban yang besar. Selain itu, karena besarnya porsi liquid staking, jaringan tidak mendapatkan manfaat penuh dari beban ini. Jika jaringan dapat dibuat terdesentralisasi dan aman tanpa mengharuskan setiap pemangku kepentingan untuk keluar di setiap slot, maka kita dapat lebih mengandalkan solusi tersebut, dan mengurangi jumlah tanda tangan per slot, misalnya. 10.000.

Posting ini akan menjelaskan kemungkinan solusi untuk kedua masalah ini. Hal ini terutama akan mengambil sudut pandang berikut: misalkan kita menganggap bahwa sebagian besar modal dipegang oleh orang-orang yang tidak bersedia secara pribadi menjalankan staking node dalam bentuknya saat ini, menandatangani pesan di setiap slot dan mengunci deposit mereka dan melakukan pemotongan pada mereka. . Peran apa lagi yang dapat mereka miliki yang memberikan kontribusi berarti terhadap desentralisasi dan keamanan jaringan?

Bagaimana cara kerja taruhan dua tingkat saat ini?

Dua staking pool terdesentralisasi yang paling populer saat ini, Lido dan RocketPool, keduanya menciptakan ekosistem staking dua tingkat. Dalam kasus Lido, tingkatannya adalah:

Dalam kasus Rocket Pool, tingkatannya adalah:

  • Operator node: siapa pun dapat menjadi operator node dengan mengirimkan deposit 8 ETH, ditambah sejumlah token RPL
  • Delegator: orang yang memegang rETH. rETH dibuat ketika seseorang menyetorkan ETH ke dalam sistem kontrak pintar Rocket Pool, yang memungkinkan operator node untuk mempertaruhkannya (tetapi tidak mengambilnya sendiri)

Peran delegasi

Dalam sistem ini (atau sistem baru yang dimungkinkan oleh potensi perubahan protokol di masa depan), satu pertanyaan kunci yang perlu ditanyakan adalah: dari sudut pandang protokol, apa gunanya memiliki delegator?

Untuk mengetahui mengapa pertanyaan ini bermakna, mari kita perhatikan dunia berikut. Perubahan protokol yang diusulkan dalam postingan terbaru ini, yang membatasi hukuman pemotongan hingga 2 ETH, telah diterapkan. Rocket Pool mengurangi deposit operator node menjadi 2 ETH sebagai respons. Pangsa pasar Rocket Pool meningkat hingga 100% (tidak hanya di kalangan pemangku kepentingan, tetapi juga di antara pemegang ETH: karena rETH menjadi bebas risiko, hampir semua pemegang ETH menjadi pemegang rETH atau operator node).

Misalkan pemegang rETH mendapatkan keuntungan sebesar 3% (termasuk imbalan dalam protokol dan biaya prioritas + MEV) dan operator node mendapatkan keuntungan sebesar 4%. Misalkan total pasokan ETH adalah 100 juta.

Begini cara perhitungannya. Untuk menghindari penggabungan, kita akan melihat return harian, bukan tahunan, sehingga suku-suku orde kedua menjadi cukup kecil untuk diabaikan:

Sekarang, mari kita pertimbangkan dunia yang berbeda. Kolam Roket tidak ada. Setoran minimum setiap pemangku kepentingan dikurangi menjadi 2 ETH, dan jumlah total ETH yang dipertaruhkan dibatasi hingga 6,25 juta. Selain itu, pengembalian operator node diturunkan menjadi 1%. Mari kita berhitung:

Sekarang, mari kita pertimbangkan kedua situasi tersebut dari perspektif dampak serangan. Dalam kasus pertama, penyerang tidak akan mendaftar sebagai delegator: delegator tidak memiliki kekuasaan, jadi tidak ada gunanya. Oleh karena itu, mereka akan menggunakan seluruh ETH mereka untuk mendaftar sebagai operator node. Untuk mendapatkan 1/3 dari seluruh taruhan, mereka perlu memasukkan 2,08 juta ETH (yang, sejujurnya, masih cukup banyak! Misalnya. lihat<a href="https://notes.ethereum.org/ @vbuterin /single_slot_finality#Idea-1-super-committees">ini diskusi tentang komite super, proposal penskalaan pertaruhan yang juga akan menurunkan biaya serangan ke nilai yang sama). Dalam kasus kedua, penyerang hanya akan melakukan staking, dan untuk mendapatkan 1/3 dari seluruh pasak, mereka perlu memasukkan… 2,08 juta ETH.

Dari perspektif ekonomi pertaruhan dan perspektif biaya serangan, hasil akhir dalam kedua kasus tersebut sama persis. Bagian dari total pasokan ETH yang dimiliki oleh operator node meningkat sebesar 0,00256% per hari, dan bagian dari total pasokan ETH yang dimiliki oleh operator non-node menurun sebesar 0,00017% per hari. Biaya serangannya adalah 2,08 juta ETH. Oleh karena itu, rasanya dalam model ini delegasi menjadi mesin Rube Goldberg yang tidak ada gunanya: sebaiknya kita menghilangkan perantara, dan secara drastis mengurangi imbalan staking dan membatasi total ETH yang dipertaruhkan menjadi 6,25 juta.

Tujuan dari argumen ini bukan untuk menganjurkan pengurangan imbalan staking sebesar 4x dan membatasi total ETH yang dipertaruhkan menjadi 6,25 juta. Sebaliknya, hal ini untuk menunjukkan properti utama yang harus dimiliki oleh sistem staking yang berfungsi dengan baik: yaitu, delegator harus melakukan sesuatu yang benar-benar penting. Selain itu, tidak masalah jika para delegasi sebagian besar termotivasi untuk bertindak benar karena tekanan komunitas dan altruisme; lagi pula, hal itulah yang menjadi kekuatan utama yang memotivasi masyarakat untuk menggunakan cara-cara yang terdesentralisasi yang meningkatkan keamanan (tetapi dengan upaya yang lebih besar) daripada cara-cara yang bersifat terpusat yang mengancam keamanan (tetapi dengan upaya yang lebih rendah).

Jika delegasi dapat mempunyai peran yang berarti, apa peran tersebut?

Saya melihat dua kelas jawaban:

  • Pilihan delegasi: delegasi dapat memilih operator node mana yang akan mereka delegasikan sahamnya. Operator node akan memiliki “bobot” dalam konsensus yang sebanding dengan total saham yang didelegasikan kepada mereka. Seleksi delegasi sudah ada dalam bentuk terbatas saat ini, dalam arti bahwa pemegang rETH atau stETH dapat menarik ETH mereka dan beralih ke kumpulan lain, namun ketersediaan praktis pilihan delegasi dapat ditingkatkan secara signifikan.
  • Partisipasi konsensus: delegator dapat diberikan opsi untuk mengambil peran dalam konsensus, yang akan “lebih ringan” dibandingkan staking penuh dan tidak dikenakan periode penarikan yang lama dan pengurangan risiko, namun tetap berfungsi sebagai pengawas operator node. Banyak delegasi yang tidak ingin melakukan hal ini, dan lebih memilih antarmuka yang paling sederhana yaitu memegang ERC20 dan tidak melakukan apa pun, namun beberapa akan mengambil opsi tersebut.

Memperluas wewenang pemilihan delegasi

Ada tiga cara untuk memperluas kewenangan pemilihan delegasi:

  • Alat pemungutan suara yang lebih baik dalam kumpulan
  • Lebih banyak persaingan antar kolam
  • Delegasi yang diabadikan

Pemungutan suara dalam kumpulan tidak benar-benar ada saat ini: di Rocket Pool, siapa pun dapat menjadi operator node, dan di Lido, pemegang LDOlah yang memberikan suara, bukan pemegang ETH. Lido memiliki proposal untuk tata kelola ganda LDO + stETH, yang akan memberikan pemegang stETH hak suara dalam arti bahwa mereka dapat mengaktifkan gadget yang memblokir suara baru dan karenanya memblokir penambahan atau penghapusan operator node. Meskipun demikian, ini terbatas, dan bisa menjadi lebih kuat.

Persaingan lintas kelompok ada saat ini, namun lemah. Tantangan utamanya adalah staking token dari staking pool yang lebih kecil (i) kurang likuid, (ii) lebih sulit dipercaya, dan (iii) kurang didukung oleh aplikasi.

Kita dapat memperbaiki dua masalah pertama dengan membatasi pengurangan hukuman ke jumlah yang lebih kecil, misalnya. 2 atau 4 ETH. ETH yang tersisa (tidak dapat dipotong) kemudian dapat disimpan dan ditarik dengan aman secara instan, membuat LST berdasarkan ETH tersebut dapat dikonversi dua arah dengan ETH bahkan untuk kumpulan terkecil. Kami dapat memperbaiki masalah ketiga dengan membuat kontrak penerbitan terpusat untuk LST - agak mirip dengan ERC-4337 dan ERC-6900 untuk dompet, sehingga kami dapat menjamin bahwa setiap token staking yang dikeluarkan melalui kontrak tersebut aman. Aplikasi (misalnya versi RAI yang mendukung ETH yang dipertaruhkan) sangat dianjurkan untuk mendukung semua token taruhan yang dikeluarkan melalui registri ini.

Delegasi yang diabadikan saat ini belum ada dalam protokol, namun berpotensi untuk diperkenalkan. Ini akan melibatkan logika serupa dengan ide di atas, namun diterapkan pada tingkat protokol. Lihat posting ini untuk mengetahui pro dan kontra dari mengabadikan sesuatu.

Semua ide ini merupakan perbaikan dari status quo, namun ada batas seberapa besar manfaat yang dapat mereka berikan. Tata kelola pemungutan suara token buruk, dan pada akhirnya segala bentuk pemilihan delegasi yang tidak diberi insentif hanyalah jenis pemungutan suara token; ini telah menjadi sumber utama ketidaknyamanan saya dengan bukti kepemilikan yang didelegasikan sejak awal. Oleh karena itu, tampaknya penting juga untuk mempertimbangkan kemungkinan bentuk partisipasi konsensus yang lebih kuat.

Partisipasi konsensus

Ada batasan pada pendekatan solo staking saat ini, bahkan tanpa mempertimbangkan masalah terkini seputar liquid staking. Dengan asumsi finalitas satu slot, perkiraan terbaik kami menyarankan batas ~100 ribu - 1 juta tanda tangan BLS yang dapat diproses per slot, dan itu dengan asumsi peningkatan waktu slot yang signifikan. Bahkan jika kita menggunakan SNARK rekursif untuk mengumpulkan tanda tangan, akuntabilitas penandatanganan (untuk tujuan pemotongan) memerlukan bitfield siapa yang berpartisipasi agar tersedia untuk setiap tanda tangan. Jika Ethereum menjadi jaringan skala global, menggunakan danksharding penuh untuk menyimpan bitfield tidak akan cukup: 16 MB per slot hanya akan mendukung ~64 juta pemangku kepentingan.

Di sini, dari perspektif tersebut juga, ada gunanya membagi staking ke dalam tingkatan yang dapat disayat dengan kompleksitas lebih tinggi, yang berlaku di setiap slot tetapi mungkin hanya memiliki 10.000 peserta, dan tingkat dengan kompleksitas lebih rendah yang hanya dipanggil untuk berpartisipasi sesekali. Tingkat kompleksitas yang lebih rendah dapat dikecualikan dari pemotongan seluruhnya, atau dapat secara acak memberikan kesempatan kepada pesertanya untuk sementara waktu (mis. untuk beberapa slot) deposit dan menjadi sasaran pemotongan.

Dalam praktiknya, hal ini dapat diterapkan dengan<a href="https://notes.ethereum.org/ @mikeneuder /eip-7251-faq">meningkatkan batas saldo validator, dan kemudian menerapkan ambang batas saldo (mis. 2048 ETH) untuk menentukan validator mana yang memasuki tingkat kompleksitas lebih tinggi dan lebih rendah.

Berikut adalah beberapa ide tentang bagaimana peran kecil ini dapat bekerja:

  • Setiap slot, 10.000 pemain kecil dipilih secara acak, dan mereka dapat menandatangani apa yang mereka anggap sebagai kepala slot itu. Aturan pemilihan fork LMD GHOST dijalankan menggunakan small-staker sebagai input. Jika pilihan fork yang digerakkan oleh small-staker dan pilihan fork yang digerakkan oleh operator node berbeda, klien pengguna tidak menerima blok apa pun yang telah diselesaikan, dan menampilkan kesalahan. Hal ini memaksa masyarakat untuk menengahi situasi tersebut.
  • Delegator dapat mengirimkan transaksi yang menyatakan ke jaringan bahwa mereka sedang online dan bersedia menjadi pemangku kepentingan kecil selama satu jam berikutnya. Agar pesan (blok atau pengesahan) dari sebuah node dapat dihitung, baik node maupun delegator yang dipilih secara acak harus keluar.
  • Delegator dapat mengirimkan transaksi yang menyatakan ke jaringan bahwa mereka sedang online dan bersedia menjadi pemangku kepentingan kecil selama satu jam berikutnya. Setiap periode, 10 delegasi acak dipilih sebagai penyedia daftar inklusi, dan 10.000 lainnya dipilih sebagai pemilih. Ini dipilih k slot sebelumnya, dan diberi jendela k-slot untuk mempublikasikan pesan berantai yang mengonfirmasi bahwa mereka sedang online. Setiap penyedia daftar penyertaan terpilih yang dikonfirmasi dapat menerbitkan daftar penyertaan, dan blok tidak valid kecuali untuk setiap daftar penyertaan, baik (i) berisi transaksi dalam daftar penyertaan tersebut, atau (ii) berisi suara dari 1/2 dari yang dipilih pemilih yang menunjukkan bahwa daftar penyertaan tidak tersedia.

Semua peran dengan taruhan kecil ini memiliki kesamaan yaitu tidak melibatkan partisipasi aktif di setiap slot, tidak dapat dipangkas (sehingga memiliki risiko manajemen kunci yang sangat rendah), dan sangat “ringan” dalam arti bahwa peran tersebut bahkan tidak memerlukan a simpul penuh untuk dijalankan. Memverifikasi lapisan konsensus saja sudah cukup. Oleh karena itu, mereka dapat diimplementasikan melalui aplikasi atau plugin browser yang sebagian besar bersifat pasif dan memiliki overhead komputasi, persyaratan perangkat keras, atau persyaratan pengetahuan teknis yang sangat rendah, semuanya bahkan tanpa mengasumsikan kemajuan teknis seperti ZK-EVM.

Peran-peran kecil ini juga memiliki tujuan yang sama: mencegah 51% mayoritas operator node terlibat dalam sensor transaksi. Alasan pertama dan kedua juga menghalangi mayoritas untuk terlibat dalam pengembalian finalitas. Yang ketiga lebih fokus pada penyensoran, meskipun lebih rentan terhadap kemungkinan bahwa mayoritas operator node juga akan memilih untuk menyensor pesan konfirmasi penyedia daftar penyertaan.

Ide-ide ini ditulis dari perspektif solusi staking dua tingkat yang diterapkan dalam protokol, tetapi ide-ide ini juga dapat diimplementasikan sebagai fitur staking pool. Berikut adalah beberapa ide implementasi yang konkrit:

Kesimpulan

Jika dilakukan dengan benar, penyesuaian pada desain staking dapat menyelesaikan dua masalah dengan satu masalah:

  1. Memberikan kesempatan kepada orang-orang yang tidak memiliki sumber daya atau kemampuan untuk melakukan staking solo hari ini untuk berpartisipasi dalam staking yang memberikan lebih banyak kekuasaan di tangan mereka: baik (i) kekuatan untuk memilih node mana yang mereka dukung dan (ii) kekuatan untuk berpartisipasi secara aktif di dalamnya. konsensus dalam beberapa hal yang lebih ringan daripada operasi staking-node penuh namun tetap bermakna. Tidak semua peserta akan mengambil salah satu atau kedua pilihan tersebut, namun setiap pilihan yang diambil akan memperbaiki keadaan secara signifikan dibandingkan dengan status quo.
  2. Kurangi jumlah tanda tangan yang perlu diproses oleh lapisan konsensus Ethereum di setiap slot, bahkan dalam rezim finalitas satu slot, ke jumlah yang lebih kecil seperti ~10.000. Hal ini juga akan membantu desentralisasi, dengan mempermudah semua orang menjalankan node validasi.

Untuk sebagian besar solusi ini, terdapat berbagai lapisan abstraksi tempat solusi masalah dapat diterapkan: wewenang yang diberikan kepada pengguna dalam protokol staking pool, pilihan pengguna antara protokol staking pool, dan percandian dalam protokol. Pilihan ini harus dipertimbangkan dengan hati-hati, dan percandian minimal yang layak, yang meminimalkan kompleksitas protokol dan tingkat perubahan terhadap keekonomian protokol sambil tetap mencapai tujuan yang diinginkan, umumnya merupakan pilihan terbaik.

Penafian:

  1. Artikel ini dicetak ulang dari [ <a href="https://notes.ethereum.org/@vbuterin/staking_2023_10"> notes.ethereum.org ]. Semua hak cipta milik penulis asli [notes.ethereum.org]. Jika ada keberatan terhadap cetak ulang ini, silakan menghubungi tim Gate Learn , dan mereka akan segera menanganinya.
  2. Penafian Tanggung Jawab: Pandangan dan pendapat yang diungkapkan dalam artikel ini adalah sepenuhnya milik penulis dan bukan merupakan nasihat investasi apa pun.
  3. Terjemahan artikel ke bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, dilarang menyalin, mendistribusikan, atau menjiplak artikel terjemahan.

Perubahan protokol dan staking pool yang dapat meningkatkan desentralisasi dan mengurangi overhead konsensus

Lanjutan1/11/2024, 8:21:09 AM
Vitalik telah mengusulkan beberapa optimasi untuk mekanisme staking Ethereum saat ini, menyediakan jalur referensi untuk lebih mengurangi beban sentralisasi dan konsensus pada Ethereum.

Terima kasih khusus kepada Mike Neuder, Justin Drake, dan lainnya atas masukan dan ulasannya. Lihat juga: postingan sebelumnya tentang tema serupa oleh<a href="https://notes.ethereum.org/ @mikeneuder /goldilocks">Mike Neuder, Dankrad Feist dan arixon.eth .

Status quo Ethereum dapat digambarkan sebagai termasuk sebagian besar pertaruhan dua tingkat yang muncul. Yang saya maksud dengan two-tiered staking adalah model staking dimana terdapat dua kelas peserta:

  1. Operator node, yang menjalankan node dan menjaminkan reputasi mereka atau sejumlah modal tetap mereka sendiri
  2. Delegator, yang memasang sejumlah ETH, tanpa komitmen minimum dan tidak ada persyaratan ketat untuk berpartisipasi dengan cara lain selain membawa jaminannya

Taruhan dua tingkat yang muncul ini muncul melalui tindakan sebagian besar pemangku kepentingan yang berpartisipasi dalam kumpulan taruhan yang menawarkan token taruhan cair (LST), misalnya. Kolam Roket dan Lido.

Status quo mempunyai dua kelemahan utama:

  • Risiko sentralisasi pada operator node. Mekanisme untuk memilih operator node di staking pool yang ada tidak terlalu terdesentralisasi atau memiliki kelemahan lain.
  • Beban lapisan konsensus yang tidak perlu. Ethereum L1 memverifikasi ~800,000 tanda tangan per epoch, dan dengan<a href="https://notes.ethereum.org/ @vbuterin /single_slot_finality">single finalitas slot yang dapat meningkat hingga 800.000 per slot. Ini adalah beban yang besar. Selain itu, karena besarnya porsi liquid staking, jaringan tidak mendapatkan manfaat penuh dari beban ini. Jika jaringan dapat dibuat terdesentralisasi dan aman tanpa mengharuskan setiap pemangku kepentingan untuk keluar di setiap slot, maka kita dapat lebih mengandalkan solusi tersebut, dan mengurangi jumlah tanda tangan per slot, misalnya. 10.000.

Posting ini akan menjelaskan kemungkinan solusi untuk kedua masalah ini. Hal ini terutama akan mengambil sudut pandang berikut: misalkan kita menganggap bahwa sebagian besar modal dipegang oleh orang-orang yang tidak bersedia secara pribadi menjalankan staking node dalam bentuknya saat ini, menandatangani pesan di setiap slot dan mengunci deposit mereka dan melakukan pemotongan pada mereka. . Peran apa lagi yang dapat mereka miliki yang memberikan kontribusi berarti terhadap desentralisasi dan keamanan jaringan?

Bagaimana cara kerja taruhan dua tingkat saat ini?

Dua staking pool terdesentralisasi yang paling populer saat ini, Lido dan RocketPool, keduanya menciptakan ekosistem staking dua tingkat. Dalam kasus Lido, tingkatannya adalah:

Dalam kasus Rocket Pool, tingkatannya adalah:

  • Operator node: siapa pun dapat menjadi operator node dengan mengirimkan deposit 8 ETH, ditambah sejumlah token RPL
  • Delegator: orang yang memegang rETH. rETH dibuat ketika seseorang menyetorkan ETH ke dalam sistem kontrak pintar Rocket Pool, yang memungkinkan operator node untuk mempertaruhkannya (tetapi tidak mengambilnya sendiri)

Peran delegasi

Dalam sistem ini (atau sistem baru yang dimungkinkan oleh potensi perubahan protokol di masa depan), satu pertanyaan kunci yang perlu ditanyakan adalah: dari sudut pandang protokol, apa gunanya memiliki delegator?

Untuk mengetahui mengapa pertanyaan ini bermakna, mari kita perhatikan dunia berikut. Perubahan protokol yang diusulkan dalam postingan terbaru ini, yang membatasi hukuman pemotongan hingga 2 ETH, telah diterapkan. Rocket Pool mengurangi deposit operator node menjadi 2 ETH sebagai respons. Pangsa pasar Rocket Pool meningkat hingga 100% (tidak hanya di kalangan pemangku kepentingan, tetapi juga di antara pemegang ETH: karena rETH menjadi bebas risiko, hampir semua pemegang ETH menjadi pemegang rETH atau operator node).

Misalkan pemegang rETH mendapatkan keuntungan sebesar 3% (termasuk imbalan dalam protokol dan biaya prioritas + MEV) dan operator node mendapatkan keuntungan sebesar 4%. Misalkan total pasokan ETH adalah 100 juta.

Begini cara perhitungannya. Untuk menghindari penggabungan, kita akan melihat return harian, bukan tahunan, sehingga suku-suku orde kedua menjadi cukup kecil untuk diabaikan:

Sekarang, mari kita pertimbangkan dunia yang berbeda. Kolam Roket tidak ada. Setoran minimum setiap pemangku kepentingan dikurangi menjadi 2 ETH, dan jumlah total ETH yang dipertaruhkan dibatasi hingga 6,25 juta. Selain itu, pengembalian operator node diturunkan menjadi 1%. Mari kita berhitung:

Sekarang, mari kita pertimbangkan kedua situasi tersebut dari perspektif dampak serangan. Dalam kasus pertama, penyerang tidak akan mendaftar sebagai delegator: delegator tidak memiliki kekuasaan, jadi tidak ada gunanya. Oleh karena itu, mereka akan menggunakan seluruh ETH mereka untuk mendaftar sebagai operator node. Untuk mendapatkan 1/3 dari seluruh taruhan, mereka perlu memasukkan 2,08 juta ETH (yang, sejujurnya, masih cukup banyak! Misalnya. lihat<a href="https://notes.ethereum.org/ @vbuterin /single_slot_finality#Idea-1-super-committees">ini diskusi tentang komite super, proposal penskalaan pertaruhan yang juga akan menurunkan biaya serangan ke nilai yang sama). Dalam kasus kedua, penyerang hanya akan melakukan staking, dan untuk mendapatkan 1/3 dari seluruh pasak, mereka perlu memasukkan… 2,08 juta ETH.

Dari perspektif ekonomi pertaruhan dan perspektif biaya serangan, hasil akhir dalam kedua kasus tersebut sama persis. Bagian dari total pasokan ETH yang dimiliki oleh operator node meningkat sebesar 0,00256% per hari, dan bagian dari total pasokan ETH yang dimiliki oleh operator non-node menurun sebesar 0,00017% per hari. Biaya serangannya adalah 2,08 juta ETH. Oleh karena itu, rasanya dalam model ini delegasi menjadi mesin Rube Goldberg yang tidak ada gunanya: sebaiknya kita menghilangkan perantara, dan secara drastis mengurangi imbalan staking dan membatasi total ETH yang dipertaruhkan menjadi 6,25 juta.

Tujuan dari argumen ini bukan untuk menganjurkan pengurangan imbalan staking sebesar 4x dan membatasi total ETH yang dipertaruhkan menjadi 6,25 juta. Sebaliknya, hal ini untuk menunjukkan properti utama yang harus dimiliki oleh sistem staking yang berfungsi dengan baik: yaitu, delegator harus melakukan sesuatu yang benar-benar penting. Selain itu, tidak masalah jika para delegasi sebagian besar termotivasi untuk bertindak benar karena tekanan komunitas dan altruisme; lagi pula, hal itulah yang menjadi kekuatan utama yang memotivasi masyarakat untuk menggunakan cara-cara yang terdesentralisasi yang meningkatkan keamanan (tetapi dengan upaya yang lebih besar) daripada cara-cara yang bersifat terpusat yang mengancam keamanan (tetapi dengan upaya yang lebih rendah).

Jika delegasi dapat mempunyai peran yang berarti, apa peran tersebut?

Saya melihat dua kelas jawaban:

  • Pilihan delegasi: delegasi dapat memilih operator node mana yang akan mereka delegasikan sahamnya. Operator node akan memiliki “bobot” dalam konsensus yang sebanding dengan total saham yang didelegasikan kepada mereka. Seleksi delegasi sudah ada dalam bentuk terbatas saat ini, dalam arti bahwa pemegang rETH atau stETH dapat menarik ETH mereka dan beralih ke kumpulan lain, namun ketersediaan praktis pilihan delegasi dapat ditingkatkan secara signifikan.
  • Partisipasi konsensus: delegator dapat diberikan opsi untuk mengambil peran dalam konsensus, yang akan “lebih ringan” dibandingkan staking penuh dan tidak dikenakan periode penarikan yang lama dan pengurangan risiko, namun tetap berfungsi sebagai pengawas operator node. Banyak delegasi yang tidak ingin melakukan hal ini, dan lebih memilih antarmuka yang paling sederhana yaitu memegang ERC20 dan tidak melakukan apa pun, namun beberapa akan mengambil opsi tersebut.

Memperluas wewenang pemilihan delegasi

Ada tiga cara untuk memperluas kewenangan pemilihan delegasi:

  • Alat pemungutan suara yang lebih baik dalam kumpulan
  • Lebih banyak persaingan antar kolam
  • Delegasi yang diabadikan

Pemungutan suara dalam kumpulan tidak benar-benar ada saat ini: di Rocket Pool, siapa pun dapat menjadi operator node, dan di Lido, pemegang LDOlah yang memberikan suara, bukan pemegang ETH. Lido memiliki proposal untuk tata kelola ganda LDO + stETH, yang akan memberikan pemegang stETH hak suara dalam arti bahwa mereka dapat mengaktifkan gadget yang memblokir suara baru dan karenanya memblokir penambahan atau penghapusan operator node. Meskipun demikian, ini terbatas, dan bisa menjadi lebih kuat.

Persaingan lintas kelompok ada saat ini, namun lemah. Tantangan utamanya adalah staking token dari staking pool yang lebih kecil (i) kurang likuid, (ii) lebih sulit dipercaya, dan (iii) kurang didukung oleh aplikasi.

Kita dapat memperbaiki dua masalah pertama dengan membatasi pengurangan hukuman ke jumlah yang lebih kecil, misalnya. 2 atau 4 ETH. ETH yang tersisa (tidak dapat dipotong) kemudian dapat disimpan dan ditarik dengan aman secara instan, membuat LST berdasarkan ETH tersebut dapat dikonversi dua arah dengan ETH bahkan untuk kumpulan terkecil. Kami dapat memperbaiki masalah ketiga dengan membuat kontrak penerbitan terpusat untuk LST - agak mirip dengan ERC-4337 dan ERC-6900 untuk dompet, sehingga kami dapat menjamin bahwa setiap token staking yang dikeluarkan melalui kontrak tersebut aman. Aplikasi (misalnya versi RAI yang mendukung ETH yang dipertaruhkan) sangat dianjurkan untuk mendukung semua token taruhan yang dikeluarkan melalui registri ini.

Delegasi yang diabadikan saat ini belum ada dalam protokol, namun berpotensi untuk diperkenalkan. Ini akan melibatkan logika serupa dengan ide di atas, namun diterapkan pada tingkat protokol. Lihat posting ini untuk mengetahui pro dan kontra dari mengabadikan sesuatu.

Semua ide ini merupakan perbaikan dari status quo, namun ada batas seberapa besar manfaat yang dapat mereka berikan. Tata kelola pemungutan suara token buruk, dan pada akhirnya segala bentuk pemilihan delegasi yang tidak diberi insentif hanyalah jenis pemungutan suara token; ini telah menjadi sumber utama ketidaknyamanan saya dengan bukti kepemilikan yang didelegasikan sejak awal. Oleh karena itu, tampaknya penting juga untuk mempertimbangkan kemungkinan bentuk partisipasi konsensus yang lebih kuat.

Partisipasi konsensus

Ada batasan pada pendekatan solo staking saat ini, bahkan tanpa mempertimbangkan masalah terkini seputar liquid staking. Dengan asumsi finalitas satu slot, perkiraan terbaik kami menyarankan batas ~100 ribu - 1 juta tanda tangan BLS yang dapat diproses per slot, dan itu dengan asumsi peningkatan waktu slot yang signifikan. Bahkan jika kita menggunakan SNARK rekursif untuk mengumpulkan tanda tangan, akuntabilitas penandatanganan (untuk tujuan pemotongan) memerlukan bitfield siapa yang berpartisipasi agar tersedia untuk setiap tanda tangan. Jika Ethereum menjadi jaringan skala global, menggunakan danksharding penuh untuk menyimpan bitfield tidak akan cukup: 16 MB per slot hanya akan mendukung ~64 juta pemangku kepentingan.

Di sini, dari perspektif tersebut juga, ada gunanya membagi staking ke dalam tingkatan yang dapat disayat dengan kompleksitas lebih tinggi, yang berlaku di setiap slot tetapi mungkin hanya memiliki 10.000 peserta, dan tingkat dengan kompleksitas lebih rendah yang hanya dipanggil untuk berpartisipasi sesekali. Tingkat kompleksitas yang lebih rendah dapat dikecualikan dari pemotongan seluruhnya, atau dapat secara acak memberikan kesempatan kepada pesertanya untuk sementara waktu (mis. untuk beberapa slot) deposit dan menjadi sasaran pemotongan.

Dalam praktiknya, hal ini dapat diterapkan dengan<a href="https://notes.ethereum.org/ @mikeneuder /eip-7251-faq">meningkatkan batas saldo validator, dan kemudian menerapkan ambang batas saldo (mis. 2048 ETH) untuk menentukan validator mana yang memasuki tingkat kompleksitas lebih tinggi dan lebih rendah.

Berikut adalah beberapa ide tentang bagaimana peran kecil ini dapat bekerja:

  • Setiap slot, 10.000 pemain kecil dipilih secara acak, dan mereka dapat menandatangani apa yang mereka anggap sebagai kepala slot itu. Aturan pemilihan fork LMD GHOST dijalankan menggunakan small-staker sebagai input. Jika pilihan fork yang digerakkan oleh small-staker dan pilihan fork yang digerakkan oleh operator node berbeda, klien pengguna tidak menerima blok apa pun yang telah diselesaikan, dan menampilkan kesalahan. Hal ini memaksa masyarakat untuk menengahi situasi tersebut.
  • Delegator dapat mengirimkan transaksi yang menyatakan ke jaringan bahwa mereka sedang online dan bersedia menjadi pemangku kepentingan kecil selama satu jam berikutnya. Agar pesan (blok atau pengesahan) dari sebuah node dapat dihitung, baik node maupun delegator yang dipilih secara acak harus keluar.
  • Delegator dapat mengirimkan transaksi yang menyatakan ke jaringan bahwa mereka sedang online dan bersedia menjadi pemangku kepentingan kecil selama satu jam berikutnya. Setiap periode, 10 delegasi acak dipilih sebagai penyedia daftar inklusi, dan 10.000 lainnya dipilih sebagai pemilih. Ini dipilih k slot sebelumnya, dan diberi jendela k-slot untuk mempublikasikan pesan berantai yang mengonfirmasi bahwa mereka sedang online. Setiap penyedia daftar penyertaan terpilih yang dikonfirmasi dapat menerbitkan daftar penyertaan, dan blok tidak valid kecuali untuk setiap daftar penyertaan, baik (i) berisi transaksi dalam daftar penyertaan tersebut, atau (ii) berisi suara dari 1/2 dari yang dipilih pemilih yang menunjukkan bahwa daftar penyertaan tidak tersedia.

Semua peran dengan taruhan kecil ini memiliki kesamaan yaitu tidak melibatkan partisipasi aktif di setiap slot, tidak dapat dipangkas (sehingga memiliki risiko manajemen kunci yang sangat rendah), dan sangat “ringan” dalam arti bahwa peran tersebut bahkan tidak memerlukan a simpul penuh untuk dijalankan. Memverifikasi lapisan konsensus saja sudah cukup. Oleh karena itu, mereka dapat diimplementasikan melalui aplikasi atau plugin browser yang sebagian besar bersifat pasif dan memiliki overhead komputasi, persyaratan perangkat keras, atau persyaratan pengetahuan teknis yang sangat rendah, semuanya bahkan tanpa mengasumsikan kemajuan teknis seperti ZK-EVM.

Peran-peran kecil ini juga memiliki tujuan yang sama: mencegah 51% mayoritas operator node terlibat dalam sensor transaksi. Alasan pertama dan kedua juga menghalangi mayoritas untuk terlibat dalam pengembalian finalitas. Yang ketiga lebih fokus pada penyensoran, meskipun lebih rentan terhadap kemungkinan bahwa mayoritas operator node juga akan memilih untuk menyensor pesan konfirmasi penyedia daftar penyertaan.

Ide-ide ini ditulis dari perspektif solusi staking dua tingkat yang diterapkan dalam protokol, tetapi ide-ide ini juga dapat diimplementasikan sebagai fitur staking pool. Berikut adalah beberapa ide implementasi yang konkrit:

Kesimpulan

Jika dilakukan dengan benar, penyesuaian pada desain staking dapat menyelesaikan dua masalah dengan satu masalah:

  1. Memberikan kesempatan kepada orang-orang yang tidak memiliki sumber daya atau kemampuan untuk melakukan staking solo hari ini untuk berpartisipasi dalam staking yang memberikan lebih banyak kekuasaan di tangan mereka: baik (i) kekuatan untuk memilih node mana yang mereka dukung dan (ii) kekuatan untuk berpartisipasi secara aktif di dalamnya. konsensus dalam beberapa hal yang lebih ringan daripada operasi staking-node penuh namun tetap bermakna. Tidak semua peserta akan mengambil salah satu atau kedua pilihan tersebut, namun setiap pilihan yang diambil akan memperbaiki keadaan secara signifikan dibandingkan dengan status quo.
  2. Kurangi jumlah tanda tangan yang perlu diproses oleh lapisan konsensus Ethereum di setiap slot, bahkan dalam rezim finalitas satu slot, ke jumlah yang lebih kecil seperti ~10.000. Hal ini juga akan membantu desentralisasi, dengan mempermudah semua orang menjalankan node validasi.

Untuk sebagian besar solusi ini, terdapat berbagai lapisan abstraksi tempat solusi masalah dapat diterapkan: wewenang yang diberikan kepada pengguna dalam protokol staking pool, pilihan pengguna antara protokol staking pool, dan percandian dalam protokol. Pilihan ini harus dipertimbangkan dengan hati-hati, dan percandian minimal yang layak, yang meminimalkan kompleksitas protokol dan tingkat perubahan terhadap keekonomian protokol sambil tetap mencapai tujuan yang diinginkan, umumnya merupakan pilihan terbaik.

Penafian:

  1. Artikel ini dicetak ulang dari [ <a href="https://notes.ethereum.org/@vbuterin/staking_2023_10"> notes.ethereum.org ]. Semua hak cipta milik penulis asli [notes.ethereum.org]. Jika ada keberatan terhadap cetak ulang ini, silakan menghubungi tim Gate Learn , dan mereka akan segera menanganinya.
  2. Penafian Tanggung Jawab: Pandangan dan pendapat yang diungkapkan dalam artikel ini adalah sepenuhnya milik penulis dan bukan merupakan nasihat investasi apa pun.
  3. Terjemahan artikel ke bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, dilarang menyalin, mendistribusikan, atau menjiplak artikel terjemahan.
今すぐ始める
登録して、
$100
のボーナスを獲得しよう!