Mengenal Konsep Network Pada Hyperledger Blockchain

Nanra Sukedy
6 min readAug 30, 2021

Halo teman-teman terimakasih telah berkunjung ke Medium saya. Kali ini kita akan melanjutkan proses perkenalan dengan Hyperledger Blockchain. Pada pembahasan sebelumnya kita telah membahas tentang kapan menggunakan teknologi Blockchain , kali ini kita akan membahas tentang konsep dan dasar untuk membangun sebuah jaringan Blockchain dengan Hyperledger Fabric.

Pada pembahasan ini kita akan mengenal simbol-simbol baku dari komponen network yang sudah disediakan oleh Hyperledger. Simbol-simbol ini nantinya akan kita pakai pada saat mendesain arsitektur dari sebuah jaringan Hyperledger Blockchain. Tentunya setelah familiar dan mengenal simbol-simbol ini, akan sangat membantu kita untuk melakukan abstraksi dari sebuah jaringan yang akan dibangun.

Hyperledger Blockchain Network

Blockchain network merupakan sebuah jaringan infrastruktur yang menyediakan layanan ledger dan smart contract (chaincode) untuk digunakan oleh aplikasi yang terhubung dengannya. Pada dasarnya smart contract digunakan untuk men-generate transaksi yang selanjutnya akan didistribusikan ke setiap node peer yang terdapat dalam jaringan tersebut. Yang mana transaksi tersebut akan tercatat (recorded) dan tersalin pada ledger.

Beberapa komponen network organisasi yang saling terhubung satu sama lain akan membentuk sebuah konsorsium yang merupakan cikal bakal terbentuknya sebuah jaringan blockchain.

Kebijakan yang berlaku dalam sebuah Blockchain Network akan ditentukan dan disepakati bersama oleh konsorsium yang terdapat dalam jaringan tersebut. Dimana proses pembuatan kebijakan (policies) ini dilakukan pada awal pertama kali merancang dan membangun sebuah Blockchain Network. Akan tetapi kebijakan (policies) dalam Blockchain Network tersebut dapat dirubah ditengah jalan untuk menyesuaikan kebutuhan bisnis proses yang akan di-handle oleh jaringan Blockchain. Yang perlu dicatat adalah setiap perubahan yang terjadi dalam sebuah jaringan Blockchain harus dengan persetujuan organisasi-organisasi yang tergabung dalam konsorsium tadi.

Misal dalam proses pembuatan komponen network channel kita akan diminta untuk menentukan jenis endorsement policy (kebijakan) yang akan diterapkan pada channel tersebut. Seperti siapa saja yang berhak/berkuasa untuk melakukan approval dan submit jika kita menginstall smart contract pada channel tersebut.

Perlu diketahui juga bahwa Blockchain Network merupakan jaringan yang berisi distributed ledger, yang mana tugas utama dari Blockchain Network ini adalah mencatat log transaksi aset yang dilakukan oleh end-user dengan aman dan sesuai aturan kesepakatan yang ada dalam jaringan tersebut. Transaksi bisa berupa pertukaran aset berwujud atau juga tidak berwujud.

Simple Blockchain Network (SBN) Architecture

Hyperledger Fabric pada dokumentasi resminya sudah menyediakan contoh sederhana dari sebuah Blockchain Network seperti gambar diagram dibawah ini:

Property of Hyperledger Fabric Docs : link

Diagram arsitektur diatas merupakan desain sebuah jaringan Blockchain yang diilustrasikan dengan simbol-simbol yang sudah ditentukan oleh Hyperledger. Simbol-simbol tersebut sudah bersifat baku dan jadi standard Hyperledger Fabric. Dengan begitu kita sedikit dimudahkan untuk membuat sebuah desain network karena penggunaan simbol akan seragam dan mudah dimengerti.

Berikut arti dari simbol komponen network yang terdapat pada diagram arsitektur diatas:

  • Terdapat 3 Certificate Authority (CA0, CA1, CA2)
  • Terdapat 3 Organization (R0, R1, R2)
  • Terdapat 1 Channel (C1)
  • Terdapat 1 Channel Configuration (CC1)
  • Terdapat 1 Ordering Service (O)
  • Terdapat 1 Ledger (L1)
  • Terdapat 2 Node Peer (P1 & P2)
  • Terdapat 1 Chaincode (Smart Contract)
  • Terdapat 2 Aplikasi (End-User) (A1 & A2)

Simple Blockchain Network (SBN) Scenario

Berikutnya hal yang perlu dicatat dalam proses pembuatan sebuah desain arsitektur Blockchain Network Hyperledger adalah kita harus membuat serta menyusun skenario fungsi dari masing-masing komponen. Seperti misal siapa yang akan berperan sebagai organisasi (R) yang akan mengatur ordering services (O), siapa yang berhak dan bertanggung jawab akan konfigurasi dari sebuah channel (CC).

Karena pada contoh diagram arsitektur jaringan diatas kita mengacu pada contoh dokumentasi resmi dari Hyperledger Fabric, maka Hyperledger pada dokumentasinya sudah menyusun skenario jaringan dari diagram arsitektur SBN seperti berikut ini:

  1. Pada jaringan SBN tersebut terdapat 3 Organizations (R0, R1, R2) yang memutuskan untuk membuat sebuah jaringan Blockchain.
  2. Konfigurasi dari jaringan ini dibuat pada komponen CC1. Dimana semua organisasi telah sepakat untuk mendefinisikan informasi organisasi, kebijakan serta serta peran dari masing-masing organisasi pada Channel (C1). Sekedar informasi tambahan, jika pada Hyperledger Fabric versi 1.4, kita akan menemukan komponen jaringan NC ( Network Configuration) yang akan diisi oleh sebuah organisati (R) yang berperan sebagai inisiator awal untuk melakukan konfigurasi jaringa. Namun pada contoh diagram diatas kita mengacu pada contoh SBN untuk Hyperledger Fabric versi 2.3 sehingga tidak perlu lagi menentukan organisasi untuk menghandle NC.
  3. Berikutnya pada contoh diagram SBN diatas, R0 akan memiliki peran sebagai organisasi yang akan meng-handle komponen Ordering Service (O). Karena dalam proses pembuatan sebuah komponen network Ordering Service (O), kita akan membutuhkan sebuah organisasi khusus yang fokus untuk me-manage komponen network O tersebut.
  4. Komponen ordering service (O) sendiri merupakan komponen network yang akan bertugas untuk melakukan ordering terhadap transaksi yang terjadi pada Channel (C1) sebelum nantinya di-record pada Ledger (L1).
  5. Selanjutnya R1 & R2 masing-masing akan terhubung ke node Peer 1 (P1) dan node Peer 2 (P2) yang juga terhubung ke Channel (C1).
  6. Kemudian pada contoh SBN diatas, hanya terdapat 1 chaincode (Smart Contract) yang diinstall pada Channel 1 (C1). Dan smart contract tersebut diasosiasikan pada P1 dan P2 agar dapat diakses oleh R1 & R2.
  7. Selanjutnya dalam contoh SBN diatas juga hanya terdapat 1 Ledger (L1) yang mana P1 dan P2 terhubung pada L1 ini melalui C1.
  8. Dan kemudian Ledger (L1) akan dimanage oleh Ordering Service (O). Perlu dicatat bahwa, yang di-record dan disalin pada L1 hanyalah data transaksi yang terjadi pada C1. Sementara data dari world state (database) akan disimpan pada masing-masing Peer.
  9. Pada contoh diagram SBN diatas juga dapat dilihat bahwa terdapat 2 aplikasi yaitu A1 & A2. Komponen network A1 & A2 merupakan ilustrasi dari aplikasi yang akan terhubung dengan jaringan Blockchain. Untuk meangakses jaringan Blockchain, A1 & A2 akan terhubung dengan masing-masing P1 & P2. Dan untuk mengakses R1 & R1, data dari A1 & A2 akan dilewatkan melalui C1.
  10. Terakhir adalah semua organisasi yang ada pada SBN (R0, R1, R2) masing-masing akan memiliki Certificate Authority (CA), yaitu C0, C1, C2. Certificate Authority ini merupakan komponen network yang paling penting dalam proses awal pembuatan sebuah jaringan Blockchain Hyperledger Network. Karena nanti CA ini akan menggenerate Identity dari masing-masing organisasi, sebelum nanti organisasi tersebut membuat komponen network lainnnya.

Design Architecture Network Dengan 2 Channel

Berikut ini merupakan contoh diagram arsitektur jaringan Blockchain yang sedikit lebih kompleks dibanding contoh jaringan SBN sebelumnya.

Property of Hyperledger Fabric Docs: link

Diagram pada gambar diatas merupakan contoh desain jaringan Blockchain yang mempunyai 2 channel. Yang masing-masing channel mempunyai komponen jaringan CC yang dimanage oleh R1 & R2 serta R2&R3.

Dari contoh desain arsitektur diatas dapat dilihat bahwa terdapat sebuah component network NC (Network Configuration) yang sebelumnya tidak kita temui pada desain jaringan SBN. Adanya komponen jaringan CC ini menandakan bahwa Hyperledger Fabric yang digunakan pada desain ini masih versi lama yaitu versi 1.4. Sedangkan pada contoh desain arsitektur jaringan SBN sudah menggunakan Hyperledger Fabric versi terbaru yaitu versi 2.2. Karena terdapat update cara konfigurasi network pada Hyperledger Fabric versi 2.x.

Untuk skenario dari desain ini sementara tidak akan kita bahas dulu, kita fokus terhadap penggunaan simbol-simbol komponen jaringan Blockchain terlebih dahulu agar semakin familiar.

Penutup

Pada pembahasan ini kita telah berkenalan dengan konsep dasar dari Hyperledger Fabric Network lengkap dengan simbol-simbolnya. Yang perlu dicatat bagi teman-teman yang baru pertama kenal Hyperledger Fabric adalah harus familiar dengan simbol-simbol tersebut. Karena nanti jika sudah masuk ketahap implementasi dan development, kita akan sangat terbantu dengan simbol-simbol tersebut.

Meskipun pada proses implementasinya, akan ada sebuah job desk khusus yang akan merancang dan mendesain arsitektur jaringan Hyperledger Fabric yang akan dibangun, yaitu Hyperledger Blockchain Network Architect. Tapi seorang Smart Contract Developer juga akan lebih bagus jika sudah familiar dengan simbol dari desain jaringan tersebut.

Kemudian perlu diketahui juga bahwa, proses penentuan main purpose dari sebuah jaringan Blockchain Hyperledger akan ditentukan pada saat proses desain awal arsitektur jaringan ini. Seperti bisnis model seperti apa yang akan diterapkan, case apa yang akan diselesaikan hingga aplikasi apa saja yang nantinya akan terhubung dengan jaringan Blockchain ini.

Untuk materi pembahasan proses pembuatan desain jaringan Blockchain Network setiap komponennya, akan kita bahas pada materi selanjutnya.

Semoga tulisan ini dapat menambah sedikit referensi teman-teman tentang Konsep Hyperledger Blockchain Network. Jika teman-teman merasa bermanfaat silahkan beri clap, bantu share atau bisa juga tulis komentar.

Horas Ma Dihita Sasudena :-) …

Source: Hyperledger Fabric ReadDocs V2.xx & V1.4

--

--

Nanra Sukedy

Software Engineer & Permissioned Blockchain Engineer from Bandung, Indonesia