Blokzincir, Veri Mahremiyeti ve ZKP

Blokzincir veri mahremiyeti sağlar mı?

Mehmet Gürevin
Octabase
6 min readAug 19, 2019

--

Aslında devekuşları saklanmak için kafalarını kuma gömmezler. Ancak bu analoji blokzincirdeki veri mahremiyeti problemini açıklamak için oldukça uygun.

Kısaca söylemek gerekirse; hayır, blokzincir veri mahremiyeti sağlamaz. Blokzincirde tutulan veriler için herhangi bir mahremiyet problemi olmadığını düşünen pek çok insanla karşılaşıyorum. Çoğu blog yazısı ve öğretici video, blokzincirdeki verilerin şifrelendiğini söylüyor. Bunun bir yanlış anlaşılma olduğunu düşünüyorum. Zira pek çok popüler blokzincir platformu verileri düz metin olarak, açık bir şekilde kaydeder. Herkes bu verilere erişebilir, görebilir ve analiz edebilir.

Bu yanlış anlaşılma, hash ve açık anahtar kriptografisi adı verilen iki temel kavramdan kaynaklanıyor. Endişe etmeyin, bu yazıda kriptografinin derinliliklerine inmeyeceğiz. Sadece bu iki kavramdan basitçe bahsetmemiz gerekiyor.

Hash’ler:
Kavramsal olarak blokzincir teknolojisinde her transaction bir miktar veriyi temsil eder. Birkaç transaction bir araya gelerek zincirde bir blok oluşturur. Bu bloklar parmak izleri ile birbirlerine bağlanır ve en sonunda tüm yapı bir blokzincir haline gelir. DAG adı verilen benzer başka yapılardan da söz edilebilir, ancak bunlar veri mahremiyeti ile ilgili olmadığı gibi bu yazının konusu da değiller. Blokların parmak izleri hash fonksiyonları ile hesaplanır ve bu fonksiyonlar tek yönlü çalışırlar. Özellikle kriptografik hash fonksiyonlarından çıkan parmak izlerine bakarak ait oldukları içeriğe ulaşamazsınız. Ancak gerçek bir blokzincirde her blok iki temel kısımdan oluşur. Blok içeriği ve bloğun parmak izi bloğun yapısını oluşturur. Blok içerisindeki tüm veri açık bir şekilde parmak izi ile beraber yan yana saklanır ve bu durum herhangi bir mahremiyet sağlamaz. Genel kanının aksine hash’lerin veri şifreleme ya da veri gizleme gibi bir yeteneği yoktur.

Açık anahtar kriptografisi:
Veritabanları ile blokzincir teknolojisi arasındaki en önemli farklardan birisi blokzincirdeki her bir kaydın bir de sahibi olmasıdır. Veri sahipleri, sahipliklerini elektronik imza ile kanıtlar. İmza atmak için bir adet gizli anahtarları ve bu anahtardan oluşturulmuş bir adet de açık anahtarları mevcuttur. Açık anahtarlar gönül rahatlığıyla herkes ile paylaşabilir. Eğer bir noktada verinin sahibi olduğunuzu kanıtlamanız gerekirse özel anahtarınız ile bir imza atarsınız ve diğerleri sizin açık anahtarınıza bakarak sahipliğinize ikna olurlar. Tüm bu süreç veri ve kişi arasındaki sahiplik ilişkisini kanıtlamak içindir. Gördüğünüz üzere şu ana kadar verilerin şifrelenmesinden hiç bahsetmedik, zira bu konu da verilerin şifrelenmesi ya da gizlenmesi ile ilgili değildi.

Sıklıkla, bu iki kavramın verileri şifrelemek ile ilgili olduğu düşünülüyor. Bu nedenle özellikle kriptografi ile ilgilenmeyen insanlar blokzincirde saklanan verilerin bir mahremiyete sahip olduğunu düşünüyorlar.

Bu noktada çok popüler bir kriptoparanın teknolojisinden örnek vermek istiyorum. Blokzincir kelime olarak ilk kez Bitcoin’in teknik dokümanında yer aldı ve Bitcoin merkeziyetsiz blokzincir teknolojisi için harika bir örnek. Eğer bir Bitcoin cüzdanınız varsa bu cüzdan içerisinde çok sayıda hesap adresi üretebilirsiniz. Cüzdan ya da adres oluşturmak için kimseden izin ya da onay almanız gerekmez. Cüzdanınızdaki adreslerden istediğiniz miktarda Bitcoin gönderebilir ve alabilirsiniz. Bunu yapmak için kimsenin sizi yetkilendirmesine gerek yoktur, zira Proof of Work adı verilen fikir birliği protokolü sayesinde ortada yetki dağıtabilecek bir kimse de yoktur.

Bitcoin adresleri bir açık anahtarın hash fonksiyonundan geçirilmesi ile oluşturulurlar ve herhangi birisi bu adrese Bitcoin gönderebilir. Kimse sizin gerçek kimliğiniz ile oluşturduğunuz bu adres arasında bir ilişki kuramaz. Adreslerinize gelen Bitcoin’leri başkalarına gönderebilirsiniz ve yine de sizin gerçek kimliğiniz açığa çıkmaz. Bu noktada sizin mahremiyetinizi sağlayan tek şey hesap adresiniz ile gerçek kimliğiniz arasındaki ilişkinin bilinmiyor olmasıdır. Eğer bir noktada hesap adresinizi beyan etmek durumunda kalırsanız tüm mahremiyeti kaybedersiniz. Örneğin Bitcoin’lerinizi online borsada yerel para birimine çevirmek isterseniz borsalar size kimliğinizi ya da pasaportunuzu sorarlar. Eğer bir kere gerçek kimliğiniz ile hesap adresiniz arasındaki ilişkiyi açık ederseniz bu adrese bağlı tüm işlemler en başına kadar izlenebilir ve ortaya çıkarılabilir. Bu durum maaşınızı Bitcoin olarak almamanız için güzel bir sebep olabilir, zira mal varlığınızın herkes tarafından bilinmesi güzel bir fikir olmayabilir.

Devekuşu analojisi bu noktada anlamlı; anonim olmak, verileriniz için mahremiyet sağlamaz. Bunun farkında olmalısınız.

Peki, kurumsal blokzincir uygulamalarında durum nasıl?
Kurumsal iş uygulamaları için halihazırda kullanılabilecek birkaç blokzincir platformu alternatifi mevcut. Bu tip yapılarda merkeziyetsiz mimarilerden farklı olarak Proof of Work fikir birliği modelini tercih etmeyiz. Bunun yerine genelde PBFT ya da varyasyonlarını kullanırız. Bu tip fikir birliği protokollerini kullanan blokzincir ağlarında hangi katılımcının kim olduğunu kesin olarak biliriz. Bu nedenle böyle yapılar sıklıkla izinli blokzincir mimarisi olarak isimlendirilir. Ağ üzerindeki her bir transaction tüm katılımcılar tarafından görülür ve onaylanır. Bu şekilde toplam ağ güveni elde edilir ve böylece artık tek bir noktada meydana gelebilecek aksaklık tüm sistemi tehlikeye atmaz. Bu özellik blokzincirin kurumsal iş uygulamaları için sunduğu temel değer önermesidir.

Popüler kurumsal blokzincir platformlarından Hyperledger Fabric ilgili partiler arasında veri mahremiyeti elde etmek için channels adını verdiği bir şifreli haberleşme protokolü kullanır. Bu yöntem bir nebze veri mahremiyeti elde etmek için basit ve sıkça başvurulan bir yöntemdir. Örneğin HTTPS bağlantılarını ele alalım; eğer bilgisayarınızda güvenilir otoritelerin kök sertifikası varsa tarayıcınızla Gmail’i açtığınızda sizin dışınızda kimse e-postalarınızı okuyamaz. Zira bilgisayarınız ve Gmail sunucuları arasındaki iletişim şifrelenmiştir. Hyperledger Fabric’de bulunan channels’da bu şekilde çalışır. Örneğin sizinle bir sigorta şirketi arasında blokzincir üzerinde bir işlem gerçekleşeceğini varsayalım. Bu senaryoda bu işlemin finansal tarafı için de bir bankaya ihtiyacımız olsun. Bu durumda sizin, sigorta şirketinin ve bankanın tarafı olduğu bir channel kurmanız gerekir. Böylece bu üç parti arasındaki iletişim şifrelenir ve veri mahremiyeti elde edilir. Güzel bir çözüm gibi görünse de bu yöntem ağ genelinde yapılan fikir birliğini kaybetmenize yol açar. Zira blokzincir teknolojisinin temel değer önermesi olan toplam güven, ancak ağ genelindeki fikir birliği yapılıyorsa mümkün olur. JP Morgan tarafından bir Ethereum özelleştirmesi olarak yayınlanan Quorum isimli bir başka popüler platform da, Hyperledger Fabric benzeri bir mahremiyet sağlama yöntemi izler. Constellation adını verdikleri bir yardımcı araç ile ilgili partiler arasında veri paylaşılmasını sağlamaktadır.

Hem ağ çapında fikir birliği sağlayarak toplam güven elde etmek hem de veri mahremiyeti elde etmek istersek daha gelişmiş sistemlere ihtiyacımız vardır. KVKK gibi pek çok yasal düzenleme, hassas verilerin farklı kurumlar arasında paylaşılmasına izin vermez. Ayrıca pek çok durumda, tüm verilerin herkese açık olması ticaretin doğasına aykırı olacağından tercih edilmez. Aynı zamanda toplam güveni de kaybetmek istemeyiz, çünkü kaybedersek blokzincir üzerinde çalışan iş uygulamalarının geleneksel veritabanı ya da API uygulamalarından anlamlı bir farkı kalmayacaktır.

Gördüğünüz gibi kurumsal blokzincir uygulamaları için ağ çapında fikir birliği ile birlikte sağlanan veri mahremiyeti kritik bir özelliktir. Bu nedenle bizim neredeyse sihirli bir çözüme gereksinim duyarız ve neyse ki elimizde böyle bir teknoloji mevcut; sıfır bilgi ispatları ya da zero-knowledge proofs.

Zero-Knowledge Proofs ya da kısaca ZKP; bir veriye ait hiçbir bilgiyi açığa çıkarmadan, o veriye sahip olduğumuzu kanıtlamaya yaran bir kriptografi protokolüdür.

Bu tanımı ile ZKP ilk bakışta gerçek olamayacak kadar büyüleyici görünebilir, ancak pek çok iş modeli için devrimsel bir teknolojidir. Örneğin devletin gerçekleşen tüm işlemlerden doğru ve adil bir şekilde vergi topladığını hayal edelim. Hem de bu işlemlerin ne olduğunu görmeden, bilmeden. Matematiksel olarak bu durumun kanıtlanabildiği bir dünya düşünelim. Bu yeterli gelmedi ise toplanan vergilerin nereye harcandığını da vatandaşların detayları görmedikleri halde, planlandığı gibi harcandığından emin olabildikleri bir sistem ekleyebilirsiniz üzerine. Tüm bunlar ve çok daha fazlası ZKP teknikleri ile mümkün hale gelebilir.

Blokzincir üzerinde ZKP tekniklerini kullandığımızda ise blokzincirin en büyük problemlerinden birini ortadan kaldırmış oluruz. Ancak bu şekilde mükemmel veri mahremiyetine sahip olduğumuzda, kaçınılmaz olarak bu verilerilerin denetlenebilir olması gereksinimi ortaya çıkar. Zira veri mahremiyeti için tüm bilgiler kapatıldığında -iş modeline de bağlı olarak- bir ya da daha çok kuruluşun bu gizlenmiş bilgiler üzerinde denetleme yapması gerekir. Bu gibi katılımcılara yetkilendirilmiş denetçi adını verelim. Tüm veri, ağda bulunan katılımcılar için tamamen gizli ve onaylanabilir halde iken yetkilendirilmiş denetçiler verileri açık bir şekilde görebilmelidirler.

Blokzincir tabanlı kurumsal iş uygulamaları geliştirirken, güçlü fikir birliği gereksinimi dışında, ZKP temelli ileri seviye veri mahremiyeti ve denetlenebilirlik özelliği de ön planda tutulmalıdır.

Altın reçete: Blokzincir + ZKP + Denetlenebilirlik

Octabase olarak son üç yıldır ZKP ve blokzincir teknolojileri odağında AR-GE çalışmaları yapmakta ve bunların sonucu olarak ürün ve servisler sunmaktayız. Octa Privacy Framework adını verdiğimiz bir ZKP çözümü geliştirdik. Octa Privacy Framework ile Hyperledger Fabric ya da Ethereum gibi bir platform üzerinde geliştirdiğiniz uygulamanızı, veri mahremiyeti ve denetim özellikleri ile yasal düzenlemelere uygun ve production’a hazır hale getirebilirsiniz. Aynı zamanda Octa Blockchain Platform adını verdiğimiz ürünümüz ile veri mahremiyeti ve denetim yeteneklerini içinde barındıran bir uçtan uca çözüme sahip olabilirsiniz. Octa Blockchain’in benzersiz yeteneklerinin iş süreçlerine dahil edilmesi için Takasbank ile 2018 yılında başlattığımız iş ortaklığımız gelişerek devam etmekte.

Bu makale ya da ürün ve servislerimiz ile ilgili bize ulaşmanızdan memnuniyet duyarız. Geri bildirimleriniz bizim için çok değerli.

--

--