Nedir Bu zkAppler? – David Wong – –

0 Shares
0
0
0

Vitalik, geçenlerde ETHMexico’da zkApplerden bahsetti. Peki nedir bu zkAppler? Bu yazının sonunda zkApplerin ne olduğunu ve teknoloji dünyasını nasıl değiştireceklerini öğreneceksiniz.

zkAppler ya da diğer adıyla sıfır bilgili uygulamalar, sonuca güvenmemize izin verirken, başka birinin rastgele programları hesaplamak izin vermek için bulduğumuz modern ve güvenli bir çözümdür. Ve tüm bunlar, genel amaçlı sıfır bilgili kanıtlar adı verilen, yakın zamanda yeniden keşfedilen bir kriptografik yapı sayesinde mümkün kılınıyor. Bununla birlikte, özel olarak çalıştırmıyorsanız, donanımın doğru davranıp davranmayacağına takılmanıza gerek yok (öhöm öhöm intel SGX).

Bugün, sıfır bilgili kanıtların özellikle kripto paraları etkilediğini (kriptografinin gelişimi için bir deney kabı olmuştur) görüyoruz, ancak yarın çoğu uygulamanın (sadece kripto para birimleri değil) doğrudan veya dolaylı olarak sıfır bilgi teknolojisinden etkileneceğini iddia ediyorum.

Son yıllarda kripto para birimleriyle çok fazla zaman geçirdiğim, NCC Group'ta Zcash ve Ethereum gibi blok zincirlerini denetlediğim ve Facebook'ta Libra/Diem gibi projeler üzerinde çalıştığım için, bu yazıda çoğunlukla blockchain dünyasında neler olduğuna odaklanacağım. Tüm bu kavramlara dair daha geniş bilgi sahibi olmak istiyorsanız, Real-World Cryptography kitabıma göz atabilirsiniz.

Hikaye, doğrulanabilir hesaplama sorununa yönelik eski çözüm arayışlarıyla başlar; bir hesaplamanın sonucunun doğru olduğunu doğrulayabilmek… Başka bir deyişle, programı kim çalıştırırsa, sonuç hakkında bize yalan söylemiyordur.

Bugüne kadar çözümlerin çoğu donanıma dayalıydı. Donanım çipleri ilk olarak “değiştirmeye karşı dayanıklı” ve “analiz edilmesi zor” olarak icat edildi. İmzalama veya şifreleme gibi basit şifreleme işlemlerini gerçekleştirebilen çipler. Bunları genellikle sim kartlarda, TV kutularında ve kredi kartlarında görürsünüz. Bunların tümü aşamalı olarak kaldırılırken, telefonunuzda bulunabilen “güvenli yerleşim birimleri” adı verilen eşdeğer yongalarla değiştiriliyor. Kurumsal tarafta, programlanabilirliği sağlamak için daha güncel teknolojiler tanıtıldı. Bu çipler, programların doğru çalıştığına dair (imzalı) tasdik sağlarken, rastgele programları çalıştırabilen çiplerdir. Bu çipler genellikle bazı satıcılar (örneğin Intel SGX) tarafından onaylanır ve birilerinin bunlara müdahale etmenin zor olduğunu iddia etmesi gerekir. Ne yazık ki Intel ve diğerleri için güvenlik topluluğu, “güvenli” donanımlarına yönelik saldırılar yayınlamaya büyük ilgi gösterdi ve hemen hemen her yıl yeni hack’lerin ortaya çıktığını görüyoruz. Bu bir kedi ve fare oyunu.

Kripto para birimleri, bu doğrulanabilir hesaplama sorununa bir çözüm bulmak için can atılan başka bir alandır. Bahsettiğim önceki donanım çözümleri, Town Crier gibi oracle’larda, Ethereum-Avalanche köprüsü gibi köprülerde ve hatta MobileCoin gibi kripto para birimlerinin merkezinde bulunabilir.

Bunlara hayran olmadığımı söylemeye gerek yok ama bazı senaryolarda başka seçeneğiniz olmadığını düşünen ilk kişi de benim. Ve bunların, saldırganların kırabilmesi için pahalı olması meşru bir çözümdür. Akıllı telefonumla ödeme yapabilmeyi seviyorum.

Ancak son yıllarda, doğrulanabilir hesaplama sorunumuzu gerçekten çözebilecek eski bir kriptografik ilkel, büyük bir geri dönüş yaptı. Evet, hangisinden bahsettiğimi biliyorsunuz: genel amaçlı sıfır bilgili kanıtlar (ZKP’ler).

Bu çözüm varken, donanıma güvenmeye gerek yok: programı kim çalıştırıyorsa, sonucun doğru olduğuna sizi ikna etmek için basitçe bir kriptografik kanıt oluşturabilir.

ZKP’ler, kripto para birimindeki TÜM sorunları çözmek için kullanılmıştır:

  • “Keşke daha fazla işlem gerçekleştirebilseydik” -> başka biri, tüm işlemleri doğrulayan ve blockchainde yapılacak küçük bir değişiklik listesi (ve çıktının doğru olduğuna dair bir kanıt) veren bir programı çalıştırabilsin. Bu, zk rollupların yaptığı şeydir.
  • “Keşke göndereni, alıcıyı ve işlem yapılan tutarı gizleyebilseydik” -> işleminizi şifreleyin! Ve şifrelenen şeyin doğru olduğunu kanıtlamak için sıfır bilgili bir kanıt kullanın. ZCash’in (ve bir dereceye kadar Monero’nun) yaptığı da budur.
  • “Bitcoin defterinin tamamını indirmem çook uzun zaman alıyor…” -> başka biri bunu sizin için yapsın ve size en son statei (doğru olduğuna dair bir kanıtla) versin. Mina’nın yaptığı bu.
  • “Kripto para kullanan herkes, kendi nodelarını çalıştırmak yerine bazı public sunucu kaynaklarına (örneğin Infura) körü körüne güveniyor” -> light clientlerin doğrulanabilmesini sağlamak için ZKP’yi kullanın! Celo’nun yaptığı bu.
  • “Neden bir token’ı bir blockchainden diğerine kolayca aktaramıyorum?” -> doğrulanabilir light clientleri kullanın. zkBridge’in sunduğu şey budur.

Daha pek çok şey var, ancak bu yazıda zkApplere (hatırladınız mı?) odaklanmak istiyorum. zkAppler, smart contractları uygulamanın yeni bir yoludur. Smart contractlar, ilk olarak kullanıcı programlarının blockchainde çalışmasını sağlamak için Ethereum tarafından geliştirildi.

Smart contractları açıklamak için, gökyüzünde süzülen tek bir süper bilgisayar örneğini vermeyi seviyorum. Hepimiz aynı bilgisayarı kullanıyoruz, gökyüzünde süzülen bilgisayarı. Hepimiz programlarımızı bu süzülen bilgisayara kurabiliriz ve herkes bu programların işlevlerini çalıştırmaya katkıda bulunabilir.

Zamanında Ethereum tarafından bulunan çözüm, konsepti basitçe ve kriptografi kullanmadan uygulamaktı:

  • Kullanıcılar, programın kodunu bir işleme yerleştirerek bir program kurabilirler.
  • Kullanıcılar bir işlemde çalıştırmak istedikleri fonksiyonu ve hangi argümanlarla çalıştıracaklarını yazarak bir programın fonksiyonlarını çalıştırabilirler.
  • Bir node çalıştıran herkesin, kullanıcı işlemlerinde bulunan fonksiyonları çalıştırması gerekir. Hepsini. Sonucu almak için (örneğin X jetonlarını Y cüzdanına taşıyın, smart contract stateini güncelleyin, vb.)

Son nokta, Ethereum’un en büyük sınırlamasıdır Bir fonksiyonun çalıştırılmasının sonucunu kullanıcının ya da başka birinin vermesini sağlayamayız çünkü onlara güvenemeyiz. Bu, herkesin her zaman gereksiz olan ve ağı yavaşlatan aynı şeyleri yeniden çalıştırdığı anlamına gelmez, aynı zamanda bir smart contracttaki her şeyin herkese açık olması gerektiği anlamına gelir (çünkü herkes fonksiyonu çalıştırabilmelidir). Kullanılan hiçbir sır olamaz. Bu gerçekleşirken ağ dışında asenkron arama veya etkileşim olamaz.

zkApplerin devreye girdiği yer burasıdır. zkAppler, kullanıcıların programları kendilerinin çalıştırmasına ve diğer herkese sonucu (bir kanıtla birlikte) vermesine izin verir.

Bu, herkesin aynı smart contract çağrılarını sürekli olarak yeniden yürütmesi sorununu çözmekle kalmaz, aynı zamanda hesaplamalar deterministik olmadığı için yeni uygulamalara kapı açar: rastgeleliği kullanabilirler, sırları kullanabilirler, asenkron çağrıları kullanabilirler, vb.

Dahası, bir zkAppin statei, Ethereum’un daha önce yaptığı gerçek uygulamalar gibi varlğını ve işlevini offchain sürdürülebilir. Tüm blockchainin boyutunu küçültülmesi (Şu anda Ethereum neredeyse 1 terabayttır!). Bu uygulamalar artık blockchainin hızıyla veya blockchainin açığa çıkardığı dilin yetenekleriyle sınırlı değildir.

Belki de bunları, L2’ler veya Cosmos zonelarına benzer şekilde merkezi veya merkeziyetsiz uygulamalar olarak çalıştırılabilen kendilerine ait mini blockchainler olarak tanımlamak daha doğru olacaktır.

TAMAM. Şimdiye kadar çok iyi, ama bu zkAppler gerçekten var mı yoksa sadece konuşuyor mu? Henüz yeterli seviyede değil. Ancak birkaç gün önce Mina, zkApp uygulamalarını bir testnette yayınladı. Ve eğer testnet iyi giderse, bunun blockchainlerde daha önce görmediğimiz devasa sayıda uygulamanın kilidini açacağına inanmamak için hiçbir neden yok.

Merhaba dünya eğitimini okuyabilir ve ilk zkAppinizi 5 dakika gibi bir sürede deploy edebilirsiniz (şaka yapmıyorum). Bu yüzden denemenizi şiddetle tavsiye ederim. Gelecek budur! 🙂

Kaynak

0 Shares
Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir