Blockchains didistribusikan (yaitu, tanpa repositori tunggal) dan buku besar digital terdesentralisasi yang tahan terhadap kerusakan. Pada tingkat paling dasar, mereka memungkinkan pengguna untuk mencatat transaksi dalam buku besar bersama dalam grup itu. Hasilnya adalah tidak ada transaksi yang dapat dimodifikasi setelah dipublikasikan di bawah fungsi jaringan blockchain standar.
Konsep blockchain diintegrasikan dengan banyak teknologi dan konsep komputer lainnya pada tahun 2008 untuk menciptakan cryptocurrency modern: uang elektronik yang dilindungi oleh proses kriptografi daripada repositori pusat atau otoritas.
Implementasi Blockchain sering dibuat dengan tujuan atau fungsi tertentu dalam pikiran. Cryptocurrency, kontrak pintar, dan sistem buku besar terdistribusi untuk bisnis adalah contoh fungsi.
Bitcoin adalah cryptocurrency berbasis blockchain pertama , yang memungkinkan pengguna untuk berbagi data secara publik sehingga peserta dapat memverifikasi validitas transaksi secara independen. Cryptocurrency dibangun di atas teknologi blockchain, yang dinamai berdasarkan penggunaan fungsi kriptografi yang intensif.
Untuk menandatangani secara digital dan bertransaksi dengan aman di dalam sistem, pengguna menggunakan kunci publik dan pribadi . Pengguna dapat memecahkan teka-teki menggunakan fungsi hash kriptografis dengan harapan dibayar dengan jumlah uang tetap dalam jaringan blockchain berbasis cryptocurrency yang melibatkan penambangan.
Bidang teknologi blockchain telah melihat aliran kemajuan yang stabil, dengan platform baru yang diperkenalkan secara teratur — lingkungan terus berubah. Selain cryptocurrency, teknologi blockchain dapat digunakan untuk membangun sistem buku besar permanen, publik, dan transparan untuk mengumpulkan data penjualan, melacak penggunaan digital, dan melakukan pembayaran kepada pembuat konten seperti musisi.
Bagaimana Cara Kerja Blockchain?
Tujuan mendasar blockchain adalah untuk memungkinkan orang – terutama mereka yang tidak percaya satu sama lain – mengkomunikasikan data penting dengan cara yang aman dan tidak mudah rusak.
Fungsi hash, blok, node, penambang, dompet, tanda tangan digital, dan protokol adalah berbagai konsep utama dalam blockchain.
Fungsi hash
Mari kita bayangkan bahwa 10 orang dalam satu ruangan memutuskan untuk membuat mata uang baru. Mereka harus mengikuti aliran dana untuk memastikan validitas koin di ekosistem moneter baru mereka. Satu orang — sebut saja dia Bob — memutuskan untuk menyimpan daftar semua tindakan dalam buku harian. Namun, orang lain — sebut saja dia Jack — memutuskan untuk mencuri uang. Untuk menyembunyikan ini, dia mengubah entri di buku harian.
Kemudian suatu hari, Bob memperhatikan bahwa seseorang telah mengganggu buku hariannya. Dia memutuskan untuk mengubah format buku hariannya untuk mencegah gangguan di masa depan. Dia menggunakan program yang disebut fungsi hash yang mengubah teks menjadi sekumpulan angka dan huruf, seperti yang ditunjukkan pada tabel di bawah ini.
Proses ini memanfaatkan algoritma hash aman, atau SHA, yang mengubah huruf menjadi string karakter. Bob dapat memilih berbagai jenis SHA yang masing-masing memiliki kompleksitas yang berbeda dan melayani kebutuhan yang berbeda.
Hash adalah string angka dan huruf, yang dihasilkan oleh fungsi hash. Fungsi hash adalah fungsi matematika yang mengubah sejumlah karakter variabel menjadi string dengan jumlah karakter tetap.
Hanya perubahan kecil dalam sebuah string yang menciptakan hash yang sama sekali baru. Setelah setiap entri buku harian, Bob memasukkan hash. Tapi kemudian Jack memutuskan untuk mengubah entri lagi. Dia membuka buku harian, mengubah catatan dan membuat hash baru.
Bob memperhatikan bahwa seseorang telah menyaring buku harian itu lagi. Dia memutuskan untuk memperumit catatan setiap transaksi. Setelah setiap catatan, ia memasukkan hash baru yang dihasilkan dari hash terakhir yang direkam. Oleh karena itu, setiap entri tergantung pada yang sebelumnya.
Jika Jack mencoba mengubah catatan, dia harus mengubah hash di semua entri sebelumnya. Jack, bagaimanapun, adalah pencuri yang gigih, jadi dia menghabiskan sepanjang malam menghitung semua hash.
Bob tidak mau menyerah, jadi dia menambahkan nomor acak yang berbeda setelah setiap rekaman. Nomor ini disebut "nonce." Nonces harus dipilih sedemikian rupa sehingga menghasilkan hash yang diakhiri dengan dua nol.
Untuk memalsukan catatan dengan sistem entri Bob yang diperbarui, Jack sekarang harus menghabiskan berjam-jam menentukan nonce untuk setiap baris.
Nonce sulit untuk dipahami bahkan oleh komputer, tetapi tugas itu mungkin, karena para penambang bersaing untuk menemukannya sebagai bagian dari proses penambangan blockchain.
Blok
Spreadsheet awal Bob dari 5.000 transaksi disebut blok genesis — titik awal untuk blockchain ini. Adopsi mata uang ini telah menyebar, sehingga transaksi datang dengan cepat dan sering. Blok baru dibuat, yang juga dapat menampung hingga 5.000 transaksi dan memiliki kode yang berkorelasi dengan blok sebelumnya, sehingga tidak dapat dipalsukan.
Mari kita asumsikan bahwa blockchain ini memperbarui dirinya sendiri setiap 10 menit dengan blok baru. Ia melakukannya secara otomatis. Tidak ada master atau komputer pusat yang memerintahkan komputer untuk melakukan ini.
Segera setelah spreadsheet atau buku besar atau registri diperbarui, itu tidak lagi dapat diubah. Jadi, tidak mungkin untuk memalsukannya. Anda hanya dapat menambahkan entri baru ke dalamnya. Registri diperbarui di semua komputer di jaringan secara bersamaan. Perubahan pada blockchain membutuhkan konsensus dari mayoritas peserta jaringan.
Salah satu risiko potensial untuk blockchain adalah “serangan 51%,” di mana sebuah pihak mengambil alih sebagian besar tingkat hash blockchain, yang memungkinkan mereka untuk kemudian mendikte jaringan.
Secara umum, sebuah blok berisi stempel waktu, referensi ke blok sebelumnya, transaksi dan masalah komputasi yang harus diselesaikan sebelum blok masuk ke blockchain. Jaringan node terdistribusi yang harus mencapai konsensus membuat penipuan hampir tidak mungkin dilakukan di dalam blockchain.
Node
waktu yang singkat. Namun, ketika transaksi baru terus terjadi, ia segera terbebani oleh jumlah catatan, melihat sistemnya saat ini tidak berkelanjutan. Jadi, segera setelah buku hariannya mencapai 5.000 transaksi, dia mengubahnya menjadi spreadsheet satu halaman. Mary memeriksa keakuratan semua transaksi.
Bob kemudian memberikan buku harian spreadsheet-nya ke 3.000 komputer yang berbeda, masing-masing terletak di wilayah yang berbeda secara global. Komputer ini disebut node. Setiap kali transaksi terjadi, itu harus disetujui oleh node tersebut, yang masing-masing memeriksa validitas transaksi. Setelah setiap node memeriksa transaksi, pada dasarnya jenis pemungutan suara elektronik terjadi. Beberapa node mungkin menganggap transaksi itu valid, sementara yang lain mungkin melihatnya sebagai penipuan.
Setiap node memiliki salinan buku harian spreadsheet. Setiap node memeriksa validitas setiap transaksi. Jika mayoritas node mengatakan bahwa transaksi itu valid, maka itu ditulis ke dalam blok.
Sekarang, jika Jack ingin mengubah satu entri dalam buku harian spreadsheet, semua komputer lain akan memiliki hash asli. Mereka tidak akan membiarkan perubahan terjadi.
Penambangan
Penambangan adalah proses dimana penambang menambahkan blok baru ke rantai. Setiap blok di blockchain memiliki nonce dan hash yang unik, tetapi juga mengacu pada hash dari blok sebelumnya dalam rantai, membuat penambangan blok menjadi sulit, terutama pada rantai besar.
Penambang menggunakan perangkat lunak khusus untuk memecahkan masalah matematika yang sangat sulit untuk menghasilkan hash yang dapat diterima menggunakan nonce. Karena panjang nonce hanya 32 bit dan hash 256 bit, ada sekitar empat miliar kombinasi nonce-hash yang harus ditambang sebelum menemukan yang tepat.
Penambang dianggap telah menemukan "nonce emas" ketika ini terjadi, dan blok mereka ditambahkan ke rantai. Membuat perubahan ke blok mana pun sebelumnya dalam rantai mengharuskan penambangan ulang tidak hanya blok yang terpengaruh tetapi juga semua blok berikutnya.
Inilah sebabnya mengapa memanipulasi teknologi blockchain sangat sulit. Anggap saja "keamanan dalam matematika" karena mengidentifikasi nonce emas membutuhkan waktu lama dan banyak sumber daya komputasi. Ketika sebuah blok berhasil ditambang, semua node dalam jaringan mengakui perubahan tersebut, dan penambang diberi kompensasi secara finansial.
Dompet, Tanda Tangan Digital, dan Protokol
Melanjutkan dengan contoh yang sama, Bob mengumpulkan 10 orang bersama-sama (10 orang yang awalnya dikumpulkan yang merupakan bagian dari mata uang baru). Dia perlu menjelaskan koin digital baru dan sistem buku besar kepada mereka.
Jack mengakui dosa-dosanya kepada kelompok itu dan meminta maaf. Untuk membuktikan ketulusannya, dia mengembalikan koin mereka kepada Ann dan Mary.
Dengan semua yang diurutkan, Bob menjelaskan mengapa ini tidak akan pernah terjadi lagi. Dia memutuskan untuk menerapkan sesuatu yang disebut tanda tangan digital untuk mengkonfirmasi setiap transaksi. Tapi pertama-tama, dia memberi semua orang dompet.
Apa itu Dompet?
Jika Anda memiliki uang digital, maka Anda memerlukan dompet digital atau platform online atau pertukaran untuk penyimpanan.
Dompet adalah rangkaian angka dan huruf, seperti: 18c177926650e5550973303c300e136f22673b74. Ini adalah alamat yang akan muncul di berbagai blok di dalam blockchain saat transaksi berlangsung. Tidak ada nama atau informasi pengenal pribadi yang disertakan — hanya nomor dompet.
Alamat dompet publik adalah string karakter yang dapat dikirimi aset tertentu. Alamat setiap dompet tertentu dihasilkan dari kunci publik.
Tanda Tangan Digital
Untuk melakukan transaksi, Anda memerlukan dua hal: dompet, yang merupakan alamat, dan kunci pribadi. Kunci pribadi adalah serangkaian angka acak. Berbeda dengan alamat, bagaimanapun, kunci pribadi harus dirahasiakan. Kunci pribadi mengontrol dana yang disimpan dalam dompet terkait.
Ketika seseorang memutuskan untuk mengirim koin ke orang lain, mereka harus menggunakan kunci pribadi mereka untuk menandatangani pesan yang berisi transaksi. Sistem dua kunci — kunci pribadi dan kunci publik — adalah inti dari enkripsi dan kriptografi, dan penggunaannya sudah lama mendahului keberadaan blockchain. Ini pertama kali diusulkan pada 1970-an.
Setelah pesan dikirim, itu disiarkan ke jaringan blockchain. Jaringan node kemudian bekerja pada pesan untuk memastikan bahwa transaksi yang dikandungnya valid. Jika mengkonfirmasi validitas, transaksi ditempatkan di blok. Setelah itu, tidak ada informasi tentang itu yang dapat diubah.
Apa itu kunci kriptografi?
Kunci kriptografi adalah serangkaian angka dan huruf. Kunci kriptografi dibuat oleh generator kunci atau keygens. Keygens ini menggunakan matematika yang sangat canggih yang melibatkan bilangan prima untuk membuat kunci. Kunci tersebut dapat digunakan untuk mengenkripsi atau mendekripsi informasi.
Protokol
Teknologi Blockchain terdiri dari spesifikasi perilaku individu, seperangkat besar aturan yang diprogram ke dalamnya. Spesifikasi tersebut disebut protokol. Implementasi protokol tertentu pada dasarnya membuat blockchain seperti apa adanya — basis data informasi terdistribusi, peer-to-peer, aman.
Protokol Blockchain memastikan bahwa jaringan berjalan seperti yang dimaksudkan oleh pembuatnya, meskipun sepenuhnya otonom dan tidak dikendalikan oleh siapa pun.
Berikut adalah beberapa contoh protokol yang diterapkan di blockchain:
Informasi input untuk setiap nomor hash harus menyertakan nomor hash blok sebelumnya.
Hadiah untuk berhasil menambang satu blok berkurang setengahnya setelah 210.000 blok telah ditambang. Untuk Bitcoin ( BTC ), ini disebut halving. Pada 10 menit per blok, menambang 210.000 blok membutuhkan waktu sekitar empat tahun; karenanya, peristiwa separuh Bitcoin setiap empat tahun.
Untuk menjaga jumlah waktu yang dibutuhkan untuk menambang satu blok sekitar 10 menit, kesulitan penambangan dihitung ulang setiap 2.016 blok. Kesulitan penambangan pada dasarnya menyeimbangkan jaringan untuk memperhitungkan jumlah penambang. Lebih banyak penambang berarti suasana yang lebih kompetitif, membuat blok lebih sulit untuk ditambang. Lebih sedikit penambang berarti lebih mudah untuk menambang blok, sehingga menarik penambang untuk berpartisipasi.