Optimasi kerangka Shoal DAG Konsensus secara signifikan Drop latensi Bullshark di Aptos

Optimasi DAG Konsensus: Bagaimana Kerangka Shoal 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 asinkron deterministik. Secara keseluruhan, kerangka Shoal memperbaiki latensi Bullshark sebesar 40% dalam kondisi tanpa kesalahan, dan 80% dalam kondisi dengan kesalahan.

Shoal adalah sebuah protokol yang memperkuat konsensus berbasis Narwhal ( melalui pipeline dan reputasi pemimpin seperti kerangka DAG-Rider, Tusk, Bullshark ). Pipeline mengurangi latensi pengurutan DAG dengan memperkenalkan sebuah titik jangkar di setiap putaran, sementara reputasi pemimpin lebih lanjut meningkatkan latensi dengan memastikan titik jangkar terhubung dengan node validasi tercepat. Selain itu, reputasi pemimpin memungkinkan Shoal untuk memanfaatkan konstruksi DAG asinkron untuk menghilangkan timeout di semua skenario. Ini memungkinkan Shoal untuk memberikan responsivitas universal, mencakup responsivitas optimis yang biasanya diperlukan.

Teknologi Shoal relatif sederhana, melibatkan beberapa instance dari protokol dasar yang dijalankan secara berurutan. Ketika menggunakan Bullshark untuk menginstansiasi, kami mendapatkan sekelompok "ikan hiu" yang sedang melakukan estafet.

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

Motivasi

Dalam mengejar kinerja tinggi jaringan blockchain, orang-orang selalu memperhatikan latensi 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 100k+ TPS.

Pecahan terbaru berasal dari pemahaman bahwa penyebaran data merupakan kendala utama yang berbasis pada konsensus pemimpin, dan dapat diuntungkan dari paralelisasi. Sistem Narwhal memisahkan penyebaran data dari logika konsensus inti, mengusulkan sebuah arsitektur di mana semua validator secara bersamaan menyebarkan data, sementara komponen konsensus hanya mengurutkan sedikit metadata. Makalah Narwhal melaporkan throughput 160.000 TPS.

Dalam artikel sebelumnya, kami memperkenalkan Quorum Store. Implementasi Narwhal kami memisahkan penyebaran data dari konsensus, serta cara 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 mengurangi latensi Hotstuff sebesar 33%. Namun, protokol konsensus berbasis pemimpin jelas tidak dapat memanfaatkan potensi throughput Narwhal secara maksimal. Meskipun penyebaran data dipisahkan dari konsensus, seiring dengan meningkatnya 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 menurunkan latensi Bullshark.

Latar Belakang DAG-BFT

Setiap simpul dalam Narwhal DAG terkait dengan suatu putaran. Untuk memasuki 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 merujuk pada n-f simpul dari putaran sebelumnya. Karena asinkronitas jaringan, validator yang berbeda mungkin mengamati tampilan lokal DAG yang berbeda pada titik waktu tertentu.

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

Penjelasan lengkap Shoal Framework: Bagaimana mengurangi latensi Bullshark di Aptos?

Urutan Lengkap

Dapat mencapai konsensus total pada 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 tepi mewakili suara.

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

  1. Titik jangkar yang dijadwalkan: Setiap beberapa putaran, akan ada seorang pemimpin yang telah ditentukan sebelumnya, yang puncaknya disebut titik jangkar.

  2. Titik urut: Validator secara independen tetapi dengan kepastian menentukan urutan titik mana yang akan diurutkan dan titik mana yang akan dilewati.

  3. Mengurutkan sejarah kausal: Validator memproses daftar titik jangkar yang terurut satu per satu, mengurutkan semua simpul tidak terurut sebelumnya dalam sejarah kausal setiap titik jangkar.

Kunci untuk memenuhi keamanan adalah memastikan bahwa di langkah (2), semua node verifikasi yang jujur membuat daftar titik jangkar yang terurut dengan awalan yang sama. Di Shoal, kami membuat pengamatan berikut tentang semua protokol ini:

Semua validator setuju pada titik jangkar terurut pertama.

Bullsharklatensi

Latensi Bullshark tergantung pada jumlah putaran antara titik jangkar berurutan dalam DAG. Meskipun versi sinkronisasi Bullshark yang paling praktis memiliki latensi yang lebih baik dibandingkan dengan versi asinkron, itu jauh dari optimal.

Pertanyaan 1: Rata-rata latensi blok. Dalam Bullshark, setiap putaran genap memiliki satu titik jangkar, sedangkan puncak pada setiap putaran ganjil dijelaskan 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. Biasanya, puncak dalam putaran ganjil memerlukan tiga putaran, sedangkan puncak non-titik jangkar dalam putaran genap memerlukan empat putaran.

Masalah 2: Situasi gangguan latensi. Jika pemimpin satu putaran tidak cukup cepat untuk menyiarkan titik jangkar, maka titik jangkar tidak dapat diurutkan ( sehingga dilewati ), semua simpul yang belum diurutkan dari 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 pemimpin.

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

Kerangka Shoal

Shoal meningkatkan Bullshark( atau protokol BFT berbasis Narwhal lainnya) melalui jalur aliran, memungkinkan setiap putaran memiliki satu titik jangkar, dan mengurangi latensi semua vertex non-jangkar di DAG menjadi tiga putaran. Shoal juga memperkenalkan mekanisme reputasi pemimpin tanpa biaya di DAG, yang membuat pemilihan condong ke pemimpin yang cepat.

Tantangan

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

  1. Upaya sebelumnya untuk memodifikasi logika inti Bullshark pada jalur produksi tampaknya pada dasarnya tidak mungkin.

  2. Reputasi pemimpin diperkenalkan dalam DiemBFT dan dipformalisasi dalam Carousel, berdasarkan kinerja masa lalu validator untuk memilih pemimpin masa depan secara dinamis dalam (Bullshark dengan ide bahwa ) adalah jangkar. Meskipun perbedaan identitas pemimpin tidak melanggar keamanan protokol ini, hal ini dapat menyebabkan urutan yang sangat berbeda dalam Bullshark, yang memunculkan inti masalah: memilih jangkar secara dinamis dan deterministik adalah perlu untuk menyelesaikan Konsensus, sementara validator perlu mencapai kesepakatan tentang sejarah yang terurut untuk memilih jangkar masa depan.

Sebagai bukti tingkat kesulitan masalah, kami mencatat bahwa implementasi Bullshark, termasuk implementasi 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 DAG, dan kami telah mewujudkan kemampuan untuk menyimpan dan menginterpretasikan ulang 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 pemrosesan jalur, menjadikan ( titik pergantian instance dari titik jangkar berurutan pertama, serta ) sejarah kausal dari titik jangkar digunakan untuk menghitung reputasi pemimpin.

Penjelasan detail Shoal Framework: Bagaimana mengurangi latensi Bullshark di Aptos?

Jalur Aliran

V yang memetakan putaran ke pemimpin. Shoal menjalankan instance Bullshark satu per satu, sehingga untuk setiap instance, anchor ditentukan sebelumnya oleh pemetaan F. Setiap instance mengurutkan satu anchor, memicu peralihan ke instance berikutnya.

Awalnya, Shoal memulai instance pertama Bullshark di putaran pertama DAG dan berjalan sampai titik jangkar berurutan pertama ditentukan, misalnya 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 instance Bullshark baru di putaran r+1.

Dalam kondisi terbaik, ini memungkinkan Shoal untuk mengurutkan satu jangkar setiap putaran. Jangkar putaran pertama diurutkan oleh instance pertama. Kemudian, Shoal memulai instance baru pada putaran kedua, yang memiliki jangkar sendiri, jangkar tersebut diurutkan oleh instance tersebut, lalu instance baru lainnya mengurutkan jangkar pada putaran ketiga, setelah itu proses berlanjut.

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

Reputasi Pemimpin

Selama periode pengurutan Bullshark, melewati titik jangkar akan meningkatkan latensi. Dalam hal ini, teknologi pipeline tidak dapat berfungsi, karena tidak mungkin memulai instance baru sebelum pengurutan titik jangkar dari instance sebelumnya. Shoal memastikan bahwa pemimpin yang sesuai untuk menangani titik jangkar yang hilang kemungkinan besar tidak akan dipilih di masa depan dengan menggunakan mekanisme reputasi untuk memberikan skor kepada setiap node validasi berdasarkan sejarah aktivitas terbaru masing-masing node validasi. Validator yang merespons dan berpartisipasi dalam protokol akan mendapatkan skor tinggi, jika tidak, node validasi akan diberikan skor rendah, karena mungkin mengalami kegagalan, lambat, atau berbuat jahat.

Ideanya adalah untuk menghitung kembali pemetaan F yang sudah ditentukan dari putaran ke pemimpin secara deterministik setiap kali ada pembaruan skor, dengan mengutamakan pemimpin yang memiliki skor lebih tinggi. Agar para validator mencapai konsensus pada pemetaan baru, mereka harus mencapai kesepakatan pada skor, sehingga mencapai konsensus pada sejarah yang digunakan untuk menghasilkan skor.

Dalam Shoal, pipeline dan reputasi pemimpin dapat terintegrasi secara alami, karena keduanya menggunakan teknologi inti yang sama, yaitu menafsirkan kembali DAG setelah mencapai konsensus pada titik jangkar terurut pertama.

Sebenarnya, satu-satunya perbedaan adalah, setelah pengurutan titik jangkar di putaran ke-r, validator hanya perlu menghitung pemetaan baru F' mulai dari putaran ke-r+1 berdasarkan sejarah kausal titik jangkar terurut di 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.

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

Tidak ada lagi batas waktu

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 yang signifikan juga akan meningkat karena pengaturan yang tepat sangat penting dan biasanya 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 akan melewatkan pemimpin yang baik. Misalnya, kami mengamati bahwa, dalam keadaan beban tinggi, pemimpin dalam Jolteon/Hotstuff terbebani, dan waktu habis sudah berakhir sebelum mereka mendorong kemajuan.

Sayangnya, protokol berbasis pemimpin ( seperti Hotstuff dan Jolteon ) pada dasarnya memerlukan latensi, untuk memastikan bahwa setiap kali pemimpin mengalami kegagalan, protokol dapat terus maju. Jika tidak ada latensi, bahkan pemimpin yang gagal pun dapat menghentikan protokol selamanya. Karena tidak dapat membedakan antara pemimpin yang gagal dan pemimpin yang lambat selama periode asinkron, latensi dapat menyebabkan node verifikasi melihat perubahan semua pemimpin tanpa aktifitas konsensus.

Dalam Bullshark, waktu habis digunakan untuk konstruksi DAG, untuk memastikan bahwa pemimpin yang jujur menambahkan titik jangkar selama periode sinkronisasi

DAG-0.5%
APT3.57%
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
  • 6
  • Posting ulang
  • Bagikan
Komentar
0/400
GateUser-c799715cvip
· 17jam yang lalu
Peningkatan kinerja cukup baik~
Lihat AsliBalas0
AllInAlicevip
· 19jam yang lalu
adalah orang yang tegas 40% menurunkan latensi
Lihat AsliBalas0
0xSherlockvip
· 19jam yang lalu
latensi ini bisa diproses sedikit keren
Lihat AsliBalas0
BrokenYieldvip
· 19jam yang lalu
meh, "optimasi" lain yang mungkin akan menciptakan lebih banyak risiko sistemik daripada yang diselesaikannya... smart money sudah melakukan hedging terhadap ini
Lihat AsliBalas0
FromMinerToFarmervip
· 19jam yang lalu
80% Bagus sekali, benar-benar hebat
Lihat AsliBalas0
BearMarketBardvip
· 19jam yang lalu
Kemajuan yang luar biasa, ini sudah To da moon.
Lihat AsliBalas0
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)