Sekilas Pengantar Mengenai DPOS

in LeoFinance4 years ago

steem logo.png

Tulisan ini merupakan terjemahan dari tulisan @blocktrades, The History of Delegated Proof-of-Stake (DPOS), dan telah mendapatkan ijin dari penulisnya.

Sejarah Delegated Proof-of-Stake (DPOS)

DPOS (atau bisa disebut Delegate Proof of Stake) ditemukan oleh Daniel Larimer sebagai alternatif pengganti konsesus algoritma Proof-Of-Work yang digunakan oleh Bitcoin dan sebagian besar mata uang kripto (cryptocurrency) pada saat ini. Semua sistem blockchain yang dikembangkan oleh Dan (termasuk Bitshares, Steem dan EOS) menggunakan DPOS untuk memilih para penghasil blok.

Dalam tulisan ini, saya akan mendiskusikan mengenai sejarah yang mengacu pada penemuan DPOS. Saya pernah bekerja dengan beliau saat DPOS ditemukan, dan tulisan ini akan menjelaskan bagaimana proses penemuan tersebut, berdasarkan ingatan saya.

Sebelum membahas sejarah DPOS secara detail, bagaimanapun juga, Saya perlu untuk menjelaskan terlebih dahulu materi mengenai bagaimana blok bisa dihasilkan dalam jaringan blockchain.

Urutan Transaksi (Contohnya transfer uang) dalam jaringan blockchain

Salah satu dari fungsi atau kegunaan-kegunaan jaringan blockchain adalah membuat daftar urutan waktu terjadinya transaksi, yang mana kumpulan-kumpulan transaksi tersebut disimpan dalam sebuah urutan blok yang saling terhubung dan nantinya disebut dengan istilah blockchain. Urutan waktu ini adalah penting, karena untuk mencegah seseorang untuk menggunakan cryptocurrency tersebut lebih dari satu kali (dikenal dengan istilah ‘double spend’).

Untuk memproses transaksi-transaksi baru, maka computer yang berada di dalam jaringan blockchain perlu untuk mendapatkan validasi (pengesahan dari komputer lainnya) atas urutan –urutan transaksi yang telah diterimanya, kemudian menempatkannya dalam blok dan menyiarkannya (mengumumkan) blok itu kepada komputer-komputer lainya dalam jaringan blockchain. Komputer-komputer lain yang berada dalam jaringan blockchain dapat memeriksa (check) blok itu. Kemudian setelah ada penundaan waktu (sering disebut sebagai jeda waktu), beberapa computer akan mengulangi langkah-langkah tersebut, dan kemudian blok lainnya akan ditambahkan ke dalam jaringan blockchain.

Masalah-masalah yang timbul dalam jaringan blockchain yang menggunkan komputer tunggal untuk menghasilkan seluruh blok.

Secara teori, sistem blockchain mengijinkan sebuah komputer tunggal dalam sebuah jaringan untuk menghasilkan seluruh blok. Akan tetapi ada beberapa masalah yang akan dihadapi dalam penggunaan sistem ini.

Salah satu masalah yang timbul, jaringan tersebut akan sangat rentan jika satu-satunya komputer penghasil blok tersebut rusak atau kehilangan koneksi internet, maka tidak akan ada satu transaksi yang dapat diproses selama komputer tersebut tidak bisa melakukan komunikasi dengan komputer lainnya dalam jaringan (dengan kata lain, tidak bisa melakukan transfer uang).

Masalah lain yang timbul adalah komputer tunggal yang mempunyai tugas menghasilkan seluruh blok dapat melakukan transfer dana kepada siapa saja sesuai keinginannya, dan selain itu bisa juga secara efektif melakukan pembekuan dana yang ada dalam sebuah akun. Ini disebabkan komputer tersebut bisa mengijinkan blok-blok tersebut untuk memilih transaksi-transaksi yang akan dicantumkan didalamnya. Jika komputer tersebut tidak menginginkan untuk menyertakan sebuah transaksi dalam sebuah blok, maka komputer dapat mengabaikan transaksi tersebut seakan-akan tidak pernah ada. Bagaimanapun juga komputer tersebut hanya bisa membekukan dana-dana yang ada, dan tidak dapat mengambil dana tersebut (hanya bisa melakukan blokir transaksi, komputer tunggal tersebut tidak dapat membuat sebuah transaksi palsu yang memindahkan uang dari sebuah akun yang tidak dimilikinya, karena hal itu melanggar ketentuan sistem blockchain)

Bagaimana pertambangan Bitcoin (dikenal juga sebagai ‘Proof of Work’ atau POW) works

Dengan ‘Menambang’, setiap computer mempunyai hak untuk membuat blok selanjutnya (disebut juga sebagai penambang) dan berlomba melawan komputer-komputer lainnya untuk menemukan solusi untuk memecahkan persoalan matematika. Karena setiap komputer harus menyelesaikan masalah matematika ini dan membuktikan bahwa mereka telah bisa menyelesaikannya dengan benar, cara-pertambangan cryptocurrency ini dikenal sebagai ‘Proof of Work’ (POW).

Secara umum, seorang penambang yang dengan computer tercepat dalam menemukan pemecahan persoalan matematika, kemudian mengumumkannya di jaringan blockchain beserta dengan cara penyelesaiannya. Jika cara penyelesaian persoalan matematika tersebut disetujui oleh komputer-komputer lainya , maka ini akan menjadikannya sebuah blok selanjutnya dalam blockchain.

Proof-Of-Stake (POS): sebuah jalan alternative lain untuk memilih produsen blok selanjutnya berdasarkan kepemilikan koin

Selanjutnya kita melihat sistem Proof-Of-Stake. Sistem ini adalah metode yang lebih baru dan kelanjutan penggunaan dari pemilihan penghasil blok secara selektif dan dikenal dalam sistem blockchain Peercoin dan NXT. Dalam hal tertentu sistem NXT juga menarik perhatian, karena ternyata juga digunakan untuk memberikan dukungan sistem pertukaran (perdagangan cryptocurrency) terdesentralisasi yang mirip dengan Bitshares.

Algoritma konsensus Proof-Of-Stake memilih produsen penghasil blok berdasarkan kombinasi berapa banyak koin yang dimiliki oleh produsen blok tersebut. Berapa lama mereka telah memegang atau menyimpan koin-koin tersebut (bisa juga disebut ‘umur koin’), dan beberapa persyaratan lainnya. Hal mungkin yang paling menarik tentang POS adalah mengenai konsensus algoritma berdasarkan kepentingan para produsen blok yang mencegah terjadinya kolusi dalam transaksi blok. Ide ini sederhana: dengan mendesain POS blockchain berdasarkan, pada penghasil-penghasil blok yang memiliki sebagian besar koin-koin tersebut. Nilai koin tersebut tergantung pada para penggunanya yang bersedia untuk menukarkan koin-koin tersebut dengan barang atau jasa lainnya. Dan bila para pengunanya memberikan penilaian bahwa produsen blok telah menghentikan proses transaksi yang ada, maka koin akan kehilangan nilanya, jadi insentif hanya diberikan kepada para penghasil blok yang memproses transaksi para penggunanya secara umum.

Secara jujur saya tidak ingat alasan mengapa Dan memilih untuk tidak mengimplementasikan algoritma konsensus POS. Hal ini disebabkan ada beberapa kelemahan pada penggunaan sistem ini, seperti termasuk dalam hal yang disebut sebagai serangan ‘nothing to stake’. Seingat saya, ternyata cukup sulit untuk mempelajari sistem algoritma POS untuk NXT yang dipandang cukup rumit (contohnya penggunaan randomisasi pemilihan penghasil blok kelihatannya sudah cukup rumit dan penentuan ‘umur koin’ dalam sistem ini juga malah memperumit masalah komputerisasinya), dan saya menduga bahwa ini yang membuat Dan memutuskan untuk tidak menggunakan konsensus algoritma POS, khususnya alasannya dalam penggunaan algoritma tersebut tidak cocok pada sistem konsensus terhadap suatu pekerjaan yang menekankan pada kecepatan tetapi memerlukan sedikit dana untuk implementasinya.

Penemuan Delegated Proof-of-Stake

Akan tetapi Dan memiliki pendukung dalam analisis mengenai masalah ekonomi, khususnya dalam hal desain blockchain, dan saya percaya ini yang membuat Proof-Of-Stake menjadikan perhatiannya. Kemudian, pada saat yang sama dia juga menyukai kesederhanaan model desain perwakilan yang telah didiskusikan sebelumnya (mudah untuk dilaksanakan, produksi blok yang bisa diprediksi, sistem akan tetap bekerja dengan baik selama perwakilan tersebut bisa dipercaya)

Jadi DPOS secara singkatnya dapat disebut sebagai sintesis dua idea ini (POS dan sistem perwakilan), dikombinasikan menjadi saling berhubungan: bukan hanya tergantung pada para pemegang koin yang punya dalam bagian jumlah besar saja, akan tetapi para pemegang koin tersebut akan memilih para penghasil blok. Disini penghasil blok memenuhi tugasnya mirip seperti sistim perwakilan yang telah direncanakan dalam konsensus algoritmanya. Akan tetapi dalam sistem DPOS, mereka tidak bisa dipilih secara pemanen dan sistem telah menentukan mekanisme untuk memilih dan mengganti para perwakilan tersebut, tanpa memerlukan hardfork untuk itu.

Catatan akhir mengenai ‘Freezing Funds’ (membekukan dana)di dalam blockchain

Ada sesuatu yang mencengangkan bagi saya yaitu bagaimana seorang pebisnis bisa bertindak selaku ‘thought leaders’ (pemimpin tangguh) dan ‘influencer’ yang seringkali mereka sendiri tidak mengerti mengenai dasar revolusi teknologi yang sedang dijalankannya. Salah satu yang menjadi pokok pemikiran saya yaitu sebuah status tweet di Twitter dari Changpeng Zao, CEO dari Binane, alias CZ Binance, yang membuat saya tertawa. CZ berkata,”Blochain tidak seharusnya memiliki fitur pembekuan dana.”

CZ kelihatannya tidak senang dengan apa yang ada di blockchain Steem yang dapat membekukan dana sebuah akun dan ia berpikir bahwa ini adalah fitur khusus yang ada di dalam sistem blockchain DPOS.

Walaupun begitu, saya berharap kita belajar banyak dari tulisan ini, setiap jaringan blockchain yang sudah ada, termasuk jaringan Bitcoin, dapat membekukan dana pada sebuah akun, selama para produsen blok dalam jaringan itu telah sepakat untuk melakukan hal itu. Hanya dengan menyepakati bahwa transaksi tertentu tidak dimasukkan dalam daftar uruan transaksi dalam blok mereka.

Sebagai catatan bahwa pembekuan dana bukanlah sebuah ‘fitur’ dalam teknologi blockchain, dan para pengembang sistem blockchain tidak berkonsipirasi untuk membuat sistem berjalan seperti itu. Itu hanyalah mengenai pembatasan dalam sebuah teknologi, setidaknya blockchain memang didesain untuk itu.

Semakin sedikit jumlah para penghasil blok dalam sebuah jaringan blockchain, semakin mudah untuk melakukan koordinasi membekukan dana pada sebuah akun. Ini berarti, sebagai contohnya, para pemilik bitcoin mining pool yang dominan (kumpulan para miner pada suatu komunitas yang komputernya tergabung dalam satu kesatuan jaringan untuk menambang bitcoin) bisa melakukan pembekuan dana sebuah akun untuk waktu yang lama selama mereka ada alasan untuk itu. Akan tetapi secara umumnya bisa diasumsikan bahwa hal ini kecil kemungkinan untuk terjadi, karena mereka dibayar dalam bentuk bitcoin dan dengan melakukan pembekuan dana akun seseorang akan dianggap sebagai tindakan yang tidak bisa diterima oleh para pengguna bitcoin.

Berlanjut kemudian

Seperti yang telah saya kemukakan sebelumnya, Saya menulis ini sebagai dasar untuk tulisan saya selanjutnya yang akan lebih membahasa mengenai filosofi dan ekonomi sistem DPOS, mengetahui lebih dalam mengenai keuntungan dan kelemahan, dan ide bagaimana memperbaiki sistem ini. Sayangna, saya cukup sibuk akhir-akhir ini, jadi mungkin akan memerlukan waktu untuk menulis kelanjutan mengeni topik ini. Saya mempublis tulisan ini sebagai pembukanya, dan menyelesaikannya dengan dengan cara yang baik dengan santai dan fokus pada pemikiran saya.

Posted via Steemleo

Sort:  

Upvote dan reblog ke ribuan follower yah.. =] Trims telah memilih @puncakbukit sebagai witness dan kurator.

Cukup rumit dalam memahami blockchain bkerja... mmmmm.....

Yup, memang cukup rumit karena masih belum banyak yang terbiasa dengan teknologi ini.

Hi @happyphoenix!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 4.327 which ranks you at #1717 across all Steem accounts.
Your rank has dropped 6 places in the last three days (old rank 1711).

In our last Algorithmic Curation Round, consisting of 77 contributions, your post is ranked at #50.

Evaluation of your UA score:
  • Some people are already following you, keep going!
  • You have already convinced some users to vote for your post, keep trying!
  • Try to work on user engagement: the more people that interact with you via the comments, the higher your UA score!

Feel free to join our @steem-ua Discord server

 4 years ago  Reveal Comment