Hyperledger merupakan projek kolaborasi lintas industri untuk menciptakan dan
mengembangkan aplikasi open source dan related tools dalam jaringan blockchain.
Industri yang terlibat dalam pengembangan ini antara lain perbankan, keuangan,
Internet of Things, manufaktur, rantai pasokan, dan teknologi.
Projek ini akan
mengintegrasikan protokol dan standar terbuka independen melalui kerangka kerja
untuk modul penggunaan, termasuk blockchains dengan konsensus dan rutinitas
penyimpanan sendiri, serta layanan untuk identitas, kontrol akses, dan Smart
Contracs.
Projek ini mulai
diperkenalkan sejak tahun 2015 dimana banyak perusahaan yang interest dengan
eksistensinya dan kesadaran betapa pentingnya bekerja dengan kolaborasi.
Perusahaan-perusahaan ini memutuskan mengumpulkan sumber daya untuk menciptakan
teknologi blockchain open-source yang dapat digunakan siapapun. Hyperledger
berada dibawah Linux Foundation yang telah berkembang pesat dalam beberapa
tahun terakhir. Pada tanggal publikasi, Hyperledger memiliki lebih dari 230
organisasi anggota serta 10 projek dengan 3,6 juta baris kode, 10 kelompok
kerja aktif, dan hampir 28.000 peserta.
Hyperledger sendiri berfungsi sebagai wadah yang menampung pengguna,
pengembang, dan vendor dari berbagai sektor dan ruang pasar. Semua partisipan
memiliki satu kesamaan tertarik mempelajari, mengembangkan dan menggunakan
blockchain. Setiap perusahaan membutuhkan fitur dan modifikasi khusus untuk
membuat blockchain mencapai tujuan. Karena setiap organisasi yang berbeda
memiliki kebutuhan yang berbeda, maka tidak ada standar tunggal blockchain,
tetapi dengan berbagai fitur yang disediakan dapat menjadi solusi di banyak
industri untuk dapat melihat banyak jenis blockchain.
Ada beberapa Struktur
Hyperledger antara lain adalah
Framework
|
Tools
|
Hyperledger Burrow
|
Hyperledger Caliper
|
Hyperledger Fabric
|
Hyperledger Cello
|
Hyperledger Iroha
|
Hyperledger Composer
|
Hyperledger Sawtooth
|
Hyperledger Explorer
|
Hyperledger Quilt
|
Dari beberapa Hyperledger yang akan saya bahas yaitu
Hyperledger Fabric
Hyperledger Fabric adalah sebuah kerangka kerja untuk
mengimplementasikan blockchain yang bersifat private atau
permissioned(diijinkan), dimana dalam sebuah jaringan hanya anggota yang
terdaftar yang dapat mengakses jaringan tersebut. Hal ini dirancang sebagai
landasan untuk mengembangkan arsitektur modular (plug-and-play) dan memberikan
keamanan jaringan, skalabilitas, kerahasiaan yang siap digunakan dengan penggambaran
peran antara node dalam infrastruktur, pelaksanaan Smart Contract (disebut
"chaincode") dan konsensus yang dapat dikonfigurasi dan layanan
keanggotaan.
Plug-and-play adalah istilah teknologi informasi yang mengacu kepada fitur di komputer yang memperbolehkan suatu perangkat ditambahkan ke sistem komputer tanpa perlu melakukan konfigurasi ulang atau instalasi device driver secara manual.Chaincode yaitu perangkat lunak yang mendefinisikan aset dan transaksi terkait, dengan kata lain, ini berisi logika bisnis sistem. Chaincode dipanggil saat aplikasi perlu berinteraksi dengan buku besar. Chaincode dapat ditulis dalam Bahasa pemrograman Golang ataupun Node.js.
Hal
tersebut dirancang untuk mendukung berbagai komponen yang pluggable, dan
memberikan keamanan jaringan, skalabilitas, kerahasiaan yang siap digunakan.
Berikut ini adalah komponen-komponen yang terdapat dalam Hyperledger Fabric:
Asset
Asset merupakan segala sesuatu yang memiliki nilai yang dimiliki oleh
seseorang atau organisasi. Asset diwakili dalam Hyperledger Fabric sebagai
kumpulan pasangan nilai-kunci yang dapat diubah menggunakan transaksi chainnode
dimana dapat direpresentasikan dalam bentuk biner atau JSON. Ketika ada
perubahan maka akan dicatat sebagai transaksi pada Channel Ledger.
Chainnode
chaincode yaitu perangkat
lunak yang mendefinisikan aset dan transaksi terkait, dengan kata lain, ini
berisi logika bisnis sistem. Chaincode memberlakukan aturan untuk membaca atau
mengubah pasangan nilai kunci atau informasi basis data yang tersimpan pada
bagian lainnya. Chaincode dipanggil saat aplikasi perlu berinteraksi dengan
buku besar. Eksekusi chaincode menghasilkan seperangkat nilai kunci (write set)
yang dapat dikirimkan ke jaringan dan diterapkan ke buku besar di semua peer. Chaincode
dapat ditulis dalam Bahasa pemrograman Golang atau pun Node.js.
Smart Contract
protokol komputer yang dimaksudkan untuk memfasilitasi, memverifikasi, atau menegaskan negosiasi atau kinerja kontrak secara digital. Kontrak pintar memungkinkan kinerja transaksi yang kredibel tanpa pihak ketiga. Smart Contract juga dapat dikatakan sebagai bentuk paling sederhana dari otomatisasi yang terdesentralisasi.
Shared Ledger
Ledger adalah buku besar
yang mencatat kondisi kepemilikan suatu asset yang dapat diurutkan, dan tahan
terhadap kerusakan atau cacat pada semua transisi dalam Hyperledger Fabric. Transisi
ini adalah pemanggilan Chainnode ('transaksi') yang diajukan oleh pihak yang
berpartisipasi. Setiap transaksi create update or delete akan menghasilkan satu
set pasangan nilai kunci.
Ledger pada blockchain berfungsi
untuk menyimpan catatan yang tidak dapat diubah dan diurutkan dalam blok. Terdapat
satu ledger per channel, Setiap peer menyimpan salinan ledger untuk setiap channel
di mana mereka menjadi anggota.
Beberapa fitur pada Fabric
Ledger:
- Update ledger menggunakan berdasarkan hasil pencarian kata kunci, rentang Query, dan gabungan kata kunci.
- Query yang hanya untuk membaca (Read-Only) dapat menggunakan Query yang kaya Bahasa jika menggunakan CouchDB sebagai basis data.
- Query yang hanya untuk membaca histori (Read-Only), memungkinkan membaca skenario asal-usal data.
- Transaksi terdiri dari beberapa versi keys/values yang dibaca dan ditulis pada chaincode (read set dan write set).
- Transaksi mengandung tanda tangan dari setiap Endorsing Peer dan diserahkan kepada ordering service.
- Transaksi di order ke dalam blok dan dikirim dari ordering service menuju peer dalam channel.
- Peer melakukan validasi sebuah transaksi sebagai pengesahan untuk menentukan kebijakan sebelum menambah blok baru, pemeriksan ini dilakukan untuk memastikan bahwa kondisi asset yang dibaca tidak berubah sejak pertama kali di eksekusi oleh chaincode.
- Ada immutability setelah transaksi divalidasi dan committed.
- Ledger pada Channel berisi blok konfigurasi yang menetapkan kebijakan, daftar kontrol akses dan informasi terkait lainnya.
- Channel berisi struktur proses dan memori (instance) Membership Service Provider yang memungkinkan material kripto berasal dari Certificate Authorities (CA) yang berbeda.
Peer nodes
Elemen mendasar dari jaringan karena peer
merupakan wadah buku besar dan chaincode. Sebuah peer mengeksekusi chaincode,
mengakses data buku besar, mengatur transaksi, dan berinteraksi dengan
aplikasi. Beberapa peer lainnya dapat menjadi endorser yang mendukung. Setiap
chaincode dapat menentukan kebijakan endorsement, yang mendefinisikan kondisi
yang diperlukan dan cukup untuk endorse transaksi yang valid.
Channel
channel adalah struktur logis yang dibentuk oleh kumpulan peer. Kemampuan ini
membuat sekelompok peer memungkinkan untuk membuat transaksi ledger yang terpisah.
Organizations
Hyperledger Fabric dibangun dari peers yang dimiliki dan diberikan oleh
berbagai organisasi yang menjadi anggota jaringan. Jaringan ada karena
organisasi memberikan sumber daya individual mereka ke jaringan kolektif. Peer
memiliki identitas sertifikat digital yang ditetapkan oleh Membership Service
Provider (MSP) dari organisasi pemiliknya. Peer dari organisasi yang berbeda dapat
berada di saluran yang sama.
Membership Service Provider (MSP)
diimplementasikan
sebagai Certificate Authority (CA) untuk mengelola sertifikat yang digunakan
untuk mengotentikasi identitas dan peran angota. Tidak ada identitas yang tidak
dikenal yang dapat berinteraksi di jaringan Hyperledger Fabric. MSP mengelola
ID pengguna dan mengotentikasi semua peserta di jaringan yang memungkinkan Hyperledger
Fabric sebagai jaringan pribadi.
Ordering Service
Transaksi paket ordering service dijadikan
blok untuk dikirim ke seluruh peer di saluran. Ordering service menjamin
pengiriman transaksi dalam jaringan. Ordering service berkomunikasi dengan
peers dan endorse peer lainnya. Mekanisme konfigurasi yang didukung untuk
ordering service adalah Solodan Kafka.
Dalam
blockchain Hyperledger Fabric berfungsi sebagai back-end dengan aplikasi
front-end untuk berkomunikasi dengan jaringan. SDK membantu mengatur komunikasi
antara front-end dan back-end, seperti Nodejs SDK dan Java SDK. SDK menyediakan
cara untuk mengeksekusi kode berantai pengguna, melakukan transaksi dijaringan,
memantau events dll.
Keterbatasan Hyperledger Fabric
Masih tergolong baru dan dapat berubah
Pada
tahun 2018 sudah ada lebih dari 150 developer dari 28 organisasi yang bekerja
utnuk mengembangkan Ledger yang terdistribusi dan mungkin akan terus bertambah.
Dengan perkembangan jumlah developer pastinya akan berpengaruh terhadap perubahan
dan peningkatan kemampuan Teknologi Hyperledger yang sesuai dengan kebutuhan.
Kurangnya toleransi kesalahan jaringan
Walaupun
Kafla sangat toleransi terhadap crash fault tolerant yang mencegah sistem
mencapai kesepakatan dalam kasus malicious or faulty nodes. Bukan berarti hal
ini fault tolerant pada Byzantine. Sebagai perbandingan, mentoleransi dua node Byzantine
akan membutuhkan f = (7 [jumlah node] – 1) /3) = 2 atau jaringan minimum 7 node
PBFT blockchain.
Tidak Semua SDK dan API user-friendly
Ada
banyak SDK yang tersedia di Java, Node dan GO yang dapat digunakan dalam pengembangan
hyperledger. Namun tidak satu pun dari mereka yang benar-benar user-friendly.
Menjadi seorang pengembang blockchain, anda harus memahami sedikit kode yang
mendasari hyperledger fabric sehingga anda akan lebih mudah menerapkannya. Tidak
semua SDK sepenuhnya kompatibel untuk Create/Fetch/Update semuanya apalagi
kurangnya dokumentasi.
Arsitektur yang Kompleks
Teknologi
Hyperledger Fabric adalah teknologi yang masih tergolong baru sehingga apabila terjadi
kurang dokumentasi yang tepat maka akan membuat teknologi ini menjadi lebih
rumit dan kompleks serta tidak mudah dipahami.
Share This :
0 Comments