Saat ini, data yang kita miliki, seperti data nama, alamat rumah,tanggal lahir,email ,nomor telpon, gaji, nama pasangan, nama anak, alamat kantor, sekolah/almamater, pengeluaran bulanan, dan sebagainya tersimpan di banyak tempat oleh banyak institusi/organisasi tanpa kita bisa kuasai/kontrol penuh.
Data yang kita miliki berada dan dimiliki oleh beberapa pihak seperti pihak pemerintah, sekolah, universitas, Bank, asuransi, kantor tempat bekerja, e-commerce, social media, agency kerja, pemilik brand, Lembaga keuangan, Kantor Imigrasi, Toko,pemilik usaha, kantor pajak dan sebagainya.
Hal ini kita anggap sangat normal karena memang begitulah keadaan saat ini. Walaupun sebenarnya data kita sangat rawan terhadap pencurian indetitas, pencurian
data keuangan,pelanggaran privasi, banyak orang tidak terlalu perduli dengan hal ini.
Sejak lahirnya konsep blockchain yaitu database/ledger yang tersebar secara publik dengan sistem proteksi/sekurity yang bagus, dan diImplementasikan dalam bentuk nyata yaitu Bitcoin sebagai digital currency, timbul-lah kesadaran akan konsep identitas yang disimpan dalam database publik akan tetapi aman dari perubahan data dan konten tetap aman dari intipan orang lain karena tersimpan dalam bentuk enkripsi.
Seperti apa sih Desentralise identity itu ? Bagaimana implementasinya ?
Mengelola data 10,000 orang, 100,000 orang, 1 juta orang,10 juta orang adalah tugas yang amat berat, menjaga dari kebocoran data user/pelanggan/orang tersebut memerlukan biaya yang tidak sedikit. Belum lagi memastikan / memverifikasi apakah orang tersebut real orang atau fake ataupun Bot adalah hal yang tidak mudah.
Bayangkanlah sebuah institusi e-commerce,bank,lembaga keuangan , asuransi, leasing atau organisasi apapun yang memerlukan semacam KYC (know your customer) sebagai syarat memastikan bahwa customernya/pengguna jasanya adalah orang yang memiliki kredibilitas baik/real person. Ada 2 pilihan, pertama adalah seperti biasa, memastikan bahwa proses KYC berjalan baik, mengumpulkan data valid tiap customer, meminta identitas KTP/SIM,surat kelakukan baik, Kartu Keluarga, NPWP dan sebagainya. Menyimpan data tersebut secara digital pada beberapa server. Pilihan kedua adalah membangun infrastruktur bersama dengan beberapa pihak, di-mana nantinya data tiap kustomer disimpan pada jaringan blockchain berbentuk ledger, dimana ledger itu adalah data setiap customer. Pihak pemerintah diajak untuk membangun data setiap penduduk serupa KTP yang datanya disimpan dalam jaringan blockhain. User diberikan publik key pada setiap data yang disimpan, dan apabila pihak bank menginginkan / memverifikasi data tersebut,
user dapat memberikan data dengan cara sign in private key untuk pihak bank. Private key ini bukan dalam artian diberikan kepada pihak bank, akan tetapi memberikan data yang diminta dengan cara membuka kombinasi publick key dan private key sehingga data akan terbaca. Gabungan publik key dan private key ini akan membuka data yang diperlukan oleh pihak bank. Beberapa pihak sekolah/kampus juga diajak membangun jaringan blockchain ini, pihak sekolah mendaftarkan setiap lulusannya, mendata tahun lulus, nilai IPK yang diperoleh, jurusan/fakultas dan data lainnya seperti nilai masing-masing mata kuliah. Data ini dimasukkan juga kedalam jaringan blockchain dalam bentuk enkripsi. Untuk membukanya diperlukan publik key dan private key, Dan private key itu akan selalu menjadi milik user/pengguna.
Dengan konsep seperti ini, User/customer/pengguna apapun sebutannya akan selau memiliki kendali penuh atas data yang dimilikinya. Konsep yang amat bagus.
Kita bisa bayangkan apa jadinya di negara ini bila pemerintah seperti catatan kependudukan sipil,imigrasi, kepolisian, pajak dan institusi swasta bersama-sama memiliki jaringan blockchain dalam mendata sekaligus dapat memverifikasi setiap penduduk warga negara indonesia. Akta Lahir , Kartu keluarga, Kartu Tanda Penduduk, Surat ijin mengemudi tersimpan rapi dan aman dalam jaringan publik blockchain, dapat dilihat,digunakan,diverifikasi,dimanfaatkan, dikelola bersama-sama. Suatu penghematan besar-besaran, Verifikasi data yang memerlukan waktu berbulan-bulan akan dapat terselesaikan dalam hitungan detik.
Tapi ,apakah semudah itu?, bagaimana contoh real nya ?mari kita perhatikan demo salah satu solusi yang dikembangkan oleh IBM hyperledger Indy dibawah ini:
https://www.youtube.com/watch?v=llwfb5Ut5sg
1.Desentralize Identity Concept
2.Hyperledger Identity Architecture
3.Demo Use Case
4.How to get involved in hyperledger Indy
Menit ke 3:36 membahas identity model, saat ini yang umum berlaku seperti centralized identity, user daftar disuatu website,
metode pengamanan https,ssl dan TLS.
Menit ke 4:27 masih membahas identity model, federated identity, yang juga masih umum digunakan, menggunakan third party untuk verifikasi identity. menggunakan SAML, Oauth 2.0, OpenID Connect. Kalau kamu mendaftar disuatu layanan baru,
lalu menggunakan login facebook,twitter ataupun google sebagai login-nya, nah seperti inilah contohnya.
Menit ke 5:20 nah here it comes, SSI (Self soverign identity), Identitas yang dapat kamu atur/kendalikan sendiri, tidak dimiliki oleh provider tertentu.
kamu bersama peer(pihak yang membutuhkan data kamu agar dapat diverifikasi) dapat bersama-sama menggunakan jaringan blockchain publik.
Menit ke 6:10 membicarakan decentralized identifiers.
disini membicarakan perlunya keabsahan suatu institusi yang benar-benar sah secara hukum menerbitkan identias buat kamu, misalkan badan pencatatan sipil propinsi DKI kabupaten/kota Jakarta Timur kecamatan durensawit kelurahan pondok bambu.Perlu ada identitas penerbit yang mendapat pengakuan bersama,
bahwa benar badan/institusi inilah yang menerbitkan data untuk kamu. kamu akan mendapatkan DID (Decentralized Identity) untuk tiap jenis data yang diterbitkan.
misalkan data nomor induk kependudukan, nama, tempat lahir, tanggal lahir,status menikah, alamat sekarang, kelurahan, kecamatan, propinsi, golongan darah,agama, umur, pekerjaan, pendidikan terakhir. masing-masing jenis data tersebut akan memiliki DID sendiri. ada konsep verynim dan Contextually unique pseudonym yang diperkenalkan yaitu bila verynim adalah identitas ID yang memiliki dasar hukum seperti Nomor Induk Kependudukkan, pseudonym adalah identitas hasil generate unique dari komputer yang bersifat melindungi identitas pemilik data. suatu cara untuk melindungi privasi anda.
bentuknya seperti ini (lihat menit ke 8:05)
scheme:method:method-specific-identifier
bila anda sedang melamar pekerjaan, dan perusahaan tempat bekerja membutuhkan data anda, anda dapat menyepakati item data mana yang di-inginkan oleh perusahaan, misalkan perusahaan hanya perlu data nama, umur, status menikah,alamat saja, maka anda dapat share DID anda dan private key yang anda miliki berdasarkan tiap item data yang diminta.
menit ke-9:41 verifiable identifier. Saat ini proses memverifikasi data memerlukan waktu,
ketika anda melamar pekerjaan, mengajukan pinjaman uang, anda perlu mencantumkan data tempat bekerka, data almamater, data pajak dan sebagainya.
perlu waktu bagi institusi tersebut melakukan cross-check data. Dengan infrastruktur Desentralized identity blockchain ini, verifikasi dapat dilakukan detik itu juga, anda dapat memberikan data nama , alamat , tanggal lahir ke pihak perusahaan dengan cara memberikan privatekey kepada perusahaan anda tempat melamar pekerjaan, data tersebut diterbitkan secara sah oleh catatan sipil tempat anda tinggal. Ketika anda meminjam uang ke bank,anda memberikan info gaji bulanan anda ke pihak bank tersebut. Bank tidak meragukan jumlah gaji bulanan anda, karena data salary anda secara sah/hukum diterbitkan oleh perusahaan tersebut dimana data penerbit/issuer sudah tercantum pada jaringan blockchain publik bersama. Contoh lain adalah apabila anda ingin membeli rokok/minuman beralkohol yang harus memenuhi syarat hanya boleh dijual untuk pelanggan umur 21 tahun keatas. Anda tidak ingin tanggal bulan tahun kelahiran diketahui oleh petugas mini mart,
ada protokol zero-knowledge dimana anda dapat memberikan info bahwa anda sudah berumur 21 tahun keatas tanpa pihak verifier mengetahui tahun kelahiran anda.
menit ke 18:16. Desentralised key management.
Bagaimana anda berbicara dengan aplikasi dan database pada blockchain ini?, anda memiliki gadget, mobile phone, laptop. hyperledger indi menyediakan client untuk ketiga devices tersebut. Masing-masing devices dapat anda atur sendiri, untuk memberikan pengesahan /sharing private key. Apabila gadget anda dicuri orang
, anda dapat segera mencabut authorisasi dari devices yang hilang tersebut. Bila anda memmbeli gadget baru, anda dapat menambahakn sendiri auhtorisasi untuk gadget baru tersebut.
Menit ke 20:10.Social recovery. masih berhubungan dengan desentralised key management, Social recovery adalah sistem perlindungan dari 5 orang terdekat anda yang dapat membackup anda apabila suatu saat account anda dijebol oleh orang lain. Anda dapat meminta 5 orang rekan terdekat anda untuk mencegah/membatalkan semua request /verifikasi yang sedang terjadi menggunakan akun anda. Bila situasi sudan aman, semua DID dan private key sudah direset kembali,dan siap digunakan kembali,maka anda dapat meminta 5 rekan terdekat anda untuk membantu memulihkan akun anda kembali.
Menit ke 24:29 Three planes of SSI (Self Soverign Identity). Bayangkan sumbu x,y,z dimana sumbu x adalah relationship, sumbu y adalah koleksi atribut data yang anda miliki dan sumbu z adalah devices tempat tersimpannya private key anda. Sumbu X adalah hubungan anda dengan pihak yang memerlukan data anda,
sumbu Y adalah koleksi data yang anda miliki seperti akta lahir, SIM, data kesehatan, data keuangan. Sumbu Z adalah koleksi devices dimana anda memiliki private key yang berbeda antar devices. Dengan adanya 3 sumbu ini, kita dapat melihat bahwa koleksi attribute data anda hanya dapat anda sharing kepada pihak yang memerlukan saja, dan masing-masing pihak tersebut tidak dapat mengintip data anda yang tidak berkepentingan/berhubungan dengan institusi tersebut. Hal ini menghindari resiko data anda diperjualbelikan oleh oknum. Sumbu Z yaitu pengaturan key management antar devices juga melindungi anda apabila suatu waktu salah satu devices anda dicuri atau hilang.
Menit ke 32:11. Arsitektur Hyperledeger Indy.ada 6 komponen pendukung arsitektur hyperledger indy. Paling mendasar adalah Crypto. Diatas crypto ada plenum konsensus dan Indy-SDK. diatas Indy-SDK ada Agent. Diatas plenum consensus ada Node. Diatas Agent ada Identity Extension.
Menit ke 32:55 Crypto. Menggunakan ZKP (Zero knowledge protocol). source code dapat diclone dari sini https://github.com/hyperledger/indy-crypto
Menit ke 33:55 Plenum consensus. Ini adalah bagian dari apps server. berdasarkan pada RBFT (Redundant Byzantine Fault Tolerance ), yaitu mekanisme yang memastikan bahwa tidak ada perbedaan antara masing-masing node/apps/server ketika terjadi urutan pengesahan suatu transaksi/proses penyimpanan data. Dapat mentolerir kegagalan dengan rumus 3F+1, dimana F adalah jumlah nodes/apps/server. bila ada 4 nodes yang error, maka jaringan blockchain dapat tetap berjalan apabila terdapat 13 nodes/apps/server lain yang tetap aktif. ada 1 node yang diangkat menjadi leader dan lainnya menjadi follower. Leader bsaed consensus with redundandy checks. source code dapat dipelajari disni, https://github.com/hyperledger/indy-plenum
menit ke 34:33 Node.Diatas Plenum consensus terdapat node. Node adalah wrap(kulit yang membungkus plenum consensus), disinilah instruksi/algorithm transaksi dieksekusi, mendefinsikan schema transaksi, schema struktur data, mendaftarkan registry tansaksi.
Menit ke 35:18 Indy-SDK. ini adalah bagian client yang menghubungkan ke server/node/apps. Membantu client berhubungan dengan ledger(distributed/database yang menyimpan identittas). Berbentuk Storage Solution/Wallet. Tempat memyimpan public dan private key. Memfasiitas koneksi antara user dengan peer (pihak yang membutuhkan dan memverifikasi data).Source code tersedia di https://github.com/hyperledger/indy-sdk
Menit ke 36:47 Agent. client/Layer untuk membuat fungsi dari indy-sdk berjalan. bisa berupa client apps platform web,ios, android atau apapunyang akan terkoneksi ke layer Indy-SDK.
Menit ke 37:16 identity extension. yaitu komponen pelengkap yang bisa diikutkan pada apps client lain, dimana memerlukan fungsi indy-sdk. Misalkan mobil apps finance yang memerlukan fungsi verifikasi Indy-sdk, modul ini dapat ditempatkan pada apps tersebut khusus untuk memanggil fungsi API yang tersedia pada desentralise blockchain yang difasilitasi oleh indy-SDK.
Menit ke 38:57 dan seterusnya adalah demo. silahkan ditonton dengan santai.