Apa Itu Proof of Work (PoW) Pada Blockchain

Dalam dunia cryptocurrency, memanipulasi blockchain hampir tidak mungkin untuk dilakukan. Alasannya adalah karena sebagian besar blockchain memproses Proof of Work (PoW) di hash (kode unik dari blok sebelumnya). Hash adalah angka yang sangat sulit untuk dihitung, tetapi sangat mudah untuk memverifikasi bahwa angka tersebut benar.

Apa itu Proof of Work (PoW)

Proof of Work (PoW) adalah algoritma kriptografi yang mengharuskan penambang dalam jaringan untuk memecahkan persoalan matematika. Proof of Work diwajibkan di jaringan Bitcoin dan kripto lain sebagai bukti bahwa pengguna telah menyumbang kekuatan komputasi.

Untuk dapat menambahkan blok baru pada buku besar virtual, nomor Proof of Work harus dihitung sampai ditemukan nilai hash yang valid. Selama nilai ini tidak ditemukan, blok hanya dapat ditambahkan dengan hanya mencoba angka. Angka atau nilai ini disebut Nonce dalam istilah Bitcoin dan merupakan singkatan dari Number used only ONCE.

Mekanisme Proof of Work

Aturan mengenai kesulitan perhitungan hash dapat disesuaikan per blok. Di blockchain Bitcoin, nilai maksimum untuk hash yang valid disesuaikan setiap 2016 blok, sehingga semua peserta bersama-sama dapat menambahkan (menambang) blok baru setiap sepuluh menit. Blok baru ditambahkan ke jaringan Ethereum setiap menit.

Hash terkait tidak hanya membutuhkan kapasitas komputasi yang cukup, tetapi juga beberapa GB ruang penyimpanan. Ini mencegah hanya chip yang sangat kuat yang dapat menghitung blok ini dengan cepat. Jika tidak, investasi yang signifikan dalam jenis perangkat keras ini akan meninggalkan sebagian besar daya komputasi di tangan sekelompok pengguna terbatas.

Ada 512 bit (1 atau 0) dalam sebuah hash, jadi ada 2^512 hash yang berbeda. Jumlahnya lebih dari atom di alam semesta yang terlihat. Akibatnya, kemungkinannya sangat kecil bahwa dua input dengan hash yang sama akan ditemukan.

Jaringan bitcoin menetapkan persyaratan untuk hash blok. Misalnya, 144 bit pertama dari hash 512-bit harus nol. Karena pengguna tidak dapat menemukan blok berdasarkan hash, sebagai penambang pengguna hanya memiliki 1 opsi untuk membuat blok yang valid: dengan menyesuaikan data blok sedikit setiap kali untuk mendapatkan input unik untuk fungsi hash. Ini dilakukan dengan menyesuaikan nonce blok.

Jika pengguna memiliki hash, mereka dapat memverifikasi bahwa data asli belum diubah dengan menghitung ulang hash dan membandingkannya dengan hash yang didapatkan. Mekanisme Proof of Work ini digunakan untuk memeriksa apakah kata sandi benar, tanpa menyimpan kata sandi itu sendiri. Hash kata sandi milik pengguna dibandingkan dengan hash yang disimpan. Jika benar, maka kata sandi pengguna itu pun benar.

Setiap blok menyimpan hash dari blok sebelumnya. Pencipta blok baru dengan demikian menyatakan bahwa ia didasarkan pada situasi seperti yang tercatat di blok sebelumnya. Dan itu berisi hash dari blok sebelumnya, dan seterusnya. Jika bahkan satu karakter di mana pun di blok diubah, hash setiap blok setelahnya akan berbeda.

Pada mekanisme Proof of Work, blok dibuat oleh penambang. Blok baru terdiri dari hash dari blok sebelumnya, transaksi baru, serta nonce.

Nonce sentral dalam mekanisme algoritma. Dalam blockchian, sebuah blok harus memenuhi kesulitan minimum atau tingkat kesulitan. Kesulitan itu adalah tingkat penyelesaian masalah pada hash blok baru.

Penambang dapat mencoba semua jenis nonce untuk menemukan hash apa yang memenuhi kesulitan minimum. Persyaratan ini dapat berupa, misalnya: Hash harus dimulai dengan 7 angka nol.

Mari lihat contoh dengan enkripsi SHA1. Misalkan blok memiliki isi “tes”. Maka hashnya adalah:

php > echo sha1(‘tes’);

D1C056A983786A38CA76A05CDA240C7B86D77136

Sekarang sebagai nonce kita akan menambahkan nomor ke akhir isi.

php > echo sha1(‘tes-1’);

F60EA8CA2C0EF4D423CDFB7ABF93A502AA7768DF

php > echo sha1(‘tes-2’);

EA4496AF17CAFF4143E5DB3FB30517193A4D10D5

Belum ada angka nol di awal. Hanya pada ke-35 kita melihat nol pertama.

tes-35: 0643D0993876D9494901E66A6C05E85D72864A9B

Karena semua penambang menggunakan nonce acak, maka hanya melalui kebetulan seorang penambang menemukan hash yang tepat. Pemenagnya beruntung diberi hadiah berupa hak untuk membuat blok.

Karena berhasil memecahkan hash yang sulit, dia memberikan bukti bahwa dia telah melakukan sebuah usaha. Oleh karena itu metode Proof of Work digunakan penambang sebagai cara mendapatkan Bitcoin.

Jika seorang penambang berpartisipasi dalam sebuah mining pool kripto, maka jika seorang penambang beruntung menjadi pemenang, maka hadiahnya akan dibagikan merata ke semua anggota dalam grup.

Kesulitan Proof of Work

Semakin banyak penambang yang berpartisipasi, semakin tinggi pula tingkat kesulitannya. Melalui mekanisme ini, waktu antar blok dijaga tetap konstan oleh blockchain.

Karena penambang hanya bisa bergantung pada keberuntungan, maka sebagian blok akan dipecahkan dengan sangat cepat dan sebagian lainnya sangat terlambat. Oleh karena itu, waktu blok harus dihitung melalui rata-rata.

Jika jaringan blockchain ingin waktu antar blok setiap dua menit, dibutuhkan rata-rata dua menit. Bisa saja terpecahkan setelah beberapa detik, dan bisa saja setelah 5 menit.

Semakin banyak penambang yang mencoba memecahkan, semakin besar biaya yang dikeluarkan secara total untuk satu blok. Biaya yang dimaksud bisa berupa biaya pembelian perangkat keras dan biaya listrik. Jika harga jual hadiah untuk satu blok terlalu rendah, maka tidak memberikan insentif yang menjanjikan untuk ditambang.

Krusial bagi sebuah jaringan untuk memiliki banyak penambang dalam satu waktu. Lebih banyak penambang membuatnya terdesentralisasi, sehingga lebih terlindung dari upaya jahat pihak lain.

Dapat diprediksi berapa banyak nonce berbeda yang harus dicoba sebelum pengguna memiliki hash yang memenuhi persyaratan. Jika pengguna hanya ingin bit pertama disetel ke nol, itu rata-rata dari dua percobaan. Jika pengguna ingin dua yang pertama menjadi nol, mereka harus mencoba rata-rata 4 kali, dan seterusnya.

Ini adalah konsep penting Proof of Work. Jumlah nol yang diharapkan tergantung pada waktu rata-rata antar blok. Jika kurang dari 12 menit, lebih banyak pekerjaan diharapkan, jika lebih dari 12 menit, “kesulitan” ini disesuaikan ke bawah.

Pada bitcoin, kesulitan ini disesuaikan setiap dua minggu. Ada lebih dari 40.000.000.000.000.000.000, atau 40 Exahash per detik dicoba di seluruh jaringan jika digabungkan. Seiring berjalannya waktu, hadiah yang diberikan akan semakin berkurang karena berlakunya mekanisme halving.

Transaksi Berbasis Koin

Transaksi pertama dalam satu blok disebut transaksi berbasis koin. Di sinilah penambang dapat mencetak bitcoin baru (jumlah tetap), dan membebankan biaya transaksi. Hadiah ini tidak diperbaiki sampai blok diambil oleh penambang lain, jadi blok harus mematuhi semua aturan.

Penambang akan membuat blok pada rantai terpanjang (paling sulit, bukan sebagian besar blok), karena rantai ini adalah yang paling aman. Karena pengguna memiliki sedikit kesempatan untuk menjadi yang pertama menemukan blok pada suatu waktu, hendaknya memang selalu mematuhi aturan. Pengguna dapat saja menambang hingga bertahun-tahun namun jika blok itu tidak diterima oleh penambang lain, semua pekerjaan akan sia-sia.

Kekurangan Proof of Work

Mekanisme Proof of Work memang dapat diandalkan, namun juga membawa beberapa kekurangan yang diantaranya adalah :

  • Memerlukan waktu yang cukup lama untuk menyetujui transaksi.
  • Penambangan membutuhkan banyak sumber listrik.
  • Tidak ramah lingkungan.

Contoh mata uang kripto yang menggunakan mekanisme Proof of Work adalah: Monero (XMR), Bitcoin (BTC), Litecoin (LTC), dan Vertcoin (VTC). Dengan PoW maka bertransaksi mata uang kripto akan menjadi sangat aman sebab ia akan memverifikasi keabsahan sebuah transaksi.

Alternatif Proof of Work

Beberapa uang kripto lain menggunakan mekanisme yang berbeda untuk melakukan validasi transaksi di blockchain. Berikut beberapa mekanisme yang bisa menjadi alternatif Proof of Work:

  • Proof of Stake
  • Proof of Authority
  • Proof of Dominance
  • Proof of Burn
  • Proof of Capacity

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *