Kerangka Shoal: Bagaimana Drop latensi Bullshark di Aptos
Aptos Labs baru-baru ini menyelesaikan dua masalah terbuka penting dalam DAG BFT, secara signifikan menurunkan latensi, dan untuk pertama kalinya menghilangkan kebutuhan akan timeout dalam protokol deterministik yang nyata. Secara keseluruhan, dalam situasi tanpa kesalahan, latensi Bullshark ditingkatkan sebesar 40%, dan dalam situasi dengan kesalahan ditingkatkan sebesar 80%.
Shoal adalah sebuah kerangka kerja yang meningkatkan setiap protokol konsensus berbasis Narwhal ( seperti DAG-Rider, Tusk, Bullshark ) melalui pipeline dan reputasi pemimpin. Pipeline mengurangi latensi pengurutan DAG dengan memperkenalkan satu titik jangkar di setiap putaran, sementara reputasi pemimpin lebih lanjut memperbaiki masalah latensi dengan memastikan titik jangkar terkait dengan node verifikasi tercepat. Selain itu, reputasi pemimpin memungkinkan Shoal untuk memanfaatkan konstruksi DAG asinkron untuk menghilangkan waktu habis di semua skenario. Ini memungkinkan Shoal untuk menawarkan atribut yang disebut respons universal, yang mencakup respons optimis yang biasanya diperlukan.
Teknologi ini sangat sederhana, melibatkan menjalankan beberapa instance dari protokol dasar satu per satu secara berurutan. Oleh karena itu, ketika diinstansiasi dengan Bullshark, didapatkan sekumpulan "ikan hiu" yang sedang melakukan perlombaan estafet.
Latar Belakang
Dalam mengejar performa tinggi jaringan blockchain, orang-orang selalu memperhatikan Drop kompleksitas komunikasi. Namun, pendekatan ini tidak menghasilkan peningkatan throughput yang signifikan. Misalnya, Hotstuff yang diimplementasikan dalam versi awal Diem hanya mencapai 3500 TPS, jauh di bawah target 100k+ TPS.
Terobosan terbaru berasal dari pemahaman bahwa penyebaran data adalah hambatan utama yang didasarkan pada protokol pemimpin, dan dapat diuntungkan dari paralelisasi. Sistem Narwhal memisahkan penyebaran data dari logika konsensus inti, mengusulkan arsitektur di mana semua validator secara bersamaan menyebarkan data, sementara komponen konsensus hanya mengurutkan sejumlah kecil metadata. Makalah Narwhal melaporkan throughput 160.000 TPS.
Dalam artikel sebelumnya, Quorum Store diperkenalkan, yaitu implementasi Narwhal yang memisahkan penyebaran data dari konsensus, serta bagaimana menggunakannya untuk meningkatkan protokol konsensus saat ini, Jolteon. Jolteon adalah protokol berbasis pemimpin yang menggabungkan jalur cepat linier Tendermint dan perubahan tampilan gaya PBFT, yang dapat menurunkan latensi Hotstuff sebesar 33%. Namun, protokol konsensus berbasis pemimpin tidak dapat memanfaatkan potensi throughput Narwhal secara maksimal. Meskipun penyebaran data dipisahkan dari konsensus, pemimpin Hotstuff/Jolteon masih terbatasi seiring dengan peningkatan throughput.
Oleh karena itu, diputuskan untuk menerapkan Bullshark di atas Narwhal DAG, yang merupakan protokol konsensus tanpa biaya komunikasi. Sayangnya, dibandingkan dengan Jolteon, struktur DAG yang mendukung Bullshark dengan throughput tinggi membawa biaya latensi sebesar 50%.
Artikel ini menjelaskan bagaimana Shoal dapat secara signifikan mengurangi latensi Bullshark.
Latar Belakang DAG-BFT
Setiap simpul dalam Narwhal DAG terkait dengan satu putaran. Untuk memasuki putaran ke-r, validator harus terlebih dahulu memperoleh n-f simpul yang termasuk dalam putaran ke-r-1. Setiap validator dapat menyiarkan satu simpul per putaran, dan setiap simpul harus merujuk setidaknya n-f simpul dari putaran sebelumnya. Karena asinkronisitas jaringan, validator yang berbeda mungkin mengamati tampilan lokal DAG yang berbeda pada titik waktu mana pun.
Salah satu atribut kunci dari DAG adalah tidak ambigu: jika dua node verifikasi memiliki vertex v yang sama dalam tampilan lokal DAG mereka, maka mereka memiliki sejarah kausal v yang persis sama.
Urutan Umum
Dapat mencapai konsensus tentang urutan total semua simpul di DAG tanpa biaya komunikasi tambahan. Untuk ini, validator di DAG-Rider, Tusk, dan Bullshark menginterpretasikan struktur DAG sebagai protokol konsensus, di mana simpul mewakili proposal dan tepi mewakili suara.
Meskipun logika interseksi kelompok pada struktur DAG berbeda, semua protokol konsensus berbasis Narwhal yang ada memiliki struktur berikut:
Titik jangkar yang dijadwalkan: Setiap beberapa putaran akan ada seorang pemimpin yang ditentukan sebelumnya, puncak pemimpin disebut sebagai titik jangkar;
Titik urut: Validator secara independen tetapi deterministik memutuskan titik mana yang akan dipesan dan titik mana yang akan dilewati;
Urutan sejarah kausal: Verifikator memproses daftar titik jangkar terurut mereka satu per satu, dan untuk setiap titik jangkar, mengurutkan semua simpul tidak terurut sebelumnya dalam sejarah kausal mereka berdasarkan beberapa aturan deterministik.
Kunci untuk memenuhi keamanan adalah memastikan bahwa pada langkah (2), semua node verifikasi yang jujur membuat daftar jangkar terurut, sehingga semua daftar berbagi awalan yang sama. Di Shoal, berikut adalah pengamatan terhadap semua protokol:
Semua validator setuju pada titik jangkar urutan pertama.
Bullshark latensi
Latensi Bullshark tergantung pada jumlah putaran antara titik jangkar yang terurut dalam DAG. Meskipun versi sinkronisasi Bullshark yang paling praktis memiliki latensi yang lebih baik dibandingkan versi asinkron, namun itu jauh dari yang terbaik.
Pertanyaan 1: Rata-rata latensi blok. Di Bullshark, setiap putaran genap memiliki sebuah titik jangkar, dan setiap puncak pada putaran ganjil diartikan sebagai suara. Dalam kasus umum, dibutuhkan dua putaran DAG untuk mengurutkan titik jangkar, namun, puncak dalam sejarah kausal dari anchor membutuhkan lebih banyak putaran untuk menunggu anchor diurutkan. Dalam kasus umum, puncak dalam putaran ganjil membutuhkan tiga putaran, sementara puncak non-anchored dalam putaran genap membutuhkan empat putaran.
Pertanyaan 2: Kasus kegagalan latensi, analisis latensi di atas berlaku untuk situasi tanpa kegagalan, di sisi lain, jika pemimpin dalam satu putaran tidak cukup cepat untuk menyiarkan titik jangkar, maka tidak dapat mengurutkan titik jangkar ( sehingga dilewati ), oleh karena itu semua simpul yang tidak terurut dalam beberapa putaran sebelumnya harus menunggu titik jangkar berikutnya diurutkan. Ini akan secara signifikan menurunkan kinerja jaringan replikasi geografis, terutama karena Bullshark timeout digunakan untuk menunggu pemimpin.
Kerangka Shoal
Shoal menyelesaikan kedua masalah latensi ini, dengan meningkatkan Bullshark( atau protokol BFT berbasis Narwhal lainnya) melalui pipelining, memungkinkan adanya satu titik jangkar di setiap putaran, dan mengurangi latensi semua simpul non-jangkar di dalam DAG menjadi tiga putaran. Shoal juga memperkenalkan mekanisme reputasi pemimpin tanpa biaya dalam DAG, yang membuat pemilihan lebih condong ke pemimpin yang cepat.
Tantangan
Dalam konteks protokol DAG, pipeline dan reputasi pemimpin dianggap sebagai masalah yang sulit, alasannya adalah sebagai berikut:
Jalur produksi sebelumnya mencoba mengubah logika inti Bullshark, tetapi ini pada dasarnya tampaknya tidak mungkin.
Reputasi pemimpin diperkenalkan dalam DiemBFT dan secara resmi diformalkan dalam Carousel, yang merupakan pemilihan pemimpin masa depan secara dinamis berdasarkan kinerja masa lalu para validator di (Bullshark dengan ide tentang jangkar ). Meskipun adanya perbedaan dalam identitas pemimpin tidak melanggar keamanan dalam protokol ini, di Bullshark, hal itu dapat menyebabkan urutan yang sepenuhnya berbeda, yang mengarah pada inti masalah, yaitu pemilihan jangkar secara dinamis dan deterministik diperlukan untuk mencapai konsensus, dan para validator perlu mencapai kesepakatan tentang riwayat yang terurut untuk memilih jangkar masa depan.
Sebagai bukti tingkat kesulitan masalah, implementasi Bullshark, termasuk yang saat ini ada di lingkungan produksi, tidak mendukung fitur-fitur ini.
Protokol
Meskipun ada tantangan di atas, kenyataannya solusi tersembunyi di balik kesederhanaan.
Di Shoal, bergantung pada kemampuan untuk melakukan perhitungan lokal di atas DAG, dan mewujudkan kemampuan untuk menyimpan dan menginterpretasikan kembali informasi dari beberapa putaran sebelumnya. Dengan pemahaman inti bahwa semua validator setuju pada titik jangkar berurutan pertama, Shoal menggabungkan beberapa instance Bullshark secara berurutan untuk memprosesnya secara paralel, menjadikan ( titik peralihan untuk instance jangkar berurutan pertama, serta ) sejarah kausal dari jangkar digunakan untuk menghitung reputasi pemimpin.
Jalur Produksi
V yang memetakan putaran ke pemimpin. Shoal menjalankan instance Bullshark satu per satu, sehingga untuk setiap instance, jangkar ditentukan sebelumnya oleh pemetaan F. Setiap instance memesan sebuah jangkar, yang akan memicu peralihan ke instance berikutnya.
Pada awalnya, Shoal meluncurkan instance pertama Bullshark pada putaran pertama DAG dan menjalankannya hingga menentukan titik jangkar terurut pertama, seperti pada putaran r. Semua validator setuju dengan titik jangkar ini. Oleh karena itu, semua validator dapat dengan pasti setuju untuk menafsirkan ulang DAG mulai dari putaran r+1. Shoal hanya meluncurkan instance Bullshark baru pada putaran r+1.
Dalam kasus terbaik, ini memungkinkan Shoal untuk memesan satu jangkar di setiap putaran. Titik jangkar putaran pertama diurutkan berdasarkan instance pertama. Kemudian, Shoal memulai instance baru di putaran kedua, yang sendiri memiliki satu titik jangkar, jangkar tersebut diurutkan oleh instance tersebut, lalu instance baru lainnya memesan titik jangkar di putaran ketiga, dan proses tersebut berlanjut.
Reputasi Pemimpin
Selama periode pengurutan Bullshark, melompati titik jangkar akan meningkatkan latensi. Dalam kasus ini, teknologi pipeline tidak berdaya, karena tidak mungkin memulai instans baru sebelum pesanan titik jangkar dari instans sebelumnya. Shoal memastikan bahwa pemimpin yang sesuai untuk menangani titik jangkar yang hilang kemungkinan besar tidak akan dipilih di masa depan dengan memberikan skor kepada setiap node validator berdasarkan sejarah aktivitas terbaru mereka menggunakan mekanisme reputasi. Validator yang merespons dan berpartisipasi dalam protokol akan mendapatkan skor tinggi, jika tidak, node validator akan diberikan skor rendah, karena mungkin mengalami kegagalan, lambat, atau berbuat jahat.
Konsepnya adalah untuk secara deterministik menghitung ulang pemetaan F yang telah ditentukan dari putaran ke pemimpin setiap kali pembaruan skor, dengan kecenderungan kepada pemimpin yang memiliki skor lebih tinggi. Agar validator dapat mencapai konsensus pada pemetaan yang baru, mereka harus mencapai konsensus pada skor, sehingga mencapai konsensus pada sejarah yang digunakan untuk menghasilkan skor.
Di Shoal, pipeline dan reputasi kepemimpinan dapat secara alami bergabung, karena keduanya menggunakan teknologi inti yang sama, yaitu menafsirkan ulang DAG setelah mencapai konsensus pada titik jangkar berurutan pertama.
Sebenarnya, satu-satunya perbedaan adalah, setelah mengurutkan titik jangkar di putaran ke-r, validator hanya perlu menghitung pemetaan baru F' mulai dari putaran ke-r+1 berdasarkan sejarah kausal dari titik jangkar yang terurut di putaran ke-r. Kemudian, node validasi mulai menggunakan fungsi pemilihan titik jangkar yang diperbarui F' untuk menjalankan instansi baru Bullshark mulai dari putaran ke-r+1.
Tidak ada lagi waktu habis
Timeout memainkan peran penting dalam semua implementasi BFT berbasis pemimpin yang deterministik. Namun, kompleksitas yang mereka perkenalkan meningkatkan jumlah status internal yang perlu dikelola dan diamati, yang meningkatkan kompleksitas proses debugging, dan memerlukan lebih banyak teknik observabilitas.
Keterlambatan juga akan meningkat secara signifikan karena penting untuk mengonfigurasinya dengan benar dan biasanya memerlukan penyesuaian dinamis, karena sangat tergantung pada lingkungan ( jaringan ). Sebelum berpindah ke pemimpin berikutnya, protokol akan memberikan hukuman keterlambatan penuh untuk pemimpin yang mengalami kegagalan. Oleh karena itu, pengaturan keterlambatan tidak boleh terlalu konservatif, tetapi jika waktu keterlambatan terlalu pendek, protokol mungkin akan melewatkan pemimpin yang baik. Misalnya, kami mengamati bahwa dalam situasi beban tinggi, pemimpin di Jolteon/Hotstuff kewalahan, dan waktu keterlambatan telah habis sebelum mereka mendorong kemajuan.
Sayangnya, protokol pemimpin ( seperti Hotstuff dan Jolteon) pada dasarnya memerlukan latensi, untuk memastikan setiap pemimpin
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.
24 Suka
Hadiah
24
7
Posting ulang
Bagikan
Komentar
0/400
AirdropHunter420
· 07-31 01:57
Lagi melakukan optimasi kinerja ya
Lihat AsliBalas0
BlockchainRetirementHome
· 07-30 23:30
Kecepatan naik begitu banyak, sungguh aneh ya.
Lihat AsliBalas0
PanicSeller
· 07-30 09:32
Totalnya ada sedikit wawasan berharga.
Lihat AsliBalas0
TokenRationEater
· 07-30 09:28
Efisiensinya lumayan baik.
Lihat AsliBalas0
MEV_Whisperer
· 07-30 09:27
Cepat dan keras! Bull sudah mati
Lihat AsliBalas0
RunWithRugs
· 07-30 09:19
Pengawas yang berlari lebih cepat daripada rugpull
Kerangka Shoal secara signifikan menurunkan latensi Bullshark di Aptos, meningkatkan 40%-80%
Kerangka Shoal: Bagaimana Drop latensi Bullshark di Aptos
Aptos Labs baru-baru ini menyelesaikan dua masalah terbuka penting dalam DAG BFT, secara signifikan menurunkan latensi, dan untuk pertama kalinya menghilangkan kebutuhan akan timeout dalam protokol deterministik yang nyata. Secara keseluruhan, dalam situasi tanpa kesalahan, latensi Bullshark ditingkatkan sebesar 40%, dan dalam situasi dengan kesalahan ditingkatkan sebesar 80%.
Shoal adalah sebuah kerangka kerja yang meningkatkan setiap protokol konsensus berbasis Narwhal ( seperti DAG-Rider, Tusk, Bullshark ) melalui pipeline dan reputasi pemimpin. Pipeline mengurangi latensi pengurutan DAG dengan memperkenalkan satu titik jangkar di setiap putaran, sementara reputasi pemimpin lebih lanjut memperbaiki masalah latensi dengan memastikan titik jangkar terkait dengan node verifikasi tercepat. Selain itu, reputasi pemimpin memungkinkan Shoal untuk memanfaatkan konstruksi DAG asinkron untuk menghilangkan waktu habis di semua skenario. Ini memungkinkan Shoal untuk menawarkan atribut yang disebut respons universal, yang mencakup respons optimis yang biasanya diperlukan.
Teknologi ini sangat sederhana, melibatkan menjalankan beberapa instance dari protokol dasar satu per satu secara berurutan. Oleh karena itu, ketika diinstansiasi dengan Bullshark, didapatkan sekumpulan "ikan hiu" yang sedang melakukan perlombaan estafet.
Latar Belakang
Dalam mengejar performa tinggi jaringan blockchain, orang-orang selalu memperhatikan Drop kompleksitas komunikasi. Namun, pendekatan ini tidak menghasilkan peningkatan throughput yang signifikan. Misalnya, Hotstuff yang diimplementasikan dalam versi awal Diem hanya mencapai 3500 TPS, jauh di bawah target 100k+ TPS.
Terobosan terbaru berasal dari pemahaman bahwa penyebaran data adalah hambatan utama yang didasarkan pada protokol pemimpin, dan dapat diuntungkan dari paralelisasi. Sistem Narwhal memisahkan penyebaran data dari logika konsensus inti, mengusulkan arsitektur di mana semua validator secara bersamaan menyebarkan data, sementara komponen konsensus hanya mengurutkan sejumlah kecil metadata. Makalah Narwhal melaporkan throughput 160.000 TPS.
Dalam artikel sebelumnya, Quorum Store diperkenalkan, yaitu implementasi Narwhal yang memisahkan penyebaran data dari konsensus, serta bagaimana menggunakannya untuk meningkatkan protokol konsensus saat ini, Jolteon. Jolteon adalah protokol berbasis pemimpin yang menggabungkan jalur cepat linier Tendermint dan perubahan tampilan gaya PBFT, yang dapat menurunkan latensi Hotstuff sebesar 33%. Namun, protokol konsensus berbasis pemimpin tidak dapat memanfaatkan potensi throughput Narwhal secara maksimal. Meskipun penyebaran data dipisahkan dari konsensus, pemimpin Hotstuff/Jolteon masih terbatasi seiring dengan peningkatan throughput.
Oleh karena itu, diputuskan untuk menerapkan Bullshark di atas Narwhal DAG, yang merupakan protokol konsensus tanpa biaya komunikasi. Sayangnya, dibandingkan dengan Jolteon, struktur DAG yang mendukung Bullshark dengan throughput tinggi membawa biaya latensi sebesar 50%.
Artikel ini menjelaskan bagaimana Shoal dapat secara signifikan mengurangi latensi Bullshark.
Latar Belakang DAG-BFT
Setiap simpul dalam Narwhal DAG terkait dengan satu putaran. Untuk memasuki putaran ke-r, validator harus terlebih dahulu memperoleh n-f simpul yang termasuk dalam putaran ke-r-1. Setiap validator dapat menyiarkan satu simpul per putaran, dan setiap simpul harus merujuk setidaknya n-f simpul dari putaran sebelumnya. Karena asinkronisitas jaringan, validator yang berbeda mungkin mengamati tampilan lokal DAG yang berbeda pada titik waktu mana pun.
Salah satu atribut kunci dari DAG adalah tidak ambigu: jika dua node verifikasi memiliki vertex v yang sama dalam tampilan lokal DAG mereka, maka mereka memiliki sejarah kausal v yang persis sama.
Urutan Umum
Dapat mencapai konsensus tentang urutan total semua simpul di DAG tanpa biaya komunikasi tambahan. Untuk ini, validator di DAG-Rider, Tusk, dan Bullshark menginterpretasikan struktur DAG sebagai protokol konsensus, di mana simpul mewakili proposal dan tepi mewakili suara.
Meskipun logika interseksi kelompok pada struktur DAG berbeda, semua protokol konsensus berbasis Narwhal yang ada memiliki struktur berikut:
Titik jangkar yang dijadwalkan: Setiap beberapa putaran akan ada seorang pemimpin yang ditentukan sebelumnya, puncak pemimpin disebut sebagai titik jangkar;
Titik urut: Validator secara independen tetapi deterministik memutuskan titik mana yang akan dipesan dan titik mana yang akan dilewati;
Urutan sejarah kausal: Verifikator memproses daftar titik jangkar terurut mereka satu per satu, dan untuk setiap titik jangkar, mengurutkan semua simpul tidak terurut sebelumnya dalam sejarah kausal mereka berdasarkan beberapa aturan deterministik.
Kunci untuk memenuhi keamanan adalah memastikan bahwa pada langkah (2), semua node verifikasi yang jujur membuat daftar jangkar terurut, sehingga semua daftar berbagi awalan yang sama. Di Shoal, berikut adalah pengamatan terhadap semua protokol:
Semua validator setuju pada titik jangkar urutan pertama.
Bullshark latensi
Latensi Bullshark tergantung pada jumlah putaran antara titik jangkar yang terurut dalam DAG. Meskipun versi sinkronisasi Bullshark yang paling praktis memiliki latensi yang lebih baik dibandingkan versi asinkron, namun itu jauh dari yang terbaik.
Pertanyaan 1: Rata-rata latensi blok. Di Bullshark, setiap putaran genap memiliki sebuah titik jangkar, dan setiap puncak pada putaran ganjil diartikan sebagai suara. Dalam kasus umum, dibutuhkan dua putaran DAG untuk mengurutkan titik jangkar, namun, puncak dalam sejarah kausal dari anchor membutuhkan lebih banyak putaran untuk menunggu anchor diurutkan. Dalam kasus umum, puncak dalam putaran ganjil membutuhkan tiga putaran, sementara puncak non-anchored dalam putaran genap membutuhkan empat putaran.
Pertanyaan 2: Kasus kegagalan latensi, analisis latensi di atas berlaku untuk situasi tanpa kegagalan, di sisi lain, jika pemimpin dalam satu putaran tidak cukup cepat untuk menyiarkan titik jangkar, maka tidak dapat mengurutkan titik jangkar ( sehingga dilewati ), oleh karena itu semua simpul yang tidak terurut dalam beberapa putaran sebelumnya harus menunggu titik jangkar berikutnya diurutkan. Ini akan secara signifikan menurunkan kinerja jaringan replikasi geografis, terutama karena Bullshark timeout digunakan untuk menunggu pemimpin.
Kerangka Shoal
Shoal menyelesaikan kedua masalah latensi ini, dengan meningkatkan Bullshark( atau protokol BFT berbasis Narwhal lainnya) melalui pipelining, memungkinkan adanya satu titik jangkar di setiap putaran, dan mengurangi latensi semua simpul non-jangkar di dalam DAG menjadi tiga putaran. Shoal juga memperkenalkan mekanisme reputasi pemimpin tanpa biaya dalam DAG, yang membuat pemilihan lebih condong ke pemimpin yang cepat.
Tantangan
Dalam konteks protokol DAG, pipeline dan reputasi pemimpin dianggap sebagai masalah yang sulit, alasannya adalah sebagai berikut:
Jalur produksi sebelumnya mencoba mengubah logika inti Bullshark, tetapi ini pada dasarnya tampaknya tidak mungkin.
Reputasi pemimpin diperkenalkan dalam DiemBFT dan secara resmi diformalkan dalam Carousel, yang merupakan pemilihan pemimpin masa depan secara dinamis berdasarkan kinerja masa lalu para validator di (Bullshark dengan ide tentang jangkar ). Meskipun adanya perbedaan dalam identitas pemimpin tidak melanggar keamanan dalam protokol ini, di Bullshark, hal itu dapat menyebabkan urutan yang sepenuhnya berbeda, yang mengarah pada inti masalah, yaitu pemilihan jangkar secara dinamis dan deterministik diperlukan untuk mencapai konsensus, dan para validator perlu mencapai kesepakatan tentang riwayat yang terurut untuk memilih jangkar masa depan.
Sebagai bukti tingkat kesulitan masalah, implementasi Bullshark, termasuk yang saat ini ada di lingkungan produksi, tidak mendukung fitur-fitur ini.
Protokol
Meskipun ada tantangan di atas, kenyataannya solusi tersembunyi di balik kesederhanaan.
Di Shoal, bergantung pada kemampuan untuk melakukan perhitungan lokal di atas DAG, dan mewujudkan kemampuan untuk menyimpan dan menginterpretasikan kembali informasi dari beberapa putaran sebelumnya. Dengan pemahaman inti bahwa semua validator setuju pada titik jangkar berurutan pertama, Shoal menggabungkan beberapa instance Bullshark secara berurutan untuk memprosesnya secara paralel, menjadikan ( titik peralihan untuk instance jangkar berurutan pertama, serta ) sejarah kausal dari jangkar digunakan untuk menghitung reputasi pemimpin.
Jalur Produksi
V yang memetakan putaran ke pemimpin. Shoal menjalankan instance Bullshark satu per satu, sehingga untuk setiap instance, jangkar ditentukan sebelumnya oleh pemetaan F. Setiap instance memesan sebuah jangkar, yang akan memicu peralihan ke instance berikutnya.
Pada awalnya, Shoal meluncurkan instance pertama Bullshark pada putaran pertama DAG dan menjalankannya hingga menentukan titik jangkar terurut pertama, seperti pada putaran r. Semua validator setuju dengan titik jangkar ini. Oleh karena itu, semua validator dapat dengan pasti setuju untuk menafsirkan ulang DAG mulai dari putaran r+1. Shoal hanya meluncurkan instance Bullshark baru pada putaran r+1.
Dalam kasus terbaik, ini memungkinkan Shoal untuk memesan satu jangkar di setiap putaran. Titik jangkar putaran pertama diurutkan berdasarkan instance pertama. Kemudian, Shoal memulai instance baru di putaran kedua, yang sendiri memiliki satu titik jangkar, jangkar tersebut diurutkan oleh instance tersebut, lalu instance baru lainnya memesan titik jangkar di putaran ketiga, dan proses tersebut berlanjut.
Reputasi Pemimpin
Selama periode pengurutan Bullshark, melompati titik jangkar akan meningkatkan latensi. Dalam kasus ini, teknologi pipeline tidak berdaya, karena tidak mungkin memulai instans baru sebelum pesanan titik jangkar dari instans sebelumnya. Shoal memastikan bahwa pemimpin yang sesuai untuk menangani titik jangkar yang hilang kemungkinan besar tidak akan dipilih di masa depan dengan memberikan skor kepada setiap node validator berdasarkan sejarah aktivitas terbaru mereka menggunakan mekanisme reputasi. Validator yang merespons dan berpartisipasi dalam protokol akan mendapatkan skor tinggi, jika tidak, node validator akan diberikan skor rendah, karena mungkin mengalami kegagalan, lambat, atau berbuat jahat.
Konsepnya adalah untuk secara deterministik menghitung ulang pemetaan F yang telah ditentukan dari putaran ke pemimpin setiap kali pembaruan skor, dengan kecenderungan kepada pemimpin yang memiliki skor lebih tinggi. Agar validator dapat mencapai konsensus pada pemetaan yang baru, mereka harus mencapai konsensus pada skor, sehingga mencapai konsensus pada sejarah yang digunakan untuk menghasilkan skor.
Di Shoal, pipeline dan reputasi kepemimpinan dapat secara alami bergabung, karena keduanya menggunakan teknologi inti yang sama, yaitu menafsirkan ulang DAG setelah mencapai konsensus pada titik jangkar berurutan pertama.
Sebenarnya, satu-satunya perbedaan adalah, setelah mengurutkan titik jangkar di putaran ke-r, validator hanya perlu menghitung pemetaan baru F' mulai dari putaran ke-r+1 berdasarkan sejarah kausal dari titik jangkar yang terurut di putaran ke-r. Kemudian, node validasi mulai menggunakan fungsi pemilihan titik jangkar yang diperbarui F' untuk menjalankan instansi baru Bullshark mulai dari putaran ke-r+1.
Tidak ada lagi waktu habis
Timeout memainkan peran penting dalam semua implementasi BFT berbasis pemimpin yang deterministik. Namun, kompleksitas yang mereka perkenalkan meningkatkan jumlah status internal yang perlu dikelola dan diamati, yang meningkatkan kompleksitas proses debugging, dan memerlukan lebih banyak teknik observabilitas.
Keterlambatan juga akan meningkat secara signifikan karena penting untuk mengonfigurasinya dengan benar dan biasanya memerlukan penyesuaian dinamis, karena sangat tergantung pada lingkungan ( jaringan ). Sebelum berpindah ke pemimpin berikutnya, protokol akan memberikan hukuman keterlambatan penuh untuk pemimpin yang mengalami kegagalan. Oleh karena itu, pengaturan keterlambatan tidak boleh terlalu konservatif, tetapi jika waktu keterlambatan terlalu pendek, protokol mungkin akan melewatkan pemimpin yang baik. Misalnya, kami mengamati bahwa dalam situasi beban tinggi, pemimpin di Jolteon/Hotstuff kewalahan, dan waktu keterlambatan telah habis sebelum mereka mendorong kemajuan.
Sayangnya, protokol pemimpin ( seperti Hotstuff dan Jolteon) pada dasarnya memerlukan latensi, untuk memastikan setiap pemimpin