Blockchain'de Gizliliğin Yeni Standartı - Tam Homomorfik Şifreleme (Fully Homomorphic Encryption)- 1

6dvW...eNZA
23 Apr 2024
73



Merhaba dostlar, Konu önüme geldiğinde ilk etapta kelimeyi bile doğru dürüst söyleyemediğimi itiraf etmeliyim. Biliyorum ki, çoğunuzda benim gibi ne merem bişiymiş bu yaa, " Homomorfik" de neyin nesiymiş diye hayıflandığınızı duyar gibiyim şimdiden...

Herneyse, bugün sizlere, konuya vakıf olduktan sonra en azından gelecek 10 yıl için blockchain teknolojinde akıllara durgunluk verecek çözümlemelerin baş mimarlarından biri olabilecek müthiş bir şifreleme çözümlemesinden bahsedeceğim. Konuyu derinlemesine araştırıp kurcaladıkça gelecekte biz kriptoseverleri nelerin beklediğini öğrenmek bana müthiş bir haz verdi.

Dürüst olmak gerekirse, belki de belli bir kısmınız bu yazı dizisini okuduktan sonra herşeyi tam olarak algılayamayacak ama istedim ki, en azından bizi ilerde ne gibi serüvenlerin beklediğini önden gösterebilmek, bir farkındalık yaratmak. Çünkü konu gerçekten biraz ağır kaçabilir, çok teknik konular olabilir pek çoğunuz için, ama sonuçta bu bir teknolojik gelişimi irdeleyeceğimiz bir kripto şifreleme çözümü olduğundan başka türlüsü de olamazdı, sanıyorum. Herşeye rağmen, yazının sonunda paylaşacağım kaynaklara kolayca ulaşıp merak edenleriniz benim gibi daha da derinlere dalacak ve konuyu daha çok pekiştireceklerdir diye tahmin ediyorum.

Evet dostlar, lamı cimiyi bırakıp, mevzuya dalalım artık, ha ne dersiniz ? Konumuz, Blockchan teknolojisinde gizliliğin yeni standardı; Tam Homomorfik Şifreleme.

Şimdi gelin hemen bu " Homomorfik Şifreleme " nedir, onu sizlere tanımlamaya çalışayım. Ama önce şu " Homomorfik " kelimesini bir izah edeyim. " Homomorfik " kelimesinin Türkçe karşılığını " benzer yapılı, aynı biçimli olan " diye çevirebiliriz, sanırım. Matematikteki "Homomorfizma" tabirinde de geçer. Homomorfizma, matematikte gruplar arasında yapılmış olan özel bir eşleşmedir. Bu eşleşme, iki cebirsel sistem arasındaki üyelerin (elemanların) benzer bir şekilde karşılıklı olarak ilişkilendirilmesidir. Ama biz, cebirdeki mevzusunu şimdilik bir tarafa bırakalım, kafamız karişmasın. :)

Homomorfik şifreleme, önce şifresini çözmek zorunda kalmadan şifrelenmiş veriler üzerinde hesaplamaların yapılmasına izin veren bir şifreleme biçimidir. Wikipedia (İngilizce)

Peki bu şifreleme biçimini kim icat etti ? Buna gerek var mıyıdı gerçekten ? Şimdi bu sorularımızın cevaplarını arayalım.

Fully Homomorphic Encryption - Tam Homomorfik Şifreleme konusunu daha iyi anlamak adına, bu olayın kaynağı olan insani bir ihtiyacı irdelemeliyiz öncelikle. Veri gizliliği.

Veri gizliliğimizi korumak için daha iyi sistemlere ihtiyacımız olduğunu söylemek yeni bir şey değil; bu hikayeyi yüzlerce kez duyduk. Günümüzde, veri gizliliği sorunu, internetin başlangıcından bu yana olduğu gibi yaygındır. Sadece Yahoo!, Equifax ve Marriott'taki veri ihlalleri, yaklaşık olarak 1 milyar dolarlık yasal anlaşma ücretine neden oldu. IBM'in son raporuna göre, 2023 yılında dünya genelinde bir veri ihlalinin ortalama maliyeti 4.45 milyon dolara ulaştı ve bu, üç yıl içinde %15'lik bir artışı temsil ediyor.

Özellikle Web3'te, Sıfır Bilgi Kanıtları (Zero-Knowledge Proofs - ZKPs) ve Güvenilir Yürütme Ortamları (Trusted Execution Environments - TEEs) gibi teknolojiler, kullanıcı verilerini korumak için kullanılmaktadır. Ancak son zamanlarda, Tamamen Homomorfik Şifreleme (FHE), birçok bu gizlilik odaklı araca popüler bir alternatif (ve tamamlayıcı) olarak ortaya çıktı.

FHE, verinin şifreli kalırken hesaplamaların yapılmasını sağlayan bir şifreleme şeklidir. 2023 yılında altyapı tabanlı projeler, ortalama aylık finansman toplamında blok zinciri endüstrisinde lider durumda, 207 milyon dolar ile. Bu nedenle, yeni FHE projelerinin bu kategoriye iyi uyacağını ve 2024'e kadar altyapı finansmanını genişleteceğini öngörüyorum.


Zama


Zama, Web2 ve Web3 uygulamaları için açık kaynaklı FHE araçlarına öncülük eden, uzaktan çalışma dostu, Paris merkezli bir şirkettir. Çeşitli kullanım durumlarında FHE'yi geliştiricilerin blok zinciri ve yapay zeka gibi alanlarda kullanmalarını kolaylaştıran birkaç açık kaynaklı ürün geliştirmişlerdir. Zama, bugüne kadar 50 milyon dolar toplayarak üç başarılı fon toplama turunu tamamlamıştır. En son tur, Protocol Labs liderliğinde Şubat 2022'de gerçekleşen 42 milyon dolarlık bir Seri A fonlama turuydu.

FHE'nin gücünü ilk elden göstermek için, Zama, kullanıcı dostu FHE programları oluşturmuştur. İlk program, duygu analizi aracıdır. Kısa bir metni girdi olarak alır, FHE kullanarak şifreler, şifreli mesajı analiz eder ve ardından metnin duygusunu - mesajın ne kadar olumlu veya olumsuz olduğunu belirterek size bilgi verir.

Geliştirdikleri bir diğer program, bir görüntü filtreleme aracıdır. Görüntüyü girdi olarak alır, FHE kullanarak şifreler, şifreli görüntüye bir filtre uygular ve ardından filtrelenmiş görüntüyü çıktı olarak sağlar.

Son programları ise bir sağlık tahmin aracıdır: kullanıcılar belirtilerini girer, bunlar daha sonra FHE kullanılarak şifrelenir. Program, bu şifreli belirtileri analiz eder ve size en muhtemel sağlık sorunlarını bildirir.

Web3'te potansiyel kullanım alanlarını inceleyerek ve Zama'nın dört ana açık kaynak ürünü olan TFHE-rs, Concrete, Concrete ML ve fhEVM'e daha derinlemesine bir bakış için sizlere önce bir kahve almanızı öneririm. Konu burdan sonra daha teknik terimler üzerinden ilerleyecek, hazır olun...ama korkmayın, anlatacağım... :)

Zama'nın dört ana ürün teklifi:

  • TFHE-rs
  • Concrete
  • Concrete ML
  • fhEVM


TFHE-rs

Zama'nın ilk açık kaynaklı aracı olan TFHE-rs, "Torüs üzerinde Hızlı Tamamen Homomorfik Şifreleme" anlamına gelen "Fast Fully Homomorphic Encryption over the Torus using Rust" ifadesinin kısaltmasıdır. Birlikte bunu inceleyelim. Geliştiricilerin FHE'yi uygulamak için çeşitli şemaları vardır, bu şemalar, üzerine dayandıkları matematiksel prensipler ve performans hızları gibi açılardan farklılık gösterebilir. FHE'nin belirli bir versiyonu, "torüs" üzerinde işlem yapar ve "hızlı" olarak kabul edilir. Bir torüs, basitçe bir donut'tur. Resmi olarak, bir donut'u andıran geometrik şekil için matematiksel terimdir. TFHE-rs, şifrelemesi için torilerle (toruslar için çoğul) ilişkilendirilen matematiksel yapıları ve formülleri kullanır. İlginç bir şekilde, torileri kullanarak sayıları döngüsel olarak temsil etmek, FHE şemalarının performans hızını artırabilir. Bu nedenle, "Torüs üzerinde Hızlı Tamamen Evrişimli Şifreleme" olarak adlandırılır.

TFHE-rs, akronimindeki "-rs" ekiyle Rust programlama dilinde oluşturulmuştur. Bu, Rust kütüphaneleri için tipik bir uzantıdır, favori memleriniz gibi, resim dosyaları için ".jpeg" kullanılması gibidir. Zama'nın TFHE-rs kütüphanesinin avantajlarından biri, çeşitli özellikler sunmasıdır. Bunlar şunları içerir:

Rust ve C API : Kütüphane, Rust ve C programlama dilleriyle uyumlu bir arayüz sağlar. Bu, geliştiriciler için FHE'yi daha erişilebilir ve daha esnek hale getirir.

İstemci tarafı WebAssembly API'si : Bu özellik, geliştiricilerin JavaScript dilleri dışındaki diller için tarayıcıda kodu doğrudan çalıştırmasına olanak tanır ve neredeyse yerel ortamlarda çalıştırıldığında olduğu kadar hızlı sonuçlar elde edilir. Bu, geliştiricilerin TFHE-rs'i web uygulamaları için kullanmasına olanak tanıyan yararlı bir API'dir.

TFHE-rs'nin temelde, adını duyduğunuzda hemen aklınıza gelebilecek olan kuantum bilgisayarlarına karşı dirençli olmasının nedeni, güvenliğinin "Öğrenme ile Hatalar" olarak adlandırılan bir kriptografik soruna dayanmasıdır. Bu matematiksel zorluğun esas nedeni, bir dizi lineer denklem verildiğinde, bu denklemlerin hatalar içeren sonuçlar üretecek şekilde tasarlanmış olmasıdır. Bu nedenle, gerçek çözümleri tanımlamak zor olur ve kriptografinin güvenliğini sağlar.

Basit bir benzetme şöyle olabilir: Bir spagetti yemeğinin tadına bakıp içindeki malzemeleri ve miktarlarını sadece tadından çıkarabilmek gibi bir durumu düşünün. Üstüne üstlük, her bir çatalı döndürdüğünüzde, tıpkı biraz tuz veya şeker ekliyormuşum gibi, her ısırığınıza biraz tuz veya şeker ekliyorum. Bu benzetmede denklemler, malzemeleri; hata, beklenmedik tuz veya şeker; LWE problemi, doğru tarifi tahmin etmeye benzer. Güvenlik için, LWE, şifreleme sırasında mesajın üzerine rastgele hatalar veya gürültü eklenmesini gerektirir. Ancak, daha fazla hesaplama yapıldıkça, her hesaplama adımında fazladan gürültü veya hatalar birikir.

Bazı hesaplama adımları diğerlerinden daha fazla gürültü üretebilir. Örneğin, şifreli verilerin çarpılması neredeyse her hesaplama adımında gürültünün hemen hemen üssel bir artışına neden olurken, şifreli verilerin eklenmesi neredeyse doğrusal bir artışa neden olur.

Kabul edilebilir bir gürültü seviyesini korumak için, başarılı FHE uygulaması için TFHE-rs, "Programlanabilir Önyükleme" adı verilen bir teknik kullanır.

Bu yöntem, gürültüyü yenilemek ve azaltmak için hesaplama gücünü harcar. Bu işlemi, eski bir radyoda müzik dinlemeye benzetebilirsiniz; zamanla statik birikir ve ses giderek daha az netleşir. Bu benzetmede, şifreli veriler müziği; hata/gürültü, statik; önyükleme, radyoyu yeniden başlatmak gibi düşünebilirsiniz.

Programlanabilir Önyükleme'nin bazı sınırlamaları vardır : Önemli hesaplama gücü gerektirir. Uygulanması, işlem sırasındaki hesaplama türüne bağlı olarak duruma göre özelleştirilmelidir. Uygulama hızını düşürür, çünkü uygulanması zaman gerektirir.

Zama, Programlanabilir Önyükleme'nin verimliliğini artırmak için "Paralelizm" kullanır. Bu strateji, işlemi tümüyle aynı anda çalıştırmak yerine, aynı anda birden fazla hesaplama yürüterek, verilerin bozulmasını önler. Bu uygulama, gelişmiş donanıma ve yazılıma sahip bilgisayarlar gerektirir. Neyse ki, Microsoft ve Intel gibi şirketler, DPRIVE programının bir parçası olarak bu yetenekleri geliştirmeye yıllarını adamışlardır.

TFHE-rs kullanımı pratikte bir kullanıcı tarafından iki anahtar oluşturmayı içerir: istemci ve sunucu anahtarları. İstemci anahtarı özel ve kullanıcı tarafından (siz) verilerini şifrelemek için kullanılır. Sunucu anahtarı ise genel olarak kullanılan bir anahtar olup, içeriğini açığa çıkarmadan şifrelenmiş veriler üzerinde çalışmanıza izin verir. Bu şifrelenmiş veriler üzerinde işlemleri tamamladıktan sonra, şifrelenmiş sonuçlar üretilir, ki bunları sadece sizin istemci anahtarınızla çözebilirsiniz.

Concrete

Zama tarafından geliştirilen diğer bir temel araç, Concrete'dir. Bu, geliştiriciler için FHE programları oluşturmanın zorlu sürecini basitleştiren açık kaynaklı bir çerçevedir. Concrete, bu çerçevenin bir parçası olarak bir TFHE (Torus Üzerinde Hızlı Tam Homomorfik Şifreleme) derleyicisi içerir. Bu derleyici, düzenli programlama kodunu, bir bilgisayarın FHE kullanarak yürütebileceği eylemlere çevirir. Bu, geliştiricilerin, programlarını tam homomorfik olarak şifrelemek için sadece küçük ayarlamalar yaparak kod yazmalarını sağlar. Daha önce tartışıldığı gibi, FHE ile şifreli veriler üzerinde hesaplamalar yapmak önemli miktarda gürültüye ve hatalara neden olabilir. Concrete'nin varsayılan hata olasılığı dikkate değer derecede düşüktür ve her 100.000 çalışmadan sadece birinde hatalı bir çıktı üretir.

Geliştiriciler, bu hata olasılığı parametrelerini değiştirme esnekliğine sahiptir. Ancak, hata olasılığını bu varsayılan ayarın altına düşürmek, daha fazla hesaplama kaynağı gerektirir ve performans hızını önemli ölçüde azaltır. Tersine, hata olasılığını artırmak performansı artırabilir. Geliştiricilerin, daha büyük verimlilik için hesaplamaları optimize etmek için kullanabilecekleri çeşitli seçenekler vardır:

  • Hassasiyeti azaltma : Programdaki ve verilerdeki sayıları yuvarlama işlemini içerir.
  • Programlanabilir Önyükleme'yi azaltma: Programlanabilir Önyükleme'nin doğruluğu artırmak için değerli olmasına rağmen, optimal verimlilik, mümkün olduğunca nadir olarak kullanıldığında sağlanabilir.
  • Paralelleştirme artırma: Bu strateji, programı daha küçük parçalara bölmeyi ve bunları eşzamanlı olarak işlemeyi içerir, tüm programı tek bir seferde yürütmek yerine.


Concrete ML

Zama'nın üçüncü temel FHE aracı olan Concrete ML, açık kaynaklı makine öğrenimi çıkarım çerçevesi, Concrete üzerine inşa edilmiştir ve AI ve FHE'yi birleştirir. Concrete ML'nin değeri, geleneksel veri bilimcilerine ve AI mühendislerine kriptografi bilgisi olmadan FHE'yi makine öğrenimi modellerine entegre etme yeteneği sağlamasıdır. Bu geliştiriciler, genellikle kullandıkları araçları kullanmaya devam edebilir, çünkü bunlar Zama'nın açık kaynaklı çerçevesiyle entegre ederler.

Bir standart makine öğrenimi modelini şifreli veriler üzerinde çıkarımlar yapabilen bir modele dönüştürmek için Concrete ML'yi kullanmanın yüksek seviye bir özeti şu şekildedir:

  • Şifrelenmemiş Verilerle Modeli Eğitin : Modeli, geleneksel makine öğrenimi modelleriyle olduğu gibi şifrelenmemiş verilerle eğitin.
  • Modelin Quantization (Sayısallaştırma) işlemi: Concrete ML aracılığıyla, bir sayısallaştırma şeması uygulayın. Bu işlem, Concrete ML şu anda yalnızca tamsayılarla çalıştığı için ondalık ve virgüllü değerleri tamsayılara dönüştürmek içindir.
  • FHE'ye Derleme: Sayısallaştırmadan sonra, Zama'nın derleyicisi standart program kodunu şifreli verileri yorumlayabilen bir haline dönüştürür, böylece FHE uyumluluğu sağlanır.


Zama, makine öğrenimi için özel olarak tasarlanmış FHE araçları yaratma konusunda dikkate değer adımlar atmıştır. Ancak, belirli kısıtlamalar mevcuttur. Şu anda Concrete ML'nin desteklediği tek şey FHE için çıkarımdır. FHE'de birçok ilerleme olmasına rağmen, şifreli veriler üzerinde makine öğrenimi modellerini eğitebilme konusunda hala biraz mesafe alınması gerekmektedir.

Başka bir kısıtlama, sayısallaştırma şeması gerekliliğidir. Concrete ML şu anda yalnızca 16 bit tamsayılarla çalışır ve ondalık sayıları desteklemez. Bu, birçok modelin, özellikle karmaşık derin öğrenme modellerinin, genellikle ondalık hassasiyete dayanması nedeniyle bir zorluk oluşturur. Bu hassas sayılar, tamsayılara dönüştürülmeli ve bunlar tamsayılara dönüştürüldüğünde, ayrıntı kaybına ve model performansının kötüleşmesine neden olabilir.

Concrete ML, geliştiricilerin sıfırdan sayısallaştırma işlemini başlatma görevinden kurtulduğu için yerleşik sayısallaştırma algoritmaları ile birlikte gelir. Ancak, geliştiricilere kendi sayısallaştırma algoritmalarını oluşturma imkanı da verir, böylece özellikleri ayarlayabilir ve ayrıntı kaybını minimize etmeye ve performansı optimize etmeye çalışabilirler.

Bu kısıtlamalara rağmen, her şey karanlık ve kasvetli değil. Mevcut halinde bile, Concrete ML, çeşitli heyecan verici makine öğrenimi demo sunumlarını sergilemiştir. Bunlar, şifreli görüntü filtreleme, kredi puanlama, bir kullanıcı ipucuna dayalı gizliliği koruyan metin üretimi ve kısa metinlerden duygu durumunu belirleme programını içerir.

Evet dostlar, buraya kadar sıkılmadan gelebildiyseniz, artık bir nefes almanın vakti gelmiştir demektir. Bundan sonrasına geçmeden önce buraya kadar anlattıklarımı iyice anlayıp özümsemeniz için bugünlük burda bırakalım diyorum. Yarın tam teşekküllü Homomorfik şifreleme konusuna tamamiyle dalarız artık.

Şimdilik kalın sağlıcakla, yarın görüşmek üzere,

Write & Read to Earn with BULB

Learn More

Enjoy this blog? Subscribe to Ediku

1 Comment

B
No comments yet.
Most relevant comments are displayed, so some may have been filtered out.