Dalam blockchain konvensional, transaksi harus dikonfirmasi oleh setiap node dalam jaringan sementara konsensus perlu dicapai di antara node sebelum transaksi dikemas untuk menghasilkan blok baru. Keamanan dijamin sepenuhnya karena setiap node mencatat riwayat buku besar yang lengkap, sehingga sulit bagi peretas untuk diam-diam mengutak-atik data tanpa terdeteksi.
Keamanan dan skalabilitas tidak kompatibel
Namun, keamanan tinggi ada harganya. Frekuensi node berkomunikasi dan bertukar informasi menempati bandwidth jaringan dan memperlambat pemrosesan transaksi. Untuk mencegah kegagalan satu node menghentikan seluruh jaringan, diperlukan lebih banyak node untuk meningkatkan desentralisasi dan menyebarkan risiko. Pertukaran yang berbeda ini juga dikenal sebagai "segitiga mustahil", yang berarti bahwa skalabilitas, desentralisasi, dan keamanan jaringan blockchain tidak dapat dicapai secara bersamaan.
Sumber: Blog Vitalik Buterin “Mengapa sharding itu bagus: mengungkap properti teknis”
Sharding memungkinkan penskalaan yang efisien sambil mencapai keamanan dan desentralisasi
Sharding adalah solusi yang meningkatkan skalabilitas jaringan blockchain tanpa mengorbankan keamanan dan desentralisasi. Sharding membagi satu blockchain menjadi beberapa blockchain yang lebih kecil, yang masing-masing mengelola catatannya sendiri secara terpisah, dan pertukaran tanggal hanya dilakukan jika diperlukan. Oleh karena itu, node dalam rantai sharding yang berbeda hanya dapat memverifikasi transaksi milik rantai mereka sendiri secara sinkron, bukan data dari seluruh blockchain.
Selama jumlah node pada setiap rantai sharding cukup besar, keamanan dan desentralisasi akan terkonfirmasi. Penerapan sharding dapat meningkatkan throughput blockchain untuk memenuhi permintaan pengguna yang terus meningkat. ETH 2.0 juga akan meningkatkan skalabilitasnya melalui sharding.
Sharding adalah teknik optimisasi untuk meningkatkan kinerja akses database dengan memotong database asli menjadi beberapa shard berdasarkan kondisi permintaan, yang dapat menyebarkan beban dan lalu lintas pengguna untuk memberikan layanan yang lebih cepat. Mempertimbangkan bahwa blockchain pada dasarnya adalah buku besar terdesentralisasi, dimungkinkan untuk meningkatkan skalabilitas melalui sharding.
Misalnya, ada banyak produk dengan harga berbeda di situs belanja, konsumen datang dengan berbagai kebutuhan, ada yang lebih suka produk diskon dan murah, dan ada yang suka mahal dan premium. Untuk menangani pesanan besar seperti ini, triase sederhana dapat dilakukan dengan menggunakan rentang harga untuk mempercepat pemrosesan checker.
Sumber: DigitalOcean
Sharding mentriase data dan memprosesnya sesuai dengan kebutuhan yang berbeda
Pemeriksa (node) harus mengonfirmasi semua informasi pesanan tanpa memisahkan data pesanan (sharding), yang membutuhkan banyak waktu untuk melakukan tugas berulang. Sebaliknya, membagi data pesanan menjadi beberapa pecahan memungkinkan pemeriksa yang berbeda memproses pesanan untuk harga rendah dan harga tinggi secara terpisah.
Karena setiap jenis pesanan adalah bagian kecil dari pesanan lengkap, dan checker yang bertanggung jawab untuk item dengan harga berbeda dapat bekerja secara bersamaan tanpa mempengaruhi satu sama lain, sehingga sharding memungkinkan operasi paralel; setiap pemeriksa hanya perlu memeriksa sebagian pesanan, sehingga sharding mengurangi beban kerja node dan mempercepat verifikasi.
Basis data pecahan seperti teka-teki, dan setiap potongan teka-teki mewakili pecahan. Blockchain yang tidak terpotong harus menggambar ulang seluruh teka-teki setiap kali blok baru dihasilkan (replikasi status) dan kemudian memodifikasi sebagian kecil teka-teki (pembaruan status). Sebuah blockchain pecahan hanya perlu menemukan bagian tertentu yang memerlukan modifikasi (pecahan) dan menggantinya dengan yang baru saat menambahkan catatan transaksi baru.
Aplikasi on-chain lebih beragam, dan permintaan tumbuh secara eksponensial
Begitu ada peningkatan yang signifikan dalam ukuran pengguna, apa pun jenis sistemnya, sistem itu pasti perlu diskalakan untuk mengakomodasi peningkatan lalu lintas. Misalnya, jika game online sangat populer sehingga jumlah pemainnya meningkat dari 100.000 menjadi satu juta atau bahkan sepuluh juta per hari, perlu menyiapkan server baru untuk mengalihkan lalu lintas dan menghindari kelambatan. Situasi serupa dapat dilihat dalam kehidupan nyata. Selama liburan, wisatawan ke tempat-tempat menarik selalu mengalami kemacetan lalu lintas yang parah. Apa yang biasanya hanya memakan waktu dua jam untuk mencapai tujuan sekarang memakan waktu lebih lama karena lonjakan lalu lintas. Rutinitas alternatif adalah solusi umum untuk secara efektif mengurangi kemacetan lalu lintas.
Penskalaan menghadapi kemacetan, mencari alternatif
Blockchain juga mengalami hambatan skalabilitas selama pengembangannya. Dalam blockchain P2P dengan hanya 10 node, semua pertukaran data dapat diselesaikan setelah 10 9 kali komunikasi antar node; ketika jumlah node mencapai 100, berarti 100 99 kali komunikasi antar node jika tidak ada optimasi algoritma. Secara umum, jaringan blockchain P2P dengan N node, di mana setiap node bertukar data dengan node N-1 lainnya, dapat dibayangkan bahwa jumlah waktu dan perhitungan yang dihabiskan untuk setiap transaksi akan tumbuh secara eksponensial mengikuti penskalaan jaringan blockchain.
Dengan menjadi arus utama, Bitcoin dan Ethereum masih menerapkan mekanisme yang sudah ketinggalan zaman
Bitcoin, saat ini merupakan cryptocurrency terbesar berdasarkan kapitalisasi pasar, dan Ethereum yang telah ditingkatkan sebelumnya keduanya berkecepatan rendah, dengan Bitcoin memproses sekitar 7 transaksi per detik (TPS) dan Ethereum sedikit lebih banyak pada 15 TPS. Ini sudah lama tidak cukup untuk memenuhi kebutuhan sejumlah besar pengguna, dan dikerdilkan oleh sistem terpusat seperti perusahaan kartu kredit terkemuka VISA, yang memproses hingga 24.000 transaksi per detik. Selain kemacetan jaringan, kecepatan yang lambat juga meningkatkan biaya, dan pengguna harus membayar biaya lebih tinggi untuk memprioritaskan transaksi mereka, membuat pengalaman pengguna semakin buruk.
Setiap node tidak perlu memiliki riwayat transaksi lengkap dalam blockchain sharded karena node hanya perlu menyimpan informasi yang terkait dengan shard miliknya, biaya pengaturan node dan ambang partisipasi diturunkan dengan sharding. Jaringan Blockchain dimungkinkan untuk menjadi lebih terdesentralisasi dengan bantuan sharding. Spesifikasi peralatan perangkat keras yang diperlukan untuk menjalankan node akan menjadi semakin tinggi tanpa sharding. Pada akhirnya, hanya peserta dengan kondisi ekonomi yang menguntungkan yang akan bertahan. Sharding memungkinkan komputer biasa, laptop, dan bahkan smartphone menjadi node, yang akan mengarah pada adopsi massal blockchain dan dAPP.
Mekanisme konsensus Ethereum akan dikonversi dari Proof of Work (PoW) menjadi Proof of Stake (PoS) di ETH 2.0 dan mainnet Ethereum asli akan digabungkan ke dalam Beacon Chain. Akibatnya, daya komputasi yang besar tidak lagi diperlukan untuk node Ethereum untuk menghasilkan blok baru. Sebaliknya, mereka mempertaruhkan ETH mereka dalam kontrak pintar untuk menjadi validator untuk mendapatkan hak memperoleh biaya transaksi saat mengirimkan blok baru.
Di ETH 2.0, 64 shard akan dibuat untuk meningkatkan skalabilitas, salah satunya disebut Beacon Chain. Ini memainkan peran inti dalam peningkatan sharding Ethereum dan bertanggung jawab untuk mengoordinasikan dan berbagi informasi antara shard yang berbeda. Semua node ETH 2.0 juga akan mempertaruhkan ETH pada rantai pecahan dan memproses transaksi pada pecahan yang berbeda sesuai dengan instruksi, dan blok pada rantai pecahan hanya akan valid dengan persetujuan Rantai Beacon.
Sumber: Hsiao-wei Wang
Sharding memvalidasi transaksi yang tertunda dengan triase
Ketika ETH 2.0 mengadopsi sharding, algoritme pengambilan sampel acak akan menetapkan nomor acak node ke setiap shard untuk memverifikasi transaksi dan menentukan urutan dan validitas transaksi pada rantai shard dengan voting, kemudian informasi blok shard yang baru dihasilkan akan menjadi ditambahkan pada Beacon Chain. Blok baru harus disetujui oleh lebih dari dua pertiga node pada rantai pecahan.
Seperti yang ditunjukkan pada gambar di bawah, setiap node diberi nomor (1~100) dalam urutan kumpulan node validator; algoritma pengambilan sampel acak akan memecah urutan penugasan node, menghasilkan kumpulan node baru tanpa urutan tetap; 1~10 node pertama yang baru dibuat dapat ditunjuk sebagai komite pertama untuk memproses transaksi pada rantai pecahan pertama sedangkan tanggal 11~20 menjadi komite kedua untuk memproses rantai pecahan kedua, dan seterusnya.
Sumber: Blog Vitalik Buterin “Mengapa sharding itu bagus: mengungkap properti teknis”
Node validator tidak ditetapkan secara tetap untuk memproses transaksi pada rantai shard tertentu karena algoritme pengambilan sampel acak akan mengganggu kembali urutan node untuk jangka waktu tertentu. Oleh karena itu, anggota komite yang bertanggung jawab untuk setiap rantai pecahan tidak tetap, yang menghindari risiko sentralisasi yang disebabkan oleh node tertentu yang memverifikasi rantai pecahan untuk waktu yang lama, dan meningkatkan kesulitan penyerangan.
Karena sharding akan sangat meningkatkan throughput ETH 2.0, menjadi tidak mungkin bagi semua node untuk memperbarui data transaksi lengkap pada rantai shard yang berbeda secara bersamaan, Collation Header, yang mirip dengan header blok di PoW, menjadi media untuk berbagi informasi . Sesuai namanya, collation header berisi metadata tentang informasi di dalam collation seperti:
Sumber: Hackeroon
Header pemeriksaan akan memberikan informasi yang cukup kepada node dan hanya akan mengunduh catatan transaksi lengkap sesuai dengan indeks jika diperlukan.
Alternatif yang secara efektif mengalihkan permintaan penggunaan dan meningkatkan skalabilitas secara signifikan
Bayangkan satu juta mobil terpaksa mengemudi di jalan yang sama untuk berpindah dari kota A ke kota B. Perjalanan pasti akan lambat dan itu adalah kasus blockchain konvensional karena semua node on-chain diharuskan memverifikasi setiap transaksi. Sharding mengiris data on-chain menjadi beberapa bagian sehingga setiap node hanya perlu memproses sebagian dari transaksi. Ketika blockchain menambahkan beberapa jalan raya untuk membubarkan lalu lintas, pengguna berhak menyelesaikan transaksi lebih cepat.
Sumber: Genesis Block
Mengurangi kemacetan jaringan dan menurunkan biaya
Dalam Ethereum pra-peningkatan, node penambang mengemas transaksi berdasarkan seberapa banyak pengguna bersedia membayar, dengan biaya yang lebih tinggi diproses lebih cepat dan biaya yang lebih rendah diproses lebih lambat, menghasilkan penawaran biaya patologis di mana pengguna terkadang membayar lebih dari $50 untuk satu transaksi . Sharding memungkinkan blockchain untuk beroperasi lebih lancar dan mengurangi kebutuhan untuk penawaran biaya, dan pengguna dapat beralih ke yang lain jika kemacetan terjadi pada satu pecahan.
Lebih mudah menjalankan node, meningkatkan desentralisasi dan keamanan
Karena tidak perlu mengakses data lengkap dari seluruh blockchain karena setiap node hanya perlu memproses informasi pada satu shard pada saat yang sama, perangkat keras yang diperlukan untuk menyiapkan node menjadi lebih rendah. Pengguna dapat menggunakan perangkat yang lebih murah sebagai node untuk bergabung dalam verifikasi sehingga memperoleh pendapatan. Ambang penurunan menguntungkan desentralisasi dan mempopulerkan jaringan blockchain, dan visi ETH 2.0 adalah untuk memungkinkan individu menjalankan aplikasi Ethereum dari smartphone mereka. Manfaat sampingan dari desentralisasi adalah peningkatan keamanan jaringan, semakin banyak node dan semakin tersebar, semakin sulit untuk menyerang blockchain.
Sementara sharding menyoroti daftar keuntungan, itu juga memperkenalkan serangkaian masalah baru:
Kemungkinan Serangan 1%.
Blockchain rentan terhadap serangan 51%, yang berarti penyerang dapat secara sewenang-wenang mengutak-atik data transaksi atau bahkan mengontrol seluruh jaringan blockchain saat dia mengontrol 51% daya komputasi node. Dalam jaringan blockchain yang lebih besar seperti Bitcoin dan Ethereum pra-peningkatan, biaya serangan 51% terlalu tinggi, sehingga tidak mungkin diterapkan.
Namun, dengan adopsi sharding, jumlah node yang memproses setiap shard berkurang secara drastis dan menjadi lebih mudah bagi penyerang jahat untuk berkompromi selama dia menyerang salah satu shard dan memalsukan transaksi dengan sukses daripada menyerang seluruh jaringan. Untuk lebih spesifik, untuk jaringan blockchain yang berisi 1.000 node dengan daya komputasi yang sama, seorang peretas perlu mengontrol lebih dari 500 node untuk menyerang seluruh jaringan. Namun ketika 1.000 node ini didistribusikan ke 100 shard, seorang peretas hanya perlu mengontrol lebih dari 5 node di salah satu shard untuk mengotak-atik data.
Sumber: Genesis Block
Risiko keamanan kontrak pintar meningkat
Adopsi sharding memerlukan penulisan ulang struktur data dan logika kode yang mendasari buku besar jaringan blockchain, dan komplikasi lebih lanjut akan membuat lebih sulit untuk memperbarui dan memelihara jaringan, mengakibatkan kerentanan keamanan dan risiko kontrak pintar sementara kesalahan yang tidak diinginkan juga dapat terjadi. selama eksekusi.
Persekongkolan di antara anggota komite
Meskipun sharding mengadopsi algoritme pengambilan sampel acak untuk menghindari node identik ditugaskan ke rantai shard tetap, masih ada kemungkinan bahwa kombinasi duplikat dari node identik dapat melakukan validasi bersama transaksi setelah jangka waktu yang cukup lama, dan anggota komite memverifikasi rantai shard juga dimungkinkan untuk berkolusi satu sama lain dan mengirimkan transaksi jahat ke rantai.
Ketidakseimbangan beban
Prasyarat untuk meningkatkan kinerja jaringan melalui sharding adalah bahwa "sharding" berhasil membawa "pengalihan". Namun, ketika blockchain dioptimalkan dengan 100 rantai shard, semua pengguna masih menggunakan rantai shard tertentu, maka sharding gagal dan skalabilitas belum banyak ditingkatkan. Ini juga merupakan potensi masalah bagi ETH 2.0 karena kemampuan untuk melakukan operasi smart contract untuk setiap rantai shard tidak termasuk dalam perencanaan awal.
Penjelajah blockchain yang lebih rumit
Peningkatan skalabilitas yang dibawa oleh sharding dicapai dengan menambahkan lebih banyak algoritme dan data ke seluruh jaringan, diperlukan daya pemrosesan yang lebih besar bagi penjelajah blockchain untuk secara efektif mengambil informasi di blockchain.
Elrond adalah blockchain publik terdesentralisasi yang bertujuan untuk meningkatkan skalabilitas, kecepatan, dan keamanan dengan mengembangkan tiga teknologi utama, termasuk Adaptive State Sharding dengan teknologi penskalaan blockchain, Secure Proof of Stake (SPoS) yang menentukan pemilihan validator untuk mempercepat verifikasi, dan Elrond Virtual Mesin, yang mendukung banyak bahasa pemrograman dan kompatibel dengan Ethereum VM.
Adaptive State Sharding yang unik dari Elrond menggabungkan tiga bentuk sharding:
Saat ini, Elrond dapat mencapai 15.000 TPS sambil mempertahankan biaya serendah $0,001, yang merupakan keuntungan wajar dibandingkan Ethereum.
Near adalah rantai publik blok berdasarkan sharding status penuh, aplikasi pengembangan yang disederhanakan, dan mekanisme bukti kepemilikan. Ini menetapkan tujuan untuk meningkatkan skalabilitas untuk pengembangan aplikasi terdesentralisasi dan membuka pintu teknologi blockchain untuk semua orang. Mekanisme konsensus Doomslug-nya, yang mengadopsi algoritme Nightshade, mampu menskalakan TPS hingga 100.000. Arsitektur teknis Near berbeda dengan rantai publik sharded lainnya seperti Rantai Beacon, yang terdiri dari satu rantai dan beberapa rantai pecahan, dibagi menjadi blok individu, dan sharding dilakukan di antara blok-blok ini. Sebuah blok berisi semua transaksi dari semua shard sementara status shard dibagi, dan validator ditugaskan secara acak untuk memverifikasi status shard transaksi yang sesuai, sehingga meningkatkan keamanan.
Zilliqa adalah burung yang cukup awal di blockchain. Diluncurkan untuk mengatasi skalabilitas blockchain yang buruk pada saat itu dengan menggunakan sharding jaringan dan sharding transaksi, serta algoritma konsensus toleran kesalahan PoW dan Bizantium (PBFT) dengan kompleksitas yang disederhanakan untuk mempercepat konsensus dalam pecahan. Itu masih dapat berjalan cepat dengan lebih dari 600 node, dan penskalaan konstan membawa Zilliqa ke TPS yang lebih tinggi dari 2400 menjadi 3600 TPS.
Harmony adalah rantai publik berdasarkan sharding negara, yang disusun oleh Rantai Beacon dan beberapa rantai sharding dan disertai dengan algoritme konsensus toleran-kesalahan Bizantium (PBFT) untuk mencapai konsensus yang sangat dioptimalkan sambil mempercepat dengan tanda tangan BLS untuk mengumpulkan banyak tanda tangan menjadi satu. Dalam sharded public chain, 1% dari daya komputasi dapat digunakan untuk serangan pembelanjaan ganda, sehubungan dengan hal ini, Harmony mengadopsi EPoS (Efective Proof-of-Stake) dan Random Sharding untuk menyebarkan token yang dipertaruhkan dalam skala besar dan secara acak mengalokasikannya ke beberapa pecahan untuk mengurangi risiko diserang sehingga meningkatkan keamanan pecahan. Itu juga mengadopsi Kademlia Cross-shard Communication untuk mengontrol pengeluaran jaringan sambil memanfaatkan Erasure Code, yang memungkinkan pemulihan data, untuk mengoptimalkan proses siaran blok untuk melakukan penskalaan sharding horizontal yang efisien.
Dengan ledakan penggunaan cryptocurrency dan proliferasi dAPP, beberapa blockchain tradisional kewalahan dan tidak mampu memenuhi permintaan pasar yang meningkat. Bagaimana meningkatkan skalabilitas tanpa melepaskan desentralisasi dan keamanan telah menjadi isu utama bagi industri blockchain saat ini.
Sharding secara efektif mengalihkan kebutuhan on-chain dan meningkatkan efisiensi akses
Sharding adalah teknologi pengoptimalan yang meningkatkan efisiensi akses database dengan memisahkan data transaksi on-chain dan memprosesnya dengan node yang berbeda secara sinkron, inilah cara pengalihan lalu lintas dan peningkatan kecepatan tercapai. Sebagai solusi penskalaan Lapisan 1 yang sangat dinantikan, ketika sharding berhasil direalisasikan setelah mengatasi kesulitan teknis tingkat tinggi, potensi keuntungannya cukup besar. Sharding telah diadopsi oleh beberapa blockchain dan di ETH 2.0 mendatang, itu juga akan diadopsi dengan harapan dapat meningkatkan kinerja jaringan secara signifikan.
Sharding sangat sulit dicapai dengan banyak tantangan yang belum terpecahkan, tetapi pada akhirnya segitiga mustahil itu akan teratasi
Namun, sharding bukanlah solusi yang sempurna. Selain meningkatnya kompleksitas, hal itu dapat membuat jaringan menghadapi lebih banyak risiko. Banyak pengembang melanjutkan penelitian mereka tentang bagaimana mengoordinasikan shard yang berbeda untuk beroperasi secara efisien, mengharapkan sharding menjadi kunci untuk mengatasi "segitiga mustahil" keamanan, desentralisasi, dan skalabilitas, sehingga semua aplikasi blockchain dan cryptocurrency yang ada dapat lebih jauh. dipopulerkan.
Penulis: Piccolo Penerjemah: Yulei
Pengulas : Hugo , Edward
Penafian:
Dalam blockchain konvensional, transaksi harus dikonfirmasi oleh setiap node dalam jaringan sementara konsensus perlu dicapai di antara node sebelum transaksi dikemas untuk menghasilkan blok baru. Keamanan dijamin sepenuhnya karena setiap node mencatat riwayat buku besar yang lengkap, sehingga sulit bagi peretas untuk diam-diam mengutak-atik data tanpa terdeteksi.
Keamanan dan skalabilitas tidak kompatibel
Namun, keamanan tinggi ada harganya. Frekuensi node berkomunikasi dan bertukar informasi menempati bandwidth jaringan dan memperlambat pemrosesan transaksi. Untuk mencegah kegagalan satu node menghentikan seluruh jaringan, diperlukan lebih banyak node untuk meningkatkan desentralisasi dan menyebarkan risiko. Pertukaran yang berbeda ini juga dikenal sebagai "segitiga mustahil", yang berarti bahwa skalabilitas, desentralisasi, dan keamanan jaringan blockchain tidak dapat dicapai secara bersamaan.
Sumber: Blog Vitalik Buterin “Mengapa sharding itu bagus: mengungkap properti teknis”
Sharding memungkinkan penskalaan yang efisien sambil mencapai keamanan dan desentralisasi
Sharding adalah solusi yang meningkatkan skalabilitas jaringan blockchain tanpa mengorbankan keamanan dan desentralisasi. Sharding membagi satu blockchain menjadi beberapa blockchain yang lebih kecil, yang masing-masing mengelola catatannya sendiri secara terpisah, dan pertukaran tanggal hanya dilakukan jika diperlukan. Oleh karena itu, node dalam rantai sharding yang berbeda hanya dapat memverifikasi transaksi milik rantai mereka sendiri secara sinkron, bukan data dari seluruh blockchain.
Selama jumlah node pada setiap rantai sharding cukup besar, keamanan dan desentralisasi akan terkonfirmasi. Penerapan sharding dapat meningkatkan throughput blockchain untuk memenuhi permintaan pengguna yang terus meningkat. ETH 2.0 juga akan meningkatkan skalabilitasnya melalui sharding.
Sharding adalah teknik optimisasi untuk meningkatkan kinerja akses database dengan memotong database asli menjadi beberapa shard berdasarkan kondisi permintaan, yang dapat menyebarkan beban dan lalu lintas pengguna untuk memberikan layanan yang lebih cepat. Mempertimbangkan bahwa blockchain pada dasarnya adalah buku besar terdesentralisasi, dimungkinkan untuk meningkatkan skalabilitas melalui sharding.
Misalnya, ada banyak produk dengan harga berbeda di situs belanja, konsumen datang dengan berbagai kebutuhan, ada yang lebih suka produk diskon dan murah, dan ada yang suka mahal dan premium. Untuk menangani pesanan besar seperti ini, triase sederhana dapat dilakukan dengan menggunakan rentang harga untuk mempercepat pemrosesan checker.
Sumber: DigitalOcean
Sharding mentriase data dan memprosesnya sesuai dengan kebutuhan yang berbeda
Pemeriksa (node) harus mengonfirmasi semua informasi pesanan tanpa memisahkan data pesanan (sharding), yang membutuhkan banyak waktu untuk melakukan tugas berulang. Sebaliknya, membagi data pesanan menjadi beberapa pecahan memungkinkan pemeriksa yang berbeda memproses pesanan untuk harga rendah dan harga tinggi secara terpisah.
Karena setiap jenis pesanan adalah bagian kecil dari pesanan lengkap, dan checker yang bertanggung jawab untuk item dengan harga berbeda dapat bekerja secara bersamaan tanpa mempengaruhi satu sama lain, sehingga sharding memungkinkan operasi paralel; setiap pemeriksa hanya perlu memeriksa sebagian pesanan, sehingga sharding mengurangi beban kerja node dan mempercepat verifikasi.
Basis data pecahan seperti teka-teki, dan setiap potongan teka-teki mewakili pecahan. Blockchain yang tidak terpotong harus menggambar ulang seluruh teka-teki setiap kali blok baru dihasilkan (replikasi status) dan kemudian memodifikasi sebagian kecil teka-teki (pembaruan status). Sebuah blockchain pecahan hanya perlu menemukan bagian tertentu yang memerlukan modifikasi (pecahan) dan menggantinya dengan yang baru saat menambahkan catatan transaksi baru.
Aplikasi on-chain lebih beragam, dan permintaan tumbuh secara eksponensial
Begitu ada peningkatan yang signifikan dalam ukuran pengguna, apa pun jenis sistemnya, sistem itu pasti perlu diskalakan untuk mengakomodasi peningkatan lalu lintas. Misalnya, jika game online sangat populer sehingga jumlah pemainnya meningkat dari 100.000 menjadi satu juta atau bahkan sepuluh juta per hari, perlu menyiapkan server baru untuk mengalihkan lalu lintas dan menghindari kelambatan. Situasi serupa dapat dilihat dalam kehidupan nyata. Selama liburan, wisatawan ke tempat-tempat menarik selalu mengalami kemacetan lalu lintas yang parah. Apa yang biasanya hanya memakan waktu dua jam untuk mencapai tujuan sekarang memakan waktu lebih lama karena lonjakan lalu lintas. Rutinitas alternatif adalah solusi umum untuk secara efektif mengurangi kemacetan lalu lintas.
Penskalaan menghadapi kemacetan, mencari alternatif
Blockchain juga mengalami hambatan skalabilitas selama pengembangannya. Dalam blockchain P2P dengan hanya 10 node, semua pertukaran data dapat diselesaikan setelah 10 9 kali komunikasi antar node; ketika jumlah node mencapai 100, berarti 100 99 kali komunikasi antar node jika tidak ada optimasi algoritma. Secara umum, jaringan blockchain P2P dengan N node, di mana setiap node bertukar data dengan node N-1 lainnya, dapat dibayangkan bahwa jumlah waktu dan perhitungan yang dihabiskan untuk setiap transaksi akan tumbuh secara eksponensial mengikuti penskalaan jaringan blockchain.
Dengan menjadi arus utama, Bitcoin dan Ethereum masih menerapkan mekanisme yang sudah ketinggalan zaman
Bitcoin, saat ini merupakan cryptocurrency terbesar berdasarkan kapitalisasi pasar, dan Ethereum yang telah ditingkatkan sebelumnya keduanya berkecepatan rendah, dengan Bitcoin memproses sekitar 7 transaksi per detik (TPS) dan Ethereum sedikit lebih banyak pada 15 TPS. Ini sudah lama tidak cukup untuk memenuhi kebutuhan sejumlah besar pengguna, dan dikerdilkan oleh sistem terpusat seperti perusahaan kartu kredit terkemuka VISA, yang memproses hingga 24.000 transaksi per detik. Selain kemacetan jaringan, kecepatan yang lambat juga meningkatkan biaya, dan pengguna harus membayar biaya lebih tinggi untuk memprioritaskan transaksi mereka, membuat pengalaman pengguna semakin buruk.
Setiap node tidak perlu memiliki riwayat transaksi lengkap dalam blockchain sharded karena node hanya perlu menyimpan informasi yang terkait dengan shard miliknya, biaya pengaturan node dan ambang partisipasi diturunkan dengan sharding. Jaringan Blockchain dimungkinkan untuk menjadi lebih terdesentralisasi dengan bantuan sharding. Spesifikasi peralatan perangkat keras yang diperlukan untuk menjalankan node akan menjadi semakin tinggi tanpa sharding. Pada akhirnya, hanya peserta dengan kondisi ekonomi yang menguntungkan yang akan bertahan. Sharding memungkinkan komputer biasa, laptop, dan bahkan smartphone menjadi node, yang akan mengarah pada adopsi massal blockchain dan dAPP.
Mekanisme konsensus Ethereum akan dikonversi dari Proof of Work (PoW) menjadi Proof of Stake (PoS) di ETH 2.0 dan mainnet Ethereum asli akan digabungkan ke dalam Beacon Chain. Akibatnya, daya komputasi yang besar tidak lagi diperlukan untuk node Ethereum untuk menghasilkan blok baru. Sebaliknya, mereka mempertaruhkan ETH mereka dalam kontrak pintar untuk menjadi validator untuk mendapatkan hak memperoleh biaya transaksi saat mengirimkan blok baru.
Di ETH 2.0, 64 shard akan dibuat untuk meningkatkan skalabilitas, salah satunya disebut Beacon Chain. Ini memainkan peran inti dalam peningkatan sharding Ethereum dan bertanggung jawab untuk mengoordinasikan dan berbagi informasi antara shard yang berbeda. Semua node ETH 2.0 juga akan mempertaruhkan ETH pada rantai pecahan dan memproses transaksi pada pecahan yang berbeda sesuai dengan instruksi, dan blok pada rantai pecahan hanya akan valid dengan persetujuan Rantai Beacon.
Sumber: Hsiao-wei Wang
Sharding memvalidasi transaksi yang tertunda dengan triase
Ketika ETH 2.0 mengadopsi sharding, algoritme pengambilan sampel acak akan menetapkan nomor acak node ke setiap shard untuk memverifikasi transaksi dan menentukan urutan dan validitas transaksi pada rantai shard dengan voting, kemudian informasi blok shard yang baru dihasilkan akan menjadi ditambahkan pada Beacon Chain. Blok baru harus disetujui oleh lebih dari dua pertiga node pada rantai pecahan.
Seperti yang ditunjukkan pada gambar di bawah, setiap node diberi nomor (1~100) dalam urutan kumpulan node validator; algoritma pengambilan sampel acak akan memecah urutan penugasan node, menghasilkan kumpulan node baru tanpa urutan tetap; 1~10 node pertama yang baru dibuat dapat ditunjuk sebagai komite pertama untuk memproses transaksi pada rantai pecahan pertama sedangkan tanggal 11~20 menjadi komite kedua untuk memproses rantai pecahan kedua, dan seterusnya.
Sumber: Blog Vitalik Buterin “Mengapa sharding itu bagus: mengungkap properti teknis”
Node validator tidak ditetapkan secara tetap untuk memproses transaksi pada rantai shard tertentu karena algoritme pengambilan sampel acak akan mengganggu kembali urutan node untuk jangka waktu tertentu. Oleh karena itu, anggota komite yang bertanggung jawab untuk setiap rantai pecahan tidak tetap, yang menghindari risiko sentralisasi yang disebabkan oleh node tertentu yang memverifikasi rantai pecahan untuk waktu yang lama, dan meningkatkan kesulitan penyerangan.
Karena sharding akan sangat meningkatkan throughput ETH 2.0, menjadi tidak mungkin bagi semua node untuk memperbarui data transaksi lengkap pada rantai shard yang berbeda secara bersamaan, Collation Header, yang mirip dengan header blok di PoW, menjadi media untuk berbagi informasi . Sesuai namanya, collation header berisi metadata tentang informasi di dalam collation seperti:
Sumber: Hackeroon
Header pemeriksaan akan memberikan informasi yang cukup kepada node dan hanya akan mengunduh catatan transaksi lengkap sesuai dengan indeks jika diperlukan.
Alternatif yang secara efektif mengalihkan permintaan penggunaan dan meningkatkan skalabilitas secara signifikan
Bayangkan satu juta mobil terpaksa mengemudi di jalan yang sama untuk berpindah dari kota A ke kota B. Perjalanan pasti akan lambat dan itu adalah kasus blockchain konvensional karena semua node on-chain diharuskan memverifikasi setiap transaksi. Sharding mengiris data on-chain menjadi beberapa bagian sehingga setiap node hanya perlu memproses sebagian dari transaksi. Ketika blockchain menambahkan beberapa jalan raya untuk membubarkan lalu lintas, pengguna berhak menyelesaikan transaksi lebih cepat.
Sumber: Genesis Block
Mengurangi kemacetan jaringan dan menurunkan biaya
Dalam Ethereum pra-peningkatan, node penambang mengemas transaksi berdasarkan seberapa banyak pengguna bersedia membayar, dengan biaya yang lebih tinggi diproses lebih cepat dan biaya yang lebih rendah diproses lebih lambat, menghasilkan penawaran biaya patologis di mana pengguna terkadang membayar lebih dari $50 untuk satu transaksi . Sharding memungkinkan blockchain untuk beroperasi lebih lancar dan mengurangi kebutuhan untuk penawaran biaya, dan pengguna dapat beralih ke yang lain jika kemacetan terjadi pada satu pecahan.
Lebih mudah menjalankan node, meningkatkan desentralisasi dan keamanan
Karena tidak perlu mengakses data lengkap dari seluruh blockchain karena setiap node hanya perlu memproses informasi pada satu shard pada saat yang sama, perangkat keras yang diperlukan untuk menyiapkan node menjadi lebih rendah. Pengguna dapat menggunakan perangkat yang lebih murah sebagai node untuk bergabung dalam verifikasi sehingga memperoleh pendapatan. Ambang penurunan menguntungkan desentralisasi dan mempopulerkan jaringan blockchain, dan visi ETH 2.0 adalah untuk memungkinkan individu menjalankan aplikasi Ethereum dari smartphone mereka. Manfaat sampingan dari desentralisasi adalah peningkatan keamanan jaringan, semakin banyak node dan semakin tersebar, semakin sulit untuk menyerang blockchain.
Sementara sharding menyoroti daftar keuntungan, itu juga memperkenalkan serangkaian masalah baru:
Kemungkinan Serangan 1%.
Blockchain rentan terhadap serangan 51%, yang berarti penyerang dapat secara sewenang-wenang mengutak-atik data transaksi atau bahkan mengontrol seluruh jaringan blockchain saat dia mengontrol 51% daya komputasi node. Dalam jaringan blockchain yang lebih besar seperti Bitcoin dan Ethereum pra-peningkatan, biaya serangan 51% terlalu tinggi, sehingga tidak mungkin diterapkan.
Namun, dengan adopsi sharding, jumlah node yang memproses setiap shard berkurang secara drastis dan menjadi lebih mudah bagi penyerang jahat untuk berkompromi selama dia menyerang salah satu shard dan memalsukan transaksi dengan sukses daripada menyerang seluruh jaringan. Untuk lebih spesifik, untuk jaringan blockchain yang berisi 1.000 node dengan daya komputasi yang sama, seorang peretas perlu mengontrol lebih dari 500 node untuk menyerang seluruh jaringan. Namun ketika 1.000 node ini didistribusikan ke 100 shard, seorang peretas hanya perlu mengontrol lebih dari 5 node di salah satu shard untuk mengotak-atik data.
Sumber: Genesis Block
Risiko keamanan kontrak pintar meningkat
Adopsi sharding memerlukan penulisan ulang struktur data dan logika kode yang mendasari buku besar jaringan blockchain, dan komplikasi lebih lanjut akan membuat lebih sulit untuk memperbarui dan memelihara jaringan, mengakibatkan kerentanan keamanan dan risiko kontrak pintar sementara kesalahan yang tidak diinginkan juga dapat terjadi. selama eksekusi.
Persekongkolan di antara anggota komite
Meskipun sharding mengadopsi algoritme pengambilan sampel acak untuk menghindari node identik ditugaskan ke rantai shard tetap, masih ada kemungkinan bahwa kombinasi duplikat dari node identik dapat melakukan validasi bersama transaksi setelah jangka waktu yang cukup lama, dan anggota komite memverifikasi rantai shard juga dimungkinkan untuk berkolusi satu sama lain dan mengirimkan transaksi jahat ke rantai.
Ketidakseimbangan beban
Prasyarat untuk meningkatkan kinerja jaringan melalui sharding adalah bahwa "sharding" berhasil membawa "pengalihan". Namun, ketika blockchain dioptimalkan dengan 100 rantai shard, semua pengguna masih menggunakan rantai shard tertentu, maka sharding gagal dan skalabilitas belum banyak ditingkatkan. Ini juga merupakan potensi masalah bagi ETH 2.0 karena kemampuan untuk melakukan operasi smart contract untuk setiap rantai shard tidak termasuk dalam perencanaan awal.
Penjelajah blockchain yang lebih rumit
Peningkatan skalabilitas yang dibawa oleh sharding dicapai dengan menambahkan lebih banyak algoritme dan data ke seluruh jaringan, diperlukan daya pemrosesan yang lebih besar bagi penjelajah blockchain untuk secara efektif mengambil informasi di blockchain.
Elrond adalah blockchain publik terdesentralisasi yang bertujuan untuk meningkatkan skalabilitas, kecepatan, dan keamanan dengan mengembangkan tiga teknologi utama, termasuk Adaptive State Sharding dengan teknologi penskalaan blockchain, Secure Proof of Stake (SPoS) yang menentukan pemilihan validator untuk mempercepat verifikasi, dan Elrond Virtual Mesin, yang mendukung banyak bahasa pemrograman dan kompatibel dengan Ethereum VM.
Adaptive State Sharding yang unik dari Elrond menggabungkan tiga bentuk sharding:
Saat ini, Elrond dapat mencapai 15.000 TPS sambil mempertahankan biaya serendah $0,001, yang merupakan keuntungan wajar dibandingkan Ethereum.
Near adalah rantai publik blok berdasarkan sharding status penuh, aplikasi pengembangan yang disederhanakan, dan mekanisme bukti kepemilikan. Ini menetapkan tujuan untuk meningkatkan skalabilitas untuk pengembangan aplikasi terdesentralisasi dan membuka pintu teknologi blockchain untuk semua orang. Mekanisme konsensus Doomslug-nya, yang mengadopsi algoritme Nightshade, mampu menskalakan TPS hingga 100.000. Arsitektur teknis Near berbeda dengan rantai publik sharded lainnya seperti Rantai Beacon, yang terdiri dari satu rantai dan beberapa rantai pecahan, dibagi menjadi blok individu, dan sharding dilakukan di antara blok-blok ini. Sebuah blok berisi semua transaksi dari semua shard sementara status shard dibagi, dan validator ditugaskan secara acak untuk memverifikasi status shard transaksi yang sesuai, sehingga meningkatkan keamanan.
Zilliqa adalah burung yang cukup awal di blockchain. Diluncurkan untuk mengatasi skalabilitas blockchain yang buruk pada saat itu dengan menggunakan sharding jaringan dan sharding transaksi, serta algoritma konsensus toleran kesalahan PoW dan Bizantium (PBFT) dengan kompleksitas yang disederhanakan untuk mempercepat konsensus dalam pecahan. Itu masih dapat berjalan cepat dengan lebih dari 600 node, dan penskalaan konstan membawa Zilliqa ke TPS yang lebih tinggi dari 2400 menjadi 3600 TPS.
Harmony adalah rantai publik berdasarkan sharding negara, yang disusun oleh Rantai Beacon dan beberapa rantai sharding dan disertai dengan algoritme konsensus toleran-kesalahan Bizantium (PBFT) untuk mencapai konsensus yang sangat dioptimalkan sambil mempercepat dengan tanda tangan BLS untuk mengumpulkan banyak tanda tangan menjadi satu. Dalam sharded public chain, 1% dari daya komputasi dapat digunakan untuk serangan pembelanjaan ganda, sehubungan dengan hal ini, Harmony mengadopsi EPoS (Efective Proof-of-Stake) dan Random Sharding untuk menyebarkan token yang dipertaruhkan dalam skala besar dan secara acak mengalokasikannya ke beberapa pecahan untuk mengurangi risiko diserang sehingga meningkatkan keamanan pecahan. Itu juga mengadopsi Kademlia Cross-shard Communication untuk mengontrol pengeluaran jaringan sambil memanfaatkan Erasure Code, yang memungkinkan pemulihan data, untuk mengoptimalkan proses siaran blok untuk melakukan penskalaan sharding horizontal yang efisien.
Dengan ledakan penggunaan cryptocurrency dan proliferasi dAPP, beberapa blockchain tradisional kewalahan dan tidak mampu memenuhi permintaan pasar yang meningkat. Bagaimana meningkatkan skalabilitas tanpa melepaskan desentralisasi dan keamanan telah menjadi isu utama bagi industri blockchain saat ini.
Sharding secara efektif mengalihkan kebutuhan on-chain dan meningkatkan efisiensi akses
Sharding adalah teknologi pengoptimalan yang meningkatkan efisiensi akses database dengan memisahkan data transaksi on-chain dan memprosesnya dengan node yang berbeda secara sinkron, inilah cara pengalihan lalu lintas dan peningkatan kecepatan tercapai. Sebagai solusi penskalaan Lapisan 1 yang sangat dinantikan, ketika sharding berhasil direalisasikan setelah mengatasi kesulitan teknis tingkat tinggi, potensi keuntungannya cukup besar. Sharding telah diadopsi oleh beberapa blockchain dan di ETH 2.0 mendatang, itu juga akan diadopsi dengan harapan dapat meningkatkan kinerja jaringan secara signifikan.
Sharding sangat sulit dicapai dengan banyak tantangan yang belum terpecahkan, tetapi pada akhirnya segitiga mustahil itu akan teratasi
Namun, sharding bukanlah solusi yang sempurna. Selain meningkatnya kompleksitas, hal itu dapat membuat jaringan menghadapi lebih banyak risiko. Banyak pengembang melanjutkan penelitian mereka tentang bagaimana mengoordinasikan shard yang berbeda untuk beroperasi secara efisien, mengharapkan sharding menjadi kunci untuk mengatasi "segitiga mustahil" keamanan, desentralisasi, dan skalabilitas, sehingga semua aplikasi blockchain dan cryptocurrency yang ada dapat lebih jauh. dipopulerkan.
Penulis: Piccolo Penerjemah: Yulei
Pengulas : Hugo , Edward
Penafian: