Eksplorasi Teknologi Sharding: Tantangan dan Solusi untuk Skalabilitas Ethereum

Teknologi Sharding: kemungkinan lain untuk skalabilitas Blockchain

Pada 15 September 2022, Ethereum menyelesaikan merger (Merge). Ini adalah momen bersejarah, Ethereum mempersiapkannya selama 5 tahun dan menundanya 6 kali. Karena pengembangan jangka panjang dan perhatian yang luas, banyak orang salah mengira bahwa merger akan secara alami membawa skalabilitas, keamanan, dan keberlanjutan yang lebih tinggi, padahal tidak demikian. Transisi dari bukti kerja (PoW) ke bukti kepemilikan (PoS) hanya mengganti "jalur dan roda", dan tidak akan langsung membawa kecepatan yang lebih cepat, kapasitas yang lebih besar, atau biaya yang lebih rendah. Yang benar-benar dapat mencapai tujuan ini adalah satu set solusi: jaringan utama dengan kemampuan sharding dipasangkan dengan solusi Layer2 yang meningkatkan skalabilitas.

Seperti yang ditunjukkan oleh pendiri Ethereum Vitalik Buterin, sharding adalah solusi skala untuk dilema trilema skalabilitas. Dengan membagi node dalam jaringan menjadi kelompok yang lebih kecil, memproses kumpulan transaksi yang berbeda dan mencapai pemrosesan paralel. Ini mirip dengan saat berbelanja di Walmart, dengan membuka beberapa jalur kasir, secara intuitif dapat mengurangi waktu antrean dan meningkatkan efisiensi pembayaran.

Ini adalah logika Sharding, langsung dan sederhana, tetapi iblis ada dalam detail. Prinsip dan arah tidak salah, tetapi dalam pelaksanaannya selalu ada banyak masalah. Artikel ini ingin merapikan arah dan kebuntuan di jalan "Sharding", menggambar peta penjelajah Sharding yang mengagumi langit berbintang dan berpijak di tanah. Sambil membandingkan solusi Sharding yang ada, menemukan beberapa masalah umum, dan mengusulkan arah eksplorasi yang layak: Shardeum dan Sharding dinamis.

Penjelasan Lengkap Jaringan Publik Baru Shardeum: Kemungkinan Lain dari Sharding

Satu, tentang "Sharding"

Secara sederhana, mempertimbangkan batasan dari segitiga yang tidak mungkin, mulai dari Ethereum sebagai titik asal koordinat (0,0), berdasarkan dua pendekatan "vertikal" dan "horizontal", kita membagi metode skalabilitas blockchain saat ini menjadi dua kategori besar:

Skalabilitas Vertikal (: Mencapai dengan meningkatkan kinerja perangkat keras yang ada di sistem. Membangun jaringan terdesentralisasi, di mana setiap node dalam jaringan memiliki kemampuan komputasi super, yaitu setiap node memerlukan perangkat keras yang "lebih baik". Cara ini sederhana dan efektif, dapat mencapai peningkatan throughput awal, terutama cocok untuk perdagangan frekuensi tinggi, permainan, dan aplikasi lain yang sensitif terhadap latensi. Namun, cara skalabilitas ini akan membatasi tingkat desentralisasi jaringan, karena biaya untuk menjalankan node validasi atau node penuh menjadi lebih tinggi. Mempertahankan tingkat desentralisasi terbatas pada laju pertumbuhan kinerja perangkat keras komputasi yang kira-kira meningkat ) inilah yang disebut "Hukum Moore": jumlah transistor di chip akan berlipat ganda setiap dua tahun, dan biaya komputasi akan berkurang setengahnya (.

Skalabilitas Horizontal )Horizontal Scaling (: Skalabilitas horizontal umumnya memiliki beberapa pendekatan. Salah satunya adalah dalam konteks blockchain, menyebarkan beban perhitungan transaksi di dalam ekosistem tertentu ke beberapa blockchain independen, di mana setiap rantai memiliki produsen blok dan kemampuan eksekusi sendiri, cara ini dapat sepenuhnya menyesuaikan lapisan eksekusi setiap rantai, seperti persyaratan perangkat keras node, fungsi privasi, biaya gas, mesin virtual, dan pengaturan izin, dll. Pendekatan skalabilitas horizontal lainnya adalah blockchain modular, yang membagi infrastruktur blockchain menjadi lapisan eksekusi, lapisan ketersediaan data )DA(, dan lapisan konsensus. Mekanisme modular blockchain yang paling umum adalah rollup. Selain itu, ada juga cara untuk membagi satu blockchain menjadi banyak shard, yang dieksekusi secara paralel. Setiap shard dapat dianggap sebagai sebuah blockchain, artinya banyak blockchain dapat dieksekusi secara paralel. Selain itu, biasanya akan ada satu rantai utama, yang tugasnya hanya menjaga semua shard tetap sinkron.

![Penjelasan mendetail tentang blockchain baru Shardeum: Sharding kemungkinan lain])https://img-cdn.gateio.im/webp-social/moments-7aa1677db6b8128b68accfe04fcda738.webp(

Perlu dicatat bahwa semua pemikiran perluasan di atas tidak berdiri sendiri, setiap solusi adalah menemukan titik kompromi dalam segitiga yang tidak mungkin, dikombinasikan dengan desain mekanisme insentif yang diciptakan oleh kekuatan ekonomi dalam sistem, untuk mencapai keseimbangan yang efektif pada tingkat makro dan mikro.

Untuk membahas "Sharding", kita perlu mulai dari awal.

Masih mengasumsikan skenario seperti ini, saat checkout di Walmart, untuk meningkatkan efisiensi checkout dan mengurangi waktu tunggu pelanggan, kami memperluas dari satu saluran checkout menjadi 10 jendela checkout. Untuk menghindari kesalahan dalam buku besar, saat ini kami perlu menetapkan aturan yang seragam:

Pertama, jika kita memiliki 10 kasir, bagaimana cara kita membagikan mereka untuk bekerja di jendela mana?

Kedua, jika kita memiliki 1000 pelanggan yang antre, bagaimana kita menentukan setiap pelanggan pergi ke jendela mana untuk membayar?

Ketiga, bagaimana cara mengumpulkan 10 buku besar terpisah yang sesuai dengan 10 jendela ini?

Keempat, bagaimana cara mencegah kesalahan kasir untuk menghindari terjadinya ketidaksesuaian dalam pembukuan?

Beberapa masalah ini sebenarnya berhubungan dengan beberapa masalah kunci dalam Sharding, yaitu:

Bagaimana cara menentukan node/validator di seluruh jaringan termasuk dalam sharding mana? Yaitu: bagaimana melakukan sharding jaringan )Network Sharding(;

Bagaimana cara menentukan setiap transaksi dialokasikan ke Sharding mana? Yaitu: bagaimana melakukan transaksi sharding )Transaction Sharding(;

Bagaimana data Blockchain disimpan di berbagai Sharding? Yaitu: bagaimana melakukan status Sharding )State Sharding(;

Kompleksitas berarti risiko, berdasarkan semua yang di atas, bagaimana cara menghindari perpecahan dalam keamanan seluruh sistem?

) 01 Jaringan Sharding###Network Sharding(

Jika kita memahami Blockchain sebagai buku besar terdesentralisasi yang sederhana, baik mekanisme konsensus PoS maupun PoW bertujuan untuk memungkinkan setiap node bersaing untuk hak pencatatan sesuai dengan aturan yang telah ditentukan, sambil memastikan keakuratan buku besar dalam proses tersebut. Sementara itu, Sharding mengacu pada perlunya aturan lain yang telah ditentukan untuk membagi jaringan Blockchain, di mana setiap shard menangani transaksi on-chain dan bersaing untuk hak pencatatan dengan meminimalkan komunikasi antar shard - yaitu, aturan pengelompokan node.

Namun, masalah yang dihadapi selama proses ini adalah, seiring dengan pembagian node internal Blockchain menjadi berbagai Blok, kesulitan dan biaya bagi penyerang akan menurun secara signifikan. Kita dapat menyimpulkan, dengan asumsi bahwa aturan dan hasil dari proses pengelompokan ini adalah tetap dan dapat diprediksi, maka penyerang yang ingin mengendalikan seluruh jaringan Blockchain hanya perlu mengendalikan satu Blok secara terarah dan membeli sebagian node di dalam Blok tersebut.

Pendiri Near, Alexander Skidanov, menggambarkan masalah ini sebagai berikut: jika sebuah rantai tunggal dengan X validator memutuskan untuk melakukan hard fork menjadi rantai sharding, dan membagi X validator menjadi 10 sharding, setiap sharding sekarang hanya memiliki X/10 validator, merusak satu sharding hanya memerlukan merusak 5.1%)51% / 10( dari total jumlah validator. Ini mengarah pada poin kedua: siapa yang memilih validator untuk setiap sharding? Hanya ketika semua 5.1% validator berada di dalam satu sharding, mengontrol 5.1% validator menjadi berbahaya. Jika validator tidak dapat memilih di sharding mana mereka melakukan validasi, maka peserta yang mengontrol 5.1% validator sangat tidak mungkin menempatkan semua validator di dalam satu sharding, sehingga secara signifikan mengurangi kemampuan mereka untuk merusak sistem.

Sistem sharding harus mengembangkan mekanisme untuk mempercayai bahwa jaringan tidak akan membalikkan transaksi dari sharding eksternal. Hingga saat ini, jawaban terbaik mungkin adalah memastikan bahwa jumlah validator di dalam sharding lebih tinggi dari ambang minimum tertentu, sehingga peluang validator yang tidak jujur menguasai satu sharding menjadi sangat rendah. Cara yang paling umum adalah membangun tingkat acak yang tidak bias, bergantung pada cara matematis, untuk meminimalkan peluang keberhasilan penyerang. Misalnya, Ethereum, solusi Ethereum adalah memilih validator untuk suatu sharding secara acak dari semua validator, dan setiap 6,4 menit ) panjang epoch ( mengganti validator.

Secara sederhana, itu berarti membagi node menjadi kelompok secara acak, lalu membagikan pekerjaan untuk setiap kelompok node untuk memverifikasi secara independen.

Namun perlu dicatat bahwa keberuntungan dalam Blockchain adalah topik yang sangat menantang, secara logis, proses penghasil angka acak ini seharusnya tidak bergantung pada perhitungan shard tertentu. Untuk perhitungan tersebut, banyak desain yang ada saat ini adalah mengembangkan Blockchain terpisah yang memelihara seluruh jaringan. Rantai semacam itu disebut sebagai Beacon Chain dalam Ethereum dan Near, Relay Chain dalam PolkaDot, dan Cosmos Hub dalam Cosmos.

![Penjelasan Mendetail Blockchain Baru Shardeum: Kemungkinan Lain dari Sharding])https://img-cdn.gateio.im/webp-social/moments-6e8d3331d7d68cb512eb2eb47bd9064d.webp(

) 02 Transaksi Sharding ###

Sharding transaksi mengacu pada perumusan aturan tentang "transaksi mana yang akan dialokasikan ke shard mana", sehingga dapat mencapai tujuan pemrosesan paralel dan menghindari munculnya masalah double spending. Model buku besar Blockchain yang berbeda akan mempengaruhi pengembangan Sharding transaksi.

Saat ini terdapat dua jenis metode pencatatan dalam jaringan Blockchain, yaitu model UTXO( Unspent Transaction Outputs dan model akun/balance, di mana yang pertama diwakili oleh BTC dan yang kedua oleh ETH.

Model UTXO: Dalam transaksi BTC, setiap transaksi akan memiliki satu atau lebih output, UTXO mengacu pada output transaksi blockchain yang belum dibelanjakan, yang dapat digunakan sebagai input untuk transaksi baru, sementara output transaksi yang sudah dibelanjakan tidak dapat digunakan lagi, mirip dengan pembayaran dan kembalian dalam transaksi uang kertas, pelanggan memberikan satu atau lebih uang kertas kepada pedagang, dan pedagang memberikan satu atau lebih uang kertas sebagai kembalian kepada pelanggan. Dalam model UTXO, sharding transaksi memerlukan komunikasi antar sharding. Sebuah transaksi dapat mencakup beberapa input dan beberapa output, tidak ada konsep akun, dan tidak akan ada catatan saldo, salah satu cara yang mungkin adalah: memasukkan nilai input tertentu dari transaksi ke dalam fungsi hash untuk diproses menjadi nilai hash diskrit untuk menentukan data harus pergi ke sharding mana. Sebagai berikut:

Untuk memastikan bahwa entri ditempatkan di shard yang benar dengan cara yang konsisten, nilai yang dimasukkan ke dalam fungsi hash harus berasal dari kolom yang sama. Kolom ini disebut Shard Key. Setelah itu, transaksi yang menghasilkan nilai 1 akan dimasukkan ke shard 1, sementara transaksi yang menghasilkan nilai 2 akan dimasukkan ke shard 2. Namun, kelemahan dari cara ini adalah bahwa shard harus berkomunikasi untuk menghindari serangan pengeluaran ganda. Jika transaksi lintas shard dibatasi, itu akan membatasi ketersediaan platform, sementara jika transaksi lintas shard diizinkan, maka harus ada pertimbangan antara biaya komunikasi lintas shard dan keuntungan dari peningkatan kinerja.

Model Akun/Saldo: Sistem mencatat saldo setiap akun, dan saat melakukan transaksi, sistem memeriksa apakah akun memiliki saldo yang cukup untuk pembayaran, mirip dengan transfer bank, di mana bank mencatat saldo setiap akun, dan transaksi hanya bisa dilakukan jika saldo akun lebih besar dari jumlah transfer yang diperlukan. Dalam model akun/saldo, karena setiap transaksi hanya memiliki satu input, maka selama transaksi dibagi berdasarkan alamat pengirim, dapat dipastikan bahwa beberapa transaksi dari akun yang sama diproses dalam shard yang sama, secara efektif mencegah double spending. Oleh karena itu, sebagian besar blockchain yang menggunakan teknologi sharding adalah sistem buku besar akun seperti Ethereum.

![Penjelasan mendalam tentang blockchain baru Shardeum: kemungkinan lain dari Sharding])https://img-cdn.gateio.im/webp-social/moments-4227a2e49f76cd01b23d7b5398e51a3c.webp(

) 03 Status Sharding (State Sharding )

Status sharding merujuk pada bagaimana data blockchain dialokasikan untuk disimpan di dalam shard yang berbeda.

Masih menggunakan contoh antrean Walmart kami, setiap jendela memiliki satu buku rekening, bagaimana buku rekening mereka mencatat? Jika: pelanggan datang untuk antre di jendela mana, maka catat di buku rekening mana, misalnya pelanggan A pergi ke jendela A, lalu keesokan harinya pelanggan tersebut pergi ke jendela pembayaran lain seperti jendela B, dan jendela B tidak memiliki informasi akun pelanggan tersebut ###, misalnya yang melibatkan cara pembayaran seperti kartu prabayar (, apa yang harus dilakukan? Memanggil informasi akun pelanggan tersebut dari jendela A?

Status sharding adalah tantangan terbesar dalam sharding, lebih rumit dibandingkan dengan sharding jaringan dan sharding transaksi yang disebutkan di atas. Karena dalam mekanisme sharding, transaksi akan diproses dalam shard yang berbeda berdasarkan alamat, artinya, status hanya akan disimpan dalam shard tempat alamat tersebut berada. Saat ini, salah satu masalah yang dihadapi adalah, transaksi tidak hanya akan dilakukan dalam satu shard, sering kali melibatkan lintas shard )Cross-Sharding(.

Pertimbangkan situasi transfer, Akun A mentransfer 10U ke Akun B, dan alamat A dialokasikan di Sharding 1, catatan transaksi juga akan disimpan di Sharding 1. Alamat B dialokasikan di Sharding 2, catatan transaksi akan disimpan di Sharding 2.

Jika A ingin mentransfer kepada B, maka akan terbentuk transaksi lintas sharding, sharding 2 akan memanggil catatan transaksi sebelumnya dari sharding 1 untuk mengonfirmasi validitas transaksi. Jika A sering mengirim koin kepada B, sharding 2 harus terus berinteraksi dengan sharding 1, sehingga efisiensi pemrosesan transaksi akan menurun. Namun, jika tidak mengunduh dan memverifikasi seluruh sejarah dari sharding tertentu, para peserta tidak harus.

ETH4.74%
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
  • Hadiah
  • 6
  • Bagikan
Komentar
0/400
CodeZeroBasisvip
· 3jam yang lalu
merge ada apa lagi? Sudah merasa lelah.
Lihat AsliBalas0
GasFeeBeggarvip
· 3jam yang lalu
Lima tahun menunggu hanya untuk sebuah kekosongan.
Lihat AsliBalas0
rugpull_survivorvip
· 3jam yang lalu
Sudah POS, sudah Sharding, kenapa Gas saya masih begitu mahal?
Lihat AsliBalas0
RugPullSurvivorvip
· 3jam yang lalu
Hanya ini, sudah 5 tahun, omongannya tentang Dianggap Bodoh terdengar sangat bagus.
Lihat AsliBalas0
TopEscapeArtistvip
· 3jam yang lalu
Lagi membahas Sharding, lebih baik lihat indikator MACD.
Lihat AsliBalas0
LiquidationWatchervip
· 3jam yang lalu
L2 adalah jalan yang benar, hanya bermain dengan yang dapat diandalkan untuk memperluas.
Lihat AsliBalas0
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)