Kerangka Shoal: Bagaimana mengurangi latensi Bullshark di Aptos?
Aptos Labs baru-baru ini telah menyelesaikan dua masalah terbuka penting dalam DAG BFT, secara signifikan mengurangi latensi, dan untuk pertama kalinya menghilangkan kebutuhan akan timeout dalam protokol aktual deterministik. Secara keseluruhan, latensi Bullshark ditingkatkan sebesar 40% dalam kondisi tanpa kesalahan, dan 80% dalam kondisi dengan kesalahan.
Shoal adalah sebuah kerangka kerja yang meningkatkan protokol konsensus berbasis Narwhal ( melalui pemrosesan pipeline dan mekanisme reputasi pemimpin seperti DAG-Rider, Tusk, Bullshark ). Pemrosesan pipeline mengurangi latensi pengurutan DAG dengan memperkenalkan satu titik jangkar setiap putaran, sementara mekanisme reputasi pemimpin lebih lanjut meningkatkan masalah latensi dengan memastikan titik jangkar terkait dengan node validasi tercepat. Selain itu, reputasi pemimpin memungkinkan Shoal memanfaatkan pembangunan DAG asinkron untuk menghilangkan timeout di semua skenario. Ini memungkinkan Shoal untuk memberikan karakteristik respons universal yang mencakup respons optimis yang biasanya dibutuhkan.
Teknologi ini sangat sederhana, melibatkan menjalankan beberapa instance dari protokol dasar secara berurutan. Oleh karena itu, saat menggunakan Bullshark untuk menginstansiasi, kita mendapatkan sekelompok "ikan hiu" yang sedang melakukan perlombaan estafet.
Latar Belakang
Dalam upaya mengejar kinerja tinggi jaringan blockchain, orang-orang selalu memperhatikan pengurangan kompleksitas komunikasi. Namun, pendekatan ini tidak membawa peningkatan throughput yang signifikan. Misalnya, Hotstuff yang diimplementasikan dalam versi awal Diem hanya mencapai 3500 TPS, jauh di bawah target 100.000+ TPS.
Terobosan terbaru berasal dari pemahaman bahwa penyebaran data adalah hambatan utama yang berdasarkan pada protokol pemimpin, dan dapat mendapatkan manfaat dari paralelisasi. Sistem Narwhal memisahkan penyebaran data dari logika konsensus inti, mengusulkan arsitektur di mana semua validator menyebarkan data secara bersamaan, sementara komponen konsensus hanya mengurutkan sejumlah kecil metadata. Makalah Narwhal melaporkan throughput 160.000 TPS.
Aptos sebelumnya memperkenalkan Quorum Store, yaitu implementasi Narwhal, yang memisahkan penyebaran data dari konsensus, serta bagaimana memanfaatkannya untuk memperluas protokol konsensus saat ini Jolteon. Jolteon adalah protokol berbasis pemimpin yang menggabungkan jalur cepat linier Tendermint dan perubahan pandangan gaya PBFT, yang dapat mengurangi latensi Hotstuff sebesar 33%. Namun, protokol konsensus berbasis pemimpin jelas tidak dapat memanfaatkan potensi throughput Narwhal secara maksimal. Meskipun telah memisahkan penyebaran data dari konsensus, pemimpin Hotstuff/Jolteon tetap terbatas seiring meningkatnya throughput.
Oleh karena itu, Aptos memutuskan 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 secara signifikan mengurangi latensi Bullshark.
Latar Belakang DAG-BFT
Setiap simpul dalam Narwhal DAG terkait dengan sebuah putaran. Untuk masuk ke putaran ke-r, validator harus terlebih dahulu mendapatkan n-f simpul yang termasuk dalam putaran ke-r-1. Setiap validator dapat menyiarkan satu simpul per putaran, dan setiap simpul harus mengacu pada setidaknya n-f simpul dari putaran sebelumnya. Karena asinkronitas jaringan, validator yang berbeda mungkin melihat pandangan lokal DAG yang berbeda pada waktu yang sama.
Salah satu atribut kunci dari DAG adalah tidak adanya ambiguitas: jika dua node verifikasi memiliki vertex v yang sama dalam pandangan lokal DAG mereka, maka mereka memiliki sejarah kausal v yang sepenuhnya sama.
Pengantar
Dapat mencapai konsensus tentang urutan total semua simpul di DAG tanpa biaya komunikasi tambahan. Untuk itu, validator di DAG-Rider, Tusk, dan Bullshark menginterpretasikan struktur DAG sebagai protokol konsensus, di mana simpul mewakili proposal, dan sisi mewakili suara.
Meskipun logika interaksi kelompok pada struktur DAG berbeda, semua protokol konsensus berbasis Narwhal yang ada memiliki struktur berikut:
Titik jangkar yang dijadwalkan: Setiap beberapa putaran (, misalnya, dalam Bullshark, setiap dua putaran ) akan ada pemimpin yang ditentukan sebelumnya, puncak pemimpin tersebut disebut sebagai titik jangkar.
Titik urut: validator secara independen tetapi dengan kepastian menentukan titik urut mana yang akan diurutkan dan titik urut mana yang akan dilewati.
Urutan sejarah kausal: Validator satu per satu memproses daftar titik jangkar yang terurut, dan untuk setiap titik jangkar, mereka mengurutkan semua simpul tidak terurut sebelumnya dalam sejarah kausal mereka melalui beberapa aturan deterministik.
Kunci untuk memenuhi keamanan adalah memastikan bahwa pada langkah (2), semua node validator yang jujur membuat daftar titik jangkar yang terurut, sehingga semua daftar berbagi awalan yang sama. Di Shoal, berikut adalah pengamatan terhadap semua protokol di atas:
Semua validator setuju pada titik jangkar terurut pertama.
Bullsharklatensi
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, itu jauh dari yang terbaik.
Pertanyaan 1: Rata-rata latensi blok. Di Bullshark, setiap putaran genap memiliki satu titik jangkar, dan setiap titik puncak pada putaran ganjil diartikan sebagai suara. Dalam kasus umum, dibutuhkan dua putaran DAG untuk mengurutkan titik jangkar, namun, titik puncak dalam sejarah kausal titik jangkar memerlukan lebih banyak putaran untuk menunggu titik jangkar diurutkan. Dalam kasus umum, titik puncak pada putaran ganjil memerlukan tiga putaran, sementara titik puncak non-jangkar pada putaran genap memerlukan empat putaran.
Masalah 2: Kasus gangguan latensi. Analisis latensi di atas berlaku untuk situasi tanpa gangguan, di sisi lain, jika pemimpin dalam satu putaran tidak cukup cepat untuk menyiarkan titik jangkar, maka tidak bisa mengurutkan titik jangkar ( sehingga dilewatkan ), sehingga semua simpul yang tidak terurut dari beberapa putaran sebelumnya harus menunggu titik jangkar berikutnya diurutkan. Ini akan secara signifikan mengurangi kinerja jaringan replikasi geografis, terutama karena Bullshark menggunakan timeout untuk menunggu pemimpin.
Kerangka Shoal
Shoal menyelesaikan dua masalah latensi ini, dengan meningkatkan Bullshark( atau protokol BFT berbasis Narwhal) melalui pemrosesan pipeline, memungkinkan adanya satu anchor point di setiap putaran, dan mengurangi latensi semua vertex non-anchor di DAG menjadi tiga putaran. Shoal juga memperkenalkan mekanisme reputasi pemimpin nol biaya di DAG, yang membuat pemilihan cenderung kepada pemimpin yang cepat.
Tantangan
Dalam konteks protokol DAG, pemrosesan pipeline dan reputasi pemimpin dianggap sebagai masalah yang sulit, alasannya adalah sebagai berikut:
Upaya pemrosesan jalur sebelumnya mencoba mengubah logika inti Bullshark, tetapi tampaknya ini pada dasarnya tidak mungkin.
Reputasi pemimpin diperkenalkan dalam DiemBFT dan diresmikan di Carousel, adalah ide untuk secara dinamis memilih pemimpin masa depan berdasarkan kinerja masa lalu validator dalam (Bullshark dan jangkar ). Meskipun adanya perbedaan dalam identitas pemimpin tidak melanggar keamanan dalam protokol ini, namun dalam Bullshark, hal ini dapat menyebabkan urutan yang sangat berbeda, yang mengarah pada inti masalah, yaitu pemilihan jangkar secara dinamis dan deterministik diperlukan untuk menyelesaikan konsensus, dan validator perlu mencapai kesepakatan tentang sejarah terurut untuk memilih jangkar masa depan.
Sebagai bukti kesulitan masalah, implementasi Bullshark, termasuk yang saat ini ada di lingkungan produksi, tidak mendukung fitur-fitur ini.
Protokol
Meskipun ada tantangan di atas, solusi tersembunyi dalam kesederhanaan.
Di Shoal, kami mengandalkan kemampuan untuk melakukan perhitungan lokal di atas DAG dan merealisasikan kemampuan untuk menyimpan dan menginterpretasikan kembali informasi dari beberapa putaran sebelumnya. Dengan semua validator setuju pada wawasan inti titik jangkar terurut pertama, Shoal secara berurutan menggabungkan beberapa instansi Bullshark untuk memprosesnya dalam pipeline, menjadikan ( titik peralihan instansi yang pertama terurut, serta ) sejarah kausal dari titik jangkar digunakan untuk menghitung reputasi pemimpin.
Pengolahan Aliran
V yang memetakan putaran ke pemimpin. Shoal menjalankan instansi Bullshark satu per satu, sehingga untuk setiap instansi, jangkar ditentukan sebelumnya oleh pemetaan F. Setiap instansi mengurutkan satu jangkar, yang akan memicu peralihan ke instansi berikutnya.
Pada awalnya, Shoal meluncurkan instance pertama Bullshark pada putaran pertama DAG dan menjalankannya hingga titik jangkar berurutan pertama ditentukan, 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 skenario terbaik, ini memungkinkan Shoal untuk mengurutkan sebuah jangkar di setiap putaran. Titik jangkar pada putaran pertama diurutkan berdasarkan instance pertama. Kemudian, Shoal memulai instance baru pada putaran kedua, yang memiliki titik jangkar sendiri, yang diurutkan oleh instance tersebut, dan kemudian, instance baru lainnya mengurutkan titik jangkar pada putaran ketiga, dan proses ini berlanjut.
Reputasi Pemimpin
Selama periode pengurutan Bullshark, melompati titik jangkar akan meningkatkan latensi. Dalam hal ini, teknik pemrosesan alur tidak berdaya, karena tidak mungkin memulai instansi baru sebelum pengurutan titik jangkar dari instansi sebelumnya. Shoal memastikan bahwa pemimpin yang sesuai untuk menangani titik jangkar yang hilang tidak mungkin dipilih di masa depan dengan memberikan skor kepada setiap node validasi berdasarkan sejarah aktivitas terbaru masing-masing node validasi melalui mekanisme reputasi. Validator yang merespons dan berpartisipasi dalam protokol akan mendapatkan skor tinggi, sebaliknya, node validasi akan diberikan skor rendah, karena mungkin mengalami kegagalan, lambat, atau berperilaku jahat.
Ide dasarnya adalah untuk menghitung kembali peta yang telah ditentukan F dari putaran ke pemimpin secara deterministik setiap kali pembaruan skor, mengarah pada pemimpin dengan skor yang lebih tinggi. Agar para validator mencapai konsensus pada peta baru, mereka harus mencapai konsensus pada skor, sehingga mencapai konsensus pada sejarah yang digunakan untuk menghasilkan skor.
Di Shoal, pemrosesan pipeline dan reputasi pemimpin dapat secara alami digabungkan, karena keduanya menggunakan teknologi inti yang sama, yaitu menafsirkan kembali DAG setelah mencapai konsensus pada titik jangkar berurutan pertama.
Sebenarnya, satu-satunya perbedaan adalah, setelah mengurutkan titik jangkar pada putaran ke-r, validator hanya perlu menghitung pemetaan baru F' dari putaran ke-r+1 berdasarkan sejarah kausal titik jangkar yang terurut pada putaran ke-r. Kemudian, node validator mulai menggunakan fungsi pemilihan titik jangkar yang diperbarui F' untuk menjalankan instance baru Bullshark dari putaran ke-r+1.
Tidak ada lagi timeout
Timeout memainkan peran penting dalam semua implementasi BFT sinkronisasi bagian deterministik berbasis pemimpin. Namun, kompleksitas yang mereka perkenalkan meningkatkan jumlah status internal yang harus dikelola dan diamati, yang meningkatkan kompleksitas proses debugging, dan memerlukan lebih banyak teknik observabilitas.
Waktu habis juga akan secara signifikan meningkatkan latensi, karena sangat penting untuk mengonfigurasinya dengan benar, dan biasanya memerlukan penyesuaian dinamis, karena sangat bergantung pada lingkungan ( jaringan ). Sebelum beralih ke pemimpin berikutnya, protokol akan membayar denda latensi waktu habis penuh untuk pemimpin yang gagal. Oleh karena itu, pengaturan waktu habis tidak boleh terlalu konservatif, tetapi jika waktu habis terlalu pendek, protokol mungkin akan melewatkan pemimpin yang baik. Misalnya, kami mengamati bahwa dalam kondisi beban tinggi, pemimpin dalam Jolteon/Hotstuff terlalu terbebani, dan waktu habis telah berakhir sebelum mereka mendorong kemajuan.
Sayangnya, berdasarkan protokol pemimpin ( seperti
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.
9 Suka
Hadiah
9
5
Bagikan
Komentar
0/400
ChainSpy
· 7jam yang lalu
Lampu hijau APT akan To da moon
Lihat AsliBalas0
AirdropHunter007
· 17jam yang lalu
latensi turun 40%? To da moon!
Lihat AsliBalas0
BTCBeliefStation
· 18jam yang lalu
luar biasa 这优化幅度给爷看傻了
Lihat AsliBalas0
CounterIndicator
· 18jam yang lalu
bull ah latensi turun lebih dari setengah
Lihat AsliBalas0
MoonRocketTeam
· 18jam yang lalu
Aduh latensi langsung Turun 50% jendela peluncuran ini akan To da moon
Optimasi kerangka Shoal Protokol Konsensus Aptos Penurunan latensi Bullshark secara signifikan
Kerangka Shoal: Bagaimana mengurangi latensi Bullshark di Aptos?
Aptos Labs baru-baru ini telah menyelesaikan dua masalah terbuka penting dalam DAG BFT, secara signifikan mengurangi latensi, dan untuk pertama kalinya menghilangkan kebutuhan akan timeout dalam protokol aktual deterministik. Secara keseluruhan, latensi Bullshark ditingkatkan sebesar 40% dalam kondisi tanpa kesalahan, dan 80% dalam kondisi dengan kesalahan.
Shoal adalah sebuah kerangka kerja yang meningkatkan protokol konsensus berbasis Narwhal ( melalui pemrosesan pipeline dan mekanisme reputasi pemimpin seperti DAG-Rider, Tusk, Bullshark ). Pemrosesan pipeline mengurangi latensi pengurutan DAG dengan memperkenalkan satu titik jangkar setiap putaran, sementara mekanisme reputasi pemimpin lebih lanjut meningkatkan masalah latensi dengan memastikan titik jangkar terkait dengan node validasi tercepat. Selain itu, reputasi pemimpin memungkinkan Shoal memanfaatkan pembangunan DAG asinkron untuk menghilangkan timeout di semua skenario. Ini memungkinkan Shoal untuk memberikan karakteristik respons universal yang mencakup respons optimis yang biasanya dibutuhkan.
Teknologi ini sangat sederhana, melibatkan menjalankan beberapa instance dari protokol dasar secara berurutan. Oleh karena itu, saat menggunakan Bullshark untuk menginstansiasi, kita mendapatkan sekelompok "ikan hiu" yang sedang melakukan perlombaan estafet.
Latar Belakang
Dalam upaya mengejar kinerja tinggi jaringan blockchain, orang-orang selalu memperhatikan pengurangan kompleksitas komunikasi. Namun, pendekatan ini tidak membawa peningkatan throughput yang signifikan. Misalnya, Hotstuff yang diimplementasikan dalam versi awal Diem hanya mencapai 3500 TPS, jauh di bawah target 100.000+ TPS.
Terobosan terbaru berasal dari pemahaman bahwa penyebaran data adalah hambatan utama yang berdasarkan pada protokol pemimpin, dan dapat mendapatkan manfaat dari paralelisasi. Sistem Narwhal memisahkan penyebaran data dari logika konsensus inti, mengusulkan arsitektur di mana semua validator menyebarkan data secara bersamaan, sementara komponen konsensus hanya mengurutkan sejumlah kecil metadata. Makalah Narwhal melaporkan throughput 160.000 TPS.
Aptos sebelumnya memperkenalkan Quorum Store, yaitu implementasi Narwhal, yang memisahkan penyebaran data dari konsensus, serta bagaimana memanfaatkannya untuk memperluas protokol konsensus saat ini Jolteon. Jolteon adalah protokol berbasis pemimpin yang menggabungkan jalur cepat linier Tendermint dan perubahan pandangan gaya PBFT, yang dapat mengurangi latensi Hotstuff sebesar 33%. Namun, protokol konsensus berbasis pemimpin jelas tidak dapat memanfaatkan potensi throughput Narwhal secara maksimal. Meskipun telah memisahkan penyebaran data dari konsensus, pemimpin Hotstuff/Jolteon tetap terbatas seiring meningkatnya throughput.
Oleh karena itu, Aptos memutuskan 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 secara signifikan mengurangi latensi Bullshark.
Latar Belakang DAG-BFT
Setiap simpul dalam Narwhal DAG terkait dengan sebuah putaran. Untuk masuk ke putaran ke-r, validator harus terlebih dahulu mendapatkan n-f simpul yang termasuk dalam putaran ke-r-1. Setiap validator dapat menyiarkan satu simpul per putaran, dan setiap simpul harus mengacu pada setidaknya n-f simpul dari putaran sebelumnya. Karena asinkronitas jaringan, validator yang berbeda mungkin melihat pandangan lokal DAG yang berbeda pada waktu yang sama.
Salah satu atribut kunci dari DAG adalah tidak adanya ambiguitas: jika dua node verifikasi memiliki vertex v yang sama dalam pandangan lokal DAG mereka, maka mereka memiliki sejarah kausal v yang sepenuhnya sama.
Pengantar
Dapat mencapai konsensus tentang urutan total semua simpul di DAG tanpa biaya komunikasi tambahan. Untuk itu, validator di DAG-Rider, Tusk, dan Bullshark menginterpretasikan struktur DAG sebagai protokol konsensus, di mana simpul mewakili proposal, dan sisi mewakili suara.
Meskipun logika interaksi kelompok pada struktur DAG berbeda, semua protokol konsensus berbasis Narwhal yang ada memiliki struktur berikut:
Titik jangkar yang dijadwalkan: Setiap beberapa putaran (, misalnya, dalam Bullshark, setiap dua putaran ) akan ada pemimpin yang ditentukan sebelumnya, puncak pemimpin tersebut disebut sebagai titik jangkar.
Titik urut: validator secara independen tetapi dengan kepastian menentukan titik urut mana yang akan diurutkan dan titik urut mana yang akan dilewati.
Urutan sejarah kausal: Validator satu per satu memproses daftar titik jangkar yang terurut, dan untuk setiap titik jangkar, mereka mengurutkan semua simpul tidak terurut sebelumnya dalam sejarah kausal mereka melalui beberapa aturan deterministik.
Kunci untuk memenuhi keamanan adalah memastikan bahwa pada langkah (2), semua node validator yang jujur membuat daftar titik jangkar yang terurut, sehingga semua daftar berbagi awalan yang sama. Di Shoal, berikut adalah pengamatan terhadap semua protokol di atas:
Semua validator setuju pada titik jangkar terurut pertama.
Bullsharklatensi
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, itu jauh dari yang terbaik.
Pertanyaan 1: Rata-rata latensi blok. Di Bullshark, setiap putaran genap memiliki satu titik jangkar, dan setiap titik puncak pada putaran ganjil diartikan sebagai suara. Dalam kasus umum, dibutuhkan dua putaran DAG untuk mengurutkan titik jangkar, namun, titik puncak dalam sejarah kausal titik jangkar memerlukan lebih banyak putaran untuk menunggu titik jangkar diurutkan. Dalam kasus umum, titik puncak pada putaran ganjil memerlukan tiga putaran, sementara titik puncak non-jangkar pada putaran genap memerlukan empat putaran.
Masalah 2: Kasus gangguan latensi. Analisis latensi di atas berlaku untuk situasi tanpa gangguan, di sisi lain, jika pemimpin dalam satu putaran tidak cukup cepat untuk menyiarkan titik jangkar, maka tidak bisa mengurutkan titik jangkar ( sehingga dilewatkan ), sehingga semua simpul yang tidak terurut dari beberapa putaran sebelumnya harus menunggu titik jangkar berikutnya diurutkan. Ini akan secara signifikan mengurangi kinerja jaringan replikasi geografis, terutama karena Bullshark menggunakan timeout untuk menunggu pemimpin.
Kerangka Shoal
Shoal menyelesaikan dua masalah latensi ini, dengan meningkatkan Bullshark( atau protokol BFT berbasis Narwhal) melalui pemrosesan pipeline, memungkinkan adanya satu anchor point di setiap putaran, dan mengurangi latensi semua vertex non-anchor di DAG menjadi tiga putaran. Shoal juga memperkenalkan mekanisme reputasi pemimpin nol biaya di DAG, yang membuat pemilihan cenderung kepada pemimpin yang cepat.
Tantangan
Dalam konteks protokol DAG, pemrosesan pipeline dan reputasi pemimpin dianggap sebagai masalah yang sulit, alasannya adalah sebagai berikut:
Upaya pemrosesan jalur sebelumnya mencoba mengubah logika inti Bullshark, tetapi tampaknya ini pada dasarnya tidak mungkin.
Reputasi pemimpin diperkenalkan dalam DiemBFT dan diresmikan di Carousel, adalah ide untuk secara dinamis memilih pemimpin masa depan berdasarkan kinerja masa lalu validator dalam (Bullshark dan jangkar ). Meskipun adanya perbedaan dalam identitas pemimpin tidak melanggar keamanan dalam protokol ini, namun dalam Bullshark, hal ini dapat menyebabkan urutan yang sangat berbeda, yang mengarah pada inti masalah, yaitu pemilihan jangkar secara dinamis dan deterministik diperlukan untuk menyelesaikan konsensus, dan validator perlu mencapai kesepakatan tentang sejarah terurut untuk memilih jangkar masa depan.
Sebagai bukti kesulitan masalah, implementasi Bullshark, termasuk yang saat ini ada di lingkungan produksi, tidak mendukung fitur-fitur ini.
Protokol
Meskipun ada tantangan di atas, solusi tersembunyi dalam kesederhanaan.
Di Shoal, kami mengandalkan kemampuan untuk melakukan perhitungan lokal di atas DAG dan merealisasikan kemampuan untuk menyimpan dan menginterpretasikan kembali informasi dari beberapa putaran sebelumnya. Dengan semua validator setuju pada wawasan inti titik jangkar terurut pertama, Shoal secara berurutan menggabungkan beberapa instansi Bullshark untuk memprosesnya dalam pipeline, menjadikan ( titik peralihan instansi yang pertama terurut, serta ) sejarah kausal dari titik jangkar digunakan untuk menghitung reputasi pemimpin.
Pengolahan Aliran
V yang memetakan putaran ke pemimpin. Shoal menjalankan instansi Bullshark satu per satu, sehingga untuk setiap instansi, jangkar ditentukan sebelumnya oleh pemetaan F. Setiap instansi mengurutkan satu jangkar, yang akan memicu peralihan ke instansi berikutnya.
Pada awalnya, Shoal meluncurkan instance pertama Bullshark pada putaran pertama DAG dan menjalankannya hingga titik jangkar berurutan pertama ditentukan, 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 skenario terbaik, ini memungkinkan Shoal untuk mengurutkan sebuah jangkar di setiap putaran. Titik jangkar pada putaran pertama diurutkan berdasarkan instance pertama. Kemudian, Shoal memulai instance baru pada putaran kedua, yang memiliki titik jangkar sendiri, yang diurutkan oleh instance tersebut, dan kemudian, instance baru lainnya mengurutkan titik jangkar pada putaran ketiga, dan proses ini berlanjut.
Reputasi Pemimpin
Selama periode pengurutan Bullshark, melompati titik jangkar akan meningkatkan latensi. Dalam hal ini, teknik pemrosesan alur tidak berdaya, karena tidak mungkin memulai instansi baru sebelum pengurutan titik jangkar dari instansi sebelumnya. Shoal memastikan bahwa pemimpin yang sesuai untuk menangani titik jangkar yang hilang tidak mungkin dipilih di masa depan dengan memberikan skor kepada setiap node validasi berdasarkan sejarah aktivitas terbaru masing-masing node validasi melalui mekanisme reputasi. Validator yang merespons dan berpartisipasi dalam protokol akan mendapatkan skor tinggi, sebaliknya, node validasi akan diberikan skor rendah, karena mungkin mengalami kegagalan, lambat, atau berperilaku jahat.
Ide dasarnya adalah untuk menghitung kembali peta yang telah ditentukan F dari putaran ke pemimpin secara deterministik setiap kali pembaruan skor, mengarah pada pemimpin dengan skor yang lebih tinggi. Agar para validator mencapai konsensus pada peta baru, mereka harus mencapai konsensus pada skor, sehingga mencapai konsensus pada sejarah yang digunakan untuk menghasilkan skor.
Di Shoal, pemrosesan pipeline dan reputasi pemimpin dapat secara alami digabungkan, karena keduanya menggunakan teknologi inti yang sama, yaitu menafsirkan kembali DAG setelah mencapai konsensus pada titik jangkar berurutan pertama.
Sebenarnya, satu-satunya perbedaan adalah, setelah mengurutkan titik jangkar pada putaran ke-r, validator hanya perlu menghitung pemetaan baru F' dari putaran ke-r+1 berdasarkan sejarah kausal titik jangkar yang terurut pada putaran ke-r. Kemudian, node validator mulai menggunakan fungsi pemilihan titik jangkar yang diperbarui F' untuk menjalankan instance baru Bullshark dari putaran ke-r+1.
Tidak ada lagi timeout
Timeout memainkan peran penting dalam semua implementasi BFT sinkronisasi bagian deterministik berbasis pemimpin. Namun, kompleksitas yang mereka perkenalkan meningkatkan jumlah status internal yang harus dikelola dan diamati, yang meningkatkan kompleksitas proses debugging, dan memerlukan lebih banyak teknik observabilitas.
Waktu habis juga akan secara signifikan meningkatkan latensi, karena sangat penting untuk mengonfigurasinya dengan benar, dan biasanya memerlukan penyesuaian dinamis, karena sangat bergantung pada lingkungan ( jaringan ). Sebelum beralih ke pemimpin berikutnya, protokol akan membayar denda latensi waktu habis penuh untuk pemimpin yang gagal. Oleh karena itu, pengaturan waktu habis tidak boleh terlalu konservatif, tetapi jika waktu habis terlalu pendek, protokol mungkin akan melewatkan pemimpin yang baik. Misalnya, kami mengamati bahwa dalam kondisi beban tinggi, pemimpin dalam Jolteon/Hotstuff terlalu terbebani, dan waktu habis telah berakhir sebelum mereka mendorong kemajuan.
Sayangnya, berdasarkan protokol pemimpin ( seperti