zk Teknolojisi ve zkSNARK nedir?

zero-knowledge, zkRollup, zkSNARK, zCash, zkSTARK, zkTobby, zk, zk, zk… Gelin bu yazıda temelden alıp bu teknolojiyi öğrenmeye çalışalım.

DLT (Distributed Ledger Technology, Dağıtık Defter Teknolojisi) çeşitli verilerin (transferler, hesap ekstreleri vs.) merkeziyetsiz kişiler tarafından yazılıp, kayıt edilerek herkes tarafından erişilebilir, güncellenebilir, doğrulanabilir olmasına imkan sağlayan teknolojilerdir.

Before Blockchain, There Was Distributed Ledger Technology | by  BlockstreetHQ Team | Blockstreet HQ | Medium

Blokzincir Teknolojisi ise işte bu DLT teknolojilerinden biridir. Her blokzincir bir DLT’dir, ancak her DLT bir blokzincir değildir. Blokzincir teknolojisi DLT adı verilen yukarıda bahsettiğim işlemlerin kaydını güvenli bir şekilde tutmaya yarayan bir sistemden ibarettir.

Bugün kripto Dünyasında blokzincirler hemen hemen bütün alana yayılmış durumda olsalar da, aslında CoinGecko‘da görüdüğünüz her kripto para blokzincir teknolojisini kullanmıyor. Örneğin Hedera yukarıda bahsettiğim DLT teknolojisindeki dataları Blokzincire değil, Hashgraph adında başka bir sisteme kaydetmektedir.

A summary of existing Distributed Ledger Technology (DLT). (a)... |  Download Scientific Diagram

Dolayısı ile nasıl blokzincir tamamlayıcı bir teknoloji ise, yani bu teknolojiyi kullanmak tercihe bağlı ise (yani her kripto para için blokzincirlere ihtiyaç yoktur. Blokzincirler merkezi de olabilirler) zk Teknolojisi de aynı böyle tamamlayıcı bir teknolojidir.

Blokzincirler aslında Bitcoin ile ortaya çıkmadılar. 1982 yılında David Chaum verilerin bilgi paketçikleri (bloklar) şeklinde saklanabileceği fikrini ortaya atmıştı, ancak 2008 yılında Satoshi Nakamoto Bitcoin’i merkeziyetsiz bir DLT olarak hazırladığında blokzincir teknolojisini kullanmıştı. Dolayısı ile pratikte blokzincir teknolojisinin Bitcoin ile ortaya çıktığını varsayarsak, blokzincirler DLT Dünyasında nasıl devrim yaratmış bir teknoloji ise, zk Teknolojileri de benim düşünceme göre günümüzdeki teknolojilerin üzerine eklenip devrim yaratabilecek teknolojilerin başında gelmektedir.

Anlattığına göre bu zk güzel bir teknoloji, peki bu neye benziyor?

Blokzincirleri anlatırken yukarıda bir benzetme yaptım, dedim ki blokzincirler verileri bilgi paketçikleri halinde (bloklar) tutan veri saklamaya yarayan DLT teknolojileridir. Adından da anlaşılacağı üzere BLOK – ZİNCİR blokların veri taşıdığı ve her bloğun bir önceki bloğu onaylayarak uzayıp ilerlediği “zincir” şeklindeki yapılardan ibarettir.

Arab Nations Experiment With Blockchain Technology, but Universities Rarely  Teach It

Kısacası isimler aslında bir şeyi anlama konusunda bize çok yol gösterir.

“zk” zero-knowledge’ın kısaltmasıdır. Aslında zero-knowledge da zero-knowledge proof’un kısaltmasıdır. 🙂 Açıkçası bu tip kısaltmalar hem karizmatik oluyor, hem de birazdan zkSNARK’ları anlattığımda aslında “zk – zero knowledge – zero knowledge proof” kısaltmalarının da aynı zkSNARK’ların çalışma prensibi gibi olduğunu fark edeceksiniz.

Yani tanımlamamız gereken şey “sıfır bilgi ispatı”. Sıfır bilgi ispatını adından yola çıkarak tanımlayalım:

Bu yazıyı yazmadan önce Twitter’da sizlere bir fotoğraf paylaşmıştım. Fotoğraf içerisinde farklı renklerde ve boylarda olan kedilerin içerisindeki tek tavşanı bulmanızı istedim. (Fotoğrafın içerisinde sadece tek bir tavşan vardı. Ancak bir çok yanlış cevap aldım.)

Bild

Sizlerden gelen bazı yanlış ve komik cevaplar 🙂

Aslında resimde tek beyaz bir tavşan var. Resimde fareleri tavşan sananlar oldu. Kesin bulduğuna emin olanlar oldu. Ancak yanlıştı. Elbette doğru cevaplayanlar da oldu.

Soruyu sordum ve bana tavşanın yerini ispatlamaya çalıştınız. Doğru bilenler oklar ile aşağıdaki tavşanı bana gösterdiler. Ben de evet bu kişi doğru buldu çünkü bana tavşanın yerini gösterdi dedim. Kısacası bu bilmecede
SİZ: İSPATLAMAYA ÇALIŞAN KİŞİ (Prover)
BEN: ONAYLAYAN KİŞİ (Verifier)
idim.

Bu ispat ve onay oyununda ben sadece bana net bir şekilde tavşanın yerini kanıt olarak gösteren kişilere inandım. Peki bu ispat oyununda bana tavşanın yerini “sıfır bilgi” ile ispatlayabilir miydiniz?

Evet ispatlayabilirdiniz, eğer tavşanı resim üzerinde oklar ile göstermek yerine tavşanın konumunu resim üzerinde gizleyip bana direkt tavşanın fotoğrafını karanlıklar içerisinde gösterseydiniz, tavşanı gördüğünüzü bana kanıtlamış olacaktınız, ben bu tavşanın yerinin sizin tarafınızdan bilindiğine emin olacaktım ve başka birisi bu tavşanın nerede olduğunu bilmeyecekti.

Sıfır Bilgi (resime göre konum diyelim) ispatı ile tavşanın yerini bildiğinizi ispatlayan fotoğraf.

Örneğin yukarıdaki gibi bir fotoğrafı bana atsaydınız, ben evet bu kişi tavşanın yerini biliyor diyecektim ve dışarıdan tavşanı göremeyen ve arayan birisi BU ADAM TAVŞANI GÖRMÜŞ AMA BEN YERİNİ BULAMIYORUM diyecekti.

Kısacası tavşanın yerini biliyorsunuz ve bana sıfır bilgi ispatı ile bunu gösteriyorsunuz. Ben sunduğunuz kanıtı onaylıyorum ancak attığınız fotoğrafa bakarak tavşanın tam konumunu bilmek imkansız. (Devasa bir resim düşünün.)

İşte “Sıfır Bilgi İspatı” denilen şey budur. Tavşanın yerini İSPATLAMAYA ÇALIŞAN (PROVER) ile ONAYLAYAN (VERIFIER) arasında şüpheye yer kalmadan ve dışarıya diğer bilgileri (tavşanın konumunu) açık vermeden sunulan kanıttır.

zk kısmını anladım peki bu zkSNARK ne?

SNARK aslında bir çok kelimenin kısaltılmış halidir. zk’nin zero-knowledge-proof’un kısaltılması olduğu gibi.

zk: Zero-knowledge
S: Succinct
N: Non-interactive
AR: ARgument
K: of Knowledge

Yukarıda söylediğim gibi yine kelimelerin anlamlarından tanımlama yapalım..

Why zk-SNARK Is The Future Of Blockchain? | by I for business | Coinmonks |  Medium

Zero-knowledge: Yukarıda öğrendiğimiz gibi “sıfır bilgi”.
Succinct: İngilizce kısa ve öz demek. Yani sunduğumuz sıfır bilgi boyut olarak çok küçük. Yani kocaman resimde oklarla tavşanı göstermek yerine minicik tavşanı gösteriyoruz.
Non-interactive: Hatırlarsanız yukarıdaki Prover ile Verifier arasında sürekli soru sorma muhabbeti yoktu, Prover olan siz bana o küçük tavşanı gösterdiğiniz andan itibaren size daha fazla soru sormama gerek kalmadan yerini bana ispatlamış oldunuz. Yani interaktif bir iletişim yok. Bana kanıtı sunuyorsunuz, ben de onaylayıp geçiyorum.
Argument: Bana sunmış olduğunuz delil, argümanın kendisi. Yani tavşanın yukarıdaki sıfır bilgi ispat fotoğrafı ve bu ispatın kriptografik ve matematiksel olarak yazılması (Kriptodaki SNARK’lar birer matematiksel işlemlerin sonucudur).
of Knowledge: Prover yani siz, tavşanın yerini biliyorsunuz, bana ispatlıyorsunuz. Yani bu “bilgiye” sahipsiniz.

Yani zkSNARK’ları özetleyecek olursak: (Yazının en baba yeri geliyor)

  • Küçük ve özler (Blokzincirdeki büyük kanıtların boyutlarını düşürüyorlar).
  • Sürekli iletişim kurmaya gerek kalmıyor (Ağdaki trafiği azaltıyorlar).
  • Dışarıya bilgi göstermiyorlar (Gizlilik sağlıyorlar veya bunun için kullanılabiliyorlar).
  • Bilgilerin ispatlarını taşıyorlar (Yapılan transferi herkese kanıtlamış oluyor).
Bild

Tamam anladık, peki bunu neden yapıyoruz, devrimsel özelliği ne, hangi proje zkSNARK’ları kullanıyor?

Yukarıda blokzincirler için şöyle bir cümle kullanmıştım. “bu teknolojiyi kullanmak tercihe bağlı” bir kripto para yapabilmek için blokzincire ihtiyaç yok. Blokzincir teknolojisini kullanan kripto paralar var. Aynısı bu zkSNARK’lar için de geçerli. Bu bir teknoloji. Sıfırdan bu teknolojiyi kullanarak bir kripto para yapılabilir, mevcut olan kripto paraya bu teknoloji entegre edilebilir veyahut bu teknoloji kullanılmayadabilir.

Ancak zkSNARK’lar hemen hemen bir çok yerde; Rollup’larda (zkSync, Polygon Zero), sıfırdan yapılan blokzincir teknolojilerinde (zCash, Mina Protocol) veyahut mevcut blokzincir teknolojilerine entegre (zkEVM, Single secret leader election) kullanılabilmektedir. Yazının bundan sonraki kısmında bu teknolojinin kullanılma yerleri ve şekillerini, gelecekte olası kullanım alanlarını ve SNARK’ların eksik ve tamamlanması gereken yerlerinden bahsedeceğim.

Rollup’larda zkSNARK

ZK-Rollup terminolojisinden benim takipçilerim bıkmıştır. ZK-Rollup’lar aslında sadece zkSNARK teknolojisini kullanmıyorlar. zkSTARK dediğimiz ayrı yapılar da Rollup mimarilerinde kullanılabiliyor (zkSTARK’lar ayrı bir yazı konusu, ancak prensip olarak SNARK’lara çok ama çok benzerler). Ancak yukarıda öğrendiğimiz zkSNARK’lar bu sistemlerin yardımına koşuyorlar. Eğer Rollup’lar nedir bilmiyorsanız, aşağıdaki yazımı mutlaka okuyun, sonra bu yazıya devam edin.

Ethereum ve Rollup Teknolojileri

Rollup’ların temel mantığı Ethereum zincirinde büyük boyutlu ve ağı tıkayan işlemlerin zincir dışında yapılıp bu işlemlerin yapıldığına dair KANITIN zincire sunulmasına dayanmaktadır. Böylelikle Ethereum ağındaki merkeziyetsizliği ve güvenliği, Rollup’lardaki hızı ve ucuzluğu almış oluyorsunuz. Yukarıda “kanıt” kelimesini kullandım, işte zkSNARK’lar burada ZK-Rollup’lar için devreye giriyor.

zkSNARK’lar zaten küçük ve öz kanıtlar değil miydi? İşte Rollup’lardaki işlemlerin zkSNARK’lanıp minik hale getirilip zincire bu “Succinct” kanıtların sunulması ZK-Rollup teknolojisinin temel mantığıdır. ZK-Rollup’lar için şöyle bir cümle de kullanmıştım, işlem yapıldıkça ucuzlarlar. Bu da SNARK’ların yapısı ile alakalı.

Örneğin, 10 adet işlemi SNARK’lamak ile 100 adet işlemi SNARK’lamak aynı boyuttur. Boyut değişmiyor ise, aynı boyuttaki 100 işlem 10 işleme göre işlem başına çok daha ucuz maliyette olacaktır.

Hermez Adds USDT to Layer 2 Ethereum as ZK-Rollups Take Off

zkSNARK’lar bize işlem yapıldıkça Rollup’larda daha fazla ucuzluk sağlıyor. Faydası bitmedi; SNARK’lardaki “Non-interactive” kısmı da burada çok önemli bir avantaj sağlıyor. Non-interactive yapılarından dolayı sunulan kanıt tek seferlik oluyor ve ZK-Rollup’lardan > Ethereum ağına olan geçişler sadece birkaç saniye sürüyor. Unutulmamalıdır ki, Optimistic Rollup’larda bu süre 7 ile 14 gün arası sürmekteyken, ZK-Rollup’larda SNARK yapılarının “Non-interactive” olmasından dolayı birkaç dakikayı bulmaktadır. İşte bu yüzden Ethereum geliştiricileri ZK-Rollup’ların yani zkSN(T)ARK teknolojisini kullanan Rollup’ların geleceğin ölçeklenme metodu olduğunu düşünmektedir.

Baştan yapılan blokzincirlerde zkSNARK.

zCash zkSNARK teknolojisini kullanan ilk blokzincirlerden biridir. Kendisi aslında Bitcoin’in bir forkudur. Bitcoin kodlarının zkSNARK teknolojisinin kullanılıp yeniden yazılmasıdır diyebiliriz. Her ikisi de 21M limitli coin arzına sahiptir. Peki zkSNARK’lar zCash’te ne için kullanılmaktadır?

Yukarıdaki tavşan oyununda Prover ile Verifier arasında sunulan sıfır bilgi ispatlarında tavşanın yerini doğru bilen bana ispatlamış olsa da dışarıdan bakan birisi bu tavşanın konumunu büyük resimde bulamıyordu. İşte zCash zkSNARK’ların bu özelliğini kullanarak dışarıdan izlenemeyen transferlere imkan tanıyan Gizlilik odaklı bir kripto paradır. Yapılan transferler zkSNARK’lanırsa, dışarıdan bakan birisi bu transferin kimden kime gittiğini anlayamayacaktır. Böylelikle zkSNARK teknolojisi zCash’de gizlilik sağlamakta kullanılmıştır.

Dolayısı ile zkSNARK’lanan coinler blokzincire dışarıdan bakan birisi için görünmeyecektir. Bitcoin veya Ethereum’un şeffaflığının aksine zCash’te kullanılan bu zkSNARK özelliği sayesinde transferler tamamen anonim olarak gerçekleştirilebilmektedir ve zkSNARK’lar şu an gizlilik için keşfedilmiş en iyi teknolojidir. Aztec Protocol aynı zamanda bir ZK-Rollup olup, zkSNARK’ların hem yukarıda anlattığım ölçeklenmesinden yararlanmaktadır, hem de zCash gibi gizlilik özelliğini kullanmaktadır.

Gizlilik konusu yazıyı uzatacağından gizlilik coinleri için yazdığım yazıdan detaylara devam edebilirsiniz. Gizlilik Odaklı Coinlere Genel Bakış

Mina Protocol zkSNARK teknolojisini en baştan itibaren kullanan bir diğer projedir. Yukarıda yazılan zkSNARK’ların ZK-Rollup’lardaki ölçeklenme veya zCash’teki gizlilik sağlamasından ayrıca zkSNARK’lar Mina Protocol’de bütün bir blokzincirin başlı başına zkSNARK’lanmasını hedeflemektedir.

Bunu çok duymuşsunuzdur, Mina Blokzinciri sadece 22 Kb’tan ibarettir. Peki Mina bunu nasıl sağlamaktadır, tabii ki yazımızın konusu olan zkSNARK teknolojisi ile.

Yukarıdaki Prover – Verifier örneği blokzincir içerisindeki transferler veya Merkle Tree dediğimiz diğer yapılar için kullanılmaktaydı. Mina Protocol ise bu teknolojiyi sadece blokzincir içerisindeki transferler için değil, bütün blokzincirin hepsini zkSNARK’layarak sağlamaktadır.

ZK-Rollup örneğinden gidelim, bütün o karmaşık işlemler zkSNARK’lanarak minik kanıtlara dönüştürülmekteydi. İşte Mina’da bu bütün blokzincirin tek ve minik bir kanıta düşürülmesi ile yapılmaktadır. Euro’nun Türk lirasına karşı aylardır olan yükselişini tek bir fotoğrafa indirgeyen aşağıdaki resim gibi. Mina blokzincirde her blok eklendikçe aşağıdaki gibi zinciri SNARK’lar ve fotoğrafını çeker. Elinizde hep tek fotoğraf kalır ancak fotoğraf giderek derinleşir, çekilen her fotoğraf aslında bir öncekini kapsar, ancak boyut değişmez. 🙂

Peki neden böyle bir şeye ihtiyaç duyulmaktadır? Yani blokzinciri sürekli zkSNARK’lamak ve boyutunu küçültmek neye yarar?

Bilindiği üzere blokzincirler büyük blok basmakla veya bu blokların hızını artırmakla hızlanabilmektedirler. Örnek verilecek olursa Polygon PoS Chain veya Binance Smart Chain Ethereum bloklarının daha büyük ve hızlı halidir. Dolayısı ile hızlı ve bloklar basıldığı zaman bekleyen kişi olmayacak ve blokzincirler ucuzlayacaktır. Ancak bu hızlı ve büyük blokların sorunu her seferinde çok daha fazla verinin birikmesi olacak ve zamanla bu blokzincirlere katılmak isteyen FULL NODE’ların çok fazla ve uzun sürede data indirmesine sebep olacaktır.

Why zk-SNARK Is The Future Of Blockchain? | by I for business | Coinmonks |  Medium

Bundan dolayı Ethereum veya Bitcoin büyük bloklar basamıyorlar ve merkeziyetsizliklerini koruyorlar. Çünkü bir blokzincirdeki merkeziyetsizlik oranı o blokzincire rahatlıkla katılabilecek node sayısı ile ölçülmektedir. İşte Mina Protocol bütün bu blokzinciri SNARK’layarak blokzincire katılmak için asgari boyutu minik bir zkSNARK kanıtına indirmektedir (22 Kb).

Fotoğrafın, fotoğrafının, fotoğrafının, fotoğrafının, fotoğrafı.. 🙂 Ancak son celsede elinizde her zaman tek fotoğraf kalacak ve son fotoğraf her zaman bir önceki fotoğrafın verilerini içerecektir. İşte zkSNARK’ların SUCCINCT yapısı Mina Protocol’ün hep 22 Kb kalmasını sağlayacaktır. Mükemmel değil mi? 🙂

Mevcut blokzincirlere entegre edilebilecek zkSNARK.

Rollup’lara, yeni yapılan blokzincirlere zkSNARK kullanıyor, peki hali hazırdaki blokzincirlere örn: Ethereum zkSNARK teknolojisi entegre edilebilir mi, elbette evet!

ZK-Rollup’ları yukarıda anlatırken yoğun işlem yüklerinden bahsedip bunları zincir dışına taşımaktan bahsetmiştim. Peki hali hazırdaki “yoğun ve büyük” işlemleri zkSNARK’lamak nasıl bir fikir olurdu?

Kripto ile yakından ilgili olanlarınız EVM’nin (Ethereum Virtual Machine) ölçeklenemediğini duymuştur. “EVM ölçeklenemiyor ve bu yüzden Ethereum pahalı” cümlesi aslında yanlış değildir. Çünkü EVM’de işlem yapmak çok fazla veri gerektiriyor bu verileri taşıyan bloklar çok daha çabuk doluyor. Bu yüzden Ethereum Foundation çözümü EVM’yi zkSNARK’lamakta buluyor. Eğer EVM’yi zkSNARK’layıp yapılan işlemleri SUCCINCT (kısa ve öz) hale getirirsek, Ethereum’un direkt kendisini ölçeklemiş olacağız. EVM’nin zkSNARK’lanması ciddi bir mühendislik gerekmektedir ve Ethereum’un ileri gelecekteki planlarının başında gelmektedir. Bütün Ethereum blokzincirini zkSNARK’lamak Ethereum 3.0 (evet 3.0)’ın yol haritasını oluşturmaktadır.

Bild

MEV (Miner Extractable Value) kısaltmasını blokzincirlere ve özellikle Ethereum’a ilgili iseniz duymuş olma ihtimaliniz bir hayli yüksek. MEV başlı başına bir yazı konusudur. Açıkçası zkSNARK teknolojisinden çok daha uzun bir makaleyi hak etmektedir. Çünkü hala daha MEV karanlık bir ormandır, tam olarak sınırları yoktur. Ancak özetlemek gerekirse, MEV yapmış olduğunuz bir transferin madenci tarafından blok içerisinde diğer transferler ile sırasının değiştirilip madenci lehine para kazandırılmasıdır.

What Is Miner-Extractable Value (MEV)?

Üstteki cümleyi anlamadıysanız sorun yok, örnekle anlatalım, örneğin MEV Arbitrajı en masum MEV örneklerinden biridir. Uniswap’tan yüklü miktarda ETH aldığınızı farz edelim (bu alım ETH fiyatını yukarı çekecek olsun) bu alımı gören madenci sizin transferinizi blokzincire yazmadan örneğin CurveFinance’den ETH alıp kendi transferini sizin transferinizden önce yapıp, sizin transferinizi blokzincire işledikten sonra Uniswap’taki değişen fiyata kendi aldığı ETH’leri satmak istesin (Karışık oldu ama). 🙂 Böylelikle Curve’den ucuza aldığı ETH’leri sizin Uniswap transferinizden sonra Uniswap’a pahalıdan satacaktır ve bu alım satımdan kâr edecektir.

Yukarıda Arbitraj yapan Sandwich MEV Attack’tan bahsettim. Peki madenci bunu saniyeler içinde nasıl yapmaktadır? Madenci kısaca sizin bu transferinizi Mempool’da (Transferlerin blokzincire girmeyi beklediği yer) görüp, kendi faydası için bu transferlerin sırası ile bloklara eklemeden oynamaktadır.

Mitigating Miner Extractable Value (MEV) with Gnosis Safe | by Tobias  Schubotz | Gnosis

Peki Mempool’u zkSNARK’lasak ve madenci bu transferin içeriğini Mempool’da göremese çok mantıklı olmaz mıydı veya bildiğiniz gibi blokzincirlerde bloğu her seferinde sistemdeki madencilerden veya validatörlerden biri eklemektedir (Bir lider seçilir). Bu lider seçimini (Single secret leader election) zkSNARK’lasak ve kimin lider olduğunu bilmeden blok eklenseydi MEV ataklar savuşturulmaz mıydı?

İşte zkSNARK’ların Non-interacative ve dışarıdan bakıldığında Zero-Knowledge yapısı sayesinde bu tip MEV ataklar savuşturabilmektedir ve MEV’in azaltılmasında zkSNARK’lar yine gündemdedir ve çalışmalar devam etmektedir.

Zksnark – Towards Data Science

Harikaymış, zkSNARK’lar mükemmeller!

Hayır. Kriptoda hiçbir şey “mükemmel” değildir. Her sistemin kendine ait bazı eksik yönleri vardır. Maalesef; zkSNARK’lar boyut küçültüyor, MEV’de kullanılıyor, ölçekliyor, Rollup’lara entregre edilebiliyor, VM’lerde kullanılabiliyor olsalar da mükemmel değiller ve eksik yönleri mevcut.

Kafanızı çok fazla karıştırıp, yazıyı da sıkıcı bir hale getirmek istemiyorum. Ancak zkSNARK’larda yukarıda bahsettiğim tavşan oyununda Prover ile Verifier arasında bir düzenek kurulması gerekiyor ve bu düzenek zkSNARK’larda “Trusted Setup” denilen güvenilir bir ortama bağlıdır. Kısaca Trusted Setup’lar kriptonun istenmeyen çocuğudur, çünkü Trusted Setup adı üstünde “güvendiğiniz” bir yerdir. Dolayısı ile merkezi bir yapıdır. İlk zkSNARK örneği olan zCash Trusted Setup ortamda bu tavşan oyununu oynadığından zkSNARK teknolojisi olarak geride kalmıştır.

The Untrusted Setup – Why you shouldn't trust ZCash – We Use Cash

Hemen enseyi karartmayın, zkSNARK’lar çok yeni bir teknolojidir ve gün geçtikçe yeni şeyler öğreniyoruz. Belki birkaç sene sonra bu yazıda birçok şeyi değiştireceğiz, yeni şeyler ekleyeceğiz. zkSNARK’lar evrilmeye devam ediyor. Trusted Setup yerine geliştirilen “Transparent Setup” zkSTARK’lardır. Bunlar Trusted Setup gerektirmezler. Ancak STARK’lar da mükemmel değiller çünkü kapalı kaynaktır. Yani kodları göremiyoruz..

Ek olarak, Universal Ceremony dediğimiz Trusted Setup’ların tek olmayıp bir çok “circuit”e dağıtılması bu tehlikeyi ortadan kaldırmaktadır. PLONK adı verilen (Aztec Protocol, zkSync) bu sistemlerde Universal Ceremony kullanılmaktadır ve “Trusted” bir Setup’a gerek duymazlar. Öte yandan Mina Protocol’ün kullandığı Pickle zkSNARK’lar da Trusted Setup gerektirmeyen zkSNARK’lardır. zCash ise “Halo” adı verilen zkSNARK’ları kullanmak ve Trusted Setup’tan kurtulmak için çalışmalara başlamış durumdadır. Kısacası zkSNARK’lar Trusted Setup’tan kurtulmak istiyorlar ve kurtulmalılar.

Yukarıdaki terminoloji sıkıcı gelmiş olabilir, hatta zkSNARK’lar tek değilmiydi bunlar nereden çıktı, bu isimler ne diyebilirsiniz, bunlar yapılan çalışmalar neticesinde tanımlanan başka zkSNARK tipleri. Giderek sayıları artacak, çünkü her geçen gün SNARK’lar hakkında yeni şeyler öğreniyoruz ve öğrenmeye devam edeceğiz.

Bu yazı sıkıcılaşmaya başladı, yapmamız gereken nedir? Teknolojiyi bırak coin ver.

Bitiriyorum 🙂

Ben zk teknolojilerinin önünün çok açık olacağını, ileride çok daha iyi zkSNARK’lar bulacağımızı ve bu teknolojilere adapte olmayan projelerin hayatta kalamayacağını düşünmekteyim. Adının giderek kısalması gibi küçülerek devam ediyorlar. 🙂 Özetle, bir yatırımcı olarak önümüzdeki 5-10 senenin geleceğini inşa edecek bu teknolojilerin araştırılıp, bu projelere yatırım yapılmasının ciddi faydası olacağını düşünüyorum.

Sadece başlı başına zkSN(T)ARK kullanan projeler değil, yukarıda anlattığım gibi var olan teknolojilerin de bu zk teknolojisine adaptasyonunu çok önemsiyorum. Dolayısı ile her yatırım yaptığım projede bu tip araştırmalar görmek isterim. zkSNARK’lar hemen her yerde kullanılmaya açık ve belki ileride başka kullanım alanları da göreceğiz. Dolayısı ile ciddi önem arz etmektedirler ve geleceğin yatırım araçlarını oluşturacaklar.

Tobby Kitty

Zero Knowledge Proof: Basics & Applications | Systems and Network Security

Yazılarım

%d bloggers like this: