Anda juga mungkin tahu bahawa faktor yang sangat penting yang mengehadkan aplikasi teknologi blockchain semasa berskala besar ialah prestasi Ini juga merupakan salah satu sebab mengapa ramai pengamal Internet tradisional tidak optimistik tentang teknologi blockchain.
Jadi, bagaimana untuk menyelesaikan masalah prestasi blockchain? Salah satu penyelesaiannya ialah teknologi Sharding.
01
Apakah sharding?
Sharding ialah satu bentuk pembahagian pangkalan data, juga dipanggil pembahagian mendatar, yang membahagikan pangkalan data yang besar kepada banyak bahagian kecil yang boleh diproses, dengan itu meningkatkan prestasi dan memendekkan masa tindak balas.
Sharding bukanlah konsep baru Ia muncul dalam pengurusan pangkalan data berpusat tradisional seawal akhir 1990-an. Konsep ini menjadi popular terima kasih kepada Ultima Online, permainan main peranan yang dimainkan oleh berbilang pemain secara serentak dalam talian.
Dalam permainan ini, pembangun menugaskan pemain ke pelayan yang berbeza untuk melegakan tekanan trafik (ini bermakna terdapat banyak "dunia permainan" selari). Secara komersial, kes sharding biasa adalah untuk membahagikan pangkalan data maklumat pengguna mengikut lokasi geografi, meletakkan maklumat pengguna di kawasan yang sama bersama-sama, dan menyimpannya dalam pelayan yang berasingan.
02
Apakah sharding dalam bidang blockchain?
Rangkaian adalah bersamaan dengan pangkalan data, dan setiap nod adalah bersamaan dengan pelayan bebas. Dalam keadaan biasa, hanya satu daripada nod ini boleh mendapatkan hak untuk merekod dan menghasilkan blok pada satu-satu masa.
Jika teknologi sharding digunakan pada blockchain, ia adalah sama dengan mengurai semua tugas yang belum selesai dalam rangkaian blockchain (seperti mengesahkan transaksi, menjalankan DApps, dll.), dan nod keseluruhan rangkaian juga dikumpulkan, setiap Kumpulan memproses tugasan terurai (seperti 150 transaksi yang akan disahkan) pada masa yang sama, supaya nod tunggal asal mengendalikan semua tugas seluruh rangkaian menjadi berbilang kumpulan nod yang diproses secara selari pada masa yang sama.
Sebagai contoh, anggap bahawa pada masa ini terdapat 8,000 nod (penambang) pada Ethereum, dan terdapat 15,000 transaksi yang akan disahkan pada keseluruhan rangkaian. Ethereum boleh memproses 7-15 transaksi sesaat Dalam keadaan biasa, ia mengambil masa sekurang-kurangnya 1,000 saat untuk memproses transaksi yang belum selesai ini.
Jika teknologi sharding digunakan untuk membahagikan 8,000 nod kepada 100 kumpulan, setiap kumpulan mempunyai 80 nod, dan 15,000 transaksi yang belum selesai ini dibahagikan kepada 100 partition, setiap satu dengan 150 transaksi, maka setiap kumpulan nod (80) boleh diproses secara selari Proses urus niaga yang belum selesai (150 urus niaga) dalam partition masing-masing, supaya semua 15, 000 urus niaga yang belum selesai dapat diproses dalam masa 10 saat.
Daripada contoh ini, kita dapat melihat bahawa teknologi sharding dapat meningkatkan prestasi rantaian blok.
03
Potensi risiko teknologi sharding
Jadi, adakah terdapat sebarang kelemahan dalam teknologi sharding? Jawapannya ya.
Walaupun teknologi sharding boleh menyelesaikan masalah prestasi blockchain pada tahap tertentu dan menjadikan blockchain lebih berskala, ia juga mempunyai dua kelemahan.
Salah satunya ialah masalah komunikasi antara kawasan yang berbeza selepas pembahagian. Contoh di atas membahagikan rangkaian Ethereum kepada 100 partition Setiap partition adalah bebas, yang bersamaan dengan 100 blok blok Ethereum selari bebas, setiap satunya diuruskan oleh sekumpulan pelombong (80 nod).
100 blockchain Ethereum bebas ini tidak boleh berkomunikasi antara satu sama lain Jika mereka ingin berkomunikasi, adalah perlu untuk menambah mekanisme komunikasi pembahagian silang (serupa dengan rantaian silang), yang akan meningkatkan kerumitan blockchain dan meningkatkan kesukaran. pembangunan.
Yang kedua ialah keselamatan blockchain. Masih dengan contoh di atas, sebelum sharding, rangkaian Ethereum mempunyai kuasa pengkomputeran sebanyak 8,000 nod Selepas dibahagikan kepada 100 partition, setiap partition adalah bersamaan dengan blockchain Ethereum bebas, dan kuasa pengkomputeran menurun kepada 80 Kuasa pengkomputeran yang terdiri daripada. nod.
Pada masa ini, adalah lebih mudah untuk melakukan serangan kuasa pengkomputeran sebanyak 51% pada salah satu partition. Dengan mengawal partition, penyerang boleh melakukan kejahatan dalam partition ini dan mengganggu transaksi.
Yayasan Ethereum merancang untuk menggunakan teknologi sharding sebagai salah satu peningkatan kepada Ethereum 2.0. Kami akan tunggu dan lihat bagaimana Ethereum menyelesaikan 2 kelemahan teknologi sharding di atas.
Atas ialah kandungan terperinci Apakah sharding yang disebut oleh Buterin sebagai masa depan skalabiliti Ethereum?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!