🇮🇩 Blog IOHK: Menerapkan Hydra Heads: langkah pertama menuju visi Hydra sepenuhnya

Versi dokumen orisinil: Implementing Hydra Heads: the first step towards the full Hydra vision
Dipublikasikan pada tanggal 03 Februari 2022
Ditulis oleh Matthias Benkort
Terjemahan ke dalam :indonesia: Bahasa Indonesia oleh @andreassosilo
(Translated to Indonesian language by @andreassosilo)


Menerapkan Hydra Heads: langkah pertama menuju visi Hydra sepenuhnya

Hydra Head, yang pertama dalam rangkaian protokol, merupakan elemen penting dari perjalanan penskalaan Cardano. Mari kita lihat bagaimana hal itu cocok dengan gambaran yang lebih besar. Dan mungkin mematahkan beberapa mitos

03 Februari 2022 | Matthias Benkort | bacaan 12 menit

Implementing Hydra Heads: the first step towards the full Hydra vision

Kami telah melakukan sains dan teori. Kami telah meletakkan dasar untuk blockchain yang skalabel, serbaguna, dan dengan throughput tinggi. Sekarang saatnya untuk pertumbuhan yang stabil dan peningkatan sistem. Dengan tujuan menciptakan ekosistem yang dioptimalkan untuk mendukung dan mendorong pengembangan aplikasi terdesentralisasi (DApps), Cardano berada di fase awal Basho. Dengan kontrak pintar yang sudah ada, Basho adalah tentang scaling dan optimasi jaringan. Keluarga protokol Hydra adalah komponen utama untuk ini.

Kami telah berbicara tentang Hydra sebelumnya. Hydra adalah rangkaian solusi layer 2 yang dirancang untuk menangani keamanan jaringan dan kemampuan skalabilitas. Awalnya disusun dalam karya tim peneliti Ouroboros, sebenarnya telah dibuat jalur independen sejak publikasi awal. Hydra menawarkan peningkatan throughput, meminimalkan latensi, dan solusi hemat biaya tanpa persyaratan penyimpanan yang besar. Protokol Hydra Head sudah terbentuk kembali pada tahun 2020 dan sejak itu pemikiran kami telah berkembang – terutama selama implementasi awal dan tahap pembuktian konsep ini. Berdasarkan ide awal tersebut, protokol Hydra Head berkembang menjadi bukti konsep, dan terus berkembang saat kami menuju implementasi yang lebih pasti untuk testnet MVP.

Kami telah melihat banyak kegembiraan (hebat!), bersama dengan kesalahpahaman (tidak terlalu bagus). Sebagian besar muncul dari pernyataan ide, daripada implementasi protokol sebenarnya dan beberapa blog kami sebelumnya mungkin berkontribusi pada kesalahpahaman ini. Tetapi protokol Hydra Head tidak hanya tentang implementasi SPO tetapi juga teori ‘1 juta TPS’ – yang perlu diperhatikan dan dijelaskan dengan lebih baik.

Dalam artikel ini, kami – tim pengembang Hydra – menguraikan kemajuan kami saat ini, pendekatan kami, dan roadmap jangka pendek dan jangka panjang kami. Kami akan mengungkap beberapa kesalahpahaman, mengklarifikasi manfaat, dan merenungkan tantangan pengembangan.

Hydra Head secara singkat

Mari kita perkenalkan kembali Hydra Heads, yang tidak hanya melibatkan lapisan jaringan yang kuat antara peer dan buku besar Cardano yang terintegrasi, tetapi juga, beberapa skrip on-chain (kontrak pintar) yang mendorong siklus hidup Hydra Head.

Hydra Head adalah isomorphic state channel yang terbukti aman. Sederhananya, ini adalah mini-ledger off-chain antara set peserta terbatas, yang bekerja sama (walaupun secara signifikan lebih cepat) ke buku besar on-chain.

Hal pertama yang harus dipahami adalah bahwa sebuah channel adalah jalur komunikasi antara dua atau lebih dari peer. Menjadi bagian dari sebuah Head berarti menjadi salah satu dari rekan-rekan itu. Channel membentuk jaringan terisolasi yang dapat berkembang secara paralel dengan jaringan utama. Pada jaringan alternatif ini, peserta mengikuti algoritma konsensus yang berbeda, lebih sederhana: setiap orang perlu menyetujui semua transaksi yang mengalir. Konsekuensi dari hal ini adalah, sebagai peserta, saya tidak dapat kehilangan uang yang tidak secara tegas saya setujui untuk hilang. Mengapa? Karena setiap transaksi yang valid memerlukan persetujuan eksplisit saya.

Saat membentuk Head, peserta dapat memberikan dana untuk hal itu. Hal ini berarti memindahkan dana secara on-chain ke alamat skrip yang menguncinya di bawah aturan tertentu. Script menjamin eksekusi aman dari protokol on-chain, dan khususnya, bahwa peserta tidak dapat menipu satu sama lain. Namun, setiap saat, setiap peserta dapat memutuskan untuk keluar dari sebuah Head dengan menutupnya. Dalam hal ini, semua peserta pergi dengan status terbaru yang mereka setujui untuk off-chain, di jaringan paralel mereka.

Pikirkan Heads sebagai ‘meja poker pribadi’ di mana para peserta membawa chip mereka sendiri untuk memainkan permainan. Peserta dapat bermain selama yang mereka inginkan. Jika seseorang tidak bermain, maka permainan tidak berlanjut. Namun, peserta masih bebas untuk pergi dengan chip mereka. Jika mereka melakukannya, permainan berakhir dengan distribusi kekayaan saat ini.

Gambar 1. Siklus hidup Hydra Head (disederhanakan)

Dealer di meja (skrip on-chain) memastikan bahwa orang-orang bermain sesuai aturan dan tidak curang. Pada akhirnya, ada banyak chip yang keluar karena ada chip yang masuk, tetapi mereka mungkin telah didistribusikan kembali selama permainan. Sementara hasil akhir diketahui di luar meja, riwayat semua tindakan yang terjadi selama pertandingan hanya diketahui oleh para peserta.

Protokol ini adalah salah satu dari seluruh rangkaian protokol yang biasanya kita sebut sebagai ‘Hydra’. Upaya rekayasa saat ini difokuskan pada penerapan protokol Hydra Head seperti yang dipublikasikan di Hydra: Fast Isomorphic State-Channels oleh Chakravarty et al.

Sekitar akhir tahun 2021, Maxim Jourenko, Mario Larangeira, dan Keisuke Tanaka menerbitkan iterasi di atas Hydra Head yang disebut Interhead Hydra: Two Heads are Better than One . Iterasi ini mendefinisikan metode memungkinkan untuk menghubungkan dua Heads bersama-sama, dalam jangka panjang, pembuatan jaringan Hydra Heads yang saling berhubungan. Sebelumnya, ada penyebutan protokol lain seperti ‘Hydra Tail’. Namun, itu masih dalam penelitian, bersama dengan ide-ide baru yang datang dari karya terbaru tentang protokol Hydra Head.

Kesalahpahaman mengenai Hydra

Baru-baru ini kami telah melihat banyak komentar yang memposisikan Hydra sebagai solusi ‘final’ untuk skalabilitas Cardano. Yang pasti, Hydra Heads membuat fondasi yang kuat untuk membangun lapisan skalabilitas untuk Cardano. Mereka adalah blok bangunan penting yang memanfaatkan kekuatan model Extended Unspent Transaction Output (EUTXO) untuk memungkinkan solusi yang lebih kompleks di atas. Mereka adalah elemen penting dari perjalanan skalabilitas, tetapi mereka bukan tujuan akhir.

Skalabilitas bukan tentang satu juta TPS

Sebelum berbicara tentang metrik skalabilitas, mari kita perjelas beberapa hal tentang transaksi per detik (TPS). Di antara semua yang tersedia, TPS mungkin merupakan metrik yang paling tidak berarti untuk dipertimbangkan sebagai alat perbandingan. Transaksi datang dalam berbagai bentuk dan ukuran. Meskipun ini berlaku untuk Cardano, ini bahkan lebih penting ketika membandingkan dua sistem yang sangat berbeda.

Pikirkan tentang jalan raya dan kendaraan. Seseorang dapat melihat berapa banyak kendaraan per detik atau ‘Vehicles Per Second’ (VPS) yang dapat ditangani jalan raya antara dua titik. Namun, jika tidak ada definisi umum tentang apa itu kendaraan, maka membandingkan 10 VPS dengan 100 VPS sepertinya tidak ada artinya. Jika 10 kendaraan dalam contoh mengacu pada truk kargo besar, apakah masuk akal untuk membandingkannya dengan 100 skuter dalam hal kemampuan pengirimannya? Hal yang sama berlaku untuk transaksi. Sebuah transaksi yang membawa ratusan aset dan output asli tentu tidak sama dengan sebuah pembayaran ADA antara dua pihak.

Menggunakan TPS sebagai metrik dalam konteks yang sama (misalnya, untuk membandingkan dua versi node Cardano) sangat berarti. Menggunakannya sebagai alat perbandingan antara blockchain dalam hal ini tidak.

Dengan mengingat hal itu, kami menyarankan untuk melihat tidak hanya pada throughput, tetapi juga pada finalitas dan konkurensi sebagai metrik penting untuk dipertimbangkan dan mendiskusikan skalabilitas:

  • throughput : volume data yang diproses oleh sistem dalam jumlah waktu tertentu
  • finality : waktu yang diperlukan agar hasil dari beberapa tindakan menjadi tidak berubah dan benar bagi semua orang dalam sistem
  • concurrency : jumlah pekerjaan yang dapat dilakukan oleh pihak yang berbeda tanpa menghalangi satu sama lain

Hydra Heads unggul dalam mencapai finalitas hampir instan dalam sebuah Head. Proses menyiapkan dan menutup Head dapat memakan waktu beberapa blok, tetapi setelah dibuat, transaksi dapat mengalir dengan cepat di seluruh peserta kolaboratif. Karena Hydra Heads juga menggunakan model EUTXO, mereka dapat memproses transaksi yang tidak bertentangan secara bersamaan, yang – digabungkan dengan jaringan yang baik – memungkinkan penggunaan sumber daya yang tersedia secara optimal. Simulasi pertama protokol Hydra Head pada tahun 2020 menyarankan ‘1000 TPS’ yang sangat menjanjikan. Kami sekarang dalam proses benchmarking implementasi nyata dalam hal throughput dan finalitas.

Satu peringatan: Hydra Head adalah konstruksi yang sangat lokal dalam sekelompok kecil peserta. Grup-grup ini awalnya akan independen dan dengan demikian, melihat jumlah metrik individu mereka secara keseluruhan adalah menyesatkan. Karena kelompok bersifat independen dan dapat dibuat secara mandiri sesuka hati, mudah untuk mencapai angka apa pun hanya dengan menjumlahkannya: sepuluh, seribu, satu juta, satu miliar, dan seterusnya.

Akibatnya, sementara versi pertama dari protokol Hydra Head akan memungkinkan kelompok kecil peserta untuk meningkatkan lalu lintas mereka dengan biaya rendah, itu tidak akan segera menawarkan solusi untuk pembayaran konsumen-ke-konsumen (mikro) atau penjualan NFT. Mengapa? Karena konsensus di dalam sebuah Head mengharuskan setiap peserta untuk bereaksi terhadap setiap transaksi. Dan satu Head tidak menskalakan secara tak terbatas dengan jumlah peserta, setidaknya bukan tanpa beberapa upaya rekayasa tambahan. Misalnya, interkoneksi Hydra Heads membuka jalan bagi jaringan peserta yang lebih besar, yang secara efektif mengubah Heads lokal menjadi jaringan global. Kami sedang menjajaki beberapa ide lain untuk memperluas protokol Hydra Head guna memperluas rangkaian kasus penggunaan yang dapat dicakupnya. Kami akan berbicara lebih banyak tentang itu di bagian selanjutnya dan di update mendatang.

Kasus penggunaan dan peran SPO

Jadi kapan Heads berguna? Hydra Heads bersinar ketika sekelompok kecil peserta perlu memproses banyak interaksi secara cepat. Bayangkan, misalnya, layanan API berbayar per penggunaan, jaringan pribadi antar bank, atau lelang cepat antara penjual dan sekelompok kecil penawar. Kasus penggunaan banyak dan terdapat dalam berbagai macam bentuk. Beberapa dari mereka mungkin Head yang akan berjalan lama selama berbulan-bulan, sedangkan yang lain mungkin jauh lebih pendek dan hanya bertahan beberapa jam.

Penelitian Hydra awal kami pada tahun 2020 menyarankan operator stake pool (SPO) sebagai kemungkinan untuk menjadi kandidat dalam menjalankan Hydra Heads. Namun, karena protokol Hydra Head telah diteliti dan dibuat sebagai proof of concept, kami dapat dengan tegas menyatakan bahwa adalah kesalahpahaman untuk mengatakan bahwa hanya SPO yang harus menjalankan Hydra Head untuk memastikan skalabilitas buku besar. Faktanya, SPO tidak memiliki minat intrinsik untuk membuka Head antara satu sama lain tanpa alasan untuk bertransaksi (memberi tip atau memperdagangkan NFT, misalnya). Di satu sisi, SPO seperti aktor lain dalam hal protokol Hydra Head. Mereka bisa menjadi peserta dan membuka Head dengan rekan-rekan lain, tetapi siapa pun yang tertarik juga bisa.

Memang, SPO bagus dalam mengoperasikan infrastruktur dan dapat menjadi pengguna pertama yang menjalankan instance dari protokol Hydra Head. Namun, ini hanya memungkinkan SPO yang berpartisipasi untuk bertransaksi satu sama lain, yang membatasi kasus penggunaan untuk pengguna akhir. Hanya desain sistem layer 2 tingkat lanjut seperti protokol Interhead Hydra yang memerlukan perantara untuk menjalankan infrastruktur demi keuntungan pengguna akhir. Faktanya, kami mengantisipasi bahwa satu kemungkinan pengaturan untuk Hydra Heads akan menyediakan Hydra Heads sebagai layanan (HaaS) yang dikelola pengguna. Kami dapat mencapai ini tanpa menyerahkan penyimpanan dana dengan menjalankan infrastruktur atas nama pengguna akhir, yang umumnya tidak memiliki minat maupun keterampilan teknis untuk memelihara infrastruktur tersebut.

Ini sangat mirip dengan model operasional dompet ringan dan penyedia dompet ringan saat ini yang kemungkinan besar akan menjalankan Hydra Heads dalam jangka panjang. Bayangkan sebuah jaringan yang terdiri dari penyedia dompet ringan teratas dalam ekosistem Cardano. Penyedia tersebut kemudian dapat memfasilitasi pembayaran instan dan murah antara pengguna mereka sambil memastikan kepercayaan secara keseluruhan.

