Sıfır Bilgi İspatı: zk-SNARK Nedir?
Bu yazımızda hep birlikte, zk-proof (sıfır bilgi ispatı) teknolojileri arasında en çok kullanılan zk-SNARK’ları inceleyeceğiz.
“Zk-STARK Nedir” yazımızda; zero knowledge proof (sıfır bilgi ispatı) teknolojilerinin, bilgiye sahip olup olmadığı bilinmeyen bir grubun bilgiye sahip olan başka bir gruba bilginin tamamı yerine küçük bir kısmını ileterek bilgiye sahip olduklarını kanıtlama imkanı verdiğini söylemiştik.
Snark’lar da Stark’lara benzer şekilde; sıfır bilgi ispatı çözümüne farklı matematiksel formüllerle yaklaşan ve Stark’larla benzerlikleri olduğu gibi birçok farklılıkları da olan, sıfır bilgi ispatı teknolojisidir.
zk-STARK da zk-SNARK da, aslında bu teknolojilerin işlevlerinden oluşan kısaltmalardan ibarettir. Yazının devamında anlatılanların daha iyi anlaşılabilmesi için, bu açılımlarda geçen ortak işlevleri anlattığımız zk-STARK yazımızı da okumanızı tavsiye ederiz.
İlginizi çekebilir: Sıfır Bilgi İspatı: zk-STARK Nedir?
Nedir Bu Snark?
S: Succinct
N: Non interactive
AR: ARgument
K: of Knowledge
Argument ve Knowledge kısımları Stark’lar ile ortaktır. Diğer kavramlar ise iki teknolojinin çözüm yolu olarak birbirinden ayrıldığı kısımlardır.
Succinct: “Kısa ve öz” anlamına gelmektedir. Yani verinin tamamı yerine bir kesitinden bunun bilinip bilinmediğini ispatlamayı temsil etmektedir. zk-STARK yazısındaki örüntü örneğinde koca bir örüntünün yazılması yerine örüntüden 3 tane dize yazılması buna örnektir.
Non-interactive: Sıfır bilgi ispatı kanıtlarının doğruluğunu kontrol edenlerin sürekli soru sormasına gerek olmadığını temsil etmektedir yani etkileşimsizdir (non-interactive). Örnekle açıklamak gerekirse örüntüde prover (ispatlayan), 3 kutucuğa istenilen dizeleri yazdığı andan itibaren verifier (doğrulayan) daha fazla soru sorma ihtiyacı duymadan prover’ın bilgiye sahip olduğunu kabul eder ve aralarında bir etkileşim olmaz.
İlk Ne Zaman Snarklar’dan Bahsedildi?
Kaliforniya Berkeley Üniversitesi’nde profesör olan Alessandro Chiesa, geliştirdikleri zkp (sıfır bilgi kanıtları) için ilk kez zk-SNARK teriminin kullanıldığı bir makalenin ortak yazarıdır.
Snark’ların, güvenlikleri eliptik eğriler tabanlıdır. Kriptografide kullanılan eliptik eğriler, genellikle rastgele alınan noktaya göre bir eliptik eğri elemanının, ayrık logaritmasını bulmanın olanaksız olduğu temel varsayımı altında çalışırlar. Bu varsayım Snark’ların temelini oluşturmaktadır.
Snark Kullanan Projeler
zCash, Aleo, Mina, Aztec gibi önemli blok zincirlerinde zk-SNARK kullanılır. Her zincirde zk-SNARK teknolojisi farklı şekilde uygulanır. Bir örnekle açıklamak gerekirse:
Bir marangoz elindeki aletlerle birden çok şey yapabilir ve hangi amaç doğrultusunda bir şey imal etmeye başlarsa ürün de o amaca hizmet eder.
Marangozları blok zincirlerindeki developer’lar, marangozun testeresini de teknolojinin kendisi olarak düşünebiliriz. Yani bu blok zincirleri zk-SNARK kullansa da bu teknoloji ile sergiledikleri hünerler farklıdır.
İlginizi çekebilir: Rollup Nedir? Optimistic ve ZK Rollup’lar Nasıl Çalışıyor?
zk-SNARK vs zk-STARK
Her ikisinin de, iki tarafın bilgilerini kanıtlama yönteminin kısaltmalarından oluştuğunu söylemiştik. Özetle zk-STARK, ölçeklenebilir şeffaf bilgi argümanı anlamına, zk-SNARK ise etkileşimsiz bilgi argümanı anlamına gelmektedir. Aslında bu sıfır bilgi teknolojilerinin her ikisi de yapısı gereği etkileşimsizdir yani özerk olarak hareket edebilmektedirler.
Aşağıdaki tabloda iki teknoloji arasındaki matematiksel farkları görebiliriz.
Stark’lar hash fonksiyonları kullandığı ve trustless bir model tercih ettiği için kanıtları Snark’lara göre geç doğrular fakat prover (kanıtlayan) zamanı Snark’lara göre daha düşüktür.
Tabloda görmüş olduğunuz Bulletproofs kanıtlar da kriptografik bir varsayımı ifade etmektedir. Çoğumuzun bildiği HALO projesinde kullanılan kanıt çeşididir. Bu 3 varsayım içinde kanıt boyutu en düşük olan Snark’lardır fakat Stark’lar diğerlerine göre daha hızlı kanıt oluşturur. En hızlı doğrulamayı Snark’lar yapsa da Stark’lar ile arasında çok büyük bir fark yoktur. Öte yandan Bulletproofs 1100 ms ile oldukça geç doğrulama süresine sahiptir.
Peki tüm bu farklar nasıl oluşuyor? Kullanılan teknoloji ve izlenilen yol sebebiyle olduğunu söylemiştik. Fazla derine inmeden nasıl yollar izlediklerine, kanıtları oluştururken ve doğrularken hangi yaklaşımları kullandıklarına bir göz atalım.
ZKP kanıtları içindeki ögeler aslında soyut matematiğin (polinomlar, vektörler, kısıtlama sistemi matrisleri vb.) alanına girmektedir ve altyapısı olmayan bir insan için oldukça karışıktır. Yapılan işlemler buradaki kontrol denklemlerinden ibarettir. Bu soyut matematiği kısa ve öz temsil etmemizi sağlayan üç büyük kriptografik teknoloji vardır:
- FRI tabanlı kriptografi Merkle Tree’lerden,
- Inner Product Argument(IPA): (İç Çarpım Kanıtları) Regular Elliptic Curves (Düzenli Eliptik Eğriler)’den,
- KZG Commitments tabanlı kriptografi ise Trusted Setup ile hesaplanan eşleştirmeli eliptik eğrilerden yararlanır.
Bu teknolojiler, üç çeşit kanıta yol açmaktadır:
- FRI, Stark’lara,
- KZG Commitments Snark’lara,
- IPA tabanlı şemalar ise Bulletproof dediğimiz kanıtlara yol açar.
Yani, bu kanıtları oluşturma sürecindeki bütün değişkenler aslında bu saydığımız kriptografik yaklaşımlardan kaynaklanmaktadır.
Son Olarak
zk-SNARK ve zk-STARK avantaj ve dezavantajlarını tabloda gördüğümüz, elde edilen verilerden yola çıkarak konuşabiliyoruz. Oldukça derin iki kavram olan zk teknolojilerinin birçok insan tarafından, ekosisteme çok büyük katkılar sunduğu ve sunacağı düşünülüyor. Daha fazlasını öğrenmek ve işin soyut matematik kısmına dalış yapmanız, meraklıları için keyifli ve heyecan verici olacaktır.
Twitter’dan anlık ve hızlı haber akışı için: https://twitter.com/Muhabbitcom
Daha fazla Nedir haberi için: Nedir Haberleri
Daha fazla Blockchain haberi için: Blockchain Haberleri
Gelişmelerden ve son dakikalardan haberdar olmak, kripto para dünyasında aktif bir yer edinmek istiyorsanız Telegram kanalımıza bekliyoruz.