Hyperledger Fabric Simpan Data Privat/Konfidensial On-Chain dengan Private Data Collection

//TODO : Warning Post belum selesai

Masalah

Misal ada 5 organisasi yang bergabung dalam blockchain network. Dan ada 2 organisasi yang ingin menjalankan chaincode yang mengandung data privat. Data ini tidak boleh diketahui oleh selain 2 organisasi tersebut. Solusinya adalah membuat channel baru untuk 2 organisasi ini.

Namun ada kasus yang membutuhkan kontrak A di channel X memanggil kontrak B di channel Y. Jika ini bukan transaksi, hanya evaluasi/query, ini bisa dilakukan dengan API invokeChaincode. Sehingga untuk yang bersifat transaksi tidak bisa pakai cara ini. Cara lain adalah meng orkestrasi diluar blockchain (off chain).

Hati hati juga invokeChaincode, query State DB (couchdb/leveldb) tidak sama seperti getState. hanya getState membuat Read Set. Sehingga hanya getState yang menjadi sumber kebeneran. invokeChaincode atau Query state DB hanya digunakan untuk mengambil key/id dari state nya saja. Lalu key itu digunakan untuk mengambil isi state dari key tersebut menggunakan getState.

Solusi : Private Data Collection

// TODO

Alternatif Seblum Private Data Collection

// TODO

Dengan memanfaatkan Off-Chain data. Untuk data yang bersifat privat di buat hash nya (dilakukan diluar blockchain). Lalu hash ini yang di simpan di blockchain. Namun kekurangannya ktia tidak bisa menambah business logic pada data privat ini. Jadinya hanya simpan data dan verifikasi data saja. Solusi ini juga dipakai di blockchain selain hyperledger fabric. Terutama public permissionless blockchain seperti Ethereum.

Contoh Kode

// TODO

https://github.com/IBM/private-data-collections-on-fabric

Work In Progress

https://jira.hyperledger.org/browse/FAB-15536

Tambahan

guest
0 Comments
Inline Feedbacks
View all comments