Apa itu Proof of Work (PoW)?
Beranda
Artikel
Apa itu Proof of Work (PoW)?

Apa itu Proof of Work (PoW)?

Tingkat Menengah
Diterbitkan Dec 6, 2018Diperbarui Mar 8, 2024
10m


Daftar isi


Pengantar

Proof of Work (biasanya disingkat PoW) merupakan mekanisme mencegah pengeluaran ganda atau double-spend. Kebanyakan mata uang kripto utama menggunakan mekanisme ini sebagai algoritma konsensus. Disebut sebagai metode mengamankan ledger aset kripto.
Proof of Work merupakan algoritma konsensus pertama yang muncul, dan hingga saat ini, tetap menjadi yang dominan. Diperkenalkan oleh Satoshi Nakamoto dalam white paper Bitcoin di tahun 2008, namun, teknologinya sendiri sudah ada jauh sebelum itu

HashCash Adam Back adalah contoh awal algoritma Proof of Work di masa pra-kripto. Dengan mewajibkan pengirim untuk melakukan sedikit komputasi sebelum mengirim email, penerima dapat mengurangi spam. Komputasi hampir tidak memerlukan biaya apa pun bagi pengirim yang sah, namun, akan cepat bertambah jika seseorang mengirim email secara massal.


Apa itu double-spend?

Pengeluaran ganda atau double-spend terjadi ketika dana yang sama dibelanjakan lebih dari sekali. Istilah ini dipakai secara khusus dalam konteks uang digital – lagipula, dengan uang fisik, hapir mustahil Anda membelanjakan uang yang sama dua kali. Ketika Anda membayar kopi hari ini, Anda menyerahkan uang tunai ke kasir yang menerima dan menguncinya di laci. Anda tidak bisa pergi ke kedai kopi di seberang jalan dan membayar kopi lain dengan uang yang sama.

Dalam skema uang digital, ada kemungkinan Anda bisa melakukannya. Anda pasti pernah menggandakan file komputer sebelumnya – Anda cukup melakukan copy-paste. Anda dapat mengirim email file yang sama ke sepuluh, dua puluh, lima puluh orang. 

Karena uang digital hanyalah data, Anda perlu mencegah pihak lain menyalin dan membelanjakan unit yang sama di tempat yang berbeda. Kalau tidak, mata uang Anda akan runtuh dan hancur dalam waktu singkat. 

Untuk bahasan mengenai double-spending yang lebih dalam, lihat Penjelasan mengenai Double Spending.


Mengapa Proof of Work penting?

Jika Anda telah membaca panduan kami mengenai teknologi blockchain, Anda pasti sudah tahu bahwa pengguna menyiarkan transaksi ke jaringan. Namun, transaksi tersebut tidak serta-merta dianggap valid. Dinyatakan valid, hanya jika telah ditambahkan ke blockchain. 
Blockchain merupakan database besar yang dapat dilihat oleh setiap pengguna, sehingga siapa pun dapat memeriksa apakah dana telah digunakan sebelumnya. Anda dapat membayangkannya seperti ini: Anda dan tiga teman memiliki buku catatan. Kapan saja salah satu dari Anda ingin melakukan transfer unit apa pun, harus dituliskan – Alice membayar lima unit kepada Bob, Bob membayar dua unit kepada Carol, dll.
Terdapat tautan yang sedikit rumit di sini – setiap kali melakukan transaksi, Anda merujuk pada transaksi dari mana dana itu berasal. Jadi, jika Bob membayar Carol dengan dua unit, entri sebenarnya akan terlihat seperti berikut: Bob membayar dua unit kepada Carol dari transaksi sebelumnya dengan Alice.

Dengan demikian, kita memiliki cara untuk melacak unit. Jika Bob mencoba melakukan transaksi lain menggunakan unit yang sama dengan yang baru ia kirim ke Carol, semua orang akan segera tahu. Grup tidak akan mengizinkan transaksi tersebut ditambahkan ke buku catatan.

Sekarang, cara ini mungkin berhasil dalam kelompok kecil. Semua orang saling mengenal, jadi mereka mungkin akan menyepakati siapa yang harus menambahkan transaksi ke buku catatan. Bagaimana jika kita menginginkan kelompok dengan 10.000 peserta? Ide buku catatan tidak akan berhasil, karena tidak ada yang mau memercayai orang asing untuk mengelolanya.

Di sinilah Proof of Work berperan. Memastikan pengguna tidak membelanjakan uang yang tidak berhak untuk mereka belanjakan. Dengan menggunakan kombinasi game theory dan kriptografi, algoritma PoW memungkinkan siapa saja untuk memperbarui blockchain sesuai dengan aturan sistem.


Bagaimana cara kerja PoW?

Buku catatan yang kita bahas sebelumnya adalah blockchain. Namun, kita tidak menambahkan transaksi satu per satu – melainkan, kita mengelompokkannya menjadi beberapa blok. Kita mengumumkan transaksi ke jaringan, kemudian pengguna yang membuat blok akan memasukkannya ke dalam kandidat blok. Transaksi hanya akan dianggap sah setelah kandidat blok menjadi blok yang dikonfirmasi, artinya telah ditambahkan ke blockchain.
Namun, menambahkan blok tidaklah murah. Proof of Work mengharuskan seorang penambang (pengguna yang membuat blok) untuk menggunakan sumber daya mereka sendiri demi melakukan ini. Sumber daya tersebut merupakan daya komputasi, digunakan untuk melakukan hash terhadap data blok sampai solusi puzzle ditemukan.
Melakukan hashing terhadap data blok berarti Anda melewatkannya melalui fungsi hashing untuk menghasilkan hash blok. Hash blok berfungsi seperti “sidik jari” – merupakan identitas untuk data input Anda dan, unik pada setiap blok.

Hampir mustahil membalikkan hash blok untuk mendapatkan data input. Namun dengan mengetahui input, sangat mudah bagi Anda untuk mengonfirmasi kebenaran hash. Anda hanya perlu mengirimkan input melalui fungsi dan memeriksa apakah outputnya sama.

Dalam Proof of Work, Anda harus menyediakan data yang memiliki hash yang cocok dengan persyaratan tertentu. Tetapi Anda tidak tahu bagaimana mendapatkannya. Satu-satunya pilihan adalah meneruskan data melalui fungsi hash dan memeriksa apakah cocok dengan persyaratan. Jika tidak, Anda harus mengubah sedikit data Anda untuk mendapatkan hash yang berbeda. Mengubah bahkan satu karakter dalam data akan menghasilkan hal yang sama sekali berbeda, jadi tidak ada cara untuk memprediksi output.

Jadi, jika ingin membuat blok, Anda memainkan permainan tebak-tebakan. Pada umumnya, Anda akan mengambil informasi mengenai semua transaksi yang ingin Anda tambahkan dan beberapa data penting lainnya, lalu melakukan hash terhadap semuanya. Namun, karena dataset Anda tidak akan berubah, Anda perlu menambahkan sepotong informasi yang merupakan variabel. Jika tidak, Anda akan selalu mendapatkan hash yang sama dengan output. Data variabel ini kita sebut nonce, merupakan angka yang akan Anda ubah setiap kali mencoba, jadi Anda akan mendapatkan hash yang berbeda setiap saat. Inilah yang kita sebut sebagai penambangan.

Kesimpulannya, menambang merupakan proses mengumpulkan data blockchain dan melakukan hashing bersamaan dengan nonce sampai Anda menemukan hash tertentu. Jika Anda menemukan hash yang memenuhi persyaratan yang ditetapkan oleh protokol, Anda berhak menyiarkan blok baru ke jaringan. Pada titik ini, peserta lain dari jaringan memperbarui blockchain mereka untuk memasukkan blok baru tersebut.

Dalam aset kripto besar saat ini, persayaratannya sangat menantang untuk dipenuhi. Semakin tinggi hash rate pada jaringan, semakin sulit untuk menemukan hash yang valid. Ini dibuat demi memastikan bahwa blok tidak ditemukan terlalu cepat.
Seperti yang Anda bayangkan, mencoba menebak hash dalam jumlah besar di komputer bisa sangat mahal. Anda akan membuang-buang siklus komputasi dan listrik. Namun protokol akan memberi aset kripto sebagai reward jika Anda menemukan hash yang valid.

Coba kita ingat-ingat lagi apa yang sudah kita bahas sejauh ini:

  • Menambang itu mahal.
  • Reward akan diberikan jika Anda menghasilkan blok yang valid.
  • Dengan mengetahui input, pengguna dapat dengan mudah memeriksa hash – pengguna yang bukan penambang dapat memverifikasi kevalidan blok tanpa menghabiskan banyak daya komputasi.

Sejauh ini baik-baik saja. Tetapi bagaimana jika Anda mencoba menipu? Apakah ada yang bisa menghentikan Anda menempatkan banyak transaksi penipuan ke dalam blok dan menghasilkan hash yang valid?

Di sinilah kriptografi public-key berperan. Kita tidak akan membahas lebih jauh dalam artikel ini, Anda dapat melihat artikel Apa itu Kriptografi Public-Key? untuk pemahaman yang lebih komprehensif. Singkatnya, kita menggunakan beberapa trik kriptografi yang rapi, memungkinkan setiap pengguna untuk memverifikasi apakah seseorang memiliki hak untuk memindahkan dana yang mereka coba habiskan.
Ketika Anda membuat transaksi, Anda  menandatanganinya. Siapa pun di jaringan dapat membandingkan tanda tangan dengan public key Anda, dan memeriksa apakah cocok. Mereka juga akan memeriksa apakah Anda benar-benar berhak menghabiskan dana, dan bahwa jumlah input lebih tinggi dari jumlah output (artinya, bahwa Anda tidak menghabiskan dana lebih dari yang Anda miliki).

Setiap blok yang memasukkan transaksi tidak valid akan secara otomatis ditolak oleh jaringan. Jadi, sangat mahal bagi Anda untuk mencoba menipu. Anda akan menyia-nyiakan sumber daya sendiri tanpa reward apa pun.

Di sinilah letak keindahan Proof of Work: sangat mahal untuk menipu, tetapi menguntungkan untuk bertindak jujur. Setiap penambang yang waras akan mencari ROI, sehingga tentunya mereka tidak akan melakukan hal yang merugikan diri sendiri.



Anda ingin memiliki mata uang kripto? Beli Bitcoin di Binance!



Proof of Work vs. Proof of Stake

Ada banyak algoritma konsensus, tetapi salah satu yang paling dinanti adalah Proof of Stake (PoS). Konsep ini dikemukakan di tahun 2011, telah diimplementasikan dalam beberapa protokol kecil. Namun, belum terlihat adopsi pada blockchain besar.
Dalam sistem Proof of Stake, penambang diganti dengan validator. Tidak melibatkan penambangan, dan tidak ada persaingan untuk menebak hash. Melainkan, pengguna dipilih secara acak – jika terpilih, mereka harus mengusulkan (atau “forge”) sebuah blok. Jika blok tersebut valid, mereka akan menerima reward yang berasal dari biaya dari transaksi blok.
Namun, pengguna yang dipilih tidak sembarangan – protokol memilih mereka berdasarkan beberapa faktor. Agar memenuhi syarat, peserta harus mengunci stake, sejumlah mata uang asli blockchain yang telah ditentukan sebelumnya. Stake berfungsi seperti jaminan: sama seperti para terdakwa mengeluarkan sejumlah besar uang karena melewatkan persidangan, validator mengunci stake untuk melemahkan kecurangan. Jika mereka bertindak tidak jujur, seluruh (atau sebagian dari) stake mereka akan diambil.
Proof of Stake memang memiliki beberapa keunggulan jika dibandingkan dengan Proof of Work. Yang paling menonjol adalah jejak karbon yang lebih kecil – karena di PoS tidak ada kebutuhan untuk menambang dengan daya tinggi, listrik yang dikonsumsi jauh lebih rendah daripada yang dikonsumsi di PoW. 

Namun, PoS tidak memiliki rekam jejak seperti PoW. Meskipun dianggap boros, penambangan merupakan satu-satunya algoritma konsensus yang terbukti berhasil. Hanya dalam waktu lebih dari satu dekade, penambangan telah mengamankan triliunan dolar transaksi. Untuk mengatakan dengan pasti apakah PoS dapat menyaingi keamanan Pow, staking masih perlu diuji dengan saksama di alam liar. 


Penutup

Proof of Work merupakan solusi pertama terhadap masalah double-spend yang telah terbukti andal dan aman. Bitcoin membuktikan bahwa kita tidak membutuhkan entitas terpusat untuk mencegah dana yang sama digunakan dua kali. Dengan penggunaan yang cerdas dari kriptografi, fungsi hash, dan game theory, para peserta dalam lingkungan terdesentralisasi dapat menyepakati keadaan suatu database keuangan.