“ZoKrates'te Ustalaşmak: Ethereum'un Gizlilik Araç Seti” — 1. Bölüm

May 01 2023
Gizlilik ve Güvenlik, günümüzün en önemli endişeleri haline geldi. Bu kılavuz, sizi Zokrates araç setinde uzmanlaşma ve kullanmaya alıştırmak için 3 makalelik bir dizi olacak.

Gizlilik ve Güvenlik, günümüzün en önemli endişeleri haline geldi. Bu kılavuz, sizi Zokrates araç setinde uzmanlaşma ve kullanmaya alıştırmak için 3 makalelik bir dizi olacak .

Not : Bu makaleden en iyi şekilde yararlanmak için, içeriğe göz atmaktan çekinmeyin ve zaten aşina iseniz bu bölümü atlayın.

Mastering ZoKrates serisinin 1. Bölümü şunları içerecektir:

  1. diziye giriş
  2. zkSNARK'lara genel bakış ve gizliliği koruyan uygulamalardaki önemi
  3. ZoKrates'e giriş ve motivasyonu
  4. ZoKrates'in arka planı ve teknik genel bakışı

Herkes, ZoKrates'te Ustalaşmanın bu derinlemesine serisine hoş geldiniz. 0'dan 1'e hareket edeceğiz, bu yüzden ister bir blockchain meraklısı olun, ister sadece meraklı bir kedi olun, sizi korudum.

  • Gizlilik yeni Siyah'tır: Günümüz dünyasında veri paylaşıyoruz veya aşırı veri paylaşımı diyebiliriz, mahremiyetin geri kazanılması büyük kaygılar ve zkSNARKs ve ZoKrates'in yardımıyla bunu geri yükleyeceğiz.
  • Görünmezlik katmanı ekleme: zkSNARKs ve ZoKrates, Ethereum Blockchain ile işlemlerimize ve etkileşimlerimize görünmezliği dahil etmeye yardımcı olacak.
  • Ethereum'da şeffaflık bir efsanedir: Public Blockchain açık bir kitap gibi görünür, ancak bazen bazı özel bilgileri kaydetmemiz gerekir. Bu nedenle, zkSNARKs ve ZoKrates kullanarak Ethereum Blockchain'i her zamankinden daha güvenli ve özel hale getireceğiz.

Bir adım geri atıp ZKP'ye genel bir bakış atmak isterseniz, buna bakın .

Sıfır bilgi kanıtları — Gizliliği korumak için bir yöntem.

zkSNARKs Etkisi: Ethereum'da Gizliliği Arttırmak:

zkSNARK'lar (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge), doğru hesaplamaları yürütmeden veya ayrıntıları ifşa etmeden doğrulamak için etkileyici bir yöntem sağlar ve neyin yürütüldüğünü bile bilmemenizi sağlar.

Bunun üç ana özelliği vardır:

  • Sıfır Bilgi: Kanıtlayıcı, bilginin kendisini ifşa etmeden, mahremiyeti sağlayarak belirli bilgilere sahip olduğunu gösterebilir.
  • Özlülük: Kanıt boyutu nispeten küçüktür ve doğrulama süreci verimlidir ve pratik uygulamaya olanak tanır.
  • Etkileşimsiz: Kanıt, kanıtlayıcı ile doğrulayıcı arasında herhangi bir etkileşim gerektirmeden doğrulanabilir , bu da süreci kolaylaştırır.
  1. Polinom problemi olarak kodlama : Doğrulama için hesaplamaları polinom denklemlerine kodlama süreci.
  2. Rastgele örnekleme ile özlülük: Doğrulama için gereken zaman ve çabayı azaltmak amacıyla doğrulamak için küçük, rastgele bir bölüm seçmek.
  3. Homomorfik kodlama/şifreleme : Gerçek verileri görmeden içerikleri manipüle etme (hesaplamalar yapma).
  4. Sıfır Bilgi : Bilginin kendisini ifşa etmeden belirli bir bilgiye sahip olduğunu göstermek.
  1. Polinom Problemi Olarak Kodlama: Yemek Tarifi Yapmak ‍

2. Rastgele Örnekleme ile Özlülük: Sanat Eseri Doğrulama

Tüm parçayı incelemeden büyük bir sanat eserinin gerçek olduğunu doğrulamak istediğinizi varsayalım. Rastgele örnekleme yoluyla elde edilen özlülük, incelemek için sanat eserinin küçük, rastgele bir bölümünü seçmeye benzer. Bu yaklaşım, sanat eserinin orijinalliğine olan yüksek güveni korurken, doğrulama için gereken zamanı ve çabayı önemli ölçüde azaltır .

3. Homomorfik Kodlama/Şifreleme: Bir Hazine Sandığını Kilitlemek

Homomorfik kodlama/şifreleme, değerli eşyaları bir hazine sandığının içine kilitlemeye benzer. Kanıtlayıcı, tıpkı gizli değerlendirme noktasını bilmeden şifrelenmiş değerleri hesaplayabildikleri gibi, asıl öğeleri hiç görmeden içerikleri manipüle edebilir (hesaplamalar yapabilir).

4. Sıfır Bilgi: Bir Sihirbazın Numarası

zkSNARK'ların sıfır bilgi yönü, bir sihirbazın numarasına benzer. Sihirbaz, izleyiciyi, nasıl yapıldığını açıklamadan, görünüşte imkansız bir başarı sergilediklerine ikna eder. zkSNARK'larda kanıtlayıcı, şifrelenmiş değerleri gizlerken, doğrulayıcının temeldeki verilerin gizliliğini koruyarak bunların doğruluğunu kontrol etmesine izin verir.

Ref: Yukarıdaki açıklama referansı bu makaleden alınmıştır . Daha derin teknik dalmak istiyorsanız , lütfen bağlantılı makaleye bakın.
Teşekkürler Chris

ZoKrates'e giriş ve motivasyonu:

ZoKrates, zkSNARK'ları Ethereum tabanlı merkezi olmayan uygulamalarınıza (DApp'ler) entegre etmek için kapsamlı bir çözüm sunar. Bu araç seti, DApp'inizde doğrulanabilir hesaplamayı kullanma sürecinin tamamını basitleştirir. Programınızı kullanıcı dostu, üst düzey bir dilde tanımlamaktan, Solidity içinde hesaplama kanıtları oluşturmaya ve doğrulamaya kadar, ZoKrates size yardımcı olur.

Yukarıdaki paragrafı sizin için özetleyeyim:

  1. ZoKrates, Ethereum DApp'lerine gizlilik eklemek için yararlı bir araçtır.
  2. Geliştiriciler için gizlilik özelliklerini kullanmayı kolaylaştırır.
  3. ZoKrates ile şunları yapabilirsiniz:
    a. Programınızı basit bir dilde (DSL) yazın.
    B. Özel gizlilik kanıtları oluşturun.
    C. Ethereum blok zincirindeki gizlilik kanıtlarını kontrol edin.
  4. ZoKrates, DApp'inizi daha özel ve güvenli hale getirir.

Ama neden buna ihtiyacımız var? Bunun arkasındaki motivasyon:

  • Ethereum'un ağı, tüm düğümlerde hesaplamalar çalıştırarak yüksek maliyetlere, sınırlı karmaşıklığa ve düşük gizliliğe yol açar.
  • zkSNARK'lar, hassas verileri ifşa etmeden zincir üzerindeki hesaplamaları doğrulamak için daha uygun maliyetli bir çözüm sunar, ancak uygulanması zor olabilir.
  • ZoKrates, geliştiricilerin zincir dışı programlar oluşturmasına ve bunları Ethereum blok zinciriyle entegre etmesine izin vererek DApp'lerinin potansiyelini genişleterek zkSNARK'ların kullanımını basitleştiren bir araç kutusudur.
  • ZoKrates ile geliştiriciler, hesaplamalarını belirlemek, hesaplama kanıtları oluşturmak ve bunları Solidity akıllı sözleşme dili içinde doğrulamak için üst düzey programlama dillerini kullanabilirler.
  • Bu, DApp'lerin gizliliğini ve verimliliğini artırırken zincir üstü hesaplamalarla ilişkili maliyetleri ve sınırlamaları azaltır.

ZoKrates'in arka planını veya geçmişini derinlemesine inceleyelim:

  • ZoKrates, 2018'de Ethereum'daki zkSNARK'lar için açık kaynaklı bir araç seti olarak oluşturuldu .
  • Her ikisi de Ph.D olan Jacob Eberhardt ve Alex Gluchowski tarafından geliştirilmiştir . TU Darmstadt'taki öğrenciler.
  • ZoKrates, piyasaya sürüldüğünden beri yeni özellikler eklenmiş ve hatalar düzeltilmiş olarak birkaç güncellemeden geçti.
  • Geliştirme ekibi, Mayıs 2023 itibarıyla en son kararlı sürüm olan 0.8.7 sürümüyle ZoKrates'i korumaya ve geliştirmeye devam ediyor .
  • ZoKrates, Ethereum geliştirici topluluğunda zkSNARK'ları uygulamanın basit ve kullanıcı dostu bir yolu olarak popülerlik kazandı.
  • ZoKrates'in kullanımı , birkaç gizliliği koruyan DApp'lerin oluşturulmasına yol açtı .
  • ZoKrates, devreler halinde derlenmiş üst düzey etki alanına özgü dil (DSL) programlarını kullanarak sıfır bilgi kanıtları (ZKP'ler) oluşturmak için bir programlama araç kutusudur.
  • ZoKrates DSL, C programlamaya benzer ve değişkenler, döngüler ve koşullu ifadeler içerir.
  • ZoKrates, kanıtlar ve doğrulama anahtarları oluşturmak için bir C++ zkSNARKs kitaplığı olan libsnark'ı kullanır.
  • ZoKrates eliptik eğri kriptografisini, modüler aritmetiği, hash fonksiyonlarını ve diğer kriptografik işlemleri destekler .
  • ZoKrates, hızlı ve verimli ZKP üretimi ve doğrulaması için Groth16 kanıt sistemini kullanır .
  • ZoKrates, Ethereum blok zincirinde gizliliği koruyan akıllı sözleşme geliştirme için Solidity ile entegre edilebilir.
  • ZoKrates, MIT lisanslıdır ve topluluğun katkılarına açık açık kaynaklı bir projedir.

Böylece bu bölümde ZoKrates ve zkSNARKs ile yolculuğumuza başlamış olduk . Bir sonraki bölümde, özellikleri ve ana bileşenlerini derinlemesine inceleyeceğiz: derleyici, kitaplıklar ve araçlar. Ayrıca, dağıtımın AZ kodunu ve AZ'sini yazmayı öğrenmek.

Bu seride öğreneceğimiz şeyler.

Herhangi bir sorunuz varsa lütfen bana bildirin ve benimle daha fazla bilgi paylaşabilirseniz çok memnun olurum. Daha fazlasını öğrenmekten her zaman mutluluk duyarız, bu yüzden bağlantı kurup birlikte keşfedelim
Twitter , Lens , Farcaster — @pranshurastogi,
Linkedin , Github , Youtube