Bagaimana Cara Kerja Blockchain?

Bagikan
Copied to clipboard!

Bagian utama dari setiap blockchain adalah algoritma penambangan, marilah kita mengambil algoritma Bitcoin sebagai contoh. Algoritma ini disebut SHA-256 sebagai singkatan dari “Secure Hash Algorithm 256 bits” (Algoritma Hash Keamanan 256 bits), ini mengambil sebuah input yang dapat merupakan apapun, teks, angka, atau juga file komputer dengan ukuran panjang seperti apapun. Output yang dihasilkan disebut sebagai “hash” dan akan memiliki panjang yang sama setiap kalinya, 256bit dalam kode mesin.

Input yang sama akan memberikan output yang sama setiap kalinya, dan tidaklah acak. Jika anda membuat sebuah perubahan kecil kepada input, output yang dihasilkan akan berubah secara keseluruhan.

Ini juga apa yang disebut sebagai fungsi satu arah (one way function) yang berarti jika anda hanya memiliki output, anda tidak akan dapat menghitung apakah input tersebut. Anda hanya dapat menerka apakah inputnya tersebut. Dan kemungkinan untuk menebaknya secara benar adalah 1:2^256, yang sebenarnya tidak mungkin, dalam kata lain, ini aman.

Sekarang, jika kita tahu cara kerja algoritma, marilah kita mendemonstrasikan bagaimana cara kerja blockchain dengan contoh sederhana sebuah transaksi.

Kita memiliki Alice dan Bob beserta dengan saldo Bitcoin mereka. Anggaplah Alice berhutang kepada Bob sebanyak 2 Bitcoin.

Untuk Alice dapat mengirimkan Bob 2 Bitcoin tersebut, Alice menyebarkan sebuah pesan dengan transaksi uang ia ingin kerjakan kepada penambang di dalam jaringan.

Dalam sebaran tersebut, Alice memberikan kepada penambang alamat publik Bob, jumlah Bitcoin yang ia ingin kirimkan, bersama dengan sebuah tanda tangan digital dan alamat publik dia. Tanda tangan dibuat dengan kunci pribadi Alice dan penambang dapat memvalidasi bahwa Alice adalah pemilik Bitcoin tersebut dan ingin melakukan transaksi.

Setelah penambang memastikan bahwa transaksi adalah sah, mereka dapat memasukkannya ke dalam blok dengan banyak transaksi lainnya dan akan mencoba untuk menambang blok tersebut. Ini dikerjakan dengan menaruh blok melalui algoritma SHA-256. Output harus dimulai dengan sejumlah angka 0 untuk dapat dianggap sebagai sah. Jumlah 0 yang dibutuhkan bergantung dengan apa yang disebut sebagai “kesulitan” (“difficulty”) yang berubah tergantung dengan jumlah tenaga komputasi yang ada dalam jaringan.

Untuk menghasilkan sebuah hash output dengan jumlah 0 yang dibutuhkan, penambang menambahkan apa yang disebut dengan “angka nonce” ke dalam blok sebelum menjalankannya ke algoritma. Dikarenakan perubahan kecil saja dapat merubah output, penambang mencoba nonce acak sampai mereka menemukan hash output yang benar.

Pada saat blok sudah tertambang, penambang menyebarkan blok yang baru saja ditambang tersebut kepada penambang lainnya. Mereka lalu akan memastikan bahwa blok tersebut adalah benar dan mereka dapat menambahkan salinan blockchain mereka dan transaksi sudah selesai. Akan tetapi di dalam blok, penambang tetap butuh mengikutsertakan hash output dari blok sebelumnya supaya setiap blok tersambung bersama-sama, maka itu dinamakan block-CHAIN (rantai blok). Ini adalah sebuah bagian penting dikarenakan bagaimana kepercayaan bekerja dalam sistem tersebut.

Setiap penambang memiliki salinan blockchain mereka sendiri dalam komputer mereka dan semuanya mempercayai blockchain apa yang memiliki tenaga komputasi terbanyak dan terpanjang dalam blockchain. Jika seorang penambang merubah sebuah transaksi dalam blok sebelumnya, hash output untuk blok tersebut akan berubah, yang akan menyebabkan semua hash setelah itu ikut berubah dikarenakan blok-blok tersebut terhubung dengan hash. Penambang tersebut harus mengulangi semua pekerjaannya supaya semua orang dapat menerima blockchain tersebut sebagai yang benar. Jika seorang penambang ingin bermain curang, ia harus membutuhkan 50% dari tenaga komputasi jaringan, yang sangat tidak mungkin. Serangan jaringan seperti ini disebut sebagai serangan 51%.

Model yang membuat komputer bekerja untuk menghasilkan sebuah blok yang disebut Proof of Work (PoW), ada juga model lain seperti Proof of Stake (PoS) yang tidak membutuhkan tenaga komputasi sebanyak itu dan menggunakan lebih sedikit listrik dengan kapasitas penskalaan yang lebih besar.

Inilah dasar sederhana bagaimana cara kerja blockchain.

Loading