Arsitektur Harmoni 2023
Perkenalan
Harmony adalah blockchain yang dirancang untuk menyediakan infrastruktur yang cepat, aman, dan dapat diskalakan. Artikel ini akan membahas keadaan saat ini dan rencana untuk arsitektur Harmony.
Node Penuh RPC
Node penuh RPC berfungsi sebagai titik masuk ke jaringan Harmony. Mereka menangani permintaan untuk menanyakan informasi di blockchain atau memproses transaksi. Pada tahun 2020, Harmony bertransisi dari node RPC asli ke klaster RPC elastis untuk menangani peningkatan volume permintaan RPC. Transisi ini dilakukan untuk meningkatkan performa dan skalabilitas jaringan. Namun, sekarang jumlah lalu lintas telah menurun, kami telah beralih kembali ke node RPC lama.
Motif transisi ini adalah untuk mencegah pemborosan sumber daya dan biaya tambahan. Kami telah sepenuhnya menghentikan cluster ERPC kami dan telah menyiapkan node yang diperlukan untuk menangani permintaan RPC dengan benar. Harmony saat ini memiliki tiga node penuh yang digunakan sepenuhnya dalam melayani permintaan.
Harmony akan terus memantau kesehatan dan lalu lintas node RPC. Jika terjadi lebih banyak atau lebih sedikit lalu lintas, tim akan menskalakan node untuk ketahanan jaringan. Tujuan akhir Harmony adalah untuk menskalakan jaringan menggunakan klien ringan bersama node penuh. Untuk informasi detail mengenai klien ringan, silakan lihat artikel berikut:
Node Validator Internal
Simpul pemimpin bertanggung jawab untuk membangun blok baru dan menyiarkannya ke validator. Node validator memverifikasi validitas blok untuk memastikan bahwa blok dari pemimpin jahat tidak ditambahkan ke rantai. Saat ini, pemimpin dipilih dari dua puluh node validator internal yang dihosting oleh Harmony (lima node validator per shard). Setiap node validator masing-masing berisi lima kunci BLS, dengan total dua puluh lima kunci BLS per pecahan. Kunci-kunci ini adalah identitas sebenarnya yang dipilih sebagai pemimpin.
Saat ini, hanya validator internal yang dipertimbangkan saat memilih leader untuk setiap shard. Untuk memastikan kelangsungan jaringan, jika seorang pemimpin tidak sepenuhnya berfungsi, perubahan pandangan akan dilakukan dan pemimpin lain akan dipilih. Mengakhiri sepenuhnya semua validator internal tidak dapat dilakukan saat ini karena tidak akan ada calon pemimpin yang memungkinkan untuk menghasilkan blok. Memperkenalkan validator eksternal sebagai kandidat pemimpin yang memungkinkan adalah fitur yang Harmony sedang kembangkan dan rencanakan selesai pada Q1 tahun 2023. Setelah selesai, validator eksternal akan menjadi bagian dari proses rotasi pemimpin, yang memungkinkan komunitas memainkan peran yang lebih aktif dalam validasi blok.
Rencana Harmony adalah untuk sepenuhnya mengeksternalisasi slot pemungutan suara karena tujuan akhir kami adalah jaringan yang sepenuhnya terdesentralisasi. Rencananya adalah sebagai berikut:
Tata kelola untuk tahapan terminasi yang terjadi saat ini: HIP-29 . Jika tata kelola disetujui, dua node akan dihentikan per shard, sehingga menjadi tiga node per shard. Setiap node akan memiliki satu slot lebih sedikit sehingga empat slot per node dan dua belas slot per pecahan. Setelah perubahan diterapkan, jaringan akan meningkatkan kekuatan pemungutan suara eksternal.
Harmony telah menerapkan berbagai tindakan untuk memastikan stabilitas dan ketersediaan jaringan, termasuk penggunaan mekanisme konsensus ganda (FBFT dan EPoS), mekanisme failover otomatis, dan sistem pemantauan dan peringatan waktu nyata. Ini sudah menjamin kekokohan jaringan kami, namun karena jaringan menjadi lebih terdesentralisasi, ketergantungan pada komunitas validator eksternal pasti akan tumbuh. Harmony akan terus berkoordinasi dengan masyarakat untuk lebih memastikan ketahanan jaringan.
Beberapa tahapan akan memungkinkan Harmony untuk bekerja sama dengan komunitas dalam menemukan solusi yang kuat untuk jaringan yang terdesentralisasi dan aman.
Kepedulian terhadap Sentralisasi
Meskipun tidak khusus untuk proposal HIP-29, ada satu kekhawatiran yang perlu kami tangani saat kekuatan pemungutan suara eksternal semakin besar: sentralisasi. Meningkatkan kekuatan pemungutan suara eksternal juga dapat meningkatkan sentralisasi jaringan karena pemangku kepentingan yang lebih besar mungkin dapat menyerap jatah pemungutan suara. Jumlah peserta yang lebih kecil dengan taruhan yang lebih besar mungkin memiliki pengaruh lebih besar terhadap keputusan jaringan.
Sebelumnya, hard fork diterapkan untuk membatasi kunci BLS per pecahan. Motivasinya adalah untuk mencegah kemungkinan pecahan diambil alih oleh sekelompok kecil validator yang nakal. Setiap validator akan memiliki batasan jumlah kunci yang mereka miliki per pecahan.
Terlepas dari itu, ada lebih banyak langkah yang perlu diambil Harmony untuk mendorong lebih jauh ke arah desentralisasi. Ada beberapa usulan, seperti membatasi jumlah total kunci per validator, membatasi jumlah hadiah per validator, dan membatasi jumlah maksimum yang dapat didelegasikan oleh "paus" per validator. Perhatikan bahwa ini hanyalah proposal yang mungkin atau mungkin tidak diterapkan. Terlepas dari itu, Harmony akan bekerja dengan masyarakat untuk mencari pendekatan yang paling tepat untuk mencapai desentralisasi. Harmony akan memberikan pembaruan lebih lanjut tentang penanganan masalah sentralisasi.
Node boot
Bootnodes bertanggung jawab untuk bootstrap node dalam jaringan. Ketika node baru diperkenalkan ke jaringan, bootnode menyediakan satu set node untuk disinkronkan dengan node baru. Sinkronisasi akan dilakukan dengan cara peer-to-peer. Ini akan memungkinkan node baru memiliki data yang diperlukan untuk berpartisipasi dalam jaringan.
Harmony saat ini menampung empat bootnodes. Bootnodes relatif lebih murah daripada layanan lain karena instans ringan dapat menangani fungsionalitasnya. Harmony berencana untuk sepenuhnya mengeksternalisasi semua layanan tetapi untuk saat ini, bootnode adalah layanan penting yang harus menjadi bagian dari jaringan kami.
Node DNS (Sinkronisasi).
Node DNS adalah solusi lain untuk menyinkronkan node. Mereka adalah node penuh yang ditetapkan Harmony untuk menangani sinkronisasi. Jika node tidak ingin melakukan sinkronisasi dari peer yang di-bootstrap oleh bootnodes, mereka dapat melakukan sinkronisasi dari node DNS yang dijalankan oleh Harmony. Interaksi antara node DNS dan node yang memerlukan sinkronisasi serupa dengan model server dan klien. Mereka tidak berkomunikasi satu sama lain. Sebaliknya, node baru memanggil node DNS dan mereka hanya merespons dengan data yang sesuai.
Mempertahankan node DNS mahal karena persyaratan bandwidth tinggi dan penyimpanan besar. Untuk mengoptimalkan infrastruktur dan biaya kami, Harmony berencana menghentikan node DNS dan mengoperasikan fungsi sinkronisasi dalam bentuk yang berbeda: sinkronisasi streaming.
Sinkronisasi Aliran
Node harus sinkron dengan keadaan terbaru dari jaringan blockchain. Karena alasan ini, sinkronisasi aliran diimplementasikan sebagai metode baru untuk node Harmony untuk menyinkronkan statusnya di antara node.
Sinkronisasi aliran melibatkan serangkaian langkah yang diikuti setiap node untuk memastikan statusnya mutakhir. Pertama, node menemukan satu set node tetangga selama proses bootstrap. Node menggunakan pengelola koneksi untuk mengelola semua koneksi ini. Kemudian, node akan membuat saluran aliran untuk setiap tetangga melalui pengelola aliran. Setelah saluran aliran dibuat, node dapat mulai menyinkronkan statusnya.
Node dimulai dengan meminta setiap tetangga untuk tinggi blok mereka saat ini melalui manajer permintaan. Setelah permintaan dipenuhi, node dapat menghitung ketinggian blok maksimum. Dengan ketinggian blok maksimum, node kemudian meminta setiap tetangga untuk berbagi bagian dari status mereka. Proses berbagi berlanjut hingga node mengambil semua status hingga blok saat ini.
Sinkronisasi aliran harmoni menggunakan ID unik untuk mengidentifikasi node dalam pecahan yang sama. Node dalam rantai non-beacon menggunakan pengunduh untuk mengambil blok terakhir dari setiap zaman dari rantai beacon. Blok ini sangat penting untuk node dalam rantai non-beacon karena memungkinkan pengambilan status shard dan daftar komite.
Manfaat sinkronisasi aliran adalah menyediakan waktu sinkronisasi status yang lebih cepat dengan bandwidth jaringan minimal. Proses ini juga membuat seluruh jaringan lebih terdesentralisasi karena node tidak akan bergantung pada kumpulan node yang ditunjuk. Sebaliknya, node dapat disinkronkan dari siapa pun dalam pecahan yang sama. Sinkronisasi aliran pada akhirnya dapat dilihat sebagai peningkatan tidak hanya untuk sinkronisasi peer-to-peer tradisional tetapi juga sinkronisasi DNS. Ini menghilangkan ketergantungan pada node DNS dan menghilangkan kelebihan beban tinggi pada beberapa node sinkronisasi yang ditunjuk. Sinkronisasi aliran direncanakan untuk dirilis pada Q1 tahun 2023 dan setelah fitur berfungsi penuh, Harmony akan menghentikan node DNS.
Node Cuplikan
Node snapshot digunakan untuk menyimpan cadangan database. Node snapshot mengulangi proses sinkronisasi dan pengambilan snapshot dalam penyimpanan terdesentralisasi, Storj. Snapshot akan memungkinkan node baru untuk secara efisien mengejar keadaan jaringan saat ini.
Tanpa node snapshot, node baru harus menyinkronkan semua data dari node peer lain atau node DNS. Namun, karena jumlah data yang sangat besar, proses sinkronisasi akan memakan waktu yang tidak masuk akal dan membebani kedua node. Untuk menghindari kerumitan ini, node baru pertama-tama akan mendapatkan data dari node snapshot. Setelah sinkronisasi dari node snapshot selesai, node baru kemudian dapat menyinkronkan sisa data dari node penuh lainnya, baik peer atau node DNS. Ini akan membongkar jumlah data untuk node penuh lainnya dan membuat jaringan menjadi efisien secara keseluruhan.
Harmony saat ini mengoperasikan satu snapshot node per shard, menjadikannya empat layanan dalam Mainnet kami. Node snapshot hanya dapat dihentikan jika sinkronisasi Harmony cukup cepat. Sampai saat itu, layanan akan dioperasikan untuk memastikan kenyamanan jaringan.
Node Arsip
Node arsip berisi semua data dari blockchain Harmony. Saat ini, satu node arsip di shard 0 berisi 22TB data. Memutar node arsip baru akan memakan waktu sekitar tiga minggu atau lebih tergantung pada konektivitas node. Karena ukurannya yang sangat besar, sangat penting bagi kami untuk menjaga salinan yang bersih.
Harmony saat ini memelihara tiga node arsip. Tujuan redundansi adalah untuk mencegah satu titik kegagalan. Misalnya, jika satu node arsip tidak berfungsi dan memerlukan penyiapan baru, arsip lain akan sibuk menyinkronkan yang tidak berfungsi. Pada tahap itu, hanya satu node arsip yang akan tersedia untuk menangani permintaan eksternal. Untuk mencegah penghentian jaringan, Harmony memelihara lebih dari dua node arsip.
Pada kondisi Harmony saat ini, tiga node arsip cukup untuk menangani lalu lintas dan menyediakan ketahanan jaringan. Jika diperlukan lebih banyak permintaan, Harmony akan menskalakan node arsip untuk memenuhi kebutuhan jaringan.
Kesimpulan
Fokus Harmony adalah membuat kemajuan substansial dan perubahan yang sesuai dalam infrastruktur kami. Kami berharap dapat menyaksikan dampak yang akan mereka bawa ke jaringan kami. Nantikan pembaruan infrastruktur dan protokol lainnya!

![Apa itu Linked List? [Bagian 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































