Parolasız BlockChain Üyelik Sistemi


Merhaba takipçilerim,

Trinsic ile connectionless VC kullanarak parolasız üyelik geliştirebilirsiniz. Ben bu akşam NodeJS Express örnek uygulamayı kullanarak enGrehber projesi için parolasız üyelik sistemini test ettim.

Trinsic’in ücretsiz sürümünde ayda 50 credential takasına ücretsiz izin veriyor. O yüzden Trinsic kullanacaksanız maliyetleri düşürmek için eski parolalı üyelik sistemi ile yeni parolasız üyelik sisteminin ikisini birden kullanıcılara sağlamanızı tavsiye ederim.

Ayrıca görme engelliler henüz bu tür QR kodu taratarak oturum açma işlevine hazırlıklı değiller. Engrehber projesinde ilk defa görme engelliler için bu QR kodlu üyelik sistemini test etmiş olacağız.

BlockChain üyelik sistemlerinde blockchain networkü kurmak için genellikle HyperLedger Indy yazılımı tercih edilir. HyperLedger Indy’yi birden fazla sunucuya yükleyerek bir blockchain ağı kurarsınız ve bu blockchain üzerinde Credential şablonlarını saklarsınız.

Bir web sitesi ve bir adet üyelik sistemi geliştirmek için birden fazla sunucu üzerine Indy networkü kurmayı istemeyiz, bunun yerine profesyonel Indy networkleri ile çalışmayı tercih ederiz. Ben Indicio networkünü tercih ediyorum. Indicio test, demo ve production network hizmetleri sağlıyor. Trinsic Indicio test networkünü desteklemektedir.

Production sistemlerinde hem Trinsic için ödeme yapmalısınız hem de Indicio için ödeme yapmalısınız. Biz bu makalede ücretsiz olan Indicio test networkünü kullanacağız ve Trinsic’in ücretsiz sürümünü kullanacağız.

  1. Öncelikle Trinsic Studio‘da bir hesap açın.
  2. Daha sonra Trinsic Studio’da bir organizasyon oluşturun. Organizasyon oluştururken Indicio Test Network’ünü seçin.
  3. Bundan sonra Credential Template oluşturacağız. Yani üye olma formumuzdaki alanları tanımlayacağız. Ben iki alan tanımladım Full Name ve Email.
  4. Son olarak Verification Template oluşturacağız. Ve bunu oluştururken Credential Template’imizin adını ve alanlarını gireceğiz, yani Full Name ve Email.

Şimdi zor kısmı başlıyor:

https://github.com/trinsic-id/verifier-reference-app adresinde örnek bir uygulama var. Ama uygulamanın modifiye edilmesi gerekiyor. Bu uygulama sanal Pasaport uygulaması. Ben bu uygulamayı alanları değiştirerek üye olma ve oturum açma uygulamasına dönüştürdüm.

Sonuçta şöyle bir ekran görüntüsü elde ettim:

Modifiye edilmiş Verifier Reference App ekran görüntüsü

Sol taraftaki bloktan üye olabiliyorsunuz, üye olmak için alanları dolduruyorsunuz ve Issue Member butonuna tıkladığınızda girmiş olduğunuz üyelik formu Trinsic Studio’ya ve mobil Trinsic cüzdanına transfer ediliyor.

Cüzdanınızda girmiş olduğunuz Full Name ve Email bilgilerini görebiliyorsunuz.

Daha sonra login olmak istediğinizde Verify Member butonuna tıklıyor ve açılan QR Kod’u tarıyorsunuz ve cüzdanınızdaki üyelik bilgilerinizi web sitesiyle paylaşıyorsunuz.

DİKKAT:

  1. Üye olurken üyelik bilgilerini hiçbir şekilde veritabanıma kaydetmiyorum. Hacker’lara karşı güvendeyim. Üyelik bilgilerini Trinsic’e gönderiyorum.
  2. Oturum açıldığında üyelik bilgilerini Session’a kaydedebilirim ve oturum kapandığında session bir süre sonra otomatik silinir. Yani üyelik bilgilerini veritabanıma kaydetmek zorunda değilim.
  3. Dolayısıyla kişisel verileri kalıcı olarak depolamak zorunda değilim.
  4. Üye olma formunda kullanıcıya Parola ve Parola Doğrula gibi alanlar getirmiyorum, çünkü BlockChain üyelik sistemi Parolasız Üyelik Sistemi’dir.
  5. Bu sistem her türlü dijital kanıtlanabilir belge için kullanılabilir. Mesela sanal pasaport, sanal diploma, sanal kimlik kartı gibi.
  6. Üye olma formundaki e-posta ve telefon numarası gibi alanları doğrulama işlemi halen ayrıca yapılması gerekmektedir (biz burda yapmadık).

Sorularınız için yorum yazabilirsiniz.

Mutlu kodlamalar 🙂

Reklam

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s