Algoritma Konsensus Bukti Sewa Pasak dan protokol Waves-NG

Penulis: Guy Brandon, kontributor Waves.

Jaringan Waves beroperasi pada algoritma konsensus bukti kepemilikan yang disewakan (LPoS) yang dikombinasikan dengan protokol Waves-NG, memungkinkan skalabilitas dan hasil transaksi tingkat tinggi.


Perkenalan

Jaringan Waves diluncurkan pada tahun 2016 setelah ICO yang mengumpulkan 30.000 BTC – sekitar $16 juta pada saat itu. Proyek ini mengembangkan ekosistem blockchain yang komprehensif untuk digunakan dalam proses bisnis, dengan beragam perangkat yang mencakup beragam kebutuhan - termasuk kemudahan pembuatan token mata uang kripto khusus; kontrak pintar langsung; perdagangan peer-to-peer di bursa terdesentralisasi (DEX) bawaan; dan cara yang aman dan nyaman untuk berinteraksi dengan dApps dan layanan web melalui plug-in browser Waves Keeper.


Skalabilitas

Sejak awal, Waves menyadari bahwa skalabilitas akan diperlukan untuk adopsi blockchain secara massal, dan memprioritaskan pengembangan teknologi untuk mengatasi keterbatasan blockchain yang ada. Misalnya, Bitcoin sangat aman namun relatif lambat, dan hanya dapat mendukung sekitar 7 transaksi per detik (TPS). Oleh karena itu, Bitcoin tidak cukup efisien untuk digunakan sebagai mata uang sehari-hari di seluruh dunia. Solusi tingkat kedua seperti Lightning Network diperlukan agar Bitcoin dapat memenuhi tujuan ini. Waves telah mengambil pendekatan yang berbeda, awalnya berfokus pada skalabilitas on-chain yang tinggi sebelum mempertimbangkan aplikasi tingkat kedua.


Penyewaan saldo

Algoritme konsensus asli Waves adalah implementasi Proof of Stake yang sederhana. Seluruh 100 juta token WAVES didistribusikan setelah ICO, dan pasokannya tetap: tidak ada inflasi, seperti yang terjadi pada koin yang ditambang PoW. Oleh karena itu, validator blok Waves (pemalsu, meskipun mereka biasanya hanya dikenal sebagai 'penambang' dalam ekosistem Waves) menerima biaya transaksi dari blok yang mereka proses, namun tidak ada imbalan blok. 

Sistem Leased Proof of Stake (LPoS) diluncurkan sepenuhnya pada bulan Mei 2017, memungkinkan pengguna klien Waves lite – mereka yang tidak menjalankan node penuh – untuk menyewakan token WAVES mereka ke node penambangan. WAVES yang disewakan terkunci di akun pengguna dan tidak dapat ditransfer atau diperdagangkan. Namun, token tetap berada dalam kendali penuh pemegang akun dan sewa dapat dibatalkan kapan saja. Mengingat biaya teknis yang terkait dengan menjalankan node penambangan dan kebutuhan untuk online 24/7, hanya sebagian kecil komunitas Waves yang menjalankan node (daftar generator blok dapat ditemukan di https://dev.pywaves.org /generator/). 

Token WAVES yang disewakan ke node penambangan digunakan untuk meningkatkan bobot taruhan penambang, yang pada gilirannya meningkatkan peluang penambang tersebut menemukan blok berikutnya. Sistem Leased Proof of Stake meningkatkan keamanan jaringan setidaknya dalam dua cara. Pertama, semakin banyak WAVES yang digunakan untuk mengamankan jaringan, semakin baik, karena semakin sulit bagi penyerang untuk mengumpulkan token yang diperlukan untuk melakukan serangan 51%. Kedua, WAVES dapat disewakan ke sebuah node dari alamat cold storage pengguna, namun node itu sendiri – yang tetap online – mungkin hanya memiliki saldo minimal. Hal ini secara signifikan mengurangi risiko token WAVES diretas dari komputer yang sedang online, karena dana sewaan tidak ditransfer ke penambang.


Pendekatan baru terhadap konsensus: Waves-NG

Peningkatan lebih lanjut pada jaringan terjadi pada bulan Desember 2017, dengan peluncuran Waves-NG. Ini adalah protokol baru berdasarkan proposal Bitcoin-NG oleh profesor IT Cornell, Emin Gün Sirer.

Protokol Bitcoin asli memilih setiap penambang secara retrospektif. Setelah satu blok ditambahkan ke blockchain, para penambang bersaing untuk menemukan hash yang valid untuk blok berikutnya, berdasarkan keadaan blockchain saat ini. Sementara itu, transaksi yang baru dibuat masuk ke dalam kumpulan memori (mempool), di mana transaksi tersebut akan tetap tertunda hingga penambang akhirnya mengumpulkan dan memvalidasinya. 

Meskipun protokol Bitcoin dan Bitcoin-NG dianggap sebagai sistem toleransi kesalahan Bizantium (BFT), sistem yang terakhir diusulkan pada tahun 2015 sebagai alternatif yang dapat diskalakan berdasarkan mekanisme kerja yang berbeda. Pada sistem Bitcoin-NG, penambang berikutnya dipilih terlebih dahulu dan penambang ini membuat 'blok kunci' kosong - yang merupakan blok yang pada akhirnya akan ditambahkan ke blockchain. Blok kecil yang disebut 'microblock' (masing-masing terdiri dari beberapa transaksi) ditambahkan hampir secara real time ke blok kunci ini. Untuk menggunakan analogi sehari-hari, hal ini seperti menambahkan beberapa tas belanjaan (microblock) ke troli (keyblock), sebelum troli yang penuh pada akhirnya didorong ke kasir (ditambahkan ke blockchain). Ini berarti bahwa transaksi dapat ditambahkan ke blockchain hanya dalam beberapa detik, dengan satu-satunya penundaan adalah latensi jaringan. Waves memperbarui ide ini untuk jaringan bukti kepemilikan, menciptakan protokol Waves-NG – penerapan pertama Bitcoin-NG untuk blockchain publik yang terbuka.

Penambahan ekosistem lainnya adalah MassTransfers. Ini memungkinkan hingga 100 transfer dikemas dalam satu transaksi, dengan pengurangan biaya. Batasan 100 txs per MassTransfer dipilih sebagai kompromi antara menambah kapasitas dan kenyamanan yang signifikan, di satu sisi, dan membatasi kemampuan untuk mengirim transaksi berbiaya rendah dalam jumlah yang sangat besar sekaligus, di sisi lain. Jika lebih banyak transfer perlu dilakukan, beberapa MassTransfer dapat dikirimkan secara berurutan. 

Dengan kata lain, pengguna cukup memilih MassTransfer sebagai jenis 'Kirim transaksi' yang berbeda, sehingga memungkinkan mereka menyertakan hingga 100 penerima dalam satu transaksi. Selain itu, alamat penerima dapat diberikan melalui JSON atau diunggah dari file CSV, sehingga memudahkan dan efisien untuk melakukan airdrop dalam jumlah besar atau melakukan pembayaran mingguan kepada mereka yang menyewakan WAVES mereka ke node penambangan. Dikombinasikan dengan Waves-NG, fitur MassTransfer memungkinkan tingkat throughput yang sangat tinggi pada jaringan.

Sejumlah stress test telah dilakukan pada jaringan Waves untuk mengukur potensi throughput dari protokol baru. Pada bulan Oktober 2018, stress test besar-besaran dilakukan di MainNet. Hal ini menunjukkan bahwa protokol blockchain publik dan terbuka (bukan hanya TestNet yang terbatas dan terkontrol) dapat mendukung lebih dari 6,1 juta transaksi dalam periode 24 jam – rata-rata 4,200 txs per menit atau 71 txs per detik, dengan throughput puncak mencapai ratusan transaksi per detik.


Sistem Leased Proof-of-Stake memungkinkan pengguna sehari-hari tanpa keahlian teknis untuk membantu mengamankan jaringan Waves, menyewakan WAVES mereka ke node penuh tanpa kehilangan kendali atas token mereka. Sementara itu, Waves-NG memungkinkan throughput hingga 100 TPS, yang merupakan tingkat yang lebih besar dibandingkan banyak blockchain lainnya. Biayanya rendah karena tidak perlu membayar penambang dengan imbalan blok sebagai kompensasi atas biaya listrik yang tinggi dan perangkat keras yang mahal.

Skalabilitas on-chain telah menjadi prioritas Waves, namun ada batasan sejauh mana blockchain dapat melakukan skala seperti ini karena penyimpanan dan bandwidth yang diperlukan. Pengembang Waves percaya bahwa pendekatan saat ini dapat dioptimalkan untuk mendukung hingga 1.000 TPS sebelum solusi penskalaan lebih lanjut diperlukan. Waves saat ini sedang menjajaki opsi untuk solusi penskalaan tingkat kedua yang melibatkan sidechain, memungkinkan sejumlah besar transaksi diproses pada rantai paralel namun pada akhirnya diamankan di blockchain utama Waves.