-->
ZDIRY-TUFWT-EBONM-EYJ00-IDBLANTER.COM
ZDIRY-TUFWT-EBONM-EYJ00

BLANTERWISDOM105

Model Hyperledger Fabric Untuk Private Blockchain (Permissioned)

12/11/2019
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:
  1. Update ledger menggunakan berdasarkan hasil pencarian kata kunci, rentang Query, dan gabungan kata kunci.
  2. Query yang hanya untuk membaca (Read-Only) dapat menggunakan Query yang kaya Bahasa jika menggunakan CouchDB sebagai basis data.
  3. Query yang hanya untuk membaca histori (Read-Only), memungkinkan membaca skenario asal-usal data.
  4. Transaksi terdiri dari beberapa versi keys/values yang dibaca dan ditulis pada chaincode (read set dan write set).
  5. Transaksi mengandung tanda tangan dari setiap Endorsing Peer dan diserahkan kepada ordering service.
  6. Transaksi di order ke dalam blok dan dikirim dari ordering service menuju peer dalam channel.
  7. 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.
  8. Ada immutability setelah transaksi divalidasi dan committed.
  9. Ledger pada Channel berisi blok konfigurasi yang menetapkan kebijakan, daftar kontrol akses dan informasi terkait lainnya.
  10. 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