Dağıtık Proxy Düğümlerinde Gizlilik Odaklı Hesaplama | dVPN
TL;DR
Merkezi VPN'lerden Dağıtık Proxy Düğümlerine Evrim
İnternet sitelerine "Kayıt Tutmuyoruz" (No-Logs) ibaresi koydular diye tüm dijital hayatımızı neden hâlâ tek bir şirkete emanet ediyoruz, hiç düşündünüz mü? Dürüst olmak gerekirse bu, evinizin anahtarlarını bir yabancıya verip, "söz verdi" diye çekmecelerinizi karıştırmayacağını ummaktan pek de farklı değil.
Geleneksel VPN'ler yıllardır vazgeçilmezimiz oldu ancak merkezi yapıları gereği temelden kusurlular. (Merkeziyetsiz VPN'ler: İnternet Gizliliğinde Yeni Bir Dönem) Artık çok daha dirençli bir yapıya, yani DePIN (Merkeziyetsiz Fiziksel Altyapı Ağları) ve dağıtık proxy düğümlerine (node) geçiş yapıyoruz. Bu sistem, ağın Virginia'daki devasa bir sunucu çiftliği yerine sıradan insanlar tarafından desteklendiği, bir nevi "bant genişliğinin Airbnb'si" modelidir.
Merkezi VPN'lerin en büyük sorunu, tek bir hata noktasının (single point of failure) olmasıdır. Eğer bir sağlayıcının sunucusu bilgisayar korsanları tarafından ele geçirilirse veya bir hükümetten mahkeme celbi gelirse, verileriniz ya da en azından bağlantı meta verileriniz risk altına girer. (Federal düzenlemeler FBI veya diğer devlet kurumlarının verilerimi talep etmesine izin veriyor mu?) Kayıt tutmadıklarını iddia etseler bile, donanım ve yazılım yığını tamamen onlara ait olduğu için kayıt tutma kapasiteleri her zaman mevcuttur.
- Doğrulanabilirlik İmkansızdır: Bilgisayarınızın başından bir şirketin "kayıt tutmama" politikasını teknik olarak doğrulayamazsınız. Sadece beyanlarına güvenmek zorundasınız ki bu durum, açık kaynak güvenliğinin "güvenme, doğrula" (don't trust, verify) ilkesine tamamen aykırıdır.
- Bant Genişliği Darboğazları: Standart sunucu çiftliklerinin sabit limitleri vardır. Herkes aynı anda bir yayını izlemek için "US-East" düğümüne yüklendiğinde, performansın düşmesi kaçınılmazdır.
- Gizlilik Tiyatrosu: Giriş ve çıkış düğümlerini tek bir şirketin kontrol etmesi, istedikleri takdirde trafik analizi yapabilecekleri anlamına gelir.
İşte tam bu noktada, ileri düzey kullanıcılar için işler ilginçleşiyor. Kurumsal veri merkezleri yerine artık Token Teşvikli Ağlar (Token Incentivized Networks) dönemine giriyoruz. Bu değişim, herkesin kullanılmayan bant genişliğini paylaşarak kripto ödülleri kazanmasına ve devasa, küresel bir dağıtık bant genişliği havuzu oluşturmasına olanak tanıyor.
USENIX'in P4P çerçeve makalesine göre, büyük ölçekli ve gizliliği koruyan dağıtık hesaplama yöntemleri nihayet uygulanabilir hale geliyor. Bu sadece teoriden ibaret değil; maliyetleri düşük tutarken hiçbir düğümün tüm sürece hakim olmamasını sağlayan, küçük alanlar (32 veya 64 bit) üzerinde doğrulanabilir gizli paylaşım (VSS) protokolleri kullanan sistemler görüyoruz.
Bir DePIN ekosisteminde sadece tüketici değil, aynı zamanda bir sağlayıcı olabilirsiniz. Bant genişliği madenciliği (bandwidth mining) yaparak —belki bir Raspberry Pi veya güvenliği artırılmış bir Linux makinesi üzerinden— bir düğüm çalıştırabilir ve ağın dayanıklılığına katkıda bulunabilirsiniz.
- Sansüre Karşı Direnç: Düğümler bireyler tarafından konut IP'leri üzerinden barındırıldığından, bir VPN sağlayıcısının bilinen IP aralıklarını engellemekle kıyaslandığında, güvenlik duvarlarının tüm ağı engellemesi neredeyse imkansızdır.
- Teşvik Uyumu: Tokenlar, düğüm operatörlerinin çevrimiçi kalmasını ve yüksek kaliteli hizmet sunmasını sağlar. Aktif kalırlarsa ödeme alırlar; hatalı veri sağlarlarsa kazançtan mahrum kalırlar.
- Gizliliği Koruyan Hesaplama: PlatON teknik incelemesinde ve LatticeX Vakfı belgelerinde tartışıldığı gibi, kullanıcı kimliklerini ifşa etmeden işlemleri ve yönlendirmeyi yönetmek için zk-SNARKs ve güvenli çok taraflı hesaplama (MPC) entegrasyonlarını görüyoruz.
Bu, eski yöntemlere kıyasla devasa bir sıçrama. Ancak bu dağıtık sistemlere doğru ilerlerken yeni bir sorun ortaya çıkıyor: Saklamaya çalıştığımız verilerin kendisini sızdırmadan, bu düğümler arasında hesaplama işlemlerini gerçekten nasıl gerçekleştireceğiz?
Teknik Temel: Gizliliği Koruyan Hesaplama (Privacy-Preserving Computation) Nedir?
Eğer trafiğinizin gizli kalması için "kayıt tutmama" (no-logs) politikasının yeterli olduğunu düşünüyorsanız, aslında şu an muhtemelen posta kutusunda mahkeme celbi bekleyen bir şirketin verdiği söze güveniyorsunuz demektir. DePIN ve dağıtık proxy düğümleri (node) dünyasında biz sözlere değil, matematiğe güveniriz.
Herhangi bir proxy servisinin —merkeziyetsiz olsa bile— temel sorunu, tünelin sonundaki düğümün teknik olarak nereye gittiğinizi görebilmesidir. Bunu çözmek için Güvenli Çok Taraflı Hesaplama (Secure Multi-Party Computation - MPC) kullanıyoruz. Bu yöntem, bir grup düğümün, verinin aslına erişmeden bir sonucu (bir paketi yönlendirmek veya bir token'ı doğrulamak gibi) birlikte hesaplamasını sağlar.
Şöyle düşünün: Üç arkadaşınızın maaş ortalamasını, kimse gerçek maaşını açıklamadan hesaplamak istiyorsunuz. Maaşınızı üç rastgele "paya" bölüyor ve her bir arkadaşınıza birer pay veriyorsunuz. Onlar da aynısını yapıyor; herkes elindeki payları topluyor ve sonra bu toplamları bir araya getiriyorsunuz. Sonuçta ortalamayı bulmuş oluyorsunuz ama kimse diğerinin ne kadar kazandığını öğrenemiyor.
Sensors dergisinde yayımlanan 2023 tarihli bir çalışma, üretici-tüketici (prosumer) gruplandırmasında MPC kullanmanın, trafik profillerini tamamen gizlerken zincir üstü (on-chain) işlemleri 3 kat azaltabildiğini gösterdi. Bu, ölçeklenebilirlik sorunu için devrim niteliğinde; eğer düğümler küçük gruplar halinde yerel doğrulama yapabiliyorsa, her bir paket için ana blok zincirini meşgul etmelerine gerek kalmaz.
Veriyi paylara böldük, peki düğümlerin hile yapmadığından nasıl emin olacağız? İşte burada Sıfır Bilgi Kanıtları (Zero-Knowledge Proofs - ZKP), özellikle de zk-SNARKs devreye giriyor. Bir ZKP, bir düğümün işlediği trafiğin tek bir baytını bile ifşa etmeden, işlemi doğru yaptığını kanıtlamasına olanak tanır.
PlatON teknik dokümanına (whitepaper) göre, bu sistemler genellikle Poseidon veya Rescue gibi "zk-dostu" hash fonksiyonlarını kullanır. Bunlar standart SHA-256'dan farklıdır; aritmetik devreler içinde verimli çalışacak şekilde tasarlanmışlardır. ZKP hesaplamalarını gerçek zamanlı ağ trafiği için yeterince hızlı kılan da tam olarak budur.
Eğer bu yapıyı uygulamak isteyen bir geliştiriciyseniz, muhtemelen P4P çerçevesi (framework) gibi bir çözümle karşılaşacaksınız. Bu sistem, dürüstlüğü korumak için Doğrulanabilir Sır Paylaşımı (Verifiable Secret Sharing - VSS) kullanır. Aşağıda, düğümler arasındaki bant genişliği kullanımının toplamını gizlilikten ödün vermeden terminal üzerinden nasıl yönetebileceğinize dair bir örnek yer almaktadır:
# İlk olarak, bir bant genişliği değeri (örneğin 100MB) için şifreli paylar oluşturun
$ p4p-cli create-share --value 100 --nodes 3
Oluşturulan Paylar:
Pay 1: 8f3a... (Düğüm A'ya gönderildi)
Pay 2: 2d91... (Düğüm B'ya gönderildi)
Pay 3: 5c0e... (Düğüm C'ye gönderildi)
# Daha sonra ağ, bireysel oturumları görmeden toplam kullanımı doğrulamak için bu payları birleştirir
$ p4p-cli combine-shares --input ./shares_received.json
Sonuç: 100
Doğrulama: BAŞARILI (Kanıt devreyle eşleşiyor)
Açıkçası, "bize güvenin" yaklaşımından "matematiğe güvenin" modeline geçiş, gerçekten gizli bir internete ulaşmanın tek yoludur. Ancak kusursuz hesaplama yeteneğine sahip olsak bile, düğümler ağın durumu üzerinde fikir birliğine (consensus) varamazsa, sistemin geri kalanı işlevini yitirir.
Tokenlaştırılmış Bant Genişliği ve P2P Ekonomisi
İnternet servis sağlayıcınızın ne zaman 4K video izlediğinizi anında fark etmesine rağmen, neden konu gecikme (lag) sorunlarını çözmeye geldiğinde ortadan kaybolduğunu hiç merak ettiniz mi? Bunun sebebi, mevcut sistemde sizin "ürün" olarak görülmenizdir; bant genişliğiniz ise size tek kuruş kazandırmadan sömürdükleri bir metrikten ibarettir.
Bant genişliği tokenlaştırması (tokenization), temel olarak kullanılmayan yükleme (upload) hızınızı dijital bir emtiaya dönüştürür. Siz işteyken fiber bağlantınızın boşta durması yerine, dağıtık proxy düğümlerinin (nodes) bu bağlantıyı kullanarak başkaları için şifrelenmiş trafiği yönlendirmesine izin verebilirsiniz.
P2P (uçtan uca) ekonomisinin güzelliği, elinde sadece bir Raspberry Pi olan "küçük yatırımcının" devasa sunucu çiftlikleriyle rekabet edebildiği adil bir pazar yeri oluşturmasıdır. Artık sadece bir kullanıcı değil, aktardığınız her gigabayt başına ödül kazanan bir mikro internet servis sağlayıcısı (mikro-ISP) haline gelirsiniz.
- Adil Değer Takası: Sağladığınız bant genişliğinin gerçek kalitesi ve miktarına göre token cinsinden ödeme alırsınız.
- Teşvik Edilmiş Çalışma Süresi (Uptime): Yüksek kaliteli düğüm ödülleri, ağın her zaman hızlı kalmasını sağlar; çünkü düğüm operatörleri sistemleri kapandığında kelimenin tam anlamıyla para kaybederler.
- Erişilebilirlik Köprüsü: SquirrelVPN gibi araçlar, sıradan kullanıcılar için bu süreci kolaylaştırarak aradaki boşluğu doldurmaya başlıyor. Arka planda karmaşık düğüm yapılandırmalarını yöneten kullanıcı dostu bir arayüz sunarak, ağ mühendisliği diplomasına ihtiyaç duymadan yerel trafiğinizi aktarım görevlerinizden izole etmenize ve bu merkeziyetsiz ağlara kolayca katılmanıza olanak tanıyorlar.
Daha önce bahsettiğimiz Sensors dergisindeki çalışmada da görüldüğü gibi, profesyonel tüketicileri (prosumers) gruplandırmak için MPC (Çok Taraflı Hesaplama) kullanmak, zincir üstü (on-chain) işlem sayısını 3 kat azaltabiliyor. Bu durum, kripto tabanlı ağların en büyük baş ağrısı olan yüksek işlem ücretleri (gas fees) sorununu çözdüğü için kritik öneme sahip.
Düğümlerin gruplandırılması sayesinde ağ, birisi her web sitesine girdiğinde kayıt defterine (ledger) yeni bir işlem yazmak zorunda kalmaz. Bunun yerine "faturayı" toplu partiler halinde keser; bu da merkeziyetsiz bir ağı günlük internet gezintisi için gerçekten ekonomik ve erişilebilir kılar.
Dağıtık Proxy Ağlarında Güvenlik Zorlukları
Herkesin bant genişliğini paylaştığı ve tokenların havada uçuştuğu o muazzam P2P ağını kurduk, değil mi? Ancak şimdi gerçeklerle yüzleşme vakti: Eğer sağlam bir güvenlik katmanı olmadan bir sürü rastgele düğümü (node) bir araya getirirseniz, kurduyu kümesin içine bizzat davet etmiş olursunuz.
Herhangi bir P2P sistemindeki en büyük baş ağrısı Sybil Saldırısıdır. Bu, kötü niyetli bir aktörün ağda çoğunluğu ele geçirmek için ucuz sanal sunucular üzerinde binlerce "farklı" düğüm oluşturması durumudur.
- Hisse Kanıtı (Proof of Stake) / İş Kanıtı (Proof of Work): Çoğu ağ, düğümlerin belirli miktarda tokenı "kilitlemesini" gerektirir. Eğer düğüm kural dışı davranırsa, yatırdığı teminatı kaybeder (slashing).
- Konut Tipi IP Doğrulaması: Gerçek DePIN projeleri genellikle veri merkezleri yerine konut tipi IP'lere öncelik verir. AWS üzerinde 500 örnek çalıştırmak, 500 farklı ev internet aboneliği almaktan çok daha kolaydır.
- Rastgele Düğüm Seçimi: P4P çerçeveleri üzerine yapılan USENIX araştırmalarında da belirtildiği gibi, istemcinin kendi rotasını seçmesine izin veremezsiniz. Ağın, düğümleri seçmek için doğrulanabilir rastgelelik (verifiable randomness) kullanması gerekir.
Gerçekçi olalım; gizlilik bedava değildir. Her MPC (Çok Partili Hesaplama) katmanı eklediğimizde, gidiş-dönüş süresine (RTT) milisaniyeler ekliyoruz. Kaaniche ve ark. (2020) tarafından işbirlikçi hesaplama üzerine yapılan bir araştırmaya göre, bu katmanları eklemek ciddi bir ödünleşim (trade-off) gerektirir.
- Hesaplama Yükü: Sıfır Bilgi Kanıtı (ZKP) oluşturmak CPU döngüsü harcar.
- Ağ Atlamaları (Hops): Her proxy atlaması coğrafi mesafe ekler.
- Donanım Hızlandırma: Bu işin geleceği donanımda yatıyor. Artık düğüm operatörlerinin Plonk veya Marlin kanıtları için gereken matematiksel işlemleri yapmak üzere FPGA (Sahada Programlanabilir Kapı Dizileri) kullandığını görmeye başlıyoruz. FPGA'ler, belirli matematiksel işlemlerde çok hızlı olmaları için yeniden programlanabilen çiplerdir; bu bağlamda, Plonk veya Marlin gibi ZK-SNARK sistemlerinin gerektirdiği "aritmetik devreleri" (karmaşık matematiksel denklemler) normal bir bilgisayar işlemcisinden (CPU) çok daha hızlı çözerler.
Dürüst olmak gerekirse, "mükemmel" bir güvenlik yapılandırması diye bir şey yoktur. Her zaman "süper hızlı ama biraz riskli" ile "NSA seviyesinde güvenli ama çevirmeli bağlantı kadar yavaş" seçenekleri arasında bir denge kurmaya çalışırsınız.
Web3 Gizliliği ve İnternet Özgürlüğünün Geleceği
Matematiksel modelleri ve token ekonomisini detaylıca inceledik; peki tüm bunlar bizi tam olarak nereye götürüyor? Dürüst olmak gerekirse, kurumsal şirketlerin tekelindeki bir internetten kullanıcı odaklı bir yapıya geçiş artık sadece "olsa iyi olur" dediğimiz bir tercih değil; dijital özgürlüğümüz için bir hayatta kalma gerekliliği haline geliyor.
LatticeX Vakfı teknik dokümanında (whitepaper) vurgulandığı üzere, veri ve bilgi işlem düğümlerinin (node) gizliliği önceleyen bir katman üzerinden birbirine bağlandığı merkeziyetsiz yapay zeka ağlarına doğru evriliyoruz. Bu yapı, Güvenli Yapay Zeka Eğitimi gibi devrimsel süreçlerin önünü açıyor; modeller, MPC (Çok Taraflı Güvenli Hesaplama) kullanarak hassas verilerin ham halini asla görmeden bu verilerden öğrenim sağlayabiliyor.
Bu süreç nihayetinde bizi merkeziyetsiz internet servis sağlayıcısı (dISP) vizyonuna ulaştıracak. Tarama geçmişinizi reklam verenlere satan dev telekom şirketlerine mahkum olmak yerine, yerel düğümlerden oluşan bir ağa (mesh network) bağlanacaksınız. Kullandığınız bant genişliği kadar token ile ödeme yaparken, komşularınız için veri aktarımı sağlayarak token kazanabileceksiniz.
Son zamanlarda bu teknolojinin hayata geçtiği oldukça heyecan verici örneklere tanık oluyorum. Daha önce bahsettiğimiz LatticeX araştırmasına göre, ZK-SNARKs (Sıfır Bilgi Kanıtları) kullanarak cüzdan adresinizi ifşa etmeden bir gruba üye olduğunuzu kanıtlayabilir ve bir DAO (Merkeziyetsiz Otonom Organizasyon) oylamasına katılabilirsiniz.
Açıkçası, teknoloji nihayet vizyonumuzla aynı seviyeye gelmeye başladı. Geçiş süreci biraz karmaşık olabilir ve terminal komutları ilk başta göz korkutucu gelebilir; ancak sonuçta ortaya çıkan, gerçekten bize ait olan bir internet olacak. Bu, uğruna bir şeyler inşa etmeye değer bir gelecek. Hedefimiz net: Gizliliğin, şirketlerden satın alınan "premium" bir özellik değil, sistemin varsayılan ayarı olduğu bir internet. Oraya her seferinde yeni bir düğüm (node) ekleyerek, adım adım ulaşıyoruz.