Kami juga membayangkan bahwa layanan untuk developer dan penyedia DApp kemungkinan akan menjadi kandidat untuk menjalankan Hydra Heads. Memang, developer DApp memerlukan akses ke informasi on-chain. Untuk itu, developer dapat mengandalkan layanan online yang menyediakan antarmuka yang memadai dan biasanya membebankan biaya penggunaan bulanan. Hydra Heads dapat meningkatkan proses ini dengan memungkinkan model bisnis yang lebih terdesentralisasi dengan membayar API calls per penggunaan antara penyedia layanan dan developer DApp.

Peta jalan

Sebagai sekelompok protokol yang akan dikirimkan dari waktu ke waktu, dan akan melibatkan desain sistem layer 2 yang lebih rumit di atas protokol Hydra Head, sangat penting bagi kami untuk sering terlibat dengan developer ekosistem Cardano. Ini bukan tentang rilis ‘big bang’ melainkan siklus rilis berulang. Kita perlu memahami tantangan developer, memastikan untuk memenuhi kebutuhan mereka, dan pada akhirnya memastikan kita membangun sesuatu yang bermanfaat. Inilah mengapa kami mengembangkan Hydra Head sebagai proyek GitHub open-source, dimulai dengan bukti awal konsep tahun lalu. Bertujuan untuk irama rilis reguler dan sering, kami merilis pratinjau developer awal kami pada bulan September (0.1.0) diikuti oleh iterasi kedua (0.2.0) sebelum Natal. Kenaikan berikutnya (0.3.0) akan datang pada bulan Februari. Kami mengikuti versi semantik dan masing-masing pra-rilis (0.x.0) menambahkan fitur yang akan tersedia bagi mitra kami dan pengguna awal untuk diuji pada testnet Cardano pribadi dan publik.

Dengan senang hati kami umumkan bahwa peta jalan kami sekarang juga tersedia di Github! Sebagai sarana untuk terlibat dengan komunitas developer kami dan agar transparan tentang jalannya upaya pengembangan kami, Anda akan menemukan feature issues, milestones, dan project boards tersedia di repositori Hydra Head.

Sementara fokus kami adalah membuat rilis yang bermakna dan penuh fitur saat kami melakukan perjalanan di sepanjang testnet dan kematangan mainnet yang lebih baru dengan versi 1.0.0, peta jalan juga mencakup tanggal tentatif. Prakiraan ini berasal dari pekerjaan yang telah dicapai sejauh ini dan perkiraan kami tentang pekerjaan yang tersisa di depan. Kami akan merenungkan konten dan tanggal secara teratur dengan cara yang gesit untuk menjaga peta jalan seakurat mungkin.

Masukan komunitas sangat penting

Kami akan mengukur kesuksesan kami dengan seberapa banyak traffic yang akan berjalan di Hydra Heads dibandingkan dengan mainnet Cardano. Ini berarti bahwa kami tidak dapat mencapai tujuan kami tanpa komunitas, dan Hydra hanya dapat berhasil jika bermanfaat bagi para pengguna Cardano saat ini dan di masa mendatang.

Bergantung pada waktu, keterampilan, dan keahlian Anda, kami menyambut Anda untuk terlibat dengan kami untuk berbagi pertanyaan, masukan, atau berkontribusi pada upaya pengembangan. Ini adalah kesempatan luar biasa untuk membangun ekosistem solusi layer 2 secara keseluruhan untuk Cardano bersama-sama. Protokol Hydra Head akan menjadi blok bangunan pertama dari banyak solusi canggih yang akan datang. Di IOG, kami sudah mulai mengerjakan beberapa di antaranya, tetapi beberapa pasti (dan untungnya!) dibangun oleh anggota komunitas kami, yang kami nantikan untuk didukung.

Kami akan berbicara tentang Hydra Heads secara lebih rinci di update development saat pertengahan bulan Februari. Subscribe saluran YouTube kami dan bergabunglah dengan kami!

Saya ingin mengucapkan terima kasih kepada Sebastian Nagel, Olga Hryniuk, Mark Irwin, dan Tim Harrison atas masukan dan dukungan mereka dalam mempersiapkan posting blog ini