Memperkenalkan Firewood: Database Generasi Berikutnya yang Dibuat untuk Blockchain dengan Throughput yang Tinggi

Septian Maulana
Avalanche Indonesia
4 min readSep 28, 2023

Ava Labs dengan bangga mengumumkan pratinjau pengembang Firewood, upaya multi-tahun untuk menulis database canggih yang dioptimalkan untuk menyimpan status blockchain Merkleized dari awal di Rust. Seperti yang telah ditunjukkan oleh para peneliti terkemuka di bidang blockchain, pengelolaan negara yang efisien adalah salah satu hambatan utama dalam menskalakan blockchain untuk mencapai skala global. Firewood mengatasi hambatan ini dengan mengurangi biaya tambahan dalam memasukkan, memodifikasi, menyimpan, dan menghapus status Merkleized dengan tumpukan penyimpanan yang dibuat khusus. Firewood, tidak seperti banyak database lain yang digunakan untuk mengelola status blockchain saat ini, tidak dibangun di atas penyimpanan nilai kunci generik seperti LevelDB/RocksDB dan sebagai gantinya menggunakan struktur trie data sebagai indeks pada disk yang tidak perlu disimpan. kompak. Firewood juga membersihkan keadaan lama di tempatnya dan tidak perlu dipangkas.

Banyak proyek menggunakan beberapa bentuk struktur data Tree untuk menyimpan status blockchain karena memungkinkan perbandingan hasil pasca-eksekusi dengan cepat (menggunakan akar Trie) dan untuk sinkronisasi data yang dapat diverifikasi antara rekan-rekan yang tidak tepercaya (blob data apa pun dapat dengan cepat diverifikasi ke menjadi bagian dari Trie). Namun pilihan ini bukannya tanpa pengorbanan. Terdapat inefisiensi teoretis dalam penggunaan Merkle Tries untuk tugas ini, seperti semakin banyaknya jumlah node trie “dalam” yang harus dibaca dari disk dan diperbarui per modifikasi nilai atau pengalamatan node berbasis hash yang dapat menghasilkan penulisan “acak” /membaca seluruh disk, yang memberikan tekanan besar pada database yang digunakan untuk menyimpannya.

Secara tradisional, proyek yang menggunakan Merkle Tries mengandalkan database tertanam nilai kunci yang ada, seperti LevelDB atau RocksDB, untuk mengelola beban kerja ini secara efisien meskipun mereka tidak mengetahui dan tidak mengoptimalkan cara penulisan/pembacaan data terstruktur Trie selama verifikasi/status blok sinkronisasi. “Ketidakselarasan” ini, dalam praktiknya, menyebabkan overhead yang signifikan pada I/O disk (pemadatan konstan), ukuran (tidak melacak apakah status masih digunakan), dan serialisasi/deserialisasi struktur data Trie untuk mendukung beban kerja blockchain dengan throughput tinggi.

Firewood, pengganti overlay LevelDB/RocksDB + Merkle Trie yang biasanya digunakan dalam proyek blockchain, dibangun dari awal untuk menyimpan dan membaca status blockchain Merkleized secara efisien saat sedang dimuat. Efisien dalam konteks ini berarti [1] hanya menyimpan keadaan aktif pada disk (menimpa keadaan yang tidak lagi digunakan saat itu juga), [2] menggunakan struktur Merkle Trie untuk mengindeks data pada disk secara langsung alih-alih LSM Tree terpisah (yang menghindari pemadatan apa pun), dan [3] penyimpanan data Trie yang sadar lokasi yang sering dibaca pada waktu yang sama, dan [4] cepat namun masih dapat dipulihkan dari kerusakan menggunakan Write-Ahead-Log . Untuk mempelajari lebih lanjut tentang bagaimana hal ini dicapai, lihatlah ava-labs/firewood.

Arsitektur Firewood

Selama beberapa bulan mendatang, kami akan merilis serangkaian tolok ukur yang dapat direproduksi yang membandingkan kinerja Firewood dengan database blockchain lainnya, termasuk MerkleDB kami sendiri. Firewood dan MerkleDB akan berbagi format Merkle Trie umum yang memungkinkan keduanya digunakan secara bergantian dengan acara re-genesis. Tujuan akhir dari semua pekerjaan ini adalah integrasi Firewood ke semua Mesin Virtual (X/P/C/HyperSDK) yang dikelola Ava Labs untuk membuka skalabilitas yang berbeda di seluruh Jaringan Avalanche.

Firewood sedang dalam tahap menuju kesiapan produksi namun masih dikembangkan dengan sangat aktif. Ada BANYAK ruang untuk berkontribusi, terutama jika Anda sudah familiar dengan primitif akses disk tingkat rendah. Anda dapat melihat daftar tugas yang belum diselesaikan di sini. Kami percaya bahwa pembukaan Firewood kepada dunia saat ini, meskipun belum selesai, akan mendorong pengembangan dan inovasi yang kami yakini akan menjadi teknologi yang membawa perubahan bagi seluruh Ekosistem Avalanche.

Terjemahan dalam Bahasa Inggris

Penulis: Avalanche

Tentang Ava Labs

Ava Labs mempermudah penerapan solusi berkinerja tinggi untuk Web3, dipimpin oleh inovasi pada Avalanche. Perusahaan ini didirikan oleh ilmuwan komputer Cornell, yang bermitra dengan para veteran Wall Street dan para pemimpin awal Web3 untuk melaksanakan visi yang menjanjikan untuk mendefinisikan ulang cara orang membangun dan menggunakan jaringan terbuka dan tanpa izin. Ava Labs mendefinisikan ulang cara orang menciptakan nilai dengan Web3.

Website | Twitter | LinkedIn | Facebook

Tentang Avalanche

Avalanche adalah platform smart contract yang dibangun untuk menskalakan tanpa batas dan menyelesaikan transaksi dalam waktu kurang dari satu detik. Protokol konsensus revolusioner dan Subnet barunya memungkinkan pengembang Web3 dengan mudah meluncurkan solusi yang sangat skalabel. Terapkan pada EVM, atau gunakan VM kustom Anda sendiri. Bangun apa pun yang Anda inginkan, dengan cara apa pun yang Anda inginkan, di blockchain ramah lingkungan yang dirancang untuk pengembang Web3.

Website | Whitepapers | Twitter | Discord | GitHub | Documentation | Telegram | Facebook | LinkedIn | Reddit | YouTube

--

--

Septian Maulana
Avalanche Indonesia

Translator, Content Creator, Crypto and Blockchain Enthusiast