Memahami Mining Ethereum Secara Mendalam

Coinvestasi     Thursday, September 6 2018

Mining atau penambangan merupakan sumber kehidupan semua mata uang digital yang berbasis Proof of Work (PoW). Ketika para penambang “menambang” untuk membentuk blok baru, untuk ditambahkan pada blockchain, penambang menggunakan kekuatan komputasi yang rumit untuk memecahkan teka-teki kriptografi demi mencapai tingkat kesulitan.

 

Ini adalah salah satu mekanisme yang inovatif dalam teknologi blockchain. Sistem mata uang digital dengan menggunakan jaringan peer-to-peer yang terdesentralisasi, dulunya selalu gagal karena sesuatu yang dinamakan “Permasalahan Jenderal Byzantine”. Sistem konsensus PoW, akhirnya memberikan solusi untuk masalah ini.

 

Apa Itu “Permasalahan Jenderal Byzantine”?

Untuk memahaminya, mari kita bayangkan sekelompok jenderal Bizantium yang ingin menyerang sebuah kota A. Mereka akan menghadapi dua masalah yang sangat berbeda:

 

  • Para jenderal dan pasukan berada di tempat yang berjauhan, sehingga pemberian perintah yang terpusat tidak mungkin dilakukan. Hal ini, membuat strategi penyerangan yang terkoordinasi menjadi sangat sulit untuk dilakukan.
  • Kota A memiliki pasukan dalam jumlah besar, sehingga, satu-satunya cara agar mereka bisa menang adalah dengan menyerang sekaligus dalam satu waktu.

 

Agar koordinasi bisa berjalan sukses, pasukan di sebelah kiri kastil mengirim utusan ke pasukan di sebelah kanan kastil dengan pesan yang mengatakan “SERANG HARI RABU”. Namun, apabila pasukan di sebelah kanan belum siap untuk melakukan serangan dan mengatakan, “TIDAK. SERANG HARI JUMAT” dan mengembalikan utusan ke pasukan di sebelah kiri melalui kota A, di sinilah kita menghadapi masalah. Hal-hal buruk dapat terjadi pada utusan yang malang tersebut. Dia bisa ditangkap, diajak kompromi, dibunuh, dan diganti dengan utusan lain oleh kota tersebut. Utusan tersebut dapat ditangkap, dibunuh, dan diganti dengan utusan lain oleh kota A. Ini akan mengacaukan pasukan tentara dengan informasi palsu dan mengakibatkan serangan yang tidak terkoordinasi serta kekalahan.

 

Nah, ini merupakan referensi yang jelas untuk diterapkan pada blockchain juga. Rantai pada sistem blockchain merupakan jaringan besar; jadi bagaimana mungkin kamu mempercayai mereka? Jika kamu mengirim seseorang 4 Ether dari dompet kamu misalnya, bagaimana kamu bisa dengan yakin bahwa tidak akan ada orang dalam jaringan yang merusaknya dan mengubah 4 menjadi 40 Ether?

 

Satoshi Nakamoto, mampu melewati Permasalahan Jenderal Byzantine dengan menciptakan protokol Proof of Work (PoW). Begini cara kerjanya. Misalnya, jika tentara di sebelah kiri ingin mengirim pesan dengan isi “ATTACK MONDAY” ke tentara di sebelah kanan, mereka akan melakukan langkah-langkah tertentu.

 

  • Pertama, mereka akan menambahkan “nonce” ke teks asli. Nonce dapat berupa nilai heksadesimal apapun.
  • Setelah itu, mereka menggabungkan teks dengan nonce dan melihat hasilnya. Misalkan, secara hipotetis, para tentara telah memutuskan untuk hanya menyampaikan pesan, yang setelah digabungkan dengan nonce, memberikan hasil yang dimulai dengan 5 angka nol.
  • ­Jika kondisi penggabungan telah terpenuhi, mereka akan mengirim utusan yang membawa pesan tersebut. Jika belum terpenuhi, maka mereka akan terus mengubah nilai nonce secara acak hingga didapatkan hasil yang diinginkan. Pekerjaan ini sangat membosankan, memakan waktu, dan membutuhkan banyak daya komputasi.
  • Jika utusan ditangkap oleh pasukan kota A dan pesan yang dibawanya diubah, menurut properti fungsi hash, pesan tersebut akan berubah drastis dengan sendirinya. Misalkan para jenderal di sisi kanan, melihat bahwa pesan tersebut tidak dimulai dengan jumlah 0 sesuai yang direncanakan, maka mereka bisa dengan mudah membatalkan serangan.

 

Namun, ada celah yang memungkinkan.

Tidak ada fungsi hash yang 100% bebas tabrakan. Jadi bagaimana jika pasukan kota A mendapat pesan, merusaknya dan kemudian mengubah nilai nonce hingga memiliki jumlah 0 yang dibutuhkan? Hal ini memang akan sangat memakan waktu, namun masih mungkin terjadi. Untuk mengatasi ini, para jendral akan menggunakan kekuatan jumlah.

Jadi, daripada hanya 1 jenderal di sebelah kiri mengirim pesan ke 1 jenderal di sebelah kanan, lebih baik ada 3 jenderal dari sebelah kiri yang mengirim pesan ke pasukan di sebelah kanan.

 

Untuk melakukannya, mereka dapat membuat pesan mereka sendiri, menggabungkan pesan kumulatif, lalu menambahkan nonce pada pesan gabungan yang telah dihasilkan. Kali ini, mereka menginginkan pesan yang dimulai dengan enam angka 0.

 

Tindakan ini jelas akan sangat memakan waktu. Namun kali ini, jika sang pembawa pesan tertangkap oleh pasukan kota A, jumlah waktu yang mereka butuhkan untuk mengutak-atik pesan kumulatif, lalu menemukan nonce yang sesuai untuk pesan gabungan tersebur menjadi jauh lebih banyak. Bahkan bisa sampai bertahun-tahun. Jadi, daripada hanya menggantungkan pesan pada satu utusan, para jendral mengirim beberapa utusan. Sehingga, walaupun pasukan kota sudah berada pada setengah dari proses perhitungan, mereka sudah bisa diserang dan dihancurkan.

 

Tugas para jenderal di sebelah kanan cukup mudah. Mereka hanya perlu menggabungkan pesan dengan nonce yang benar yang akan diberikan kepada mereka, mereviewnya, dan melihat apakah hash tersebut cocok atau tidak. Hal ini sangat mudah dilakukan, karena pada dasarnya, ini adalah proses di balik proof-of-work (PoW).

 

  • Proses untuk menemukan nonce untuk target hash yang tepat akan sulit dan memakan waktu
  • Namun, proses pengecekan hasil untuk melihat apakah ada tindakan malpraktek bisa sangat sederhana.

 

Nah, setelah kamu paham prinsip dasar di balik penambangn, sekarang mari kita lihat bagaimana yang sebenarnya terjadi.

 

Jenis-jenis Penambangan

 

  • Penambangan CPU: merupakan bentuk penambangan yang paling dasar. Ide di balik penambangan CPU ini juga sederhana. Siapa pun, di mana pun, dapat menggunakan komputer orang lain untuk dirinya sendiri. Meskipun metode ini tidak berlaku lagi, ini merupakan permulaan yang bagus.

 

  • Penambangan GPU: GPU, atau graphics processing unit, merupakan bagian dari sistem render video dalam komputer. Fungsi GPU yang paling dikenal adalah untuk membantu rendering grafis 3D dan efek visual sehingga CPU tidak perlu melakukannya lagi. GPU menawarkan sistem yang jauh lebih kuat untuk penambangan daripada CPU. Beberapa koin ASIC yang resisten seperti Monero, merupakan contoh koin yang ditambang melalui GPU. Bitcoin atau Ethereum pun awalnya ditambang dengan cara ini. Namun tidak dilakukan kembali, karena kesulitannya meningkat. Kesulitan-kesulitan tersebut akan dibahas lebih lanjut pada bagian panduan.

 

  • Penambangan FPGA: FPGA atau Field-Programmable Gate Array Mining adalah langkah selanjutnya dari penambangan GPU. Menurut artikel sebuah oleh Free Learner, FPGA “adalah perangkat yang memiliki serangkaian array gate yang menciptakan tabel kebenaran untuk menghitung input dar sebuahi aliran data dan memberikan hasil yang diinginkan. Dalam industry, kamu bisa menggunakannya untuk mengoptimalkan proses industri, seperti memotong 2×4 dari log, menyediakan pembelajaran tentang mesin atau bahkan untuk melakukan DNA sequencing.

 

  • ASIC Mining: ASIC adalah singkatan dari Application-Specific Integrated Circuit, dibuat untuk tujuan khusus yakni penambangan Bitcoin dan Litecoin. Pemikiran untuk memiliki mesin yang dirancang khusus untuk penambangan pada saat itu dinilai sangat maju, sehingga ketika KNCMiner meluncurkan pra-order untuk ASIC, mereka langsung menerima pesanan $25 juta dalam 5 jam pertama. Saat ini, Bitcoin dan Litecoin secara eksklusif ditambang melalui ASIC. Bitmain baru-baru ini merilis ASIC untuk Ethereum.

 

Cara Membangun Rig Penambangan Ethereum

Setelah belajar jenis-jenis penambangan, sekarang kamu siapkan rig penambangan Ethereum-mu!

Sebelum kita melanjutkan, mari kita berikan apresiasi untuk artikel oleh Antonio Madeira ini yang berisi tentang Crypto Compare.

 

Berikut jenis-jenis hardware yang akan kamu butuhkan:

  • Motherboard.
  • GPU.
  • Hard Drive.
  • RAM.
  • Power Supply Unit.

Motherboard

Motherboard merupakan dasar dari rig penambangan. Jumlah GPU yang bisa kamu gunakan, berhubungan langsung dengan jumlah slot GPU yang ada dalam motherboard  milikmu. Semakin banyak GPU yang dapat kamu lampirkan ke motherboard, semakin banyak laju hash Anda, yaitu laju kamu menghitung hash. Berikut beberapa contoh Motherboard penambangan yang bagus:

  • Asus B250 Mining Expert:
  • ASRock H110 Pro BTC +

GPU

Sebelum memiliki GPU, kamu perlu mengajukan dua pertanyaan kepada diri sendiri:

 

  • Seberapa kuat rig yang ingin kamu ciptakan?
  • Berapa banyak uang yang akan kamu habiskan?

 

Pastikan kamu mendapatkan GPU yang efisien.

Berikut ini adalah grafik tingkat kinerja berbagai GPU dalam penambangan Ethereum seperti yang dilihat oleh NIceHashMiner:

 

Hard Drive

Kamu tentu akan membutuhkan sesuatu untuk menyimpan OS dan software penambangan. Untuk itu, kamu membutuhkan hard drive dan hard drive seperti SSD standar (solid state driver) cocok digunakan.

Jadi, seberapa besar seharusnya hard drive yang bisa digunakan? Jika kamu berencana untuk mengunduh seluruh blockchain, maka kamu harus memiliki cukup ruang untuk mengimbangi pertumbuhan blockchain di masa depan.

 

RAM

RAM atau Random Access Memory diperlukan untuk perhitungan cepat dan perhitungan informasi. RAM 4GB biasanya lebih dari cukup.

 

Power Supply Unit (PSU)

Ukuran Power Supply Unit (PSU) tergantung pada berapa banyak GPU yang kamu gunakan. Jadi pertama, kamu perlu menjumlahkan konsumsi daya dari GPU milikmu dan semua komponen lainnya untuk memastikan kapasitas PSU lebih dari jumlah GPU. Jadi, jika kamu menggunakan 2 220 Watts GPU dan komponen lainnya mengkonsumsi 250 Watt maka PSU milikmu harus memiliki lebih dari (2*220+250) 690 Watt.

Perangkat Lunak untuk Penambangan

Pertama, yang pasti, kamu harus memiliki sistem operasi.

Kamu bisa mengunduh ethOS yang merupakan APP yang dirancang khusus untuk Penambangan Ethereum. Ini meruupakan distro linux 64-bit yang menambang Ethereum dengan cara yang berbeda, yang memungkinkan kamu untuk mengontrol semua rig dari satu lokasi saja, dan menelusuri ke GPU tertentu jika diperlukan. ethOS mendukung eth-proxy/strata langsung setelah instalasi

 

Kamu dapat mengecek ethOS di sini.

 

Menyiapkan MyEtherWallet

Begitu kamu selesai mengatur semuanya, kamu perlu membuat Ethereum Wallet. Percuma menambang semua koin ini, jika kamu tidak mempertimbangkan langkah-langkah selanjutnya. Kamu bisa membaca panduan tentang dompet crypto di sini. My Ethereum Wallet merupakan salah satu dompet terbaik saat ini, meskipun beberapa waktu terakhir mereka menghadapi beberapa masalah

 

Berikut adalah langkah-langkah yang diperlukan untuk mengatur MyEtherWallet milikmu:

 

  • Pertama, buka MyEtherWallet.com.

  • Selanjutnya, klik pada tab bantuan.

  • Scroll ke bawah dan klik pada opsi 5:

  • Sekarang buka tautan yang disorot di sini:

  • Setelah itu unduh file zip ini ke komputermu:

  • Sekarang buka file zip di komputermu dan klik pada file index.html. Sebelum melakukannya, matikan dulu internet Anda sehingga kamu sedang offline.

  • Sekarang buat kata sandi baru dan buat dompetmu, pastikan kamu memasukkan kata sandi yang rumit:
  • Sekarang kamu harus mengunduh file keystore-mu, yang pada dasarnya adalah file dompetmu. Pastikan kamu juga menyimpan cadangan file ini. Setelah selesai, klik “I understand. Continue.”

  • Nah, sekarang dompetmu berhasil dibuat. Apa yang kamu lihat di sini adalah kunci pribadimu. JANGAN membagikannya dengan siapa pun.

  • Cetak dompetmu dengan mengklik tombol “Print”. Ini yang akan kamu dapatkan. Perhatikan bahwa kamu dapat melihat kunci pribadi dan publik di sini:

Dan begitulah cara membuat dompet kertas Ethereum.

 

Ethereum Mining Solo vs Mining Pools

Nah, sekarang kamu sudah punya seluruh sistem dan dompetmu juga telah diatur. Sekarang, kamu perlu menentukan bagaimana langkah-langkah penambangannya

Apakah kamu akan menambang solo (sendiri) atau kamu akan menambang di kolam (kelompok)?

Memang, kamu bisa menambang solo, tapi saat ini sudah tidak ada lagi yang menambang Ethereum secara solo. Kenapa? Karena ini sangat tidak praktis dan kamu tidak akan melihat hasil apapun.

Inilah sebabnya mengapa orang lebih menyukai kolam penambangan.

 

Apa itu kolam penambangan?

(Catatan: Pada bagian ini, kita akan berbicara secara eksklusif wrt BTC).

Seluruh blockchain bisa berfungsi karena jaringan “penambang”. Para penambang pada dasarnya “menambang” untuk blok baru di blockchain dengan memecahkan teka-teki kriptografi yang kompleks menggunakan kekuatan komputasi mereka. Sebagai hasilnya, mereka mendapatkan hadiah penambangan, yakni 12,5 BTC.

 

Begitu mereka berhasil menambang blok, mereka mendapatkan kekuatan untuk melakukan transaksi di dalam blok. Pada dasarnya, memang itulah transaksi yang terjadi di semua cryptocurrency, seorang penambang memasukkan catatan transaksinya di dalam blok.

 

Jangan lupa satu hal, bahwa jumlah bitcoin yang dibuat hanya terbatas (21 juta koin). Satoshi Nakamoto, pencipta bitcoin, memprediksi bahwa semakin banyak penambang yang masuk, harga penambangan bitcoin akan meningkat secara eksponensial. Peningkatannya akan sangat tinggi, sehingga semua bitcoin yang tersedia dapat ditambang dalam beberapa tahun!

 

Hal ini, bisa menjadi bencana bagi bitcoin. Karena, seperti semua komoditas ekonomi, nilai bitcoin terletak pada penawaran dan permintaan. Jika pasokan bitcoin tiba-tiba meningkat, maka itu akan menurunkan permintaan, dan pada akhirnya akan merusak nilainya. Hubungan penawaran-permintaan adalah salah satu konsep ekonomi yang paling penting, berikut ini adalah grafik penawaran-permintaan:

Untuk mencegah pasokan bitcoin menjadi tidak terkontrol, serta agar bitcoin bisa menjadi model yang lebih berkelanjutan, Satoshi menerapkan sistem penyesuaian kesulitan.

Apa itu penyesuaian kesulitan? Semakin banyak blok yang ditambang, kesulitan teka-teki kriptografi akan meningkat secara eksponensial pula. Pada dasarnya, semakin banyak bitcoin yang kamu miliki, akan semakin sulit juga proses penambangannya. Penambang akan segera mengerti bahwa mereka tidak dapat lagi menambang sendiri secara efisien, dan prosesnya semakin mahal. Jadi, mereka memutuskan untuk mengumpulkan sumber daya mereka bersama-sama dan membentuk kelompok untuk menambang bitcoin dengan lebih efisien. Kelompok penambang ini disebut “kolam penambangan”.

 

Keuntungan dan Kerugian menggunakan kolam penambangan

 

Keuntungan

  • Kolam dijalankan oleh pengelola kolam. Hal ini lebih mudah untuk meningkatkan jaringan secara keseluruhan, karena alih-alih berkoordinasi satu-satu dengan para penambang independen, pengelola kolam hanya cukup meningkatkan jaringan sendiri.

 

  • Mengurangi variansi dalam pemberian imbalan penambangan: Salah satu alasan terbesar mengapa penambang bergabung dengan penambangan kolam adalah untuk mengurangi perbedaan dalam imbalan penambangan mereka. Untuk memahami apa itu perbedaan dan bagaimana hal itu mempengaruhi penambang, ada penghitungan secara matematika. Berikut penjelasan dari artikel L.M. Goodman:

 

Pertama, mari kita pahami apa itu distribusi Bernoulli. Distribusi Bernoulli pada dasarnya menyatakan bahwa untuk setiap distribusi diskrit yang memiliki dua hasil yakni “sukses” dan “kegagalan”, jika kemungkinan keberhasilannya adalah p (di mana, 0 <p <1), maka kemungkinan kegagalannya adalah 1-p.

Sekarang, mari kita menerapkannya dalam bitcoin. Jika penambang mengontrol fraksi “p” dari keseluruhan kekuatan penambangan dan sebagai hasilnya, ia memiliki kemungkinan p dalam menambang blok baru di mana 0 <p <1, maka, pada penerapan distribusi Bernoulli, ia memiliki kemungkinan (1-p) untuk TIDAK menambang blok baru.

Dalam distribusi Bernoulli: varians = p * (1-p)

Sekarang, mari kita lihat berapa banyak blok yang ditambang dalam setahun.

Setiap 10 menit, 1 blok ditambang. Yang berarti setiap jam adalah 6 blok, setiap hari= 24 * 6 blok, dan setiap tahun= 365 * 24 * 6 blok yang ditambang.

Pada dasarnya, untuk penambang yang memiliki kemungkinan “p” dalam penambangan satu blok, diharapkan dapat menambang blok 365 * 24 * 6 * p per tahun. Itulah hasil yang diharapkan.

Demikian pula, varians standar keseluruhan yang akan mereka hadapi sepanjang tahun adalah: 365 * 24 * 6 * p * (1-p).

 

Sekarang, kita akan mendefinisikan “deviasi standar” atau simpangan baku. Simpangan baku adalah istilah yang mendefinisikan berapa banyak anggota kelompok terdistribusi tertentu yang bervariasi dari rata-rata kelompok.

Dalam konteks blockchain dan contoh ini, simpangan baku adalah seberapa jauh perbedaan antara imbalan penambang yang didapat dengan imbalan yang diharapkan.

Simpangan baku = [sqrt] varians / keuntungan yang diharapkan.

Sekarang, seperti yang kita ketahui:

varians = 365 * 24 * 6 * p * (1-p)

keuntungan yang diharapkan = 365 * 24 * 6 * p

Jadi, dengan mengganti nilai-nilai ini kita mendapatkan:

Simpangan baku = [sqrt] (365 * 24 * 6 * p * (1-p)) / 365 * 24 * 6 * p

Sebagai contoh, misalkan seorang penambang memiliki 0,01% dari tingkat hash dalam jaringan. (Artinya: p = 0,0001).

Jika Anda mengganti nilai sesuai dengan persamaan deviasi standar, maka Anda akan mendapatkan deviasi standar 0,4364 atau 43,6%!

Penyimpangan 43,6% dari imbalan yang diharapkan atau penambang yang memiliki tingkat hash 0,01%.

Satu-satunya solusi untuk mengurangi penyimpangan dan varians ini adalah mengumpulkan sumber daya untuk bersama-sama meningkatkan persentase tingkat hash, seperti yang dilakukan oleh kolam penambangan.

 

Kontra

  • Banyak hal yang bergantung pada etika manajer kolam renang.
  • Sentralisasi: Kita akan jelaskan tentang hal ini lebih lanjut nanti.

 

Keuntungan Menjadi Penambang

 

Jadi, mengapa kamu harus menjadi penambang?

 

  • Kamu bisa memiliki Ether! Pertama dan paling utama, alasan yang paling jelas. Kamu bisa memiliki Ether-mu sendiri. Selain itu, ketika kamu menambang blok, kamu bisa mengumpulkan biaya transaksi untuk semua transaksi yang masuk ke dalamnya.

 

  • Jika kamu percaya pada Ethereum atau Cryptocurrency secara umum, maka kamu bisa memiliki hak di jaringan melalui penambangan.
  • Terakhir, dengan beralihnya Ethereum ke Proof of Stake, maka membangun deposit Ethereum yang besar melalui Proof of Work akan sangat membantu.

 

Apa itu Proof of Stake?

Berbicara tentang Proof of Stake (POS), apa sebenarnya artinya dan mengapa Ethereum akan beralih pada POS? Kita akan membahas bagian pertama pertanyaan terlebih dahulu.

POS akan membuat seluruh proses penambangan menjadi virtual dan menggantikan penambang dengan validator.

 

Begini prosesnya:

  • Validator harus mengunci beberapa koin mereka sebagai taruhan.
  • Setelah itu, mereka akan mulai memvalidasi blok. Artinya, ketika mereka menemukan blok yang menurut mereka dapat ditambahkan ke rantai, mereka akan memvalidasinya dengan memasang taruhan pada blok tersebut.
  • Jika blok mendapat tambahan, maka validator akan mendapatkan imbalan yang sebanding dengan taruhan mereka.

 

Proof of Work vs Proof of stake

 

POS akan membuat penambangan sepenuhnya menjadi virtual dan ini akan sangat mengurangi pemborosan yang dihasilkan jika melalui POW.

Pelaksanaan POS Ethereum disebut sebagai protokol Casper.

Mengapa Casper dibutuhkan? Ternyata, ada satu masalah besar jika menggunakan implementasi POS.

 

Penghalang Terbesar untuk POS

Pengembang Ethereum memang selalu berencana untuk beralih ke POS, rencana mereka selalu seperti itu. Namun, sebelum mereka dapat melakukannya, mereka harus paham bagaimana mengatasi salah satu kelemahan terbesar dari POS.

Coba pertimbangkan skenario ini:

Misalkan kita memiliki situasi seperti yang di atas. Ada rantai biru utama dan rantai merah yang sepertinya merupakan cabang dari rantai utama itu sendiri. Apa yang bisa menghentikan penambang berbahaya untuk menambang di blok merah?

Dalam sistem proof-of-work (POW), risiko ini dapat dikurangi.

Misalkan penambang berbahaya Alice ingin menambang di rantai merah. Sekalipun ia mendedikasikan semua kekuatan hashnya, dia tetap tidak akan mendapatkan penambang lain untuk bergabung dengannya di rantai baru. Semua orang masih akan terus menambang pada rantai biru karena lebih menguntungkan dan bebas risiko jika menambang pada rantai yang lebih panjang.

Tetaplah ingat, bahwa POW adalah sumber daya yang sangat mahal.

Sangatlah tidak masuk akal, jika penambang membuang begitu banyak sumber daya di blok yang pada akhirnya akan ditolak oleh jaringan. Oleh karena itu, rantai perpecahan merupakan hal yang dihindari dalam sistem POW karena akan banyak uang yang terbuang sia-sia.

Namun, akan sedikit berbeda jika kamu memasukkan POS.

Jika kamu seorang validator, maka kamu bisa dengan mudah memasukkan uangmu dalam rantai merah dan rantai biru tanpa rasa takut sama sekali. Apapun yang terjadi, kamu akan selalu menang dan tidak akan kehilangan apapun, terlepas dari seberapa jahat tindakanmu.

Hal ini disebut permasalahan “Nothing at Stake”, dan Ethereum harus bisa mengatasinya

Mereka membutuhkan protokol yang dapat menerapkan POS dan mengurangi masalah “Nothing at Stake”.

 

Ethereum Mining: Pengenalan Casper

Casper adalah protokol POS yang telah dipilih Ethereum untuk berkolaborasi. Walaupun Casper diciptakan oleh kerja tim, Vlad Zamfir yang sering mendapatkan kredit sebagai “Face of Casper”.

Jadi apa perbedaan Casper dibandingkan protokol Proof of Stake lainnya?

Casper telah menerapkan proses di mana mereka dapat menghukum semua elemen jahat. Beginilah cara POS dengan kontrol Casper bekerja:

 

  • Para validator mempertaruhkan sebagian dari Eter mereka sebagai taruhan.
  • Setelah itu, mereka akan mulai memvalidasi blok. Artinya, ketika mereka menemukan blok yang menurut mereka dapat ditambahkan ke rantai, mereka akan memvalidasinya dengan memasang taruhan pada blok tersebut.
  • Jika blok mendapat tambahan, maka validator akan mendapatkan imbalan yang sebanding dengan taruhan mereka
  • Namun, jika validator bertindak curang dengan memvalidasi namun tidak memasang taruhan, mereka akan segera ditegur dan semua saham mereka akan dipotong.

 

Seperti yang Anda lihat, Casper dirancang untuk bekerja dalam sistem tanpa kepercayaan dan lebih pada Byzantine Fault Tolerant.

Siapa saja yang bertindak dengan cara yang jahat/Bizantium akan segera dihukum dengan menghilangkan seluruh taruhan mereka. Inilah yang membedakan Casper dari kebanyakan protokol POS lainnya. Elemen berbahaya memiliki risiko kerugian sehingga tidak mungkin tidak ada yang dipertaruhkan.

Dan ini bukan satu-satunya tempat di mana Casper menghukum para validator.

Seperti yang dicatat oleh Hudson James dan Joris Bontje dalam jawaban mereka di “StackExchange”, Casper mendesain insentif yang lebih kuat untuk menjamin keamanan jaringan, termasuk menghukum para penambang yang offline, secara sengaja atau tidak.

Artinya, validator harus berhati-hati soal waktu aktif simpul mereka. Kecerobohan atau kemalasan akan menyebabkan mereka kehilangan taruhannya. Properti ini mengurangi sensor transaksi dan ketersediaan secara keseluruhan.

Bersamaan dengan hal-hal tersebut, properti “pemotongan” juga meminjamkan sebuah tepian yang berbeda pada Casper, di luar batas normal Proof of Work.

Mari kita bahas diagram berantai lagi:

Dalam protokol POW, baik penambangan di rantai biru maupun rantai merah, tidak menjadi masalah. Baik penambang yang jujur maupun yang curang, juga akan menghabiskan jumlah sumber daya yang sama.

Namun, dalam Casper, jika validator yang jujur menambang pada rantai biru, maka mereka akan mendapatkan imbalan yang sebanding dengan taruhan mereka. Sebaliknya, taruhan penambang yang jahat justru akan dipotong karena telah bertaruh pada rantai merah.

Kesimpulannya, semuanya merupakan hal yang baik. Namun, bagaimana Ethereum bisa memastikan bahwa penambang akan pindah dari POW ke POS?

Mereka berencana melakukannya melalui “difficulty time bomb”

 

Apa itu Difficulty Time Bomb (Bom Waktu Kesulitan)?

Apakah sesuatu yang bisa digunakan untuk memberi insentif kepada para penambang agar mau berpindah dari protokol proof-of-work ke protokol proof-of-stake?

Penambang membeli peralatan senilai ribuan dolar sehingga mereka dapat menambang pada blok-blok. Namun, ketika POS hadir, semua peralatan itu menjadi tidak berharga lagi. Bayangkan saja, sudah menghabiskan begitu banyak uang dan membuat kolam yang super rumit, lalu semua itu menjadi tidak berguna sama sekali.

Jika itu masalahnya, lalu apa yang akan menghentikan para penambang untuk tetap menggunakan rantai proof-of-work yang lama dan terus menambang di atasnya? Pada dasarnya, ini akan menciptakan tiga koin Ethereum: Ethereum Classic, Ethereum Proof-of-work, dan Ethereum Proof-of-stake. Hal ini benar-benar akan menimbulkan kerugian besar.

Tidak hanya mengurangi nilai ekonomi dan kredibilitas Ethereum dalam skala besar, ini juga akan melemahkan tingkat hash dari keseluruhan rantai, yang dapat membuatnya rentan terhadap serangan hacker.

Untuk memastikan bahwa ada insentif yang tepat bagi para penambang agar mau bergabung dengan rantai baru, pengembang Ethereum memperkenalkan bom waktu kesulitan. Bom waktu diperkenalkan pada 7 September 2015. Untuk memahami cara kerja bom waktu kesulitan, penting untuk memahami seberapa sulitnya proses penambangan.

 

 

Apa kesulitannya dan bagaimana cara kerjanya?

Konsep dari kesulitan ini dimulai dengan bitcoin. Ketika bitcoin pertama kali diperkenalkan, proses penambangannya sangat sederhana dan siapa pun bisa melakukannya menggunakan PC mereka. Namun, ketika bitcoin semakin populer, jumlah penambang di jaringan juga ikut meningkat. Hal ini meningkatkan kemungkinan para penambang menjadi lepas kendali dan menambang semua bitcoin yang tersisa dalam waktu satu tahun. Satoshi Nakamoto telah memprediksi hal ini akan terjadi, lalu ia memperkenalkan sistem “kesulitan”.

Cara kerja sistem kesulitan ini adalah: Penambang menghabiskan daya komputasi mereka untuk memecahkan teka-teki kriptografi. Cara mereka melakukannya adalah dengan menambahkan string random (yang disebut nonce) secara acak ke hash blok dan kemudian mereka memecahkan seluruh string. Jika nomor yang dihasilkan kurang dari nomor tertentu yang telah ditetapkan, maka tindakannya dianggap berhasil dan blok baru bisa ditambahkan ke blockchain. Cara menemukan “nonce” ini sangat sulit dan ini merupakan inti dari semua penambangan.

Apabila kita merangkum seluruh proses, maka hasilnya akan terlihat seperti ini:

 

  • Hash dari isi blok baru terambil.
  • Nonce (string acak) ditambahkan ke hash.
  • String baru di-hash lagi.
  • Kemudian hash akhir dibandingkan dengan tingkat kesulitan dan dicek, apakah kurang atau tidak
  • Jika tidak, maka nonce berubah dan proses akan berulang lagi.
  • Jika ya, maka blok ditambahkan ke rantai. Serta, buku panduan umum blockchain harus diperbarui dan diperingatkan untuk melakukan penambahan informasi.
  • Para penambang yang bertanggung jawab untuk ini diberikan hadiah blok.

 

Kesulitannya disesuaikan di setiap blok ke-2016.

Tingkat kesulitan berbanding lurus dengan tingkat yang sama dengan blok yang sedang ditambang. Bitcoin memiliki waktu blok rata-rata 10 menit.

Jika waktu blok berjalan di bawah waktu tersebut, maka tingkat kesulitan meningkat. Jika naik, maka waktu kesulitan berkurang. Ini dilakukan untuk memastikan waktu blok bitcoin tetap ~10 menit.

Pada dasarnya, inilah proses penambangan bitcoin dan Ethereum mengikuti protokol yang sama juga. Perbedaannya, di Ethereum, sebuah blok ditambang setiap 15 detik.

Grafik berikut menunjukkan peningkatan kesulitan dalam Ethereum:

 

Jadi apa yang akan dilakukan oleh bom waktu kesulitan?

Bom kesulitan akan secara eksponensial meningkatkan kesulitan begitu besar sehingga penambangan akan menjadi msutahil.

Seperti yang telah dijelaskan sebelumnya, penyesuaian tingkat kesulitan mengikuti tingkat yang sama dengan blok sedang ditambang. Algoritma penyesuaian kesulitan Ethereum ditunjukkan seperti ini:

 

block_diff = parent_diff + parent_diff//2048 * max (1 – (block_timestamp – parent_timestamp) // 10, -99) + int (2* ((block.number//100000) – 2))

(Tanda “//” ini merupakan operator divisi, sehingga 6//2 = 3 dan 9//2 = 4.)

 

Jadi, coba kita telaah pengertiannya menggunakan Bahasa Inggris dasar :

Block_timestap = waktu di mana blok itu ditambang.

Parent_timestamp = waktu di mana blok induk alias blok sebelumnya ditambang.

 

  • Jika (block_timestamp – parent_timestamp) <10 detik, maka faktor “parent_diff//2048 * 1” ditambahkan pada kesulitan.
  • Jika (block_timestamp – parent_timestamp) berada di antara 10-19 detik, maka kesulitannya tetap sama.
  • Jika (block_timestamp – parent_timestamp)> 20 detik, maka kesulitan dikurangi dengan “parent_diff// 2048 * -1” menjadi maksimum “parent_diff// 2048 * -99”.

 

Inilah proses algoritma untuk penyesuaian kesulitan dalam versi Homestead dari Ethereum. Intinya adalah bagaimana mempertahankan waktu blok ~15 detik.

Jadi, yang akan dilakukan oleh kesulitan bom waktu adalah untuk meningkatkan kesulitan dengan jumlah eksponensial tanpa menyesuaikannya, sehingga akan membutuhkan lebih banyak waktu untuk menyelesaikan teka-teki kriptografi. Pada akhirnya, menambang pada rantai menjaadi hampir mustahil untuk dilakukan. Fenomena ini disebut “Zaman Es Ethereum”, saat semua cara POW pertambangan menjadi tidak mungkin.

Ketika ini terjadi, para penambang tidak memiliki pilihan lain lagi selain membuat rantai Ethereum baru yang memiliki Proof-of-Stake di atasnya.

Jadi, mengapa hal ini diinginkan? Apa masalah yang kita hadapi ketika menerapkan Proof of Work, yang Proof-of-Stake akan bisa atasi?

 

Mengapa POS Diperlukan lebih dari POW?

Ada beberapa keuntungan menerapkan POS seperti di daftar berikut. (Kredit untuk Jon Choi dan artikelnya).

  • Membantu mencapai desentralisasi.
  • Efisiensi energi.
  • Keamanan ekonomi.
  • Penskalaan.
  • Transisi ke POS.

 

Penambangan Ethereum: Mencapai Desentralisasi

Seperti yang telah kita lihat di atas, protokol POW tidak lagi terlalu condong pada desentralisasi. Coba kita lihat bagan distribusi tingkat hash untuk bitcoin:

Dan di sini adalah distribusi tingkat hash dari penambangan di Ethereum:

(Sumber: Etherchain.org)

Seperti yang terlihat, sebagian besar tingkat hash terkonsentrasi dalam beberapa kolam tertentu. Ini artinya, apa pun yang terjadi, mereka akan selalu memiliki peluang yang lebih bagus untuk menambang dan mendapatkan imbalan daripada orang lain.

Karena mereka dapat memperoleh lebih banyak uang, mereka dapat membeli ASIC yang lebih baik dan lebih cepat. Pada dasarnya, ini berarti, tidak peduli apa pun yang terjadi, penambangan besar akan selalu memiliki kelebihan dibandingkan penambangan individu dan kolam yang lebih kecil. Dengan kata lain, orang kaya akan selalu menjadi lebih kaya.

Namun, dengan Proof-of-stake, hal-hal tersebut tidak akan terjadi karena penambangan sepenuhnya dilakukan secara virtual. Namun, itu bukan satu-satunya cara POS mengurangi dampak sentralisasi. Untuk memahami itu, pertama kita harus tahu apa arti “Economies of Scale”. (Kredit untuk ACDCLeadership youtube channel untuk bantuan datanya).

 

Ketika berbicara tentang produksi, terdapat dua jenis:

 

  • Produksi Jangka Pendek.
  • Produksi Jangka Panjang.

 

Dalam produksi jangka pendek, setidaknya sumber daya input sudah diperbaiki. Sebagai contoh, restoran pizza kecil yang hanya memiliki satu oven. Meskipun mereka harus menghasilkan 1 pizza dari 25, hanya ada satu-satunya oven yang dapat mereka gunakan untuk membuat pizza tersebut.

Dalam produksi jangka panjang, semua sumber dayanya bervariasi, dan di sinilah skala ekonomi masuk.

Jadi, dalam produksi jangka panjang di mana kuantitas sumber daya input adalah variabel, apa yang akan terjadi jika kamu menggandakan inputnya? Hanya ada tiga hasil untuk skenario khusus ini. Kami menyebutnya “kembali ke skala”.

 

  • Outputnya lebih dari dua kali lipat. Berarti ada peningkatan skala kembali.
  • Outputnya berlipat ganda. Berarti ada skala hasil tetap.
  • Outputnya tidak berlipat ganda. Berarti ada penurunan skala.

 

Gambar berikut ini akan menunjukkan representasi grafis dari skala ekonomi.

 

Apa sebenarnya yang terjadi?

Ketika produksi meningkat dari Q ke Q2, biaya keseluruhan produksi turun dari C ke C1. Ini yang disebut skala ekonomi.

Setelah itu, skalanya akan menjadi berimbang sedikit. Di sinilah kamu mendapatkan hasil konstan untuk skala.

Dan kemudian ketika kamu melampauimya, biaya akan meningkat seiring peningkatan output melampaui Q2.

Ini artinya, perusahaan besar dapat menurunkan biaya rata-rata produk mereka dengan meningkatkan jumlah output mereka! (sampai batas)

 

Dalam arti… more is less!

 

Mari kita ambil contoh nyata dari kasus tersebut.

Biaya awal seorang tukang roti kecil jelas lebih sedikit dari perusahaan roti besar karena perusahaan harus berinvestasi pada banyak mesin. Namun, dalam jangka panjang, biaya rata-rata setiap roti akan jauh lebih rendah untuk perusahaan daripada untuk tukang roti.

Lalu, bagaimana jika hal itu diterapkan dalam penambangan?

Seperti halnya perusahaan besar, penambangan yang lebih besar dapat mengurangi biaya sumber daya input mereka dengan:

  • Amortisasi biaya tetap atas operasi yang lebih besar.
  • Memiliki kekuatan untuk menawar dengan beroperasi sebagai entitas yang lebih besar.

 

Pada dasarnya ini berarti, sebuah kolam penambangan besar yang berpengaruh, secara dollar-for-dollar, mampu menghasilkan lebih banyak hash-rate daripada kolam lain bahkan jika mereka menghabiskan jumlah uang yang sama.

Masalah ini benar-benar diatasi dengan proof-of-stake karena satu alasan sederhana. Di POS, kamu menginvestasikan taruham. Kamu tidak bisa hanya mengumpulkan bersama dan membuat taruhan Anda lebih berharga, secara dollar-for-dollar. Pada akhirnya, 1 dolar = 1 dolar. Skala ekonomi tidak berfungsi di sini.

 

Efisiensi energi

Masalah terbesar dari Proof-of-Work adalah pemborosan energi. Lebih buruk lagi, pemborosan energi dilakukan demi pemborosan energi selanjutnya. Bitcoin, khususnya, sangat rakus dengan hasratnya akan energi. Lihat gambar berikut ini:

 

Dan beberapa angka lagi:

Ada dua angka yang harus kamu fokuskan:

Biaya penambangan global tahunan bitcoin adalah $1,423,794,674.

Bitcoin sendiri setiap tahunnya mengkonsumsi daya listrik 28,48TWh. Negara Ekuador saja, mengkonsumsi sekitar 21 TWh!

Faktanya, mari kita bandingkan konsumsi energi bitcoin dengan beberapa negara:

Bitcoin mengkonsumsi lebih banyak daya daripada Irlandia, Bahrain, dan Republik Slovakia!

Oke, mari bandingkan dengan bidang sejenis.

Bagaimana jika kita membandingkan Bitcoin dengan sistem pembayaran lain? Misalnya, Visa.

Bagaimana konsumsi daya bitcoin dibandingkan dengan visa?

 

Yup, tidak bagus.

Jadi jelas bahwa bitcoin memakan banyak daya, dan banyak uang yang akan dihabiskan untuk sumber daya. Namun, bagaimana dengan biaya eksternal? Pengaruh jumlah konsumsi daya bitcoin terhadap lingkungan pastilah sangat besar.

Meskipun tidak ada keraguan bahwa bitcoin dan POW telah membuat banyak perubahan sosial yang positif, setidaknya kita harus melihat apa yang dapat diberikan oleh sistem POS berskala besar dan bisa berfungsi dengan baik tanpa memakan begitu banyak daya.

 

Keamanan Ekonomi

Keuntungan terbesar yang dimiliki POS, terutama Casper, adalah keamanan ekonominya. Misalnya, anggaplah kamu seorang validator dan kamu memiliki uangmu sendiri yang disimpan sebagai taruhan dalam jaringan. Ini merupakan kepentinganmu sendiri untuk bertindak demi kepentingan terbaik bagi jaringan. Mengapa kamu perlu bertindak jahat jika mengetahui bahwa ada bagian besar dari taruhanmu yang dapat dipotong dan diambil alih jika kamu melakukannya?

Mengapa kamu perlu menyerang jaringan dan membahayakan nilai koin jika kamu sudah memiliki begitu banyak mata uang yang dikunci di dalamnya?

Serta, “efek pemotongan” ini akan menghilangkan kemungkinan “serangan bibit” seperti saat Vitalik menukarnya:

 

Serangan bibit dapat dicegah di POS oleh fakta sederhana bahwa hanya satu serangan yang akan mengarah pada pemotongan dan penghapusan taruhan yang diinvestasikan. Dan jika kamu tidak menanamkan taruhan, kamu tidak dapat ikut serta dalam validasi POS.

 

Scaling

Cara POS membantu skalabilitas yang paling jelas adalah dengan mengaktifkan sharding.

Seperti kata Vlad Zamfir, sharding dengan POW bukannya mustahil, tapi sulit dilakukan.

 

Apa itu sharding?

Sharding adalah istilah yang diambil dari sistem basis data. Cobai kita lihat apa artinya sharding, yang berkaitan dengan basis data. Misalnya kamu memiliki database besar besar untuk situs web milikmu. Memiliki basis data yang besar, tidak hanya membuat pencarian data lebih lambat, tetapi juga menghambat skalabilitas-mu. Jadi, apa yang bisa kamu lakukan dalam kasus ini?

Bagaimana jika kamu melakukan pembagian horizontal pada datamu dan mengubahnya menjadi tabel yang lebih kecil, lalu menyimpannya di server database yang berbeda?

Seperti itu?

Sekarang, kamu mungkin bingung, mengapa harus partisi horizontal dan bukan partisi vertikal? Itu karena mengikuti bagaimana cara table tersebut dirancang:

Pertimbangkan ini. Anggaplah ini adalah tabel utama kita:

Sekarang, jika kita mempartisi/membagi tabel ini secara vertikal:

 

Kamu lihat apa yang terjadi? Ketika kamu secara vertikal mempartisi sebuah tabel, table tersebut cenderung menjadi dua tabel yang sangat berbeda.

Namun, jika kita mempartisi secara horizontal:

 

 

Coba lihat? Ini adalah tabel/database yang sama tetapi dengan data yang lebih kecil. Database yang lebih kecil ini dikenal sebagai pecahan dari database yang lebih besar. Setiap pecahan harus identik dengan struktur tabel yang sama.

Jadi apa yang akan terjadi jika kita menerapkan sharding dalam protokol POW?

Sharding akan membuat proses lebih cepat dengan memisahkan sebuah negara menjadi pecahan yang berbeda. Namun, jika kita menggunakan POW, pecahan yang lebih kecil akan terancam diambil alih oleh penambang jahat karena tingkat hash yang rendah. Sebenarnya, ini adalah alasan terbesar mengapa blockchain POW tidak dapat menerapkan sharding, karena setiap dan semua pecahan kecil dapat dengan mudah diambil alih.

Risiko ini sepenuhnya dikurangi di POS karena tidak ada konsep penambangan.

Kesimpulan Ethereum Mining

Seperti yang bisa dilihat, semuanya akan sangat berubah setelah Proof of Stake diimplementasikan. Namun, siapa pun yang ingin memasuki penambangan dengan POW di Ethereum, masih memiliki banyak waktu untuk melakukannya.

Dapat rahasia mining Bitcoin 💡
Artikel Terkait

 Lihat Lebih