Cryptocurrency untuk Dummies: Bitcoin dan Selanjutnya
Diterbitkan: 2022-03-11Bitcoin menciptakan banyak buzz di Internet. Dicemooh, diserang, dan akhirnya diterima dan menjadi bagian dari hidup kita. Namun, Bitcoin tidak sendirian. Saat ini, ada lebih dari 700 implementasi AltCoin, yang menggunakan prinsip serupa dan berbagai algoritma cryptocurrency.
Jadi, apa yang Anda butuhkan untuk membuat sesuatu seperti Bitcoin?
Tanpa mencoba memahami motivasi pribadi Anda untuk menciptakan sistem anonim dan terdesentralisasi untuk pertukaran uang/informasi (namun tetap berharap bahwa itu adalah dalam lingkup kegiatan moral dan hukum), pertama-tama mari kita uraikan persyaratan dasar untuk sistem pembayaran baru kami:
- Semua transaksi harus dilakukan melalui Internet
- Kami tidak ingin memiliki otoritas pusat yang akan memproses transaksi
- Pengguna harus anonim dan diidentifikasi hanya dengan identitas virtual mereka
- Seorang pengguna tunggal dapat memiliki identitas virtual sebanyak yang dia suka
- Pasokan nilai (tagihan virtual baru) harus ditambahkan dengan cara yang terkendali
Berbagi Informasi Terdesentralisasi Melalui Internet
Memenuhi dua persyaratan pertama dari daftar kami, menghapus otoritas pusat untuk pertukaran informasi melalui Internet, sudah dimungkinkan. Yang Anda butuhkan adalah jaringan peer-to-peer (P2P) .
Berbagi informasi dalam jaringan P2P mirip dengan berbagi informasi di antara teman dan keluarga. Jika Anda berbagi informasi dengan setidaknya satu anggota jaringan, pada akhirnya informasi ini akan menjangkau setiap anggota jaringan lainnya. Satu-satunya perbedaan adalah bahwa dalam jaringan digital informasi ini tidak akan diubah dengan cara apa pun.
Anda mungkin pernah mendengar tentang BitTorrent, salah satu sistem berbagi file (pengiriman konten) P2P paling populer. Aplikasi populer lainnya untuk berbagi P2P adalah Skype, serta sistem obrolan lainnya.
Intinya adalah Anda dapat menerapkan atau menggunakan salah satu protokol P2P open-source yang ada untuk mendukung cryptocurrency baru Anda, yang kami sebut Topcoin .
Algoritma Hashing
Untuk memahami identitas digital, kita perlu memahami cara kerja hashing kriptografi . Hashing adalah proses pemetaan data digital dari sembarang ukuran ke data dengan ukuran tetap. Dengan kata sederhana, hashing adalah proses mengambil beberapa informasi yang dapat dibaca dan membuat sesuatu yang tidak masuk akal sama sekali.
Anda dapat membandingkan hashing untuk mendapatkan jawaban dari politisi. Informasi yang Anda berikan kepada mereka jelas dan dapat dimengerti, sedangkan output yang mereka berikan terlihat seperti aliran kata-kata yang acak.
Ada beberapa persyaratan yang dibutuhkan oleh algoritma hashing yang baik:
- Panjang keluaran dari algoritma hashing harus diperbaiki (nilai yang baik adalah 256 byte)
- Bahkan perubahan terkecil dalam data input harus menghasilkan perbedaan output yang signifikan
- Input yang sama akan selalu menghasilkan output yang sama
- Tidak boleh ada cara untuk membalikkan nilai output untuk menghitung input
- Menghitung nilai HASH tidak harus intensif dan harus cepat
Jika Anda melihat statistik sederhana, kami akan memiliki jumlah nilai HASH yang terbatas (tetapi sangat besar), hanya karena panjang HASH kami terbatas. Namun, algoritma hashing kami (sebut saja Politician256) harus cukup andal sehingga hanya menghasilkan nilai hash duplikat untuk input yang berbeda sesering monyet di kebun binatang berhasil mengetik Hamlet dengan benar di mesin tik!
Jika menurut Anda Hamlet hanyalah sebuah nama atau sebuah kata, silakan berhenti membaca sekarang, atau bacalah tentang Teorema Monyet Tak Terbatas.
Tanda tangan digital
Saat menandatangani makalah, yang perlu Anda lakukan hanyalah menambahkan tanda tangan Anda ke teks dokumen. Tanda tangan digital serupa: Anda hanya perlu menambahkan data pribadi Anda ke dokumen yang Anda tanda tangani.
Jika Anda memahami bahwa algoritma hashing menganut aturan di mana bahkan perubahan terkecil dalam data input harus menghasilkan perbedaan output yang signifikan , maka jelas bahwa nilai HASH yang dibuat untuk dokumen asli akan berbeda dengan nilai HASH yang dibuat untuk dokumen tersebut. dengan tanda tangan terlampir.
Kombinasi dari dokumen asli dan nilai HASH yang dihasilkan untuk dokumen dengan data pribadi Anda yang ditambahkan adalah dokumen yang ditandatangani secara digital .
Dan inilah cara kami mendapatkan identitas virtual Anda , yang didefinisikan sebagai data yang Anda tambahkan ke dokumen sebelum Anda membuat nilai HASH tersebut.
Selanjutnya, Anda perlu memastikan bahwa tanda tangan Anda tidak dapat disalin, dan tidak ada yang dapat melakukan transaksi apa pun atas nama Anda. Cara terbaik untuk memastikan bahwa tanda tangan Anda diamankan, adalah dengan menyimpannya sendiri, dan memberikan metode lain kepada orang lain untuk memvalidasi dokumen yang ditandatangani. Sekali lagi, kita dapat mengandalkan teknologi dan algoritme yang sudah tersedia. Yang perlu kita gunakan adalah kriptografi kunci publik yang juga dikenal sebagai kriptografi asimetris .
Agar ini berfungsi, Anda perlu membuat kunci pribadi dan kunci publik . Kedua kunci ini akan berada dalam semacam korelasi matematis dan akan bergantung satu sama lain. Algoritme yang akan Anda gunakan untuk membuat kunci ini akan memastikan bahwa setiap kunci pribadi akan memiliki kunci publik yang berbeda. Seperti namanya, kunci pribadi adalah informasi yang akan Anda simpan hanya untuk diri sendiri, sedangkan kunci publik adalah informasi yang akan Anda bagikan.
Jika Anda menggunakan kunci pribadi Anda (identitas Anda) dan dokumen asli sebagai nilai input untuk algoritma penandatanganan untuk membuat nilai HASH, dengan asumsi Anda merahasiakan kunci Anda, Anda dapat yakin bahwa tidak ada orang lain yang dapat menghasilkan nilai HASH yang sama untuk dokumen itu .
Jika ada yang perlu memvalidasi tanda tangan Anda, dia akan menggunakan dokumen asli, nilai HASH yang Anda hasilkan, dan kunci publik Anda sebagai masukan untuk algoritma verifikasi tanda tangan untuk memverifikasi bahwa nilai-nilai ini cocok.
Cara mengirim Bitcoin/Uang
Dengan asumsi bahwa Anda telah menerapkan komunikasi P2P, mekanisme untuk membuat identitas digital (kunci pribadi dan publik), dan menyediakan cara bagi pengguna untuk menandatangani dokumen menggunakan kunci pribadi mereka, Anda siap untuk mulai mengirimkan informasi ke rekan-rekan Anda.
Karena kami tidak memiliki otoritas pusat yang akan memvalidasi berapa banyak uang yang Anda miliki, sistem harus menanyakannya setiap saat, dan kemudian memeriksa apakah Anda berbohong atau tidak. Jadi, catatan transaksi Anda mungkin berisi informasi berikut:
- Saya punya 100 Topcoin
- Saya ingin mengirim 10 koin ke apoteker saya untuk obat ( Anda akan memasukkan kunci publik apoteker Anda di sini )
- Saya ingin memberikan satu koin sebagai biaya transaksi ke sistem ( kami akan kembali lagi nanti )
- Saya ingin menyimpan 89 koin yang tersisa
Satu-satunya yang tersisa untuk dilakukan adalah menandatangani catatan transaksi secara digital dengan kunci pribadi Anda dan mengirimkan catatan transaksi ke rekan-rekan Anda di jaringan. Pada saat itu, semua orang akan menerima informasi bahwa seseorang (identitas virtual Anda) mengirim uang ke orang lain (identitas virtual apoteker Anda).
Pekerjaan Anda selesai. Namun, obat Anda tidak akan dibayar sampai seluruh jaringan setuju bahwa Anda benar-benar memiliki 100 koin, dan karena itu dapat melakukan transaksi ini. Hanya setelah transaksi Anda divalidasi, apoteker Anda akan mendapatkan dana dan mengirimkan obat kepada Anda.

Penambang Cryptocurrency: Agen Baru
Penambang dikenal sebagai pekerja keras yang, menurut pendapat saya, dibayar sangat rendah. Di dunia digital cryptocurrency, penambang memainkan peran yang sangat mirip, kecuali dalam kasus ini, mereka melakukan pekerjaan komputasi intensif alih-alih menggali tumpukan kotoran. Tidak seperti penambang nyata, beberapa penambang cryptocurrency memperoleh sedikit uang selama lima tahun terakhir, tetapi banyak yang lain kehilangan banyak uang dalam upaya berisiko ini.
Penambang adalah komponen inti dari sistem dan tujuan utamanya adalah untuk mengkonfirmasi validitas setiap transaksi yang diminta oleh pengguna.
Untuk mengkonfirmasi validitas transaksi Anda (atau kombinasi dari beberapa transaksi yang diminta oleh beberapa pengguna lain), penambang akan melakukan dua hal.
Pertama, mereka akan mengandalkan fakta bahwa “semua orang tahu segalanya”, yang berarti bahwa setiap transaksi yang dijalankan dalam sistem disalin dan tersedia untuk rekan mana pun di jaringan. Mereka akan melihat riwayat transaksi Anda untuk memverifikasi bahwa Anda benar-benar memiliki 100 koin untuk memulai. Setelah saldo akun Anda dikonfirmasi, mereka akan menghasilkan nilai HASH tertentu. Nilai hash ini harus memiliki format tertentu; itu harus dimulai dengan sejumlah nol tertentu .
Ada dua input untuk menghitung nilai HASH ini:
- Data catatan transaksi
- Bukti kerja penambang
Mempertimbangkan bahwa bahkan perubahan terkecil dalam data input harus menghasilkan perbedaan yang signifikan dalam nilai HASH output , penambang memiliki tugas yang sangat sulit. Mereka perlu menemukan nilai spesifik untuk variabel proof-of-work yang akan menghasilkan HASH yang dimulai dengan nol. Jika sistem Anda memerlukan minimal 40 nol dalam setiap transaksi yang divalidasi, penambang perlu menghitung kira-kira 2^40 nilai HASH yang berbeda untuk menemukan bukti kerja yang tepat .
Setelah penambang menemukan nilai yang tepat untuk bukti kerja, dia berhak atas biaya transaksi (satu koin yang bersedia Anda bayar), yang dapat ditambahkan sebagai bagian dari transaksi yang divalidasi. Setiap transaksi yang divalidasi ditransmisikan ke rekan-rekan di jaringan dan disimpan dalam format database tertentu yang dikenal sebagai Blockchain .
Tetapi apa yang terjadi jika jumlah penambang meningkat, dan perangkat keras mereka menjadi jauh lebih efisien? Bitcoin dulu ditambang di CPU, kemudian GPU dan FPGA, tetapi akhirnya penambang mulai merancang chip ASIC mereka sendiri, yang jauh lebih kuat daripada solusi awal ini. Saat tingkat hash naik, begitu juga kesulitan penambangan, sehingga memastikan keseimbangan. Ketika lebih banyak kekuatan hashing dimasukkan ke dalam jaringan, kesulitannya naik dan sebaliknya; jika banyak penambang memutuskan untuk menarik steker karena operasi mereka tidak lagi menguntungkan, kesulitan disesuaikan kembali agar sesuai dengan tingkat hash yang baru.
Blockchain for Dummies: Buku Besar Cryptocurrency Global
Blockchain berisi riwayat semua transaksi yang dilakukan dalam sistem. Setiap transaksi yang divalidasi, atau kumpulan transaksi, menjadi cincin lain dalam rantai. Setiap perusahaan pengembangan blockchain bergantung pada buku besar publik ini.
Jadi, blockchain Bitcoin, pada dasarnya, adalah buku besar publik di mana transaksi terdaftar dalam urutan kronologis.
Dering pertama di blockchain Bitcoin disebut Genesis Block
Untuk membaca lebih lanjut tentang cara kerja blockchain, saya sarankan membaca Penjelasan Teknologi Blockchain: Powering Bitcoin, oleh Nermin Hajdarbegovic.
Tidak ada batasan berapa banyak penambang yang aktif di sistem Anda. Ini berarti dua penambang atau lebih dapat memvalidasi transaksi yang sama. Jika ini terjadi, sistem akan memeriksa upaya total yang diinvestasikan setiap penambang dalam memvalidasi transaksi hanya dengan menghitung nol. Penambang yang menginvestasikan lebih banyak upaya (menemukan lebih banyak angka nol di depan) akan menang dan bloknya akan diterima.
Mengontrol Jumlah Uang Beredar
Aturan pertama dari sistem Bitcoin adalah maksimum 21.000.000 Bitcoin yang dihasilkan. Angka ini masih belum tercapai, dan menurut tren saat ini, diperkirakan angka ini akan tercapai pada tahun 2140.
Hal ini dapat menyebabkan Anda mempertanyakan kegunaan sistem seperti itu, karena 21 juta unit kedengarannya tidak banyak. Namun, sistem Bitcoin mendukung nilai pecahan hingga delapan desimal (0,00000001). Unit terkecil dari bitcoin ini disebut Satoshi , untuk menghormati Satoshi Nakamoto, pengembang anonim di balik protokol Bitcoin.
Koin baru dibuat sebagai hadiah bagi penambang untuk memvalidasi transaksi. Hadiah ini bukan biaya transaksi yang Anda tentukan saat membuat catatan transaksi, tetapi ditentukan oleh sistem. Jumlah hadiah berkurang dari waktu ke waktu dan pada akhirnya akan ditetapkan ke nol setelah jumlah total koin yang dikeluarkan (21m) telah tercapai. Ketika ini terjadi, biaya transaksi akan memainkan peran yang jauh lebih penting karena penambang mungkin memilih untuk memprioritaskan transaksi yang lebih berharga untuk validasi.
Selain menetapkan batas atas jumlah koin maksimum, sistem Bitcoin juga menggunakan cara yang menarik untuk membatasi produksi harian koin baru. Dengan mengkalibrasi jumlah minimum nol di depan yang diperlukan untuk perhitungan bukti kerja, waktu yang diperlukan untuk memvalidasi transaksi, dan mendapatkan hadiah koin baru, selalu disetel menjadi sekitar 10 menit. Jika waktu antara menambahkan blok baru ke blockchain berkurang, sistem mungkin mengharuskan proof-of-work menghasilkan 45 atau 50 nol di depan.
Jadi, dengan membatasi seberapa cepat dan berapa banyak koin baru yang dapat dihasilkan, sistem Bitcoin secara efektif mengendalikan jumlah uang beredar.
Mulai "Mencetak" Mata Uang Anda Sendiri
Seperti yang Anda lihat, membuat Bitcoin versi Anda sendiri tidaklah sulit. Dengan memanfaatkan teknologi yang ada, diimplementasikan dengan cara yang inovatif, Anda memiliki semua yang Anda butuhkan untuk cryptocurrency.
- Semua transaksi dilakukan melalui Internet menggunakan komunikasi P2P, sehingga menghilangkan kebutuhan akan otoritas pusat
- Pengguna dapat melakukan transaksi anonim dengan memanfaatkan kriptografi asinkron dan mereka diidentifikasi hanya dengan kombinasi kunci pribadi/kunci publik mereka
- Anda telah menerapkan buku besar global yang divalidasi dari semua transaksi yang telah disalin dengan aman ke setiap rekan di jaringan
- Anda memiliki suplai uang yang aman, otomatis, dan terkontrol, yang menjamin stabilitas mata uang Anda tanpa memerlukan otoritas pusat
Satu hal terakhir yang perlu disebutkan adalah, pada intinya, cryptocurrency adalah cara untuk mentransfer nilai/informasi anonim dari satu pengguna ke pengguna lain dalam jaringan peer-to-peer terdistribusi .
Pertimbangkan untuk mengganti koin dalam catatan transaksi Anda dengan data acak yang bahkan mungkin dienkripsi menggunakan kriptografi asinkron sehingga hanya pengirim dan penerima yang dapat menguraikannya. Sekarang pikirkan tentang menerapkannya pada sesuatu seperti Internet Of Things !
Sejumlah teknologi kelas berat sudah menjajaki penggunaan teknologi blockchain di platform IoT, tetapi itu bukan satu-satunya aplikasi potensial dari teknologi yang relatif baru ini.
Jika Anda tidak melihat alasan untuk membuat mata uang alternatif Anda sendiri (selain lelucon praktis), Anda dapat mencoba menggunakan pendekatan yang sama atau serupa untuk hal lain, seperti otentikasi terdistribusi, pembuatan mata uang virtual yang digunakan dalam game, jejaring sosial , dan aplikasi lain, atau Anda dapat melanjutkan untuk membuat program loyalitas baru untuk bisnis e-niaga Anda, yang akan memberi penghargaan kepada pelanggan reguler dengan token virtual yang dapat ditukarkan nanti.