Ketika teknologi Blockchain diumumkan melalui makalah berjudul Bitcoin: Sistem Uang Elektronik Peer-to-Peer oleh Satoshi Nakamoto pada tahun 2008, itu adalah campuran inovatif dari kriptografi kunci publik (ditemukan pada tahun 1970-an), fungsi hash kriptografi (lahir pada tahun 1970-an) ) dan bukti kerja (ditemukan pada 1990-an).
Selama beberapa tahun terakhir, banyak proyek turunan dan yang terinspirasi dari blockchain telah dibuat. Kebanyakan dari mereka secara teknis bukan blockchain, melainkan sistem buku besar terdistribusi.
Mari kita membuat kode cara membangun blockchain hanya dalam delapan langkah. Untuk kesederhanaan, saya telah menggunakan istilah blockchain dan sistem buku besar terdistribusi secara bergantian dalam artikel ini.
Langkah 1: Identifikasi Kasus Penggunaan yang Sesuai
Ada banyak hype di sekitar blockchain. Saya telah membaca bahwa blockchain dapat menghapus kelaparan global, membuat dunia bebas korupsi, mengakhiri kemiskinan, dan melakukan lebih banyak hal tanpa berkeringat. Sayangnya, itu tidak benar. Jadi, langkah 1 adalah mengidentifikasi kasus penggunaan yang masuk akal secara bisnis.
Ada 3 hal yang dapat dilakukan blockchain dengan sangat baik:
- Otentikasi & Verifikasi Data: ini termasuk penyimpanan yang tidak dapat diubah, tanda tangan digital, dan enkripsi. Data dalam hampir semua format dapat disimpan di blockchain. Blockchain dapat membuat pasangan kunci publik-pribadi dan juga digunakan untuk menghasilkan dan memverifikasi tanda tangan digital.
- Manajemen Aset Cerdas: ini termasuk penerbitan, pembayaran, pertukaran, escrow, dan pensiun. Aset pintar / kripto adalah versi token dari aset dunia nyata misalnya emas, perak, minyak, tanah.
- Kontrak Cerdas: Ini adalah istilah yang paling sering disalahpahami, tetapi itu sesuatu untuk hari lain.
Langkah 2: Identifikasi Mekanisme Konsensus yang Paling Sesuai
Blockchain asli, yang mendukung mata uang kripto bitcoin, menggunakan bukti kerja sebagai mekanisme konsensus. Tetapi hari ini ada beberapa sistem buku besar terdistribusi yang menawarkan sejumlah mekanisme konsensus seperti Bukti kepemilikan, toleransi kesalahan Bizantium, konsensus berbasis Deposit, Perjanjian Bizantium Federasi, Bukti Waktu yang Berlalu, PBFT yang Diperoleh, Toleransi Kesalahan Bizantium yang Berlebihan, Toleransi Kesalahan Bizantium yang Disederhanakan, Toleransi Kesalahan Bizantium yang Disederhanakan , Konsensus Federasi, Round Robin dan Bukti Kepemilikan yang Didelegasikan.
Bergantung pada kasus penggunaan Anda, Anda perlu memilih mekanisme konsensus yang paling masuk akal.
Langkah 3: Identifikasi Platform yang Paling Sesuai
Ada banyak platform blockchain di luar sana saat ini dan kebanyakan dari mereka gratis dan open source. Bergantung pada mekanisme konsensus yang Anda pilih di langkah 2, Anda perlu memilih platform blockchain yang paling sesuai.
Beberapa platform yang lebih populer, dalam urutan abjad adalah:
- 1.BigChainDB
- 2.Chain Core
- 3.Corda
- 4.Credits
- 5.Domus Tower Blockchain
- 6.Elements Blockchain Platform
- 7.Eris:db
- 8.Ethereum
- 9.HydraChain
- 10.Hyperledger Fabric
- 11.Hyperledger Iroha
- 12.Hyperledger Sawtooth Lake
- 13.Multichain
- 14.Openchain
- 15.Quorum
- 16.Stellar
- 17.Symbiont Assembly
- 18.Tron
- 19.Chainlink
- 20.Cardano dan masih banyak yang lainnya
Langkah 4: Mendesain Node
Solusi Blockchain dapat diberi izin (misalnya, pendaftaran tanah yang dikelola Pemerintah) atau tanpa izin (misalnya Bitcoin, di mana siapa pun dapat menjadi penambang). Solusi blockchain dapat bersifat pribadi (mis. Sistem manajemen kontrak yang diterapkan di perusahaan farmasi), publik (mis. Cryptocurrency yang didukung aset) atau hibrida (mis. Sekelompok bank yang menjalankan platform KYC bersama).
Faktor lain yang perlu dipertimbangkan pada tahap ini adalah apakah node akan berjalan di cloud, di lokasi, atau keduanya. Kemudian muncul masalah konfigurasi perangkat keras seperti prosesor, memori dan ukuran disk. Anda juga perlu memutuskan sistem operasi dasar (biasanya Ubuntu, CentOS, Debian, Fedora, Red Hat atau Windows).
Langkah 5: Rancang Instans Blockchain
Sebagian besar platform blockchain membutuhkan konfigurasi terencana yang sangat hati-hati untuk elemen-elemen berikut:
- 1. Izin
- 2. Penerbitan aset
- 3. Penerbitan kembali aset
- 4. Pertukaran atom
- 5. Manajemen kunci
- 6. Multi tanda tangan
- 7. Parameter
- 8. Aset asli
- 9. Format alamat
- 10. Format kunci
- 11. Blokir tanda tangan
- 12. Berjabat tangan
Beberapa parameter dapat diubah saat run-time tetapi beberapa tidak bisa, jadi ini adalah langkah yang sangat penting.
Langkah 6: Membangun API
Beberapa platform blockchain hadir dengan API yang sudah dibuat sebelumnya sementara beberapa tidak. Kategori utama API yang Anda perlukan adalah untuk:
- Menghasilkan pasangan kunci dan alamat
- Melakukan fungsi terkait audit
- Data diautentikasi melalui tanda tangan dan hash digital
- Strage dan pengambilan data
- Manajemen siklus hidup aset cerdas – penerbitan, pembayaran, pertukaran, escrw, dan pensiun
- Kontrak pintar
Langkah 7: Rancang Admin dan Antarmuka Pengguna
Pada tahap ini Anda harus memilih front end dan bahasa pemrograman (misalnya HTML5, CSS, PHP, C #, Java, Javascript, Python, Ruby, Golang, Solidity, Angular JS Nodejs). Anda juga perlu memilih database eksternal (misalnya MySQL, MongoDB) serta server (termasuk server Web, server FTP, server email).
Langkah 8: Menambahkan Teknologi Masa Depan
Anda dapat meningkatkan kekuatan solusi Blockchain Anda dengan mengintegrasikan Artificial Intelligence, Biometrics, Bots, Cloud, Cognitive services, Container, Data Analytics, Internet of Things, dan Machine Learning.