zk Teknolojisi 2...

B68S...mEBg
26 Jan 2024
28

Merhabalar, dün kaldığımız yerden devam iyi okumalar;

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.
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.
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.
Ü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.
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.

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.
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.

Bir serimizin sonuna geldik, Tobbykitty abimize teşekkür ederiz.

Sağlıklı, mutlu ve huzurlu kalın...

Write & Read to Earn with BULB

Learn More

Enjoy this blog? Subscribe to mga

1 Comment

B
No comments yet.
Most relevant comments are displayed, so some may have been filtered out.