🇮🇩 Blog IOHK: Ouroboros Genesis: meningkatkan keamanan di lingkungan yang dinamis

Versi dokumen orisinil: Ouroboros Genesis: enhanced security in a dynamic environment
Dipublikasikan pada tanggal 09 Februari 2023
Ditulis oleh Christian Badertscher
Terjemahan ke dalam :indonesia: Bahasa Indonesia oleh @andreassosilo
(Translated to Indonesian language by @andreassosilo)


Ouroboros Genesis: meningkatkan keamanan di lingkungan yang dinamis

Ouroboros Genesis hadir di Cardano pada tahun 2023. Fitur utama Genesis adalah memungkinkan peserta untuk bergabung dengan jaringan dengan aman tanpa perlu mempercayai rekan yang dipilih untuk memberikan gambaran yang benar tentang keadaan blockchain saat ini.

09 Februari 2023 | Christian Badertscher | bacaan 6 menit

Ouroboros Genesis: enhanced security in a dynamic environment

Ouroboros Genesis adalah protokol blockchain proof-of-stake (PoS) yang memperluas pendahulunya – Ouroboros Praos.

Pertama-tama mari kita ingat bahwa Ouroboros adalah protokol PoS gaya Nakamoto dengan ketahanan bawaan terhadap partisipasi yang berpotensi sangat berfluktuasi. Ini berarti tahan terhadap banyak tantangan yang mungkin timbul dari masalah jaringan, konfigurasi node yang salah, atau kondisi balapan yang dapat menyebabkan downtime node. Ouroboros terbukti aman selama kurang dari setengah dari total stake yang aktif berada di tangan aktor jahat. Dan bahkan jika asumsi ini dilanggar untuk sementara, Ouroboros akan sembuh dengan sendirinya dengan cepat setelah kondisi mayoritas jujur ​​berlaku lagi. Sebuah makalah penelitian 2020 oleh IOG menganalisa situasi ini.

Pertanyaan penting dan sering diabaikan dalam sistem PoS dinamis adalah: bagaimana pihak-pihak dapat dengan aman bergabung atau bergabung kembali dengan sistem di bawah asumsi keamanan yang sama – dan khususnya tanpa bergantung pada rekan tepercaya yang melayani versi yang benar dari blockchain saat ini? Pertanyaan ini telah dianggap sebagai kelemahan utama sistem PoS – sampai makalah penelitian 2018 oleh IOG mengusulkan solusi untuk masalah ini. Posting ini menjelaskan pentingnya dan ide utama di balik Genesis.

Pentingnya dynamic availability

Dynamic availability dalam pengaturan blockchain dapat dianggap sebagai properti yang memungkinkan node penghasil blokuntuk online dan offline tanpa pemberitahuan. Pada saat yang sama, sistem tetap beroperasi untuk tingkat partisipasi apa pun dan tetap aman selama (di antara node aktif) lebih dari 50% sumber daya, seperti daya komputasi dalam Bitcoin atau stake di Cardano dikendalikan oleh peserta yang jujur. Mekanisme konsensus, yang tujuannya membawa semua node ke dalam kesepakatan, menggunakan sumber daya tersebut untuk memilih pemimpin dengan hak untuk memperluas blockchain dengan blok yang berisi transaksi yang valid.

Dalam konteks ini, dynamic availability memberikan peningkatan keaktifan jaringan, dan sangat penting untuk sistem yang benar-benar terdesentralisasi, karena tidak semua node dapat diasumsikan selalu online. Namun, untuk melengkapi cerita ini, node harus dapat bergabung kembali dengan sistem dengan mudah, hanya dengan mengamati jaringan dan mengetahui blok genesis. Asumsi kepercayaan lebih lanjut, seperti persyaratan untuk pos pemeriksaan yang dilayani oleh rekan tepercaya, bertentangan dengan visi desentralisasi.

Pada tahun 2018, penelitian IOG mempresentasikan dan menganalisis algoritme Ouroboros Genesis yang terbukti memenuhi persyaratan di atas dalam model kriptografi yang kuat. Algoritme Genesis pada dasarnya adalah Praos, dengan aturan pemilihan chain baru ditambahkan yang memungkinkan pihak-pihak untuk bergabung dengan aman dan mem-bootstrap blockchain dari awal tanpa memerlukan saran tepercaya, atau bantuan lain seperti pengetahuan tentang ketersediaan di masa lalu.

Jaminan keamanan melalui aturan pemilihan chain

Genesis memiliki struktur yang mirip dengan Ouroboros Praos. Faktanya, mengingat semua pihak selalu tersedia, kedua protokol berperilaku identik. Namun, terkait dynamic availability, pihak yang baru bergabung memerlukan saran di Praos: untuk dapat memperpanjang chain terpanjang dengan aman. Pendatang baru pertama-tama harus diberi tahu tentang keadaan buku besar (sebenarnya) saat ini, misalnya, dengan bertanya kepada rekan-rekan tepercaya. Jika penyerang dapat memberikan chain palsu kepada pendatang baru tersebut, mereka dapat dicegah untuk bergabung dan berkontribusi pada keamanan dan kinerja sistem. Jadi, bagaimana Genesis menghindari nasihat tepercaya seperti itu? Inovasi teknis terletak pada aturan pemilihan chain baru.

Sederhananya, pikirkan pemilihan chain sebagai filter. Filter ini, ketika disajikan dengan semua blockchain yang diamati di jaringan, mendeteksi salah satu yang paling berguna untuk sistem. Pada prinsipnya, dalam konsensus Nakamoto, pendekatannya adalah menggunakan chain terpanjang. Meskipun ini bagus untuk Bitcoin, dalam kasus PoS aturan chain terpanjang yang sederhana bukanlah ide yang bagus: musuh dapat melakukan fork dari chain yang jujur dan terus membuat blok secara pribadi. Setelah waktu yang cukup lama (dalam urutan beberapa epoch), musuh pada dasarnya akan menjadi pemangku kepentingan mayoritas dalam chain pribadinya dan dengan demikian dapat membuat blok jauh lebih cepat daripada chain yang jujur, yang pada akhirnya melebihi panjangnya. Praos dan algoritme PoS lainnya mencegah penipuan ke dalam rantai permusuhan semacam itu dengan memperkenalkan pos pemeriksaan bergulir yang harus dipatuhi oleh semua chain. Seperti disebutkan di atas, memperkenalkan pos pemeriksaan semacam itu memiliki kekurangan sehingga bergabung dengan partai membutuhkan nasihat tepercaya.

Jadi apa yang bisa dilakukan? Wawasan utama adalah bahwa setiap kali musuh bercabang dari beberapa chain yang jujur ​​dan memperluas chain secara pribadi, musuh tidak dapat menghindari fakta bahwa chain pribadi semacam itu memiliki segmen slot awal, tepat setelah titik percabangan, yang kurang padat (memiliki lebih sedikit blok) daripada chain yang dibuat peserta jujur ​​untuk segmen itu. Ini dapat dimanfaatkan untuk membedakan yang baik dari yang buruk dan karena itu juga untuk menyingkirkan pos pemeriksaan bergulir yang disebutkan di atas dengan memperkenalkan aturan pemilihan chain yang baru.

Asumsikan pendatang baru mulai dari blok genesis sebagai chain awal. Setiap kali chain baru terlihat di jaringan, pendatang baru ini membandingkan chain yang dipegang secara lokal dengan yang baru menurut kepadatan di segmen tertentu setelah dua chain mulai bercabang satu sama lain. Pendatang baru mengadopsi chain baru hanya jika lebih padat di segmen itu, dan terus mengulang proses ini dengan chain lain yang baru diterima. Dengan pengamatan di atas, dapat disimpulkan bahwa ketika pendatang baru kebetulan mengamati chain sebenarnya yang didukung oleh mayoritas stake aktif yang jujur ​​​​dalam jaringan, chain ini akan diadopsi. Akibatnya, pendatang baru mengunci status blockchain persis seperti yang dilakukan peserta lain yang sudah aktif.

Untuk argumen teknis lengkap, lihat makalah penelitian 2018 dan lihat presentasi tentang Ouroboros Genesis oleh Aggelos Kiayias.

Singkatnya, aturan pemilihan chain memungkinkan Ouroboros menangani perubahan jumlah pihak aktif secara mulus dengan cara terdesentralisasi dengan bootstrap dari blok genesis dan tetap aman, selama peserta yang jujur ​​memegang mayoritas stake yang aktif.

Kapan di Cardano?

Cardano saat ini berjalan di Ouroboros Praos dan tim sudah mengerjakan desain ulang konsensus. Ada prototipe Genesis parsial yang berfungsi, yang sedang disetel untuk kinerja dan diaudit untuk vektor serangan baru. Tim juga mengerjakan implementasi mandiri dari logika pemutusan Genesis, yang merupakan komponen utama implementasi. Logika ini sedang melalui pengujian dan memerlukan upaya integrasi tambahan.

Jika Anda tertarik dengan proses pengembangan, lihat Genesis roadmap ini. Untuk terus memantau, ikuti pembaruan teknis dari tim konsensus dan channel media IOG.

Olga Hryniuk berkontribusi pada postingan blog ini.