Kerangka Shoal: Solusi inovatif untuk menurunkan latensi Bullshark di Aptos
Aptos Labs baru-baru ini menyelesaikan dua masalah terbuka penting dalam DAG BFT, secara signifikan mengurangi latensi, dan untuk pertama kalinya menghilangkan kebutuhan akan timeout dalam protokol aktual yang deterministik. Secara keseluruhan, dalam kondisi tanpa kesalahan, latensi Bullshark diperbaiki sebesar 40%, dan saat terjadi kesalahan, diperbaiki sebesar 80%.
Shoal adalah sebuah protokol yang meningkatkan konsensus berbasis Narwhal ( melalui pemrosesan paralel dan mekanisme reputasi pemimpin seperti kerangka DAG-Rider, Tusk, Bullshark ). Pemrosesan paralel mengurangi latensi urutan DAG dengan memperkenalkan sebuah titik jangkar di setiap putaran, sementara mekanisme reputasi pemimpin lebih lanjut memperbaiki masalah latensi dengan memastikan bahwa titik jangkar terkait dengan node validasi tercepat. Selain itu, reputasi pemimpin memungkinkan Shoal untuk memanfaatkan pembangunan DAG asinkron untuk menghilangkan mekanisme timeout di semua skenario. Ini memungkinkan Shoal untuk menawarkan apa yang kami sebut sebagai "respons universal", yang mencakup sifat respons optimis yang biasanya diperlukan.
Teknologi Shoal sangat sederhana, melibatkan menjalankan beberapa instance protokol dasar secara berurutan. Oleh karena itu, ketika diinstansiasi menggunakan Bullshark, efek yang kita dapatkan mirip dengan sekelompok "ikan hiu" yang sedang melakukan lomba estafet.
Latar Belakang dan Motivasi
Dalam mengejar kinerja tinggi jaringan blockchain, orang-orang selalu memperhatikan Drop kompleksitas komunikasi. Namun, metode ini tidak menghasilkan peningkatan throughput yang signifikan. Misalnya, Hotstuff yang diimplementasikan dalam versi awal Diem hanya mencapai 3500 TPS, jauh di bawah target kami di atas 100.000 TPS.
Terobosan baru-baru ini berasal dari pemahaman bahwa penyebaran data merupakan kendala utama berdasarkan protokol pemimpin, dan dapat memanfaatkan 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, kami memperkenalkan Quorum Store - implementasi Narwhal kami, yang memisahkan penyebaran data dari konsensus, serta bagaimana kami menggunakannya untuk memperluas protokol konsensus saat ini, Jolteon. Jolteon adalah protokol berbasis pemimpin yang menggabungkan jalur cepat linier dari Tendermint dan perubahan pandangan gaya PBFT, yang dapat menurunkan latensi Hotstuff sebesar 33%. Namun, jelas bahwa protokol konsensus berbasis pemimpin tidak dapat memanfaatkan potensi throughput Narwhal secara maksimal. Meskipun penyebaran data dipisahkan dari konsensus, seiring dengan meningkatnya throughput, pemimpin Hotstuff/Jolteon tetap terbatas.
Oleh karena itu, kami memutuskan untuk menerapkan Bullshark di atas Narwhal DAG - sebuah protokol konsensus tanpa biaya komunikasi. Sayangnya, dibandingkan dengan Jolteon, struktur DAG yang mendukung Bullshark dengan throughput tinggi membawa biaya latensi sebesar 50%.
Artikel ini akan memperkenalkan 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 setidaknya merujuk pada n-f simpul dari putaran sebelumnya. Karena asinkronisitas jaringan, validator yang berbeda mungkin mengamati pandangan lokal DAG yang berbeda pada titik waktu mana pun.
Salah satu atribut kunci DAG adalah ketidakambiguannya: jika dua node validasi memiliki simpul v yang sama dalam pandangan lokal DAG mereka, maka mereka memiliki sejarah kausal v yang sepenuhnya sama.
Urutan Total
Dapat mencapai konsensus tentang urutan total semua simpul di dalam 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 dipesan: Setiap beberapa putaran ( seperti dua putaran ) dalam Bullshark, akan ada seorang pemimpin yang ditentukan sebelumnya, puncak pemimpin tersebut disebut titik jangkar.
Titik urut: Validator secara independen tetapi deterministik memutuskan titik urut mana yang akan dipilih dan titik urut mana yang akan dilewati.
Urutkan sejarah kausal: validator memproses daftar titik jangkar yang terurut satu per satu, untuk setiap titik jangkar, mengurutkan semua simpul yang sebelumnya tidak terurut dalam sejarah kausalnya melalui beberapa aturan deterministik.
Kunci untuk memenuhi keamanan adalah memastikan bahwa pada langkah 2, semua node validasi yang jujur membuat daftar titik jangkar terurut, agar semua daftar berbagi awalan yang sama. Di Shoal, kami membuat pengamatan berikut terhadap semua protokol di atas:
Semua validator setuju pada titik jangkar yang terurut pertama.
Bullshark latensi
Latensi Bullshark tergantung pada jumlah putaran antara titik jangkar terurut dalam DAG. Meskipun versi sinkronisasi Bullshark yang paling praktis memiliki latensi yang lebih baik dibandingkan versi asinkron, itu masih jauh dari yang terbaik.
Pertanyaan 1: Rata-rata latensi blok. Dalam Bullshark, setiap putaran genap memiliki satu titik jangkar, dan setiap puncak pada putaran ganjil diinterpretasikan sebagai suara. Dalam kasus umum, diperlukan dua putaran DAG untuk mengurutkan titik jangkar, namun, puncak dalam sejarah kausal titik jangkar memerlukan lebih banyak putaran untuk menunggu titik jangkar diurutkan. Dalam kasus umum, puncak dalam putaran ganjil memerlukan tiga putaran, sementara puncak non-jangkar dalam putaran genap memerlukan empat putaran.
Pertanyaan 2: Situasi kegagalan latensi. Analisis latensi di atas berlaku untuk situasi tanpa kegagalan, di sisi lain, jika pemimpin pada ronde tertentu gagal untuk menyiarkan titik jangkar dengan cukup cepat, maka titik jangkar tidak dapat diurutkan ( sehingga dilewati ), mengakibatkan semua simpul yang tidak terurut dari beberapa ronde sebelumnya harus menunggu titik jangkar berikutnya diurutkan. Ini akan secara signifikan menurunkan 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 lainnya ) melalui pemrosesan pipelining, memungkinkan adanya satu titik jangkar di setiap putaran, dan mengurangi latensi semua simpul non-jangkar di DAG menjadi tiga putaran. Shoal juga memperkenalkan mekanisme reputasi pemimpin tanpa biaya di DAG, yang membuat pemilihan cenderung pada pemimpin yang cepat.
Tantangan
Dalam konteks protokol DAG, pemrosesan paralel dan reputasi pemimpin dianggap sebagai masalah yang sulit, karena alasan berikut:
Upaya pemrosesan jalur sebelumnya mencoba mengubah logika inti Bullshark, tetapi pada dasarnya tampaknya hal ini tidak mungkin.
Reputasi pemimpin diperkenalkan dalam DiemBFT dan diformalkan dalam Carousel, berdasarkan kinerja masa lalu validator untuk secara dinamis memilih pemimpin masa depan. Meskipun ada perbedaan pendapat tentang identitas pemimpin tidak melanggar keamanan dalam protokol ini, dalam Bullshark, itu dapat menyebabkan urutan yang sama sekali berbeda, yang mengarah pada inti masalah, yaitu memilih jangkar roda secara dinamis dan deterministik adalah penting untuk menyelesaikan konsensus, dan validator perlu mencapai kesepakatan tentang sejarah teratur untuk memilih jangkar masa depan.
Sebagai bukti tingkat kesulitan masalah, kami mencatat bahwa implementasi Bullshark, termasuk yang saat ini ada di lingkungan produksi, tidak mendukung fitur-fitur ini.
Protokol
Meskipun ada tantangan di atas, kenyataannya solusi tersembunyi dalam kesederhanaan.
Di Shoal, kami mengandalkan kemampuan untuk melakukan perhitungan lokal di atas DAG, dan mencapai kemampuan untuk menyimpan dan menginterpretasi kembali informasi dari beberapa putaran sebelumnya. Dengan semua validator yang setuju pada wawasan inti dari titik jangkar berurutan pertama, Shoal secara berurutan menggabungkan beberapa instance Bullshark untuk memprosesnya secara paralel, menjadikan ( titik perpindahan instance yang pertama kali berurutan, serta ) sejarah kausal dari titik jangkar digunakan untuk menghitung reputasi pemimpin.
( Pemrosesan aliran
V yang memetakan putaran ke pemimpin. Shoal menjalankan instance Bullshark satu per satu, sehingga untuk setiap instance, titik jangkar ditentukan sebelumnya oleh pemetaan F. Setiap instance mengurutkan satu titik jangkar, yang akan memicu peralihan ke instance berikutnya.
Pada awalnya, Shoal memulai instance pertama Bullshark di putaran pertama DAG dan menjalankannya sampai menentukan titik jangkar terurut pertama, seperti di 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 memulai instance Bullshark baru di putaran r+1.
Dalam skenario terbaik, ini memungkinkan Shoal untuk mengurutkan satu titik jangkar di setiap putaran. Titik jangkar putaran pertama diurutkan oleh instance pertama. Kemudian, Shoal memulai instance baru di putaran kedua, yang memiliki titik jangkar sendiri, yang diurutkan oleh instance tersebut, kemudian, instance baru lainnya mengurutkan titik jangkar di putaran ketiga, dan proses ini terus berlanjut.
![Penjelasan Detail tentang Kerangka Shoal: Bagaimana Mengurangi latensi Bullshark di Aptos?])https://img-cdn.gateio.im/webp-social/moments-9f789cb669f6fcc244ea7ff7648e48b4.webp(
) Reputasi Pemimpin
Selama periode pengurutan Bullshark, melewati titik jangkar akan meningkatkan latensi. Dalam kasus ini, teknik pemrosesan alur tidak dapat berfungsi, karena tidak mungkin memulai instance baru sebelum titik jangkar instance sebelumnya selesai diurutkan. 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 validasi berdasarkan sejarah aktivitas terbaru masing-masing node validasi menggunakan 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 tersebut adalah untuk secara deterministik menghitung kembali pemetaan yang telah ditentukan F dari putaran ke pemimpin setiap kali pembaruan skor terjadi, dengan mengutamakan pemimpin yang memiliki skor lebih tinggi. Agar para validator dapat mencapai konsensus pada pemetaan baru, mereka harus mencapai konsensus pada skor, sehingga mencapai kesepakatan terkait sejarah yang digunakan untuk menghasilkan skor.
Di Shoal, pemrosesan pipeline dan reputasi pemimpin dapat digabungkan secara alami, karena keduanya menggunakan teknologi inti yang sama, yaitu menafsirkan ulang DAG setelah mencapai konsensus pada titik jangkar terurut 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 instance baru Bullshark mulai dari putaran ke-r+1.
![Penjelasan Lengkap Kerangka Shoal: Bagaimana Mengurangi latensi Bullshark di Aptos?]###https://img-cdn.gateio.im/webp-social/moments-1baf540693f376d93cb18ef3193593cc.webp(
) Hapus waktu habis
Waktu habis memainkan peran penting dalam semua implementasi BFT sinkronisasi deterministik berbasis pemimpin. Namun, kompleksitas yang mereka perkenalkan meningkatkan jumlah keadaan internal yang perlu dikelola dan diamati, yang meningkatkan kompleksitas proses debugging dan memerlukan lebih banyak teknik observabilitas.
Timeout juga akan secara signifikan meningkatkan latensi
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.
10 Suka
Hadiah
10
4
Bagikan
Komentar
0/400
ZKProofEnthusiast
· 21jam yang lalu
Hmm, yang membawa soal tidak semuanya naik dengan cukup drastis.
Lihat AsliBalas0
SchrodingerWallet
· 21jam yang lalu
Apakah gelombang 3 ini akan To da moon?
Lihat AsliBalas0
SmartContractPlumber
· 21jam yang lalu
Konsensus lapisan perbaikan adalah yang paling mudah memicu risiko berantai. Tidak ada celah baru, mari kita bicarakan.
Lihat AsliBalas0
DecentralizedElder
· 21jam yang lalu
Sangat hebat, apakah latensi ini benar-benar bisa mencapai 10%?
Shoal: Kerangka baru Aptos secara signifikan Drop latensi Bullshark menghilangkan kebutuhan timeout
Kerangka Shoal: Solusi inovatif untuk menurunkan latensi Bullshark di Aptos
Aptos Labs baru-baru ini menyelesaikan dua masalah terbuka penting dalam DAG BFT, secara signifikan mengurangi latensi, dan untuk pertama kalinya menghilangkan kebutuhan akan timeout dalam protokol aktual yang deterministik. Secara keseluruhan, dalam kondisi tanpa kesalahan, latensi Bullshark diperbaiki sebesar 40%, dan saat terjadi kesalahan, diperbaiki sebesar 80%.
Shoal adalah sebuah protokol yang meningkatkan konsensus berbasis Narwhal ( melalui pemrosesan paralel dan mekanisme reputasi pemimpin seperti kerangka DAG-Rider, Tusk, Bullshark ). Pemrosesan paralel mengurangi latensi urutan DAG dengan memperkenalkan sebuah titik jangkar di setiap putaran, sementara mekanisme reputasi pemimpin lebih lanjut memperbaiki masalah latensi dengan memastikan bahwa titik jangkar terkait dengan node validasi tercepat. Selain itu, reputasi pemimpin memungkinkan Shoal untuk memanfaatkan pembangunan DAG asinkron untuk menghilangkan mekanisme timeout di semua skenario. Ini memungkinkan Shoal untuk menawarkan apa yang kami sebut sebagai "respons universal", yang mencakup sifat respons optimis yang biasanya diperlukan.
Teknologi Shoal sangat sederhana, melibatkan menjalankan beberapa instance protokol dasar secara berurutan. Oleh karena itu, ketika diinstansiasi menggunakan Bullshark, efek yang kita dapatkan mirip dengan sekelompok "ikan hiu" yang sedang melakukan lomba estafet.
Latar Belakang dan Motivasi
Dalam mengejar kinerja tinggi jaringan blockchain, orang-orang selalu memperhatikan Drop kompleksitas komunikasi. Namun, metode ini tidak menghasilkan peningkatan throughput yang signifikan. Misalnya, Hotstuff yang diimplementasikan dalam versi awal Diem hanya mencapai 3500 TPS, jauh di bawah target kami di atas 100.000 TPS.
Terobosan baru-baru ini berasal dari pemahaman bahwa penyebaran data merupakan kendala utama berdasarkan protokol pemimpin, dan dapat memanfaatkan 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, kami memperkenalkan Quorum Store - implementasi Narwhal kami, yang memisahkan penyebaran data dari konsensus, serta bagaimana kami menggunakannya untuk memperluas protokol konsensus saat ini, Jolteon. Jolteon adalah protokol berbasis pemimpin yang menggabungkan jalur cepat linier dari Tendermint dan perubahan pandangan gaya PBFT, yang dapat menurunkan latensi Hotstuff sebesar 33%. Namun, jelas bahwa protokol konsensus berbasis pemimpin tidak dapat memanfaatkan potensi throughput Narwhal secara maksimal. Meskipun penyebaran data dipisahkan dari konsensus, seiring dengan meningkatnya throughput, pemimpin Hotstuff/Jolteon tetap terbatas.
Oleh karena itu, kami memutuskan untuk menerapkan Bullshark di atas Narwhal DAG - sebuah protokol konsensus tanpa biaya komunikasi. Sayangnya, dibandingkan dengan Jolteon, struktur DAG yang mendukung Bullshark dengan throughput tinggi membawa biaya latensi sebesar 50%.
Artikel ini akan memperkenalkan 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 setidaknya merujuk pada n-f simpul dari putaran sebelumnya. Karena asinkronisitas jaringan, validator yang berbeda mungkin mengamati pandangan lokal DAG yang berbeda pada titik waktu mana pun.
Salah satu atribut kunci DAG adalah ketidakambiguannya: jika dua node validasi memiliki simpul v yang sama dalam pandangan lokal DAG mereka, maka mereka memiliki sejarah kausal v yang sepenuhnya sama.
Urutan Total
Dapat mencapai konsensus tentang urutan total semua simpul di dalam 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 dipesan: Setiap beberapa putaran ( seperti dua putaran ) dalam Bullshark, akan ada seorang pemimpin yang ditentukan sebelumnya, puncak pemimpin tersebut disebut titik jangkar.
Titik urut: Validator secara independen tetapi deterministik memutuskan titik urut mana yang akan dipilih dan titik urut mana yang akan dilewati.
Urutkan sejarah kausal: validator memproses daftar titik jangkar yang terurut satu per satu, untuk setiap titik jangkar, mengurutkan semua simpul yang sebelumnya tidak terurut dalam sejarah kausalnya melalui beberapa aturan deterministik.
Kunci untuk memenuhi keamanan adalah memastikan bahwa pada langkah 2, semua node validasi yang jujur membuat daftar titik jangkar terurut, agar semua daftar berbagi awalan yang sama. Di Shoal, kami membuat pengamatan berikut terhadap semua protokol di atas:
Semua validator setuju pada titik jangkar yang terurut pertama.
Bullshark latensi
Latensi Bullshark tergantung pada jumlah putaran antara titik jangkar terurut dalam DAG. Meskipun versi sinkronisasi Bullshark yang paling praktis memiliki latensi yang lebih baik dibandingkan versi asinkron, itu masih jauh dari yang terbaik.
Pertanyaan 1: Rata-rata latensi blok. Dalam Bullshark, setiap putaran genap memiliki satu titik jangkar, dan setiap puncak pada putaran ganjil diinterpretasikan sebagai suara. Dalam kasus umum, diperlukan dua putaran DAG untuk mengurutkan titik jangkar, namun, puncak dalam sejarah kausal titik jangkar memerlukan lebih banyak putaran untuk menunggu titik jangkar diurutkan. Dalam kasus umum, puncak dalam putaran ganjil memerlukan tiga putaran, sementara puncak non-jangkar dalam putaran genap memerlukan empat putaran.
Pertanyaan 2: Situasi kegagalan latensi. Analisis latensi di atas berlaku untuk situasi tanpa kegagalan, di sisi lain, jika pemimpin pada ronde tertentu gagal untuk menyiarkan titik jangkar dengan cukup cepat, maka titik jangkar tidak dapat diurutkan ( sehingga dilewati ), mengakibatkan semua simpul yang tidak terurut dari beberapa ronde sebelumnya harus menunggu titik jangkar berikutnya diurutkan. Ini akan secara signifikan menurunkan 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 lainnya ) melalui pemrosesan pipelining, memungkinkan adanya satu titik jangkar di setiap putaran, dan mengurangi latensi semua simpul non-jangkar di DAG menjadi tiga putaran. Shoal juga memperkenalkan mekanisme reputasi pemimpin tanpa biaya di DAG, yang membuat pemilihan cenderung pada pemimpin yang cepat.
Tantangan
Dalam konteks protokol DAG, pemrosesan paralel dan reputasi pemimpin dianggap sebagai masalah yang sulit, karena alasan berikut:
Upaya pemrosesan jalur sebelumnya mencoba mengubah logika inti Bullshark, tetapi pada dasarnya tampaknya hal ini tidak mungkin.
Reputasi pemimpin diperkenalkan dalam DiemBFT dan diformalkan dalam Carousel, berdasarkan kinerja masa lalu validator untuk secara dinamis memilih pemimpin masa depan. Meskipun ada perbedaan pendapat tentang identitas pemimpin tidak melanggar keamanan dalam protokol ini, dalam Bullshark, itu dapat menyebabkan urutan yang sama sekali berbeda, yang mengarah pada inti masalah, yaitu memilih jangkar roda secara dinamis dan deterministik adalah penting untuk menyelesaikan konsensus, dan validator perlu mencapai kesepakatan tentang sejarah teratur untuk memilih jangkar masa depan.
Sebagai bukti tingkat kesulitan masalah, kami mencatat bahwa implementasi Bullshark, termasuk yang saat ini ada di lingkungan produksi, tidak mendukung fitur-fitur ini.
Protokol
Meskipun ada tantangan di atas, kenyataannya solusi tersembunyi dalam kesederhanaan.
Di Shoal, kami mengandalkan kemampuan untuk melakukan perhitungan lokal di atas DAG, dan mencapai kemampuan untuk menyimpan dan menginterpretasi kembali informasi dari beberapa putaran sebelumnya. Dengan semua validator yang setuju pada wawasan inti dari titik jangkar berurutan pertama, Shoal secara berurutan menggabungkan beberapa instance Bullshark untuk memprosesnya secara paralel, menjadikan ( titik perpindahan instance yang pertama kali berurutan, serta ) sejarah kausal dari titik jangkar digunakan untuk menghitung reputasi pemimpin.
( Pemrosesan aliran
V yang memetakan putaran ke pemimpin. Shoal menjalankan instance Bullshark satu per satu, sehingga untuk setiap instance, titik jangkar ditentukan sebelumnya oleh pemetaan F. Setiap instance mengurutkan satu titik jangkar, yang akan memicu peralihan ke instance berikutnya.
Pada awalnya, Shoal memulai instance pertama Bullshark di putaran pertama DAG dan menjalankannya sampai menentukan titik jangkar terurut pertama, seperti di 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 memulai instance Bullshark baru di putaran r+1.
Dalam skenario terbaik, ini memungkinkan Shoal untuk mengurutkan satu titik jangkar di setiap putaran. Titik jangkar putaran pertama diurutkan oleh instance pertama. Kemudian, Shoal memulai instance baru di putaran kedua, yang memiliki titik jangkar sendiri, yang diurutkan oleh instance tersebut, kemudian, instance baru lainnya mengurutkan titik jangkar di putaran ketiga, dan proses ini terus berlanjut.
![Penjelasan Detail tentang Kerangka Shoal: Bagaimana Mengurangi latensi Bullshark di Aptos?])https://img-cdn.gateio.im/webp-social/moments-9f789cb669f6fcc244ea7ff7648e48b4.webp(
) Reputasi Pemimpin
Selama periode pengurutan Bullshark, melewati titik jangkar akan meningkatkan latensi. Dalam kasus ini, teknik pemrosesan alur tidak dapat berfungsi, karena tidak mungkin memulai instance baru sebelum titik jangkar instance sebelumnya selesai diurutkan. 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 validasi berdasarkan sejarah aktivitas terbaru masing-masing node validasi menggunakan 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 tersebut adalah untuk secara deterministik menghitung kembali pemetaan yang telah ditentukan F dari putaran ke pemimpin setiap kali pembaruan skor terjadi, dengan mengutamakan pemimpin yang memiliki skor lebih tinggi. Agar para validator dapat mencapai konsensus pada pemetaan baru, mereka harus mencapai konsensus pada skor, sehingga mencapai kesepakatan terkait sejarah yang digunakan untuk menghasilkan skor.
Di Shoal, pemrosesan pipeline dan reputasi pemimpin dapat digabungkan secara alami, karena keduanya menggunakan teknologi inti yang sama, yaitu menafsirkan ulang DAG setelah mencapai konsensus pada titik jangkar terurut 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 instance baru Bullshark mulai dari putaran ke-r+1.
![Penjelasan Lengkap Kerangka Shoal: Bagaimana Mengurangi latensi Bullshark di Aptos?]###https://img-cdn.gateio.im/webp-social/moments-1baf540693f376d93cb18ef3193593cc.webp(
) Hapus waktu habis
Waktu habis memainkan peran penting dalam semua implementasi BFT sinkronisasi deterministik berbasis pemimpin. Namun, kompleksitas yang mereka perkenalkan meningkatkan jumlah keadaan internal yang perlu dikelola dan diamati, yang meningkatkan kompleksitas proses debugging dan memerlukan lebih banyak teknik observabilitas.
Timeout juga akan secara signifikan meningkatkan latensi