图片

Panggilan pembaruan adalah operasi inti dalam Protokol Komputer Internet yang memungkinkan pengguna membuat perubahan dalam kontainer (kontrak pintar yang dihosting di komputer Internet) Artikel ini mengeksplorasi setiap tahap siklus hidup panggilan pembaruan dan menyoroti Bagaimana pencapaian Tokamak mengoptimalkannya secara end-to-end latensi.

latar belakang

Untuk memahami sepenuhnya siklus hidup panggilan pembaruan, penting untuk memahami beberapa komponen dasar arsitektur komputer Internet.

1. Wadah

Kontainer adalah kontrak pintar di Internet Computer Protocol (ICP) yang digunakan untuk menyimpan status dan mengeksekusi kode. Pengguna berinteraksi dengan kontainer dengan mengirimkan panggilan pembaruan untuk memulai operasi pada kontrak pintar.

2. Subnet

Subnet adalah kelompok node yang mengelola dan mengelola kontainer, setiap subnet bertindak sebagai jaringan blockchain independen, memungkinkan ICP untuk melakukan skala dengan mendistribusikan beban di antara beberapa subnet, setiap subnet mengelola satu set kontainer unik, kontrak pintar di satu subnet dapat berkomunikasi dengan kontrak pintar lain di subnet lain dengan mengirimkan pesan.

3. Salinan

Di setiap subnet, node (disebut salinan) menyimpan kode dan data dari setiap kontainer di subnet tersebut, setiap salinan juga menjalankan kode kontainer, replikasi penyimpanan dan perhitungan ini memastikan ketahanan terhadap kesalahan, bahkan jika beberapa node gagal atau diserang oleh pelaku jahat, kontrak pintar kontainer dapat berfungsi dengan andal.

4. Node batas

Node batas bertanggung jawab untuk mengarahkan permintaan ke subnet yang sesuai dan menyeimbangkan beban antara salinan di dalam subnet tersebut.

Siklus hidup pemanggilan pembaruan

Gambar di bawah ini memberikan gambaran umum tentang siklus hidup pemanggilan pembaruan di protokol komputer internet:

图片

1. Komputer internet (IC) menerima pemberitahuan pembaruan

Pemanggilan pembaruan dimulai dari pengguna, pengguna mengirimkan permintaan menggunakan implementasi agen IC (misalnya agent-rs atau agent-js), pustaka ini menyediakan antarmuka ramah pengguna untuk berinteraksi dengan ICP, menangani format permintaan, tanda tangan, dan protokol komunikasi, kemudian, permintaan dikirim ke node batas, dipecahkan melalui DNS.

2. Rute melalui node batas

Node batas mengarahkan pemanggilan pembaruan ke salinan di dalam subnet yang mengelola kontainer target, metode pemilihan siklis mendistribusikan beban permintaan ke F+1 salinan untuk memastikan kinerja dan keandalan, di sini, F menunjukkan ambang toleransi kesalahan ICP - jumlah maksimum salinan yang dapat ditoleransi yang dapat gagal di setiap subnet, untuk informasi lebih lanjut tentang toleransi kesalahan komputer internet, silakan lihat tautan ini:

  • internetcomputer.org/how-it-works/fault-tolerance

3. Siaran pemanggilan pembaruan

Setelah salinan menerima pemanggilan pembaruan, ia akan menggunakan primitif siaran yang dapat dihentikan untuk menyiarkan permintaan ke salinan lain di subnet, bahkan dalam situasi kemacetan jaringan, peer atau kegagalan tautan dan tekanan balik, pendekatan ini memastikan jaminan pengiriman yang kuat.

Siaran yang dapat dihentikan sangat penting untuk komunikasi antar salinan yang efisien dalam lingkungan toleransi kesalahan Bizantium (BFT), menghemat bandwidth, memastikan semua struktur data tetap terbatasi bahkan dalam situasi di mana ada peer yang berbahaya, dan menjaga komunikasi yang andal untuk pemrosesan pembaruan yang konsisten di dalam ICP, untuk informasi lebih lanjut, Anda dapat merujuk pada makalah yang menjelaskan solusi siaran yang dapat dihentikan di sini:

  • arxiv.org/abs/2410.22080

4. Usulan blok (pembuatan blok)

Satu salinan (ditunjuk sebagai pembuat blok) bertanggung jawab untuk membuat blok baru yang berisi pemanggilan pembaruan, kemudian, pembuat blok tersebut menyerahkan blok tersebut ke salinan lain di subnet untuk diproses.

Langkah 4 hingga langkah 7 membentuk fase konsensus di komputer internet, di mana salinan bekerja sama untuk mencapai kesepakatan tentang blok yang diusulkan, penjelasan rinci tentang mekanisme konsensus dapat dibaca lebih lanjut di sini:

  • internetcomputer.org/how-it-works/consensus

5. Penundaan notaris

Memperkenalkan penundaan singkat yang disebut penundaan notaris untuk menyinkronkan jaringan dan memberi semua salinan waktu untuk menerima usulan blok, penundaan ini sangat penting untuk menjaga konsistensi antara salinan.

6. Notaris

Dalam fase notaris, salinan meninjau validitas blok yang diusulkan dan menyetujui untuk menotariskan, notaris adalah langkah awal konsensus yang menunjukkan bahwa blok memenuhi standar ICP.

7. Menyelesaikan

Setelah dinotariskan, blok akan melalui konfirmasi akhir - semua salinan di subnet setuju pada validitasnya, memastikan bahwa ia diterima dan ditambahkan ke rantai, konfirmasi akhir memastikan bahwa semua node mengonfirmasi blok tersebut, sehingga memastikan konsensus di seluruh jaringan.

8. Eksekusi

Setelah selesai, blok akan memasuki fase eksekusi, di mana status kontainer akan diperbarui sesuai dengan pemanggilan pembaruan, ada beberapa faktor yang mempengaruhi penundaan fase ini, termasuk:

  • Kompleksitas kode kontainer: Kompleksitas kode kontainer secara langsung mempengaruhi kecepatan eksekusi, logika yang lebih kompleks atau operasi yang padat data dapat menyebabkan penundaan tambahan;

  • Beban subnet: Karena setiap subnet menampung beberapa kontainer, sumber daya eksekusi dibagikan, beban subnet yang terlalu tinggi dapat meningkatkan penundaan karena kontainer bersaing untuk sumber daya komputasi.

Berdasarkan aktivitas subnet, bahkan operasi sederhana dapat mengalami penundaan, selama periode penggunaan puncak, pemanggilan pembaruan dapat mengalami penundaan saat menunggu sumber daya.

9. Berbagi otentikasi

Setelah dieksekusi, salinan akan berbagi informasi otentikasi di dalam subnet, memverifikasi apakah pemanggilan pembaruan dieksekusi dengan benar dan apakah perubahan status yang dihasilkan konsisten.

10. Salinan merespons dengan sertifikat

Setelah otentikasi, salinan mengirimkan respons berisi sertifikat ke node batas, menandakan bahwa pemanggilan pembaruan telah berhasil diselesaikan.

11. Node batas menyampaikan respons

Akhirnya, node batas menyampaikan respons yang terautentikasi kepada pengguna, menandai akhir siklus hidup pemanggilan pembaruan.

Tonggak Sejarah Tokamak

Proses siklus hidup pemanggilan pembaruan yang dijelaskan di atas diperkuat secara signifikan oleh tonggak sejarah Tokamak, yang memperkenalkan beberapa perbaikan kunci untuk komputer internet:

  • Siaran yang dapat dihentikan melalui QUIC: Primitif siaran yang dapat dihentikan yang diimplementasikan di atas protokol QUIC sekarang mengelola semua komunikasi antar salinan, memberikan pengiriman pesan yang dapat diandalkan dan efisien di jaringan, solusi ini dapat secara signifikan mengurangi penundaan notaris, mempercepat konsensus tanpa mengorbankan keandalan.

  • Pengaturan rute node batas yang ditingkatkan: Logika rute yang ditingkatkan dalam node batas mengoptimalkan alokasi pemanggilan pembaruan ke salinan, seperti yang ditunjukkan pada fase kedua siklus hidup.

  • Pemanggilan pembaruan sinkron: Memperkenalkan pemanggilan pembaruan sinkron memungkinkan respons langsung kepada pengguna segera setelah otentikasi, menyederhanakan dan mempercepat fase akhir siklus hidup.

Kemajuan ini secara kolektif meningkatkan efisiensi, kecepatan, dan keandalan pemanggilan pembaruan komputer internet, menciptakan pengalaman pengguna yang lebih mulus dan protokol yang lebih kuat.

Faktor kunci yang mempengaruhi keterlambatan pemanggilan pembaruan

Keterlambatan end-to-end dari komputer internet dipengaruhi oleh beberapa faktor utama:

  • Topologi subnet: Tata letak fisik dan jaringan dari subnet dapat mempengaruhi waktu perjalanan bolak-balik (RTT) antara salinan, RTT yang lebih pendek membantu mempercepat komunikasi, sedangkan jarak geografis antara salinan yang lebih besar meningkatkan penundaan.

  • Beban subnet: Jumlah kontainer di subnet dan jumlah pesan yang diproses akan mempengaruhi penundaan, karena IC beroperasi sebagai infrastruktur bersama, kontainer yang terletak di subnet dengan beban berat mungkin mengalami penundaan lebih tinggi karena permintaan untuk sumber daya yang sama.

  • Arsitektur pipeline: Arsitektur ICP dirancang untuk memaksimalkan throughput melalui fase konsensus dan eksekusi pipeline, desain ini memungkinkan beberapa proses berjalan secara bersamaan, tetapi membawa trade-off - meskipun throughput meningkat, setiap fase dalam pipeline mungkin mengalami penundaan tambahan saat menunggu fase sebelumnya selesai.

Desain ICP memprioritaskan throughput tinggi dan skalabilitas, menyeimbangkan antara kebutuhan tersebut dengan trade-off kinerja yang melekat dalam jaringan terdistribusi dan terdesentralisasi.

Referensi ICP Sebelum dan Sesudah Tokamak

Untuk mengukur dampak tonggak sejarah Tokamak, kami mengukur keterlambatan end-to-end (E2E) dari tiga kontrak pintar yang berbeda yang dikelola di ICP, sebagai tolok ukur, kami melakukan pengujian sebelum peluncuran tonggak sejarah Tokamak, lalu mengulangi pengujian setelah tonggak sejarah selesai untuk perbandingan.

Hasilnya sangat menggembirakan, menunjukkan bahwa pengguna dapat mengharapkan penundaan yang lebih rendah di masa depan untuk ICP, yang akan memberikan pengalaman pengguna yang lebih baik.

Untuk setiap kasus uji yang kami lakukan, kami melampirkan tabel dan grafik untuk menunjukkan keterlambatan E2E dari 0-99,99 persentil.

Buku besar ICP

Buku besar ICP adalah kontrak pintar yang dikelola di subnet NNS, berfungsi sebagai buku besar untuk token ICP, pengguna dapat berinteraksi dengan buku besar melalui berbagai cara, tetapi dapp dan frontend yang paling populer adalah dapp NNS, yang juga dikelola di subnet NNS.

Kami melakukan pengujian secara berkesinambungan selama beberapa hari, selama waktu itu kami secara berulang mengirimkan token ICP dan mencatat waktu yang diperlukan dari pengajuan transaksi hingga menerima respons dari ICP (serta sertifikat yang membuktikan token telah dikirim), rata-rata penundaan berkurang dari 4,57 detik menjadi 2,23 detik, pengurangan sebesar 51%.

图片
Gambar 1
图片
Tabel 1

Identitas Internet

Dapp identitas internet dikelola di subnet identitas internet, adalah layanan otentikasi bersama yang berjalan di komputer internet, jika Anda pernah berinteraksi dengan dapp di ICP, maka Anda mungkin telah menghabiskan waktu menggunakan identitas internet untuk masuk, pengujian ini mengukur waktu yang diperlukan untuk login menggunakan layanan identitas internet.

Hasil kami menunjukkan bahwa rata-rata penundaan waktu login berkurang dari 7,12 detik menjadi 3,9 detik, pengurangan sebesar 45,2%! Gambar 2 di bawah menunjukkan hasil sebelum dan sesudah untuk berbagai persentil, yang menunjukkan bahwa untuk persentil ke-50, yaitu median, waktu login berkurang dari 6,9 detik menjadi 3,2 detik.

Area ungu menyoroti waktu yang dihemat untuk setiap persentil, Anda juga dapat melihat Tabel 2 untuk hasil yang lebih rinci dari setiap persentil.

图片
Gambar 2
图片
Tabel 2

Subnet aplikasi

Kami memiliki satu kontainer yang dikelola di subnet aplikasi snjp yang terdiri dari 13 node, subnet ini memungkinkan kami untuk menguji perbaikan subnet aplikasi 13 node setelah tonggak sejarah Tokamak, pengujian kami menunjukkan bahwa rata-rata keterlambatan E2E berkurang dari 2,43 detik menjadi 1,35 detik, yang berarti pengurangan sekitar 44%.

图片
Gambar 3
图片
Tabel 3


#ICP🚀🚀 #DFINITY

Konten IC yang Anda pedulikan

Kemajuan Teknologi | Informasi Proyek | Aktivitas Global

Ikuti saluran Binance IC

Tetap terinformasi