Shardeum dan Sharding Status Dinamis: kemungkinan lain dalam eksplorasi sharding
Pada 15 September 2022, Ethereum menyelesaikan penggabungan yang telah lama ditunggu-tunggu (Merge). Momen bersejarah ini menandai transisi Ethereum dari bukti kerja (PoW) ke bukti kepemilikan (PoS), yang dipersiapkan oleh tim Ethereum selama 5 tahun dan ditunda 6 kali. Namun, banyak orang yang keliru mengira bahwa penggabungan akan secara alami membawa skalabilitas, keamanan, dan keberlanjutan yang lebih tinggi, padahal tidak demikian. Penggabungan 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 serangkaian solusi: jaringan utama dengan kemampuan Sharding yang dipadukan dengan solusi Layer2 yang meningkatkan skalabilitas.
Seperti yang ditunjukkan oleh pendiri Ethereum, Vitalik Buterin, Sharding adalah solusi skalabilitas dalam dilema trilema skalabilitas. Ini membagi node dalam jaringan menjadi kelompok yang lebih kecil untuk memproses kumpulan transaksi yang berbeda dan mencapai pemrosesan paralel. Dengan membagi beban pemrosesan jumlah data besar yang diperlukan untuk agregasi di seluruh jaringan, seperti saat kita berbelanja di supermarket dan melakukan pembayaran, dengan membuka beberapa jalur kasir, kita dapat secara intuitif mengurangi waktu antrean dan meningkatkan efisiensi pembayaran.
Ini adalah logika dasar dari Sharding, sederhana dan langsung. Namun, setan ada di detail - prinsip dan arah tidak salah, tetapi dalam pelaksanaannya selalu ada banyak masalah. Artikel ini bertujuan untuk merapikan arah dan tantangan di jalur "Sharding", menggambar peta bagi para penjelajah Sharding. Sambil membandingkan solusi Sharding yang ada, menemukan beberapa masalah umum, dan mengusulkan arah eksplorasi yang dapat diterima: Shardeum dan Sharding dinamis.
I. Tentang "Sharding"
Secara sederhana, mempertimbangkan batasan dari segitiga yang tidak mungkin, mulai dari Ethereum sebagai titik asal koordinat (0,0), menurut dua pendekatan "vertikal" dan "horizontal", kita membagi metode skalabilitas blockchain saat ini menjadi dua kategori besar:
Skala Vertikal (Vertical Scaling): Mencapai dengan meningkatkan kinerja perangkat keras yang ada di sistem. Membangun jaringan terdesentralisasi, di mana setiap node di jaringan memiliki kemampuan komputasi super, artinya 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 skala ini akan membatasi tingkat desentralisasi jaringan, karena biaya menjalankan node verifikasi atau node penuh menjadi lebih tinggi. Mempertahankan tingkat desentralisasi dibatasi oleh laju pertumbuhan kinerja perangkat keras komputasi yang kira-kira ( inilah yang disebut "Hukum Moore": jumlah transistor di chip akan berlipat ganda setiap dua tahun, dan biaya komputasi akan setengah ).
Horizontal Scaling(: Horizontal scaling generally has several approaches. One approach is to distribute the transaction computation load of a certain ecosystem across multiple independent blockchains in the context of blockchain, with each chain having its own block producers and execution capabilities. This method allows for full customization of the execution layer of each chain, such as node hardware requirements, privacy features, gas fees, virtual machines, and permission settings. Another horizontal scaling solution is modular blockchain, which divides the blockchain infrastructure into execution layer, data availability layer)DA(, and consensus layer. The most mainstream modular mechanism in blockchain is rollup. Another method is to split a blockchain into many shards for parallel execution. Each shard can be seen as a blockchain, which means that many blockchains can execute in parallel. Additionally, there is usually a main chain whose only task is to keep all shards synchronized.
Perlu dicatat bahwa semua pemikiran skala di atas tidak berdiri sendiri, setiap solusi ditemukan pada titik kompromi dalam segitiga yang tidak mungkin, bersama dengan desain mekanisme insentif yang diciptakan oleh kekuatan ekonomi dalam sistem, untuk mencapai keseimbangan yang efektif pada tingkat makro dan mikro.
Untuk mendiskusikan "Sharding", kita perlu merapikan dari awal.
Masih mengasumsikan situasi seperti ini, saat checkout belanja di supermarket, untuk meningkatkan efisiensi checkout dan mengurangi waktu tunggu pelanggan, kita memperluas dari satu saluran checkout menjadi 10 jendela checkout. Untuk menghindari kesalahan dalam buku, saat ini kita perlu menetapkan aturan yang seragam:
Pertama, jika kita memiliki 10 kasir, bagaimana cara mendistribusikan mereka untuk bekerja di jendela mana?
Kedua, jika kita memiliki 1000 pelanggan yang antre, bagaimana cara menentukan setiap pelanggan ke jendela kasir mana yang harus mereka pergi?
Ketiga, bagaimana cara mengumpulkan 10 buku besar terpisah yang sesuai dengan 10 jendela ini?
Keempat, untuk menghindari terjadinya ketidakcocokan dalam pembukuan, bagaimana cara mencegah kesalahan oleh kasir?
Beberapa masalah ini sebenarnya berkaitan 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 shard mana? Yaitu: bagaimana melakukan Sharding transaksi )Transaction Sharding(;
Bagaimana data blockchain disimpan di berbagai Sharding? Yaitu: bagaimana melakukan status sharding )State Sharding(;
Kompleksitas berarti risiko, berdasarkan semua hal di atas, bagaimana cara menghindari perpecahan keamanan sistem secara keseluruhan?
![Penjelasan Lengkap tentang Blockchain Baru Shardeum: Sharding sebagai Kemungkinan Lain])https://img-cdn.gateio.im/webp-social/moments-7aa1677db6b8128b68accfe04fcda738.webp(
) 01 Jaringan Sharding ###Network Sharding (
Jika kita memahami blockchain secara sederhana sebagai buku besar terdesentralisasi, 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 kebutuhan akan aturan lainnya yang telah ditentukan untuk membagi jaringan blockchain, di mana setiap shard menangani transaksi on-chain dengan meminimalkan komunikasi antar shard, bersaing untuk hak pencatatan - yaitu, aturan pengelompokan node.
Namun, masalah yang dihadapi dalam proses ini adalah, seiring dengan pemisahan node dalam blockchain menjadi berbagai Sharding, kesulitan dan biaya bagi penyerang akan menurun secara signifikan. Kita dapat menyimpulkan, dengan asumsi aturan dan hasil dari proses pengelompokan ini tetap dan dapat diprediksi, maka penyerang yang ingin mengendalikan seluruh jaringan blockchain hanya perlu mengendalikan secara terarah salah satu Sharding, dan membeli sebagian node di dalam Sharding tersebut.
Pendiri Near, Alexander Skidanov, menggambarkan masalah ini seperti 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, menghancurkan sebuah sharding hanya memerlukan penghancuran 5.1%)51% / 10( dari total jumlah validator. Ini membawa kita ke poin kedua: siapa yang memilih validator untuk setiap sharding? Hanya ketika semua 5.1% validator berada dalam sharding yang sama, mengendalikan 5.1% validator menjadi berbahaya. Jika validator tidak dapat memilih di sharding mana mereka akan melakukan validasi, maka partisipan yang mengendalikan 5.1% validator sangat tidak mungkin menempatkan semua validator dalam sharding yang sama, 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, kemungkinan jawaban terbaik adalah memastikan jumlah validator dalam Sharding lebih tinggi dari ambang minimum tertentu, sehingga kemungkinan validator yang tidak jujur mendominasi Sharding tunggal menjadi sangat rendah. Cara yang paling umum adalah membangun tingkat ketidakberpihakan acak tertentu, bergantung pada cara matematis, untuk meminimalkan probabilitas keberhasilan penyerang. Misalnya, Ethereum, solusi Ethereum adalah secara acak memilih validator untuk Sharding tertentu dari semua validator, dan setiap 6,4 menit ) panjang epoch ( mengganti validator.
Secara sederhana, ini berarti membagi node menjadi kelompok secara acak, kemudian memberikan pekerjaan untuk diverifikasi secara independen oleh masing-masing kelompok node.
Namun perlu dicatat bahwa keberuntungan dalam blockchain adalah topik yang sangat menantang, secara logis, proses pembuatan angka acak ini tidak seharusnya bergantung pada perhitungan dari shard tertentu. Untuk perhitungan ini, banyak desain yang ada saat ini adalah mengembangkan blockchain terpisah untuk memelihara seluruh jaringan. Blockchain semacam ini disebut sebagai Beacon chain di Ethereum dan Near, Relay chain di PolkaDot, dan Cosmos Hub di Cosmos.
![Penjelasan Lengkap Jaringan Baru Shardeum: Kemungkinan Lain dari Sharding])https://img-cdn.gateio.im/webp-social/moments-6e8d3331d7d68cb512eb2eb47bd9064d.webp(
) 02 Transaksi Sharding ###
Sharding transaksi mengacu pada penetapan aturan tentang "transaksi mana yang akan dialokasikan ke shard mana", sehingga dapat mencapai tujuan pemrosesan paralel dan menghindari munculnya masalah pengeluaran ganda. Berbagai model buku besar blockchain akan mempengaruhi pengembangan sharding transaksi.
Saat ini, ada dua jenis metode pencatatan dalam jaringan blockchain, yaitu model UTXO( Unspent Transaction Outputs dan model akun/balance, di mana yang pertama diwakili oleh BTC, sedangkan yang kedua seperti 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, sedangkan output transaksi yang telah dibelanjakan tidak dapat digunakan lagi, mirip dengan pembayaran dan kembalian dalam transaksi uang kertas, pelanggan membayar kepada penjual dengan satu atau beberapa uang kertas, kemudian penjual memberikan satu atau beberapa uang kertas sebagai kembalian kepada pelanggan. Dalam model UTXO, penggalian transaksi memerlukan komunikasi antar shard. Sebuah transaksi dapat mencakup beberapa input dan beberapa output, tidak ada konsep akun, dan tidak ada pencatatan saldo, salah satu cara yang mungkin adalah: menggunakan nilai input dari transaksinya untuk memprosesnya dengan fungsi hash menjadi nilai hash diskrit untuk menentukan data seharusnya pergi ke shard mana.
Untuk memastikan 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 sebagai Shard Key. Setelah itu, transaksi yang menghasilkan nilai 1 akan dimasukkan ke shard 1, dan transaksi yang menghasilkan nilai 2 akan dimasukkan ke shard 2. Namun, kelemahan dari cara ini adalah bahwa shard harus berkomunikasi untuk menghindari serangan double spend. Jika transaksi lintas shard dibatasi, maka akan membatasi ketersediaan platform, sedangkan jika transaksi lintas shard diizinkan, harus ada pertimbangan antara biaya komunikasi lintas shard dan manfaat peningkatan kinerja yang didapat.
Model Akun/Saldo: Sistem mencatat saldo setiap akun, saat melakukan transaksi, sistem memeriksa apakah akun memiliki saldo yang cukup untuk pembayaran, mirip dengan transfer bank, di mana bank mencatat saldo setiap akun, hanya jika saldo akun lebih besar dari jumlah transfer yang dibutuhkan, transaksi dapat dilakukan. Di bawah model akun/saldo, karena satu transaksi hanya memiliki satu input, sehingga 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: Sharding sebagai Alternatif])https://img-cdn.gateio.im/webp-social/moments-4227a2e49f76cd01b23d7b5398e51a3c.webp(
) 03 Status Sharding ( State Sharding )
Status Sharding mengacu pada bagaimana data blockchain didistribusikan dan disimpan di berbagai sharding.
Masih menggunakan contoh antrean di supermarket kita, setiap jendela memiliki sebuah buku transaksi, bagaimana mereka mencatat buku tersebut? Jika: pelanggan antre di jalur mana, maka catat di buku yang mana, misalnya pelanggan A pergi ke jendela A, lalu keesokan harinya pelanggan tersebut pergi ke jendela pembayaran lain misalnya jendela B, dan jendela B tidak memiliki informasi akun pelanggan tersebut ### misalnya yang melibatkan metode pembayaran kartu prabayar (, apa yang harus dilakukan? Memanggil informasi akun pelanggan tersebut dari jendela A?
Status Sharding adalah tantangan terbesar dalam sharding, bahkan lebih rumit daripada sharding jaringan dan sharding transaksi yang disebutkan di atas. Karena dalam mekanisme sharding, transaksi akan diproses di shard yang berbeda berdasarkan alamat, yang berarti status hanya akan disimpan di shard tempat alamat tersebut berada. Masalah yang dihadapi saat ini adalah, transaksi tidak akan dilakukan hanya dalam satu shard, sering kali melibatkan lintas shard )Cross-Sharding(.
Pertimbangkan sebuah 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.
Ketika A ingin mentransfer uang ke B, akan terjadi transaksi lintas Sharding, Sharding 2 akan memanggil catatan transaksi sebelumnya dari Sharding 1 untuk mengonfirmasi keabsahan transaksi. Jika A sering mengirimkan koin ke B, Sharding 2 harus terus berinteraksi dengan Sharding 1, sehingga efisiensi pemrosesan transaksi akan menurun. Namun, jika tidak
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.
7 Suka
Hadiah
7
4
Posting ulang
Bagikan
Komentar
0/400
ThreeHornBlasts
· 08-09 22:54
Sudah mulai berbicara besar lagi.
Lihat AsliBalas0
CrossChainBreather
· 08-09 22:52
Setelah digabung, hanya ini? Tidak bisa berjalan atau masih tidak bisa berjalan
Lihat AsliBalas0
DecentralizeMe
· 08-09 22:39
Lima tahun persiapan apa itu, sudah meledak, ya?
Lihat AsliBalas0
AllInDaddy
· 08-09 22:38
Sekali lagi membicarakan pos yang dapat diperluas ya?
Shardeum: Eksplorasi Sharding Status Dinamis sebagai Arah Baru untuk Perluasan Blockchain
Shardeum dan Sharding Status Dinamis: kemungkinan lain dalam eksplorasi sharding
Pada 15 September 2022, Ethereum menyelesaikan penggabungan yang telah lama ditunggu-tunggu (Merge). Momen bersejarah ini menandai transisi Ethereum dari bukti kerja (PoW) ke bukti kepemilikan (PoS), yang dipersiapkan oleh tim Ethereum selama 5 tahun dan ditunda 6 kali. Namun, banyak orang yang keliru mengira bahwa penggabungan akan secara alami membawa skalabilitas, keamanan, dan keberlanjutan yang lebih tinggi, padahal tidak demikian. Penggabungan 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 serangkaian solusi: jaringan utama dengan kemampuan Sharding yang dipadukan dengan solusi Layer2 yang meningkatkan skalabilitas.
Seperti yang ditunjukkan oleh pendiri Ethereum, Vitalik Buterin, Sharding adalah solusi skalabilitas dalam dilema trilema skalabilitas. Ini membagi node dalam jaringan menjadi kelompok yang lebih kecil untuk memproses kumpulan transaksi yang berbeda dan mencapai pemrosesan paralel. Dengan membagi beban pemrosesan jumlah data besar yang diperlukan untuk agregasi di seluruh jaringan, seperti saat kita berbelanja di supermarket dan melakukan pembayaran, dengan membuka beberapa jalur kasir, kita dapat secara intuitif mengurangi waktu antrean dan meningkatkan efisiensi pembayaran.
Ini adalah logika dasar dari Sharding, sederhana dan langsung. Namun, setan ada di detail - prinsip dan arah tidak salah, tetapi dalam pelaksanaannya selalu ada banyak masalah. Artikel ini bertujuan untuk merapikan arah dan tantangan di jalur "Sharding", menggambar peta bagi para penjelajah Sharding. Sambil membandingkan solusi Sharding yang ada, menemukan beberapa masalah umum, dan mengusulkan arah eksplorasi yang dapat diterima: Shardeum dan Sharding dinamis.
I. Tentang "Sharding"
Secara sederhana, mempertimbangkan batasan dari segitiga yang tidak mungkin, mulai dari Ethereum sebagai titik asal koordinat (0,0), menurut dua pendekatan "vertikal" dan "horizontal", kita membagi metode skalabilitas blockchain saat ini menjadi dua kategori besar:
Skala Vertikal (Vertical Scaling): Mencapai dengan meningkatkan kinerja perangkat keras yang ada di sistem. Membangun jaringan terdesentralisasi, di mana setiap node di jaringan memiliki kemampuan komputasi super, artinya 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 skala ini akan membatasi tingkat desentralisasi jaringan, karena biaya menjalankan node verifikasi atau node penuh menjadi lebih tinggi. Mempertahankan tingkat desentralisasi dibatasi oleh laju pertumbuhan kinerja perangkat keras komputasi yang kira-kira ( inilah yang disebut "Hukum Moore": jumlah transistor di chip akan berlipat ganda setiap dua tahun, dan biaya komputasi akan setengah ).
Horizontal Scaling(: Horizontal scaling generally has several approaches. One approach is to distribute the transaction computation load of a certain ecosystem across multiple independent blockchains in the context of blockchain, with each chain having its own block producers and execution capabilities. This method allows for full customization of the execution layer of each chain, such as node hardware requirements, privacy features, gas fees, virtual machines, and permission settings. Another horizontal scaling solution is modular blockchain, which divides the blockchain infrastructure into execution layer, data availability layer)DA(, and consensus layer. The most mainstream modular mechanism in blockchain is rollup. Another method is to split a blockchain into many shards for parallel execution. Each shard can be seen as a blockchain, which means that many blockchains can execute in parallel. Additionally, there is usually a main chain whose only task is to keep all shards synchronized.
Perlu dicatat bahwa semua pemikiran skala di atas tidak berdiri sendiri, setiap solusi ditemukan pada titik kompromi dalam segitiga yang tidak mungkin, bersama dengan desain mekanisme insentif yang diciptakan oleh kekuatan ekonomi dalam sistem, untuk mencapai keseimbangan yang efektif pada tingkat makro dan mikro.
Untuk mendiskusikan "Sharding", kita perlu merapikan dari awal.
Masih mengasumsikan situasi seperti ini, saat checkout belanja di supermarket, untuk meningkatkan efisiensi checkout dan mengurangi waktu tunggu pelanggan, kita memperluas dari satu saluran checkout menjadi 10 jendela checkout. Untuk menghindari kesalahan dalam buku, saat ini kita perlu menetapkan aturan yang seragam:
Pertama, jika kita memiliki 10 kasir, bagaimana cara mendistribusikan mereka untuk bekerja di jendela mana?
Kedua, jika kita memiliki 1000 pelanggan yang antre, bagaimana cara menentukan setiap pelanggan ke jendela kasir mana yang harus mereka pergi?
Ketiga, bagaimana cara mengumpulkan 10 buku besar terpisah yang sesuai dengan 10 jendela ini?
Keempat, untuk menghindari terjadinya ketidakcocokan dalam pembukuan, bagaimana cara mencegah kesalahan oleh kasir?
Beberapa masalah ini sebenarnya berkaitan 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 shard mana? Yaitu: bagaimana melakukan Sharding transaksi )Transaction Sharding(;
Bagaimana data blockchain disimpan di berbagai Sharding? Yaitu: bagaimana melakukan status sharding )State Sharding(;
Kompleksitas berarti risiko, berdasarkan semua hal di atas, bagaimana cara menghindari perpecahan keamanan sistem secara keseluruhan?
![Penjelasan Lengkap tentang Blockchain Baru Shardeum: Sharding sebagai Kemungkinan Lain])https://img-cdn.gateio.im/webp-social/moments-7aa1677db6b8128b68accfe04fcda738.webp(
) 01 Jaringan Sharding ###Network Sharding (
Jika kita memahami blockchain secara sederhana sebagai buku besar terdesentralisasi, 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 kebutuhan akan aturan lainnya yang telah ditentukan untuk membagi jaringan blockchain, di mana setiap shard menangani transaksi on-chain dengan meminimalkan komunikasi antar shard, bersaing untuk hak pencatatan - yaitu, aturan pengelompokan node.
Namun, masalah yang dihadapi dalam proses ini adalah, seiring dengan pemisahan node dalam blockchain menjadi berbagai Sharding, kesulitan dan biaya bagi penyerang akan menurun secara signifikan. Kita dapat menyimpulkan, dengan asumsi aturan dan hasil dari proses pengelompokan ini tetap dan dapat diprediksi, maka penyerang yang ingin mengendalikan seluruh jaringan blockchain hanya perlu mengendalikan secara terarah salah satu Sharding, dan membeli sebagian node di dalam Sharding tersebut.
Pendiri Near, Alexander Skidanov, menggambarkan masalah ini seperti 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, menghancurkan sebuah sharding hanya memerlukan penghancuran 5.1%)51% / 10( dari total jumlah validator. Ini membawa kita ke poin kedua: siapa yang memilih validator untuk setiap sharding? Hanya ketika semua 5.1% validator berada dalam sharding yang sama, mengendalikan 5.1% validator menjadi berbahaya. Jika validator tidak dapat memilih di sharding mana mereka akan melakukan validasi, maka partisipan yang mengendalikan 5.1% validator sangat tidak mungkin menempatkan semua validator dalam sharding yang sama, 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, kemungkinan jawaban terbaik adalah memastikan jumlah validator dalam Sharding lebih tinggi dari ambang minimum tertentu, sehingga kemungkinan validator yang tidak jujur mendominasi Sharding tunggal menjadi sangat rendah. Cara yang paling umum adalah membangun tingkat ketidakberpihakan acak tertentu, bergantung pada cara matematis, untuk meminimalkan probabilitas keberhasilan penyerang. Misalnya, Ethereum, solusi Ethereum adalah secara acak memilih validator untuk Sharding tertentu dari semua validator, dan setiap 6,4 menit ) panjang epoch ( mengganti validator.
Secara sederhana, ini berarti membagi node menjadi kelompok secara acak, kemudian memberikan pekerjaan untuk diverifikasi secara independen oleh masing-masing kelompok node.
Namun perlu dicatat bahwa keberuntungan dalam blockchain adalah topik yang sangat menantang, secara logis, proses pembuatan angka acak ini tidak seharusnya bergantung pada perhitungan dari shard tertentu. Untuk perhitungan ini, banyak desain yang ada saat ini adalah mengembangkan blockchain terpisah untuk memelihara seluruh jaringan. Blockchain semacam ini disebut sebagai Beacon chain di Ethereum dan Near, Relay chain di PolkaDot, dan Cosmos Hub di Cosmos.
![Penjelasan Lengkap Jaringan Baru Shardeum: Kemungkinan Lain dari Sharding])https://img-cdn.gateio.im/webp-social/moments-6e8d3331d7d68cb512eb2eb47bd9064d.webp(
) 02 Transaksi Sharding ###
Sharding transaksi mengacu pada penetapan aturan tentang "transaksi mana yang akan dialokasikan ke shard mana", sehingga dapat mencapai tujuan pemrosesan paralel dan menghindari munculnya masalah pengeluaran ganda. Berbagai model buku besar blockchain akan mempengaruhi pengembangan sharding transaksi.
Saat ini, ada dua jenis metode pencatatan dalam jaringan blockchain, yaitu model UTXO( Unspent Transaction Outputs dan model akun/balance, di mana yang pertama diwakili oleh BTC, sedangkan yang kedua seperti 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, sedangkan output transaksi yang telah dibelanjakan tidak dapat digunakan lagi, mirip dengan pembayaran dan kembalian dalam transaksi uang kertas, pelanggan membayar kepada penjual dengan satu atau beberapa uang kertas, kemudian penjual memberikan satu atau beberapa uang kertas sebagai kembalian kepada pelanggan. Dalam model UTXO, penggalian transaksi memerlukan komunikasi antar shard. Sebuah transaksi dapat mencakup beberapa input dan beberapa output, tidak ada konsep akun, dan tidak ada pencatatan saldo, salah satu cara yang mungkin adalah: menggunakan nilai input dari transaksinya untuk memprosesnya dengan fungsi hash menjadi nilai hash diskrit untuk menentukan data seharusnya pergi ke shard mana.
Untuk memastikan 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 sebagai Shard Key. Setelah itu, transaksi yang menghasilkan nilai 1 akan dimasukkan ke shard 1, dan transaksi yang menghasilkan nilai 2 akan dimasukkan ke shard 2. Namun, kelemahan dari cara ini adalah bahwa shard harus berkomunikasi untuk menghindari serangan double spend. Jika transaksi lintas shard dibatasi, maka akan membatasi ketersediaan platform, sedangkan jika transaksi lintas shard diizinkan, harus ada pertimbangan antara biaya komunikasi lintas shard dan manfaat peningkatan kinerja yang didapat.
Model Akun/Saldo: Sistem mencatat saldo setiap akun, saat melakukan transaksi, sistem memeriksa apakah akun memiliki saldo yang cukup untuk pembayaran, mirip dengan transfer bank, di mana bank mencatat saldo setiap akun, hanya jika saldo akun lebih besar dari jumlah transfer yang dibutuhkan, transaksi dapat dilakukan. Di bawah model akun/saldo, karena satu transaksi hanya memiliki satu input, sehingga 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: Sharding sebagai Alternatif])https://img-cdn.gateio.im/webp-social/moments-4227a2e49f76cd01b23d7b5398e51a3c.webp(
) 03 Status Sharding ( State Sharding )
Status Sharding mengacu pada bagaimana data blockchain didistribusikan dan disimpan di berbagai sharding.
Masih menggunakan contoh antrean di supermarket kita, setiap jendela memiliki sebuah buku transaksi, bagaimana mereka mencatat buku tersebut? Jika: pelanggan antre di jalur mana, maka catat di buku yang mana, misalnya pelanggan A pergi ke jendela A, lalu keesokan harinya pelanggan tersebut pergi ke jendela pembayaran lain misalnya jendela B, dan jendela B tidak memiliki informasi akun pelanggan tersebut ### misalnya yang melibatkan metode pembayaran kartu prabayar (, apa yang harus dilakukan? Memanggil informasi akun pelanggan tersebut dari jendela A?
Status Sharding adalah tantangan terbesar dalam sharding, bahkan lebih rumit daripada sharding jaringan dan sharding transaksi yang disebutkan di atas. Karena dalam mekanisme sharding, transaksi akan diproses di shard yang berbeda berdasarkan alamat, yang berarti status hanya akan disimpan di shard tempat alamat tersebut berada. Masalah yang dihadapi saat ini adalah, transaksi tidak akan dilakukan hanya dalam satu shard, sering kali melibatkan lintas shard )Cross-Sharding(.
Pertimbangkan sebuah 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.
Ketika A ingin mentransfer uang ke B, akan terjadi transaksi lintas Sharding, Sharding 2 akan memanggil catatan transaksi sebelumnya dari Sharding 1 untuk mengonfirmasi keabsahan transaksi. Jika A sering mengirimkan koin ke B, Sharding 2 harus terus berinteraksi dengan Sharding 1, sehingga efisiensi pemrosesan transaksi akan menurun. Namun, jika tidak