Forward Judul Asli 'Apakah kita akhirnya siap untuk peningkatan batas gas?'
Terdapat diskusi yang semakin meningkat mengenai kemungkinan meningkatkan throughput gas Ethereum, baik dengan meningkatkan batas gas atau mengurangi waktu slot. Argumen utama yang mendukung hal ini adalah bahwa persyaratan perangkat keras untuk menjalankan validator telah terus menurun selama empat tahun terakhir.
Selain itu, 2 pendekatan untuk meningkatkan Batas Gas telah muncul:
Dalam posting ini, saya akan menganalisis kemungkinan skenario terburuk dan skenario rata-rata dalam hal kebutuhan bandwidth, komputasi, dan penyimpanan jika batas gas ditingkatkan dua kali lipat.
Ketika Ethereum diluncurkan pada tahun 2015, batas gas awalnya diatur menjadi 5.000 gas per blok. Seiring waktu, batas ini melihat perubahan signifikan:
Setelah hard fork Tangerine Whistle dan lebih khusus lagi implementasi EIP-150, batas gas ditingkatkan menjadi 5,5 juta. Penyesuaian ini dilakukan sebagai bagian dari penyesuaian harga beberapa opcode I/O-berat sebagai respons terhadap serangan denial-of-service (DoS).
– Pada Juli 2017, batas gas dinaikkan menjadi 6,7 juta, dan terus meningkat:
– Desember 2017: ~8 juta
– September 2019: ~10 juta
– Agustus 2020: 12,5 juta
– April 2021: 15 juta
Dalam EIP-1559, juga ada batas maksimum (atau "hard cap") gas limit, yang diatur menjadi dua kali target. Ini berarti bahwa blok dapat mencakup transaksi dengan hingga 30 juta gas.
Dan selama hampir empat tahun, tidak ada peningkatan sama sekali pada batas gas.
Untuk menjawab pertanyaan ini, kita perlu menganalisis tiga aspek persyaratan perangkat keras: bandwidth, komputasi, dan penyimpanan jika batas gas dinaikkan menjadi 60 juta hari ini.
Ketika mempertimbangkan peningkatan batas gas, penyimpanan menjadi perhatian utama dan batasan terbesar bagi jaringan Ethereum. Alasan untuk ini terletak pada pertumbuhan historis ukuran status Ethereum dan tekanan yang terus berlanjut yang ditempatkan pada validator.
Ada dua jenis "pertumbuhan" di Ethereum:
Pertumbuhan Negara
Pertumbuhan Sejarah
Status Ethereum — pengumpulan semua saldo akun, kode kontrak pintar, dan penyimpanan — terus berkembang karena lebih banyak transaksi diproses dan kontrak pintar diterapkan. Sejak awal, ukuran negara telah tumbuh secara signifikan, dengan periode percepatan pertumbuhan yang didorong oleh kemacetan jaringan, peningkatan aktivitas transaksi, dan munculnya keuangan terdesentralisasi (DeFi) dan NFT. Saat ini, pertumbuhan negara sekitar 2,5 GB per bulan, atau 30 GB per tahun.
Pertumbuhan negara bagian ini dapat menyebabkan masalah berikut:
Waktu akses ke disk lebih lambat
– Persyaratan perangkat keras yang lebih tinggi
Namun, pada saat penulisan ini, kedua isu tersebut tidak terlalu signifikan. Bahkan, perbedaan waktu akses antara sistem penyimpanan yang berbeda hanya beberapa puluhan gigabyte secara cukup diabaikan karena kompleksitas algoritma dari kueri, yang biasanya berlogaritmik. Persyaratan penyimpanan juga tidak signifikan, karena biaya perangkat keras baru mengalami penurunan dengan kecepatan yang jauh melebihi pertumbuhan ukuran state yang relatif kecil yaitu 30 GB per tahun. Bahkan jika meningkat menjadi 60 GB/tahun, perbedaannya mungkin tidak akan terlalu mencolok dan masih akan terlampaui oleh kemajuan teknologi dalam perangkat keras.
Peningkatan ukuran status ini masih kalah jauh oleh kemajuan teknologi secara signifikan. Bahkan jika batas gas akan berganda, biaya perangkat keras terus mengalami penurunan secara eksponensial, membuat perangkat keras yang diperlukan menjadi lebih murah dari waktu ke waktu.
Namun, perlu dicatat bahwa segera, staking solo akan membutuhkan lebih dari 2 TB penyimpanan untuk menjalankan validator di Ethereum. Ini secara efektif akan meningkatkan kebutuhan penyimpanan menjadi 4 TB, karena sebagian besar perangkat keras dijual dalam kekuatan dua. Paradoksnya, ini berarti bahwa Ethereum mungkin juga menggunakan penyimpanan tambahan, karena validator sudah perlu berinvestasi dalam perangkat keras berkapasitas lebih tinggi, terlepas dari apakah batas gas dinaikkan atau tidak.
CATATAN: Tidak ada analisis rata-rata vs kasus terburuk pada penyimpanan karena secara konsisten memanipulasi blok untuk jangka waktu yang lama (minggu dan bulan) adalah usaha yang sangat mahal.
Untuk membenarkan klaim saya bahwa biaya penyimpanan telah menurun pada tingkat eksponensial, kita dapat melihat fluktuasi harga SSD senilai USD sebesar 1 GB selama empat tahun terakhir:
Maaf untuk kualitasnya yang buruk, tetapi publikasi yang saya ambil darinya seperti ini
Tampaknya setiap dua tahun, biaya satu GB SSD cenderung berkurang setengahnya.
Jika kita membandingkannya dengan pertumbuhan penyimpanan dan keadaan, perbedaannya tidak signifikan. Pertumbuhan saat ini dari Ethereum adalah linear, sedangkan biaya perangkat keras cenderung turun dengan kecepatan eksponensial.
Saya menemukan bagan yang lebih jitu tentang tren ini dengan biaya penyimpanan, tetapi ini dari pos Reddit dan bukan dari publikasi ilmiah yang sebenarnya (meskipun hasilnya cocok).
Kasus rata-rata untuk bandwidth di Ethereum terlihat sekitar 2MB/s; namun, sebagian besar angka ini berasal dari CL gossiping blobs dan aggreGates. Ketika datang untuk meningkatkan batas gas, satu-satunya hal yang perlu diperhatikan adalah ukuran blok.
Saat ini, ukuran blok maksimum yang tercatat adalah 270 KB, dan ukuran blok saat ini setelah Deneb adalah 75 KB. Jika kita menggandakan ini, perubahan tersebut akan setara dengan peningkatan 0,5-2 blob dibandingkan dengan maksimum historis dan rata-rata saat ini, yang akan setara dengan peningkatan ≈ 2-5% dalam bandwidth node (masuk dan keluar). Jadi, untuk kasus rata-rata, ini bukan perubahan yang signifikan. Bahkan, tiga blob tambahan akan jauh lebih merusak.
Kasus terburuk telah dihitung menjadi 1.7MB, yang akan menjadi 3.4MB (+ 50% bandwidth yang dibutuhkan untuk lonjakan). Ini tidak banyak tetapi masih signifikan. Alasan mengapa saya berpikir bahwa ini tidak banyak adalah bahwa DoS seperti itu akan cukup mahal dan lonjakannya akan menjadi + 50% dari persyaratan rata-rata saat ini, yang merupakan sesuatu yang sudah diperhitungkan. Seperti yang saya katakan, mengisi blok senilai 15 juta gas sampai penuh untuk banyak blok berturut-turut sangat mahal. Jadi, meskipun penyerang berpotensi meluncurkan DoS untuk beberapa blok, mereka harus mengeluarkan sejumlah besar uang untuk melakukannya. Selain itu, mereka harus bersaing dengan transaksi lain untuk masuk ke blok, yang membuat ini semakin mahal.
Bagaimanapun, terlepas dari pendapat tentang angka, peningkatan biaya calldata akan memperbaiki masalah ini sepenuhnya, jadi saya tidak khawatir tentang hal itu dalam hal apa pun. Selain itu, jika batas gas dinaikkan melalui EIP-7783, risiko ini dapat diabaikan dan dikendalikan.
Perhitungan dan waktu blok tidak pernah menjadi masalah pada awalnya, tetapi sekarang kita mulai.
Rata-rata kasus perhitungan blok biasanya kurang dari 1 detik, bahkan untuk mesin-mesin lambat dengan disk yang buruk. Tidak ada banyak hal yang bisa diperdebatkan di sini - rata-rata, ini tidak pernah menjadi bottleneck.
Kasus terburuk tampaknya tidak jelas dan tergantung pada klien. Setelah berbicara dengan beberapa tim klien, tampaknya konsensusnya adalah bahwa satu-satunya masalah adalah bahwa beberapa opcode tidak berskala dengan baik (seperti MODEXP).
Namun, segala vektor DoS di sini dapat diperbaiki dengan repricing, dan jika peningkatan batas gas dilakukan dengan EIP-7783, maka risiko-risiko ini dapat diabaikan.
Secara keseluruhan, tampaknya pertumbuhan penyimpanan bukanlah hambatan untuk meningkatkan batas gas, karena perangkat keras seperti penyimpanan mudah ditingkatkan. Namun, bandwidth menjadi ancaman yang lebih besar, karena lebih sulit untuk diskalakan. Untungnya, dengan EIP-7783, risiko terkait bandwidth dan peningkatan potensi komputasi secara efektif diredam. Meskipun begitu, mungkin bijaksana untuk menyesuaikan harga calldata untuk memastikan keamanan tambahan (meskipun menurut pendapat saya, kemungkinan tidak perlu).
Menurut pendapat pribadi saya, saat ini memungkinkan untuk meningkatkan Batas Gas hingga 33% atau bahkan menggandakannya hari ini jika dilakukan dengan peningkatan bertahap yang diperkenalkan EIP-7783.
Saya pikir masih terlalu awal untuk melakukannya melalui EIP-7782, karena itu akan menjadi hukuman terhadap DVT dan SSF. Namun, setelah itu diatasi - penurunan waktu slot pasti diperlukan.
Forward Judul Asli 'Apakah kita akhirnya siap untuk peningkatan batas gas?'
Terdapat diskusi yang semakin meningkat mengenai kemungkinan meningkatkan throughput gas Ethereum, baik dengan meningkatkan batas gas atau mengurangi waktu slot. Argumen utama yang mendukung hal ini adalah bahwa persyaratan perangkat keras untuk menjalankan validator telah terus menurun selama empat tahun terakhir.
Selain itu, 2 pendekatan untuk meningkatkan Batas Gas telah muncul:
Dalam posting ini, saya akan menganalisis kemungkinan skenario terburuk dan skenario rata-rata dalam hal kebutuhan bandwidth, komputasi, dan penyimpanan jika batas gas ditingkatkan dua kali lipat.
Ketika Ethereum diluncurkan pada tahun 2015, batas gas awalnya diatur menjadi 5.000 gas per blok. Seiring waktu, batas ini melihat perubahan signifikan:
Setelah hard fork Tangerine Whistle dan lebih khusus lagi implementasi EIP-150, batas gas ditingkatkan menjadi 5,5 juta. Penyesuaian ini dilakukan sebagai bagian dari penyesuaian harga beberapa opcode I/O-berat sebagai respons terhadap serangan denial-of-service (DoS).
– Pada Juli 2017, batas gas dinaikkan menjadi 6,7 juta, dan terus meningkat:
– Desember 2017: ~8 juta
– September 2019: ~10 juta
– Agustus 2020: 12,5 juta
– April 2021: 15 juta
Dalam EIP-1559, juga ada batas maksimum (atau "hard cap") gas limit, yang diatur menjadi dua kali target. Ini berarti bahwa blok dapat mencakup transaksi dengan hingga 30 juta gas.
Dan selama hampir empat tahun, tidak ada peningkatan sama sekali pada batas gas.
Untuk menjawab pertanyaan ini, kita perlu menganalisis tiga aspek persyaratan perangkat keras: bandwidth, komputasi, dan penyimpanan jika batas gas dinaikkan menjadi 60 juta hari ini.
Ketika mempertimbangkan peningkatan batas gas, penyimpanan menjadi perhatian utama dan batasan terbesar bagi jaringan Ethereum. Alasan untuk ini terletak pada pertumbuhan historis ukuran status Ethereum dan tekanan yang terus berlanjut yang ditempatkan pada validator.
Ada dua jenis "pertumbuhan" di Ethereum:
Pertumbuhan Negara
Pertumbuhan Sejarah
Status Ethereum — pengumpulan semua saldo akun, kode kontrak pintar, dan penyimpanan — terus berkembang karena lebih banyak transaksi diproses dan kontrak pintar diterapkan. Sejak awal, ukuran negara telah tumbuh secara signifikan, dengan periode percepatan pertumbuhan yang didorong oleh kemacetan jaringan, peningkatan aktivitas transaksi, dan munculnya keuangan terdesentralisasi (DeFi) dan NFT. Saat ini, pertumbuhan negara sekitar 2,5 GB per bulan, atau 30 GB per tahun.
Pertumbuhan negara bagian ini dapat menyebabkan masalah berikut:
Waktu akses ke disk lebih lambat
– Persyaratan perangkat keras yang lebih tinggi
Namun, pada saat penulisan ini, kedua isu tersebut tidak terlalu signifikan. Bahkan, perbedaan waktu akses antara sistem penyimpanan yang berbeda hanya beberapa puluhan gigabyte secara cukup diabaikan karena kompleksitas algoritma dari kueri, yang biasanya berlogaritmik. Persyaratan penyimpanan juga tidak signifikan, karena biaya perangkat keras baru mengalami penurunan dengan kecepatan yang jauh melebihi pertumbuhan ukuran state yang relatif kecil yaitu 30 GB per tahun. Bahkan jika meningkat menjadi 60 GB/tahun, perbedaannya mungkin tidak akan terlalu mencolok dan masih akan terlampaui oleh kemajuan teknologi dalam perangkat keras.
Peningkatan ukuran status ini masih kalah jauh oleh kemajuan teknologi secara signifikan. Bahkan jika batas gas akan berganda, biaya perangkat keras terus mengalami penurunan secara eksponensial, membuat perangkat keras yang diperlukan menjadi lebih murah dari waktu ke waktu.
Namun, perlu dicatat bahwa segera, staking solo akan membutuhkan lebih dari 2 TB penyimpanan untuk menjalankan validator di Ethereum. Ini secara efektif akan meningkatkan kebutuhan penyimpanan menjadi 4 TB, karena sebagian besar perangkat keras dijual dalam kekuatan dua. Paradoksnya, ini berarti bahwa Ethereum mungkin juga menggunakan penyimpanan tambahan, karena validator sudah perlu berinvestasi dalam perangkat keras berkapasitas lebih tinggi, terlepas dari apakah batas gas dinaikkan atau tidak.
CATATAN: Tidak ada analisis rata-rata vs kasus terburuk pada penyimpanan karena secara konsisten memanipulasi blok untuk jangka waktu yang lama (minggu dan bulan) adalah usaha yang sangat mahal.
Untuk membenarkan klaim saya bahwa biaya penyimpanan telah menurun pada tingkat eksponensial, kita dapat melihat fluktuasi harga SSD senilai USD sebesar 1 GB selama empat tahun terakhir:
Maaf untuk kualitasnya yang buruk, tetapi publikasi yang saya ambil darinya seperti ini
Tampaknya setiap dua tahun, biaya satu GB SSD cenderung berkurang setengahnya.
Jika kita membandingkannya dengan pertumbuhan penyimpanan dan keadaan, perbedaannya tidak signifikan. Pertumbuhan saat ini dari Ethereum adalah linear, sedangkan biaya perangkat keras cenderung turun dengan kecepatan eksponensial.
Saya menemukan bagan yang lebih jitu tentang tren ini dengan biaya penyimpanan, tetapi ini dari pos Reddit dan bukan dari publikasi ilmiah yang sebenarnya (meskipun hasilnya cocok).
Kasus rata-rata untuk bandwidth di Ethereum terlihat sekitar 2MB/s; namun, sebagian besar angka ini berasal dari CL gossiping blobs dan aggreGates. Ketika datang untuk meningkatkan batas gas, satu-satunya hal yang perlu diperhatikan adalah ukuran blok.
Saat ini, ukuran blok maksimum yang tercatat adalah 270 KB, dan ukuran blok saat ini setelah Deneb adalah 75 KB. Jika kita menggandakan ini, perubahan tersebut akan setara dengan peningkatan 0,5-2 blob dibandingkan dengan maksimum historis dan rata-rata saat ini, yang akan setara dengan peningkatan ≈ 2-5% dalam bandwidth node (masuk dan keluar). Jadi, untuk kasus rata-rata, ini bukan perubahan yang signifikan. Bahkan, tiga blob tambahan akan jauh lebih merusak.
Kasus terburuk telah dihitung menjadi 1.7MB, yang akan menjadi 3.4MB (+ 50% bandwidth yang dibutuhkan untuk lonjakan). Ini tidak banyak tetapi masih signifikan. Alasan mengapa saya berpikir bahwa ini tidak banyak adalah bahwa DoS seperti itu akan cukup mahal dan lonjakannya akan menjadi + 50% dari persyaratan rata-rata saat ini, yang merupakan sesuatu yang sudah diperhitungkan. Seperti yang saya katakan, mengisi blok senilai 15 juta gas sampai penuh untuk banyak blok berturut-turut sangat mahal. Jadi, meskipun penyerang berpotensi meluncurkan DoS untuk beberapa blok, mereka harus mengeluarkan sejumlah besar uang untuk melakukannya. Selain itu, mereka harus bersaing dengan transaksi lain untuk masuk ke blok, yang membuat ini semakin mahal.
Bagaimanapun, terlepas dari pendapat tentang angka, peningkatan biaya calldata akan memperbaiki masalah ini sepenuhnya, jadi saya tidak khawatir tentang hal itu dalam hal apa pun. Selain itu, jika batas gas dinaikkan melalui EIP-7783, risiko ini dapat diabaikan dan dikendalikan.
Perhitungan dan waktu blok tidak pernah menjadi masalah pada awalnya, tetapi sekarang kita mulai.
Rata-rata kasus perhitungan blok biasanya kurang dari 1 detik, bahkan untuk mesin-mesin lambat dengan disk yang buruk. Tidak ada banyak hal yang bisa diperdebatkan di sini - rata-rata, ini tidak pernah menjadi bottleneck.
Kasus terburuk tampaknya tidak jelas dan tergantung pada klien. Setelah berbicara dengan beberapa tim klien, tampaknya konsensusnya adalah bahwa satu-satunya masalah adalah bahwa beberapa opcode tidak berskala dengan baik (seperti MODEXP).
Namun, segala vektor DoS di sini dapat diperbaiki dengan repricing, dan jika peningkatan batas gas dilakukan dengan EIP-7783, maka risiko-risiko ini dapat diabaikan.
Secara keseluruhan, tampaknya pertumbuhan penyimpanan bukanlah hambatan untuk meningkatkan batas gas, karena perangkat keras seperti penyimpanan mudah ditingkatkan. Namun, bandwidth menjadi ancaman yang lebih besar, karena lebih sulit untuk diskalakan. Untungnya, dengan EIP-7783, risiko terkait bandwidth dan peningkatan potensi komputasi secara efektif diredam. Meskipun begitu, mungkin bijaksana untuk menyesuaikan harga calldata untuk memastikan keamanan tambahan (meskipun menurut pendapat saya, kemungkinan tidak perlu).
Menurut pendapat pribadi saya, saat ini memungkinkan untuk meningkatkan Batas Gas hingga 33% atau bahkan menggandakannya hari ini jika dilakukan dengan peningkatan bertahap yang diperkenalkan EIP-7783.
Saya pikir masih terlalu awal untuk melakukannya melalui EIP-7782, karena itu akan menjadi hukuman terhadap DVT dan SSF. Namun, setelah itu diatasi - penurunan waktu slot pasti diperlukan.