Kerangka Shoal secara signifikan menurunkan latensi konsensus Bullshark di Aptos

Kerangka Shoal: solusi baru untuk menurunkan 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 utilitas deterministik. Secara keseluruhan, dalam kondisi tanpa kesalahan, latensi Bullshark telah diperbaiki sebesar 40%, dan dalam kondisi dengan kesalahan, diperbaiki sebesar 80%.

Shoal adalah suatu mekanisme yang meningkatkan protokol konsensus berbasis Narwhal ( melalui pemrosesan pipelining dan mekanisme reputasi pemimpin seperti kerangka DAG-Rider, Tusk, Bullshark ). Pemrosesan pipelining mengurangi latensi urutan DAG dengan memperkenalkan titik jangkar di setiap putaran, sedangkan mekanisme reputasi pemimpin lebih lanjut memperbaiki masalah latensi dengan memastikan bahwa titik jangkar terkait dengan node validasi tercepat. Selain itu, reputasi pemimpin memungkinkan Shoal memanfaatkan pembangunan DAG asinkron untuk menghilangkan waktu habis di semua skenario. Ini memungkinkan Shoal untuk menawarkan atribut yang disebut "respon universal", yang mencakup respon optimis yang biasanya dibutuhkan.

Teknologi Shoal cukup sederhana, melibatkan menjalankan beberapa instance dari protokol dasar satu per satu secara berurutan. Oleh karena itu, ketika diinstansiasi dengan Bullshark, kita mendapatkan sekelompok "ikan hiu" yang melakukan perlombaan estafet.

Penjelasan Mendetail Kerangka Shoal: Bagaimana Mengurangi latensi Bullshark di Aptos?

Latar Belakang

Dalam mengejar kinerja tinggi jaringan blockchain, orang-orang selalu fokus pada pengurangan 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 kami 100k+ TPS.

Terobosan terbaru berasal dari pemahaman bahwa penyebaran data adalah hambatan utama yang didasarkan pada protokol pemimpin dan dapat mengambil 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.

Implementasi Narwhal kami Quorum Store memisahkan penyebaran data dan konsensus, digunakan untuk memperluas protokol konsensus saat ini Jolteon. Jolteon adalah protokol berbasis pemimpin, yang menggabungkan jalur cepat linier dari Tendermint dan perubahan pandangan gaya PBFT, dapat menurunkan latensi Hotstuff sebesar 33%. Namun, protokol konsensus berbasis pemimpin tidak dapat memanfaatkan potensi throughput Narwhal secara maksimal. Meskipun memisahkan penyebaran data dan konsensus, seiring dengan peningkatan throughput, pemimpin Hotstuff/Jolteon masih terbatasi.

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 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 dapat mengamati tampilan lokal DAG yang berbeda pada waktu yang berbeda.

Salah satu atribut kunci DAG tidak ambigu: jika dua node validasi memiliki simpul v yang sama dalam pandangan lokal DAG mereka, maka mereka memiliki sejarah kausal v yang sepenuhnya sama.

Penjelasan detail tentang kerangka Shoal: Bagaimana cara mengurangi latensi Bullshark di Aptos?

Pengantar

Konsensus dapat dicapai pada urutan total semua simpul dalam DAG tanpa biaya komunikasi tambahan. Untuk itu, validator dalam DAG-Rider, Tusk, dan Bullshark menginterpretasikan struktur DAG sebagai protokol konsensus, di mana simpul mewakili proposal dan sisi mewakili suara.

Meskipun logika interseksi kelompok pada struktur DAG berbeda, semua protokol konsensus berbasis Narwhal yang ada memiliki struktur berikut:

  1. Titik jangkar yang dijadwalkan: Setiap beberapa putaran akan ada seorang pemimpin yang ditentukan sebelumnya, dan puncak pemimpin tersebut disebut titik jangkar.

  2. Titik urut: validator secara independen namun deterministik menentukan titik urut mana yang akan diurutkan dan titik urut mana yang akan dilewati.

  3. Urutan sejarah kausal: Validator memproses daftar titik jangkar yang terurut satu per satu, untuk setiap titik jangkar, mengurutkan semua simpul tidak terurut sebelumnya dalam sejarah kausalnya melalui aturan deterministik.

Kunci untuk memenuhi keamanan adalah memastikan bahwa pada langkah (2), semua node validasi yang jujur membuat daftar anchor yang terurut, sehingga 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 yang terurut dalam DAG. Meskipun versi sinkron Bullshark yang paling praktis memiliki latensi yang lebih baik daripada versi asinkron, itu masih jauh dari yang optimal.

Pertanyaan 1: Rata-rata latensi blok. Di Bullshark, setiap putaran genap memiliki satu titik jangkar, dan setiap titik puncak pada putaran ganjil diartikan sebagai pemungutan 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 dalam putaran ganjil memerlukan tiga putaran, sementara titik puncak non-titik jangkar dalam putaran genap memerlukan empat putaran.

Masalah 2: Latensi kasus kegagalan, 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 di beberapa putaran sebelumnya harus menunggu titik jangkar berikutnya diurutkan. Ini akan secara signifikan menurunkan kinerja jaringan replikasi geografis, terutama karena Bullshark menggunakan waktu tunggu untuk menunggu pemimpin.

Penjelasan mendalam tentang kerangka Shoal: Bagaimana cara mengurangi latensi Bullshark di Aptos?

Kerangka Shoal

Shoal meningkatkan Bullshark( atau protokol BFT berbasis Narwhal lainnya) melalui pemrosesan saluran, 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 condong kepada pemimpin yang cepat.

Tantangan

Dalam konteks protokol DAG, pemrosesan pipeline dan reputasi pemimpin dianggap sebagai masalah yang sulit, alasannya sebagai berikut:

  1. Proses aliran sebelumnya mencoba mengubah logika inti Bullshark, tetapi pada dasarnya tampaknya tidak mungkin.

  2. Reputasi pemimpin diperkenalkan dalam DiemBFT dan diformalisasi dalam Carousel, yang merupakan pemilihan dinamis pemimpin masa depan berdasarkan kinerja masa lalu validator. Ide tentang jangkar dalam Bullshark adalah (. Meskipun adanya perbedaan dalam identitas pemimpin tidak melanggar keamanan dalam protokol ini, di Bullshark, itu 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 mengenai sejarah yang terurut untuk memilih jangkar masa depan.

Sebagai bukti tingkat kesulitan masalah, kami memperhatikan 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 bergantung pada kemampuan untuk melakukan perhitungan lokal di atas DAG, dan mewujudkan kemampuan untuk menyimpan dan menafsirkan kembali informasi dari putaran sebelumnya. Dengan semua validator yang setuju pada wawasan inti dari titik jangkar terurut pertama, Shoal menggabungkan beberapa instance Bullshark secara berurutan untuk memprosesnya secara paralel, sehingga ) titik jangkar terurut pertama adalah titik peralihan instance, serta ( sejarah kausal dari titik jangkar digunakan untuk menghitung reputasi pemimpin.

![Penjelasan Detail Kerangka Shoal: Bagaimana Mengurangi latensi Bullshark di Aptos?])https://img-cdn.gateio.im/webp-social/moments-46d37add0d9e81b2f295edf8eddd907f.webp(

Pemrosesan 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 mengurutkan sebuah jangkar, yang akan memicu peralihan ke instance berikutnya.

Pada awalnya, Shoal memulai instansi 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 kembali DAG mulai dari putaran r+1. Shoal hanya memulai instansi Bullshark baru di putaran r+1.

Dalam skenario terbaik, ini memungkinkan Shoal untuk mengurutkan sebuah jangkar di setiap putaran. Jangkar putaran pertama diurutkan berdasarkan instance pertama. Kemudian, Shoal memulai instance baru pada putaran kedua, yang memiliki jangkar sendiri, jangkar tersebut diurutkan oleh instance tersebut, kemudian, instance baru lainnya mengurutkan jangkar pada putaran ketiga, dan proses ini berlanjut.

![Penjelasan detail tentang kerangka Shoal: Bagaimana mengurangi latensi Bullshark di Aptos?])https://img-cdn.gateio.im/webp-social/moments-0b0928cb6240e994c1514c75e080a4b2.webp(

Reputasi Pemimpin

Selama periode pengurutan Bullshark, melompati titik jangkar akan meningkatkan latensi. Dalam kasus ini, teknik pemrosesan pipeline tidak dapat berfungsi, karena tidak mungkin memulai instans baru sebelum titik jangkar dari instans sebelumnya terurut. 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 menggunakan mekanisme reputasi. Validator yang merespons dan berpartisipasi dalam protokol akan mendapatkan skor tinggi, jika tidak, node validasi akan diberikan skor rendah, karena mungkin mengalami keruntuhan, lambat, atau berbuat jahat.

Ide dasarnya adalah untuk secara deterministik menghitung ulang pemetaan F yang telah ditentukan dari putaran ke pemimpin setiap kali skor diperbarui, yang menguntungkan pemimpin dengan skor lebih tinggi. Agar para validator mencapai konsensus pada pemetaan baru, mereka harus mencapai konsensus pada skor, sehingga mencapai konsensus dalam sejarah yang digunakan untuk menurunkan skor.

Dalam Shoal, pemrosesan aliran dan reputasi pemimpin dapat terintegrasi 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 pada putaran ke-r, validator hanya perlu menghitung pemetaan baru F' mulai 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 menerapkan instance baru Bullshark mulai dari putaran ke-(r+1).

![Penjelasan Detail Kerangka Shoal: Bagaimana Mengurangi latensi Bullshark di Aptos?])https://img-cdn.gateio.im/webp-social/moments-859e732e16c3eee0e2c93422474debc2.webp(

Tidak ada lebih banyak timeout

Timeout memainkan peran yang sangat penting dalam semua implementasi BFT deterministik berbasis pemimpin. 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 pengaturan yang tepat sangat penting dan sering kali memerlukan penyesuaian dinamis, karena sangat bergantung pada lingkungan ) jaringan (. Sebelum beralih ke pemimpin berikutnya, protokol akan membayar penalti keterlambatan penuh untuk pemimpin yang gagal. Oleh karena itu, pengaturan waktu habis tidak boleh terlalu konservatif, tetapi jika waktu habis terlalu pendek, protokol mungkin melewatkan pemimpin yang baik. Misalnya, kami mengamati bahwa dalam situasi beban tinggi, pemimpin di Jolteon/Hotstuff kewalahan dan waktu habis telah berakhir sebelum mereka mendorong kemajuan.

Sayangnya, protokol pemimpin ) seperti Hotstuff dan Jolteon( pada dasarnya memerlukan latensi, untuk memastikan setiap kali pemimpin mengalami kegagalan.

APT-0.11%
Lihat Asli
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.
  • Hadiah
  • 9
  • Bagikan
Komentar
0/400
ChainComedianvip
· 13jam yang lalu
latensi turun begitu banyak, rasanya bisa melakukan sesuatu yang besar
Lihat AsliBalas0
YouMustMakeBigMoneyEveryvip
· 07-19 04:14
melebihi so l
Lihat AsliBalas0
YouMustMakeBigMoneyEveryvip
· 07-19 04:14
Kuat HODL💎
Lihat AsliBalas0
VirtualRichDreamvip
· 07-19 03:33
latensi Drop begitu banyak aptos sudah berjalan
Lihat AsliBalas0
FOMOSapienvip
· 07-19 03:33
Mengurangi latensi tidak lebih baik daripada langsung A kepada presiden
Lihat AsliBalas0
BearEatsAllvip
· 07-19 03:30
aptos bisa lebih cepat? bull啊
Lihat AsliBalas0
PaperHandsCriminalvip
· 07-19 03:26
Setan tahu apa gunanya Drop latensi ini, tetap saja tidak bisa menghentikan saya dari play people for suckers.
Lihat AsliBalas0
ApeShotFirstvip
· 07-19 03:23
lagi naik tidak mati latensi jadi delisting
Lihat AsliBalas0
BlockchainFriesvip
· 07-19 03:15
Melihat latensi turun begitu banyak, mari beli posisi kecil dulu.
Lihat AsliBalas0
Lihat Lebih Banyak
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)