Bagaimana kinerja klien validator Solana, Firedancer? Bagaimana cara kerjanya?
Ditulis oleh: Karen, Berita Tinjauan ke Depan
Pada konferensi Solana Breakpoint minggu lalu, suasananya meriah, peluncuran produk ekologis dilakukan satu demi satu, dan berbagai aktivitas periferal yang penuh warna menjadi pelengkapnya. Pada pesta ini, sorotan yang sangat menarik perhatian adalah bahwa versi awal klien validator Solana Firedancer secara resmi mendarat di jaringan utama. Pencapaian penting ini mendapat perhatian khusus dan menandai kinerja yang akan dicapai jaringan Solana lompatan sambil menghindari risiko downtime jaringan yang disebabkan oleh crash satu klien di Solana.
Proses pengembangan Firedancer dapat ditelusuri kembali ke tahun 2021 hingga 2022. Sebagai klien validator kedua Solana yang dikembangkan oleh Jump Trading Group (klien asli Agave dikembangkan oleh Anza), desain aslinya adalah untuk menghilangkan bahaya tersembunyi dari satu titik kegagalan. Meningkatkan ketahanan dan ketahanan jaringan secara keseluruhan. Berbeda dengan validator asli berbasis Rust, Firedancer ditulis dalam bahasa C dan tidak mengandung kode Rust. Pilihan ini secara signifikan mengurangi dampak potensi kerentanan di seluruh jaringan dan menambah garis pertahanan yang kokoh pada keamanan Solana.
Bagaimana kinerja Firedancer?
Menurut demonstrasi yang dilakukan oleh kepala ilmiah Jump Crypto Kevin Bowers pada konferensi Solana Breakpoint, Firedancer menunjukkan kemampuan untuk memproses lebih dari 1 juta transaksi per detik, jumlah yang jauh melebihi batas TPS teoritis Solana saat ini yaitu puluhan ribu. Kevin Bowers juga menyamakan pencapaian ini dengan pelebaran "jalan pedesaan" menjadi "jalan raya antar negara bagian", yang menunjukkan optimalisasi ganda antara biaya dan kapasitas jaringan.
Liam Heeger, insinyur inti di Jump Trading, berbagi kemajuan Firedancer di testnet. Klien telah berhasil memproduksi lebih dari 20,000 blok dan mencapai rasio taruhan 1%.
Demonstrasi insinyur lain Aryaman Jain lebih lanjut mengungkapkan kinerja Firedancer dalam kondisi tertentu. Misalnya, dalam lingkungan 10-verifier, TPS-nya dapat mencapai satu juta level, memproses unit komputasi lebih dari 1,2 miliar kali per detik, dan menunjukkan kemampuan Blockspace dan 3,5 Gbps Efisiensi eksekusi VM sebesar 500.000 TPS.
Bagaimana cara kerja Penari Api?
Firedancer dibangun berdasarkan tiga komponen utama: tumpukan komputasi dan tumpukan jaringan berkinerja tinggi, waktu proses dan mekanisme konsensus. Kunci kemampuan Firedancer untuk meningkatkan kinerja jaringan Solana hingga 1 juta TPS (batasan tingkat protokol saat ini membatasi kinerja hingga sekitar 81.000 TPS) adalah desain arsitektur inovatif dan optimalisasi aliran data.
Validator mengadopsi model konkurensi untuk melakukan beragam tugas melalui sejumlah kecil thread, dengan setiap thread berfokus pada tugas tertentu, seperti pemrosesan paket jaringan, verifikasi transaksi, pengemasan blok, dll. Desain ini memaksimalkan pemanfaatan sumber daya dan secara signifikan meningkatkan kecepatan pemrosesan transaksi.
Secara khusus, setiap thread menjalankan satu dari 11 pekerjaan berbeda. Beberapa pekerjaan hanya memerlukan satu thread untuk menyelesaikannya, namun beberapa pekerjaan memerlukan banyak thread untuk melakukan pekerjaan yang sama secara paralel. Selain itu, setiap thread memiliki inti CPU untuk dijalankan, dan thread mengambil kepemilikan atas inti tersebut: thread tidak akan pernah bisa tidur atau membiarkan sistem operasi menggunakannya untuk tujuan lain.
Firedancer juga memperkenalkan arsitektur yang disebut "ubin". Setiap ubin mewakili pekerjaan, thread yang dijalankannya, dan inti CPU yang dialokasikan. Kombinasi ini membuat penyetelan performa menjadi fleksibel dan efisien. Misalnya, net dan quic dapat menangani >1 juta TPS per ubin, sedangkan verifikasi dan ubin bank fokus pada verifikasi transaksi dan eksekusi blok meskipun kecepatan pemrosesannya relatif rendah, namun cukup untuk memenuhi kebutuhan skenario konkurensi tinggi.
Dokumentasi resmi Firedancer mencantumkan 11 jenis ubin, yaitu:
net: Mengirim dan menerima paket jaringan dari perangkat jaringan (dapat menangani >1 juta TPS per ubin);
quic: menerima transaksi dari klien, melakukan semua manajemen koneksi dan pemrosesan paket untuk mengelola dan menerapkan protokol QUIC (dapat menangani >1 juta TPS per ubin);
verifikasi: Verifikasi tanda tangan terenkripsi dari transaksi masuk dan filter transaksi yang tidak valid (setiap ubin dapat menangani 200.000-40.000 TPS);
dedup: Memeriksa dan memfilter duplikat transaksi masuk;
paket: Saat menjadi pemimpin, kemas transaksi masuk dan jadwalkan eksekusinya dengan cerdas;
bank: melaksanakan transaksi yang diatur (setiap ubin dapat memproses 200.000-40.000 TPS);
poh: adalah mekanisme yang terus menerus melakukan operasi hash di latar belakang, mencampurkan nilai hash yang dihasilkan dengan transaksi yang dieksekusi, sehingga membuktikan urutan dan waktu.
rusak: Saat menjadi pemimpin, distribusikan data blok ke jaringan jika bukan pemimpin, terima dan transmisi ulang data blok (throughput terutama bergantung pada ukuran cluster. Dalam pengujian benchmark, jika ukuran cluster kecil, 1 ubin dapat menangani > 1 juta TPS);
menyimpan: Menerima data blok saat menjadi pemimpin, atau menerima data blok dari node lain saat node lain menjadi pemimpin, dan menyimpannya dalam database di disk lokal;
metrik: Mengumpulkan informasi pemantauan tentang ubin lain dan menyediakannya ke titik akhir HTTP;
tanda: menyimpan kunci pribadi pemverifikasi dan menerima serta merespons permintaan tanda tangan dari ubin lain.
Perlu dicatat bahwa sebelum Firedancer matang, versi transisinya Frankendancer telah memasuki mainnet Solana terlebih dahulu. Frankendancer adalah gabungan bagian kode Firedancer dan Agave, yang menggabungkan kekuatan Firedancer dalam tumpukan jaringan dan produksi blok sambil mempertahankan kemampuan eksekusi dan konsensus Agave. Firedancer, sebaliknya, dibuat seluruhnya dari awal dan tidak mengandung kode Agave apa pun.
Apa dampak dari Firedancer?
Tidak diragukan lagi, peluncuran Firedancer akan memberikan dampak yang signifikan terhadap ekosistem Solana. Hal ini akan sangat memperkaya keragaman validator, semakin melemahkan dampak dari satu titik kegagalan pada stabilitas jaringan, dan membangun benteng yang lebih kuat untuk keandalan jaringan Solana. .
Selain itu, Firedancer menjaga kompatibilitas dengan protokol yang ada, memastikan transisi ekosistem yang lancar tanpa perlunya pengembang dan pengguna DApp melakukan penyesuaian besar.
Meskipun Firedancer masih dalam mode non-voting dan perlu menjalani optimalisasi dan peninjauan terus-menerus, hal ini memberikan cetak biru yang lebih menjanjikan untuk pengembangan jaringan Solana di masa depan.
referensi:
1.https://www.youtube.com/watch?v=InGI7BDUeX4&list=PLilwLeBwGuK4eY3nT0vvvJ4GmcJLImcQE&index=14
2、https://firedancer-io.github.io/firedancer/guide/tuning.html
3、https://solanacompass.com/learn/Validated/firedancer-w-kevin-bowers