Tek Analogi #2 — Cryptocurrency

Ferdinand Chandra
Tek Analogi
Published in
6 min readApr 14, 2019
Photo by Dmitry Moraine on Unsplash

“The future of money is digital currency” — Bill Gates

Halo pembaca, selamat datang di seri Teknologi Analogi jilid kedua. Teknologi Analogi merupakan seri publikasi yang membahas teknologi dengan menggunakan analogi. Kamu bisa baca seri-seri sebelumnya di:

Ok, jadi saya sudah lama tidak menulis untuk seri ini. Salah satu alasannya adalah saya tidak tahu apa yang akan saya tulis berikutnya haha... Akhirnya kira-kira 2 bulan yang lalu saya membuat question (gatau nama resminya apa, pokoknya yang bisa kasih pertanyaan gitu loh di Instagram story, terus orang pada jawab) tentang kira-kira teknologi apa yang cocok untuk dibahas di jilid 2. Salah satu teman saya merekomendasikan cryptocurrency. Sebuah topik yang menarik menurut saya. Secara tahun lalu 2018 itu hype banget soal ini. Menjadi berita besar pada tahun lalu karena valuasi salah satu mata uang yaitu Bitcoin yang melesat pesat sekali dari tahun-tahun sebelumnya. Saya akan menggunakan Bitcoin sebagai contoh pada penjelasan kali ini. Seperti biasa saya akan membahas topik ini menurut perspektif saya tentang bagaimana cara saya melihat apa itu cryptocurrency. Jadi boleh saja bila ada yang tidak sependapat dengan saya. In fact, silahkan tulis di komentar jika kalian punya analogi lain untuk cryptocurrency ya, I’m very open with other’s opinion 😃. So without further ado, let’s get started!

Bayangkan di suatu hari yang cerah, kamu bersama 3 orang temanmu memutuskan untuk bermain monopoli. Namun ternyata, uang mainan monopoli tersebut hilang entah kemana. Akhirnya kalian memutuskan untuk mengganti uang mainan tersebut dengan “catatan” saja. Setiap orang nantinya akan diberikan selembar kertas. Setiap pemain harus menulis setiap transaksi yang terjadi selama permainan di kertas tersebut. Sehingga setiap pemain tahu setiap transaksi yang terjadi selama permainan. Sekarang bayangkan pemainnya tidak hanya 4 orang saja, tapi 5.8 juta orang. Itulah cryptocurrency.

Cryptocurrency merupakan sebuah sistem mata uang digital yang terdesentralisasi dan menggunakan kriptografi (suatu teknik untuk mengamankan suatu informasi) dalam memverifikasi setiap transaksinya. Maka itu namanya cryptocurrency = cryptography (ilmu penyandian)+ currency (mata uang). Terdesentralisasi karena cryptocurrency menggunakan sistem peer to peer network. Sistem ini sama dengan sistem yang digunakan dalam pengunduhan torrent. Salah satu cryptocurrency yang terkenal adalah Bitcoin. Pada Januari 2018, sudah 16.8 Juta Bitcoin yang tercipta. Sistem Bitcoin hanya mampu memproduksi 21 Juta Bitcoin dan diprediksi akan habis pada tahun 2140. Keterbatasan inilah yang membuat Bitcoin dinilai berharga. Sekarang 1 BTC sama dengan 5,069 USD atau setara dengan Rp. 71,437,417.

1. Terdesentralisasi

Pada permainan monopoli diatas, setiap pemain bertanggungjawab atas catatannya masing-masing. Tidak ada orang yang bertugas untuk mencatat semua transaksi yang terjadi selama permainan. Sama halnya dengan Bitcoin. Tidak ada lembaga, organisasi atau entitas yang bertugas untuk mencatat setiap transaksi yang terjadi. Beda dengan sistem perbankan seperti di Iron Bank of Braavos (mungkin ya, siapa tau engga, saya tidak pernah ke sana) atau bank-bank masa sekarang dimana bank tersebut bertugas sebagai pihak ketiga dan mencatat setiap transaksi yang terjadi .

https://www.ign.com/wikis/game-of-thrones/Iron_Bank

Itulah mengapa sistem perbankan dikatakan sebagai sistem yang terpusat (tersentralisasi) dan Bitcoin dikatakan sebagai sistem yang tidak terpusat (terdesentralisasi). Lalu siapa yang mencatat setiap transaksinya? Sama seperti contoh permainan monopoli diatas, para pengguna sendiri lah yang mencatat setiap kali ada transaksi.

2. Rantai Blok

Sama halnya dengan adanya transaksi di permainan monopoli diatas, cryptocurrency tentu saja juga memiliki segudang transaksi. Sebuah transaksi yang terjadi di dunia cryptocurrency dikenal dengan sebutan blok (block). Sebuah blok berisi informasi id pengirim, id penerima dan berapa banyak Bitcoin yang mau dikirim. Setiap kali ada sebuah blok baru yang tercipta, setiap pengguna akan diberikan pemberitahuan dan diminta untuk melakukan pembaharuan terhadap catatannya masing-masing. Pada nantinya, catatan mereka akan terus diperbarui oleh blok-blok baru sehingga terciptalah sebuah rantai blok (blockchain). Rantai blok inilah yang befungsi sebagai sumber kebenaran (source of truth) untuk semua transaksi dan bersifat publik. Iya publik! Artinya semua orang bisa melihatnya. Kamu bisa melihatnya di situs berikut:

3. Proses Verifikasi

Tapi pasti muncul pertanyaan di benak kalian: “Jika semuanya bersifat publik dan tidak ada pihak ketiganya? Berarti pengguna bisa seenaknya membuat transaksi dan memasukkannya ke rantai blok dong?”
Tentu tidak semudah itu ferguso

Untuk memasukkan sebuah blok baru ke rantai blok, blok tersebut harus melewati proses verifikasi terlebih dahulu. Terdapat sekelompok orang yang ingin melakukan proses verifikasi ini, mereka biasa disebut dengan miners. Para miners ini akan berlomba-lomba untuk memecahkan sebuah “permasalahan matematika” yang terkait dengan blok tersebut. Orang pertama yang berhasil memecahkan permasalahan tersebut akan diberi hadiah berupa sedikit pecahan Bitcoin. Proses ini dikenal dengan sebutan mining. Blok yang berhasil diverifikasi tersebut akan diberi tanda yang disebut dengan proof of work (PoW) dan dimasukkan ke dalam rantai blok. Hanya blok yang memiliki tanda PoW inilah yang boleh dimasukkan ke dalam rantai blok.

4. Mining

Bayangkan ada sebuah mesin yang menerima input dan menghasilkan output.

https://medium.com/@achetibi/demystifying-the-math-behind-machine-learning-5d78adf1e2f2

Kita tidak tahu proses apa yang terjadi di dalam mesin tersebut, namun dapat dipastikan jika kita memberi input yang sama, maka outputnya akan sama pula. Mesin tersebut menerima input yaitu:

1. Blok yang baru
2. PoW dari blok yang terakhir dimasukkan ke dalam rantai blok
3. Sebuah angka

untuk menghasilkan output berupa sebuah kata. Nah input angka pada nomor 3 lah yang menjadi penentu perubahan pada output kata, karena blok lama dan PoW dari blok yang terakhir dimasukkan pasti selalu sama bukan? Misal dengan angka 1 kata yang dihasilkan adalah “mantul”, jika angkanya 2 akan menghasilkan kata “wadidaw”.

Nah, misal saya punya sebuah kata, sebutlah “cihuy”. Kira-kira apa yang akan kalian lakukan jika saya meminta kalian untuk mencari angka yang tepat sehingga output kata yang dikeluarkan kurang dari atau sama dengan kata “cihuy” secara leksikografi? Kata-kata seperti: “cihux”, “cihum”, “ab” itu bisa dibilang lebih kecil dari kata “cihuy”. Apa yang akan kalian lakukan? Mencari angkanya menggunakan probabilitas? Cocokologi? Ramalan bintang? Sayang sekali semua itu tidak bisa…

Satu-satunya cara adalah dengan mencoba memasukan angka yang berbeda satu per-satu dengan berharap bahwa suatu saat akan tercipta kata yang kurang dari atau sama dengan kata “cihuy”.

Photo by Chris Liverani on Unsplash

Nah inilah yang dilakukan oleh para miners Bitcoin. Mereka mencari angka tersebut. Itulah kenapa mereka disebut miners, karena komputer mereka melakukan pekerjaan berulang-ulang, dalam hal ini percobaan mencari angka yang tepat, dengan harapan suatu saat akan muncul angka yang tepat, sehingga mereka bisa dapat sedikit bagian dari Bitcoin.

Mesin tersebut adalah permasalahan matematika yang saya sebutkan diatas. Mesin tersebut adalah cryptographic hash function, dan yang digunakan oleh Bitcoin adalah SHA256 (Secure Hash Algorithm 256-bit). SHA256 adalah sebuah algoritma yang menerima input dengan panjang berapapun dan menghasilkan output berupa kode teks dengan panjang yang tetap dan bersifat unik berdasarkan input yang dimasukkan, atau biasa disebut dengan hash. Hash inilah yang saya sebutkan sebagai “kata” pada contoh diatas. Contoh kode hash: 7ae67ad7e7b7c8681140123. Kode inilah yang dijadikan sebagai tanda PoW pada sebuah transaksi.

Angka diatas biasa dikenal dengan nonce (number used only once). Kata “cihuy” yang saya sebutkan diatas dikenal dengan nama target value. Para miners harus menemukan nonce yang tepat sehingga menghasilkan sebuah kode yang lebih kecil atau sama dengan target value. Misal target value yang diberikan adalah: FFFF . Maka para miners, harus menemukan kode yang sama yaitu FFFF atau lebih kecil seperti FFFE , FFFD , ABCD , dsb.

Mungkin ada yang bertanya kenapa syaratnya itu lebih kecil atau sama dengan? Karena untuk mencari kode yang lebih kecil itu lebih sulit ketimbang mencari kode yang lebih besar. Target value ini diatur oleh sistem Bitcoin itu sendiri. Semakin sedikit stok Bitcoin, maka akan semakin kecil target value yang dipasang oleh sistem, maka miners akan semakin susah dalam mencari nonce. Tentu saja proses pencarian nonce ini membutuhkan proses komputasi yang luar biasa. Itulah mengapa kadang miners menggunakan banyak sekali processor dalam melakukan proses mining.

Ya jadi mungkin itu saja yang mungkin bisa saya bagi terkait apa itu cryptocurrency. Sebuah topik yang cukup berat tapi menarik menurut saya. Saya pun belum sepenuhnya mengerti akan sistem cryptocurrency, jadi jika terdapat kesalahan kata-kata atau pemahaman mohon dimaafkan 😂

Semoga bermanfaat buat teman-teman semua. Jika teman-teman pembaca punya usulan topik apa berikutnya yang mau dibahas di Teknologi Analogi, silahkan tulis di kolom komentar ya.

Terima kasih sudah membaca 😃
See you in a bit… — Ferzos

Referensi

--

--