Skip to content Skip to footer

Güvenilir Yürütme Ortamları (TEEs) ile Sıfır-Bilgi Kanıtlarını (ZKPs) kıyaslamanın 4 yolu

Bu makale “Oasis Foundation” için çevrilmiştir. Orjinal makale: https://medium.com/oasis-protocol-project/4-ways-to-compare-trusted-execution-environments-and-zero-knowledge-proofs-293615b8c1b6

Blokzincir tüm dünyada internet aracılığıyla milyonlarca kullanıcıya hizmet eden düzinelerce açık ve izinsiz radikal şeffaf bir yaklaşım sunar. Halbuki, şeffaflığın çok fazla yararının yanında, her zincirüstü kullanıcı için gizliği ve veri güvenliğini güçlendirmek için güçlü gizlilik araçları ile donatılmak zorundadır. Web3 gizliliği kucaklarken, trend içgörüleri ve zincirüstü gizliliğin ilerlemesi oldukça önemlidir. Bu blog yazısı Web3 gizliliğinin iki temel yaklaşımının basitçe karşılaştırılmasıdır:Zero-Knowledge Proofs and Trusted Execution Environments. Geliştiricilerden kullanıcılar kadar bu teknolojilerin aralarındaki farklılıkları öğrenmek Web3’ün geleceğini anyabilmek adına oldukça önemlidir.

Bu teknolojileri karşılaştırmaya başlamadan bazı terimleri tanımlamakta yarar var.

  • Zero-Knowledge Proofs: Bir sıfır-bigi kanıtı (ZKP) bir gerçeği bilginin nasıl alındığını belirtmeden ve herhangi bir bilgi paylaşmadan herhangi birisine gerçeği kanıtlamasını sağlayan kriptografik bir mekanizmadır. Blokzincir validatörleri eğer kanıt doğruysa bunu doğrulamak için hesaplamalar başlatırlar ve eğer öyleyse verinin doğrulandığını veriyi öğrenmeden durumu doğrularlar. ZKP hakkında daha fazlasını ZK MOOC’tan öğrenebilirsiniz.
  • Trusted Execution Environments: A Trusted Execution Environment (TEE) işlemcinin belirli bir bölümünü CPU’nun geri kalanından ayırmak suretiyle donanım odaklı güvenli hesaplama modeli kullanır. Gizlilik blokzincirlerini olanak vermek için kullanıldığında, bu çevreler şifrelenmiş veriler alırlar ve donanım sahibi dahil hiç kimsenin direkt olarak izleyemediği veya karışamadığı hesaplamalar başlatırlar. TEE’ler hakkında daha fazlasına bu blog yazısı’ndan ulaşabilirsiniz.

Gelin bu iki gizlilik-sağlayan iki teknolojiye daha derinlemesine bakalım!

Uygulama Ölçeklenebilirliği

ZKP’nin anahtar özelliği herhangi bir bilgi ifşa etmeden bilgiyi göstermek için belirli uygulamalarda spesifik kullanım alanlarında benzersiz devreler geliştirmek için sık ihtiyaç olmasıdır. Bu eylem tipik olarak, belirli bir sırrı temel alan belirli bir hesaplamayı yürüten bir devre oluşturmak suretiyle gerçekleştirilir. Doğrulayıcı daha sonra devrenin doğru bir şekilde yürütüldüğünün kanıtını alır.

Bazı uygulamalarda, aynı devre farklı doğrulayıcılar tarafından kullanılamazken diğerlerinde genel bir ZKP şeması kullanılarak tek bir devre birden çok kanıtlayıcı tarafından kullanılabilir. Ancak çoklu-kullanılan devrelerin, kanıtlanan sır hakkında herhangi bir bilgiyi ifşa etmek için kullanılamayacaklarını garanti edecek şekilde dikkatli bir şekilde tasarlanması gerekir.

TEE’ler için ise, kullanımlar ve uygulamalar genelinde ölçeklenebilirlik, donanım ve yazılım mimarisi ve TEE kullanım alanının özel gereksinimleri de dahil olmak üzere bir dizi faktör tarafından belirlenen uygulamalara bağlıdır. Bazı durumlarda, örneğin bir mobil cihazda uygulanan bir TEE ile, kullanımlar basit uygulamalarla sınırlı kalabilir. Bununla birlikte, Web3 dApp’leri için, tipik olarak blok zinciri doğrulayıcıları tarafından kullanılan TEE’ler, büyük hesaplama işlerini yapabilirler. Ve bu ortamlar, isteğe bağlı makine kodunun yürütülmesini destekler ve bu nedenle, çok sayıda uygulamada birden çok geliştirici tarafından kullanılabilirler.

Oasis, TEE’leri kurma, uzaktan (yeniden) doğrulama gerçekleştirme, hesaplama komiteleri düzenleme, kurcalamaya karşı güvenilir depolama, veri kullanılabilirliği ve daha fazlasını sağlama gibi düşük düzeyli ancak güvenlik açısından kritik detayları ortadan kaldırır. Kullanıcılar ve geliştiriciler için Oasis, dikkatli bir şekilde tasarlanmış harici arabirimlerle TEE’leri Oasis Ağı üzerinde yürütülen çalıştırma zamanlarına paketler ve TEE tabanlı gizli hesaplamanın güvenli bir şekilde kullanılmasını sağlar.

Bu durum Özellikle Solidity geliştiricileri için, Oasis Ağı üzerinde TEE’ler kullanarak geliştirmeler yaparken, kullanıcı sayısı veya belirli ekosistemlere dayalı spesifik sınırlamalar veya gereksinimler olmadığı anlamına gelir. Geliştiriciler yalnızca birkaç değişiklikle herhangi bir Solidity dApp’e şifrelenmiş durum eklemekle kalmaz, aynı zamanda durumun hangi yönlerini şifrelemek ve hangi yönlerini de halka açık tutmak istediklerini özel olarak seçebilirler. Web3 geliştiricileri, akıllı sözleşmeler için ZKP devreleri geliştirmenin getirdiği sürtüşmelerle mücadele etmektense, herhangi bir blok zinciri ağı üzerine kurulu herhangi bir uygulama için güvenli yürütme ile TEE’lerin kayda değer esnekliğinden ve ölçeklenebilirliğinden yararlanabilirler.

Güvenlik ve Performans

ZKP algoritma türüne ve kanıtlanan problemin karmaşıklığına göre değişmekle hesaplama anlamında pahalı olabilir. ZKP’ler genellikle kanıtlar oluşturmak için belirgin hesaplama kaynaklarına ihtiyaç duyarlar çünkü güvenlikleri sadece kiptografik işlemlerden türetilmiştir. Kanıt doğrulama kendisi, yine de hızlıdır. Fakat çoğu ZKP algoritmalarının karmaşıklığı çevrimlerinin boyutlarıyla orantılıdır, ve çok farklı çeşitlerde ZKP algoritmaları mevcuttur. Bazı türleri diğerlerine hesaplama olarak diğerlerinden daha pahalıdır. ZKP’leri kullanan geliştiriciler genellikle gizlilik ve güvenliğin faydalarının hesaplama maliyetlerinden daha ağır bastığına inanırlar.

TEE’ler, pahalı kriptografik işlemlerin yükü olmadan hassas kod çalıştırmak için güvenli ve yalıtılmış bir ortam sağlamak üzere tasarlanmıştır. TEE’lerin güvenliği, sadece kriptografiye dayanmak yerine bazı yazılım öğeleriyle birlikte donanıma dayalı olduğundan, karmaşık iş yükleri için performans iyileştirilir. Bununla birlikte, TEE’ler saldırılara, özellikle de bir sistemden istenmeyen bilgi sızıntısından yararlanmaya çalışan side-channel saldırılarına karşı bağışık değillerdir. Diğer taraftan, daha genel ve iyi bilinen (örneğin, sabit zamanlı kriptografi) benzersiz kullanım alanlarının gerektirdiği daha spesifik yöntemlere kadar çeşitli azaltma teknikleri de mevcuttur.

TEE’ler güvenlik ve performansı dengelemek üzere tasarlanmıştır, bu nedenle çoğu TEE kurulumu verimlilik için optimize edilmiştir ve ek güvenlik işlemlerinin performans üzerindeki etkisini en aza indirmek amacıyla genellikle özel donanım kullanır. Hatta, TEE tabanlı işlemler için hesaplama yükünün büyük bölümü, verilerin şifrelenmesi ve şifresinin çözülmesi veya bir TEE içinde çalışan kodun bütünlüğünün doğrulanması gibi güvenlikle ilgili ek görevlere ara sıra ihtiyaç duyulmasından kaynaklanır.

Örneğin, Web3’te bir DEX için gizlilik özellikleri sağlamak istesek, ZKP’leri kullanmak tek başına yeterli olmaz ve böyle yapılırsa bu son derece zor bir görev olacaktır. Buna karşın, TEE uygulaması yapmak, bir DEX’te ihtiyaç duyulan daha karmaşık özel veri toplama görevlerinin daha kolay ve verimli bir şekilde uygulandığı durumlarda daha fazla esneklik sağlar.

Ya da bir gönderici ve alıcı arasındaki stablecoin işlemlerini içeren bir senaryo düşünün. Bugün norm, gönderici, alıcı, ihraççı ve blok zincirine bakan herkes tarafından tüm işlem verilerinin tam görünür olmasıdır. Ancak geliştiriciler, TEE’leri kullanarak zincir üstü verilerin görünürlüğünü özelleştiren karmaşık ve sofistike uygulamalar oluşturabilir. Yalnızca gönderen ve alıcının verileri görmesi veya verenin de görünürlük iznine tabi olması veya yalnızca gönderenin verileri görüntülemesi fark etmeksizin, bu seçeneklerin tümü, sağlam ve esnek TEE’ler oluşturan dApp geliştiricileri tarafından kullanılabilir.

Akıllı Sözleşme Esnekliği

TEE’ler, gelişmiş akıllı sözleşmeler ve veri ağırlıklı Web3 uygulamalarının ürettiği gibi, önemli hesaplama iş yükleri altında yüksek performans için tasarlanmıştır. TEE’lerin kullanım kolaylığı ve geliştirici esnekliği, bu ortamların Web3’te oluşturulan karmaşık uygulamaların çoğu için çok uygun olmasının öncelikli nedenidir.

Genel olarak, TEE’ler, genelleştirilmiş akıllı sözleşme yürütme ve özellikle büyük miktarda özel veriyi toplaması gereken akıllı sözleşmeler için uygundur. Geliştirici deneyimi de oldukça basittir. Örneğin, Oasis Sapphire (TEE’ler tarafından desteklenen gizli EVM) üzerine kurulu gizli uygulamalar, alternatif gizlilik teknolojileri kullanılarak aylar veya yıllar yerine günler içinde geliştirilebilir.

ZKP geleneksel olarak akıllı sözleşme yürütme için optimize edilmemiştir. Son zamanlarda EVM uyumluluğunun desteklenmesinde dikkate değer bir ilerleme kaydedilmiştir, ancak bu uyumluluk iyileştirmeleri, ZK-EVM’ler gibi ölçeklenebilirlik (gizlilik değil) kullanım alanlarına odaklanmıştır. ZKP’lerin genelleştirilmiş akıllı sözleşme yürütmede gizliliği etkinleştirme küresel bakış açısı ve işlem verilerine erişim elde etmek için bir kanıtlayıcıya ihtiyaç duymasıdır, ancak küresel bakış açısının bazı yönleri ise bunu yapamaz. Bu, birden fazla katılımcının bilgisinin gerekli olduğu çok taraflı bir bağlamda gizliliği elde etmesi gereken herhangi bir uygulama için bir gizlilik çözümü olarak ZKP’leri kullanma konusunda ciddi sınırlamalar getirir.

Daha basit kullanım alanlarına sahip belirli uygulamalarda ZKP kullanıcı gizliliğini kolayca çözebilir. Ancak hesaplama yükleri daha karmaşık hale geldikçe ve veri girdileri büyüdükçe, bu gizlilik daha zorlu, daha pahalı ve daha az esnek hale gelir. Bu sorunları azaltmak için, büyük ve karmaşık veri yüklerine sahip dApp’leri korumak adına bazen özel devreler gerekir. ZKP ile geliştirmeler yapan bazı ekipler, ZKP’yi akıllı sözleşmelere entegre etme sürecini basitleştirmek için çerçeveler oluşturur, ancak gizlilik için TEE’lerin sunduğu aynı düzeyde esnekliği sağlayamazlar.

Güven Ticareti

Geliştiriciler ve kullanıcılar için herhangi bir Web3 gizlilik teknolojisinin güven modelini anlamak önemlidir. Örneğin bazı ZKP tabanlı çözümler, bilgileri doğrulamak için yarı güvenilir sıralayıcılara güvenebilir. ZKP’ler etkili bir ölçeklendirme aracı olabilse de Web3 için bir gizlilik çözümü olarak ZKP’nin neden sınırlı olduğu açık olmalıdır. Örneğin bazı ZKP tabanlı çözümler, bilgileri doğrulamak için yarı güvenilir sıralayıcılara güvenebilir. Bir uygulama birden fazla sıralayıcıya izin veriyorsa, gizlilik daha kötü bir hale gelir. Ancak belirli kullanım alanlarında, ZKP gizlilik sağlamada yararlı olabilir— örneğin Zcash. Bir kullanıcının kaç tokene sahip olduğunu veya kaç token harcadığını açıklamadan, her kullanıcının tokeni iki kez harcamadığını kanıtlaması gerekir. Bir kullanıcının hile yapmadığını kanıtlamak için ZKP kullanmak çok önemlidir. Ancak açık olmak gerekirse: Bu teknik, çok özel kullanım alanları (ör. para birimi) ile sınırlıdır ve genelleştirilebilir güvenli hesaplama için optimize edilmemiştir.

TEE’ler için güven kavramı adından gelir. Ancak bir TEE’nin güvenilirliği büyük ölçüde, sistemin geri kalanından izole edilmiş güvenli bir yürütme ortamı sağlamak için TEE’nin uygulandığı donanım tabanlı güven ile sınırlıdır. Bu donanım tabanlı güven, öncelikle donanım tasarımcısı ve üreticisine ve bunların güvenlik uygulamalarına dayanır. Bu güven, büyük ölçüde güvenli önyükleme işlemleri, güvenli yerleşim bölgeleri ve diğer endüstri standardı teknikler kullanılarak doğrulanabilir. TEE’ler, geliştiricilerin oluşturdukları veya kullandıkları uygulama fark etmeksizin veri girişleri ve doğrulamalar için tamper-proof doğrulama üretmelerine olanak tanımaktadır.

Sonuç

Kısacası, web3’ün gizlilik teknolojileri çok fazla güçlülükleri, zayıflıkları ve ticaretleri ile var olmuşlardır.

ZKP bazı gizlilik odaklı kullanımlar için tatmin edici olabilir, fakat ölçeklenebilirlik ve genele hesaplamalar için destek konusunda performansları üzerinde sınırlamalar mevcuttur. TEE’ler gibi diğer web3 gizlilik teknolojileri fazla miktarda veri ve fazla miktarda eşzamanlı kullanıcı ile geliştirme yapan geliştiriciler için daha caziptir. Bu durumlarda, TEE’ler herhangi bir web3 projesine güzlü bir gizlilik entegrasyonu için esneklik, ölçeklenebilirlik ve yüksek performans araçları sağlarlar. Ancak her iki araç da tamamlayıcı olabilir, ve bazı web3 uygulamalarında, örneğin ZKP TEE bazlı bir sistemin güvenliği artırmak ve güçlendirme için kullanılabilir. Bir geliştirici hangi aracı kullanırsa kullansın, we3’ün geleceği seçilebilecek geniş gizlilik teknolojileri ile oldukça parlaktır.