zkApe&Brandon Kase – Röportajı

0 Shares
0
0
0

zkApe: Bu röportajı kabul ettiğin için çok teşekkürler Brandon! zkApe takipçilerine kendinden bahsetmek ister misin? zk alanında çalışmaya başlamadan önce ne yapıyordun? Seni bu alanda heyecanlandıran ne oldu?

Brandon: Herkese merhaba! Background’ım hakkında bilgi verecek olursam: Büyürken bilgisayarlarla ve internetle haşır neşir olduğum için şanslıyım, erken yaşta kendi kendime programlama öğrendim ve yaş aldıkça genel olarak bilgisayar bilimi konularını da öğrenmiş oldum.

Akademik açıdan, Carnegie Mellon Üniversitesi’ne gittim ve oradan Programlama Dili Teorisi üzerine odaklanan bir çalışmayla Bilgisayar Bilimleri bölümünden mezun oldum. Bu çalışma, fonksiyonel programlamadan yoğun bir şekilde yararlanarak endüstride de uygulama gibi bir takıntı haline dönüştü. Facebook ve Mozilla’da stajyer olarak ve bir start-up’ta (Pinterest tarafından satın alındı) ve Pinterest’te tam zamanlı olarak çalışarak sosyal alanda önyüz ve altyapı alanlarında zaman geçirdim – çalışma hayatım boyunca programlama kuramına dair bildiklerimi sürekli işe taşımaya çalıştım ve bu alanda konferanslarda da konuşmalar yaparak topluluğa da duyurmayı hedefledim.

Kripto konusundaysa, Bitcoin’den ilk kez 2009 yılında bir Slashdot paylaşımı sayesinde haberim oldu – O zamanlar Bitcoin node yazılımlarını biraz kurcaladım ama esasında tam anlamıyla 2011 yılında ciddiye almaya başladım ve bir iki yıl kadar Bitcoin madenciliği yaptım. Maalesef, o dönemlerde kazdığım Bitcoinlerin hepsini kaybettim ama kripto alanını sürekli izlemeye devam ettim.

Başlangıçta, bu alanla ilgili beni en çok heyecanlandıran şey bu zorlu teknolojiyle bir şeyler geliştirmekti – 2017’nin sonuna doğru, Evan ve Izaak’la bir projeye katılma fırsatını elde ettim; bunun sonucunda O(1) Labs şirketi ve blok zinciri protokolü Mina doğdu. Bunu kriptoya olan ilgimi, yazılım geliştirmeye akademik bir yaklaşımla birleştirme yolu olarak görüyorum. Başlangıçta, özellikle bu projenin ilgimi çekme nedeni, Mina’nın tekrarlayan (recursive) zkSNARK’ları uygulamasıyla gerekecek mühendislik zorlukları oldu. Mina için, SNARK’lar hakkında akıl yürütme (reasoning) için gömülü bir programla dili geliştirmek zorunda kaldık ve lansmanını bir yıl önce yaptığımız Mina mainnet için güvenli bir proof of stake konsensüs protokolünü tam anlamıyla uygulamaya alan bir dizi zk devresi de geliştirdik – (Mina’nın “22kb blok zincirinin” temelinde bu yatıyor).

Bugünlerde de zk teknolojisinin bu alandaki potansiyel uygulamaları ve daha fazla geliştiricinin zk teknolojisinden faydalanabilmesi için araçlar geliştirme konusu beni heyecanlandırıyor – röportajın ilerleyen bölümlerinde bu konuyu biraz açacağım.

Yaklaşık 6-8 aydır zkApp’ler için geliştirici araçları üzerine odaklanıyorsun. zkApp’in potansiyeli hakkında ne söylemek istersin?

zkApp’lerin potanisyeli beni gerçekten heyecanlandırıyor! Zero knowledge proof uygulamaları geliştirmek zorlu bir iş. Biz de geliştiricilerin işini kolaylaştırmak için, zkApp’leri geliştirme çerçevemiz olan SnarkyJS’yi geliştiriyoruz: SnarkyJS, Typscript kütüphanesi – kullanıcıların yeni bir programlama dili öğrenmesine gerek yok yani. TypeScript kullanmak, 12 milyondan fazla geliştiricinin zaten aşina olduğu bir dil ve araç seti ekosistemi olduğundan dolayı geliştiricilerin JavaScript ve TypeScript kullanarak akıllı kontratlar yazmasına olanak sağlıyor.

Mina’daki zkApp’ler, zincir dışında gizli olarak kullanıcının web tarayıcısında yürütülüyor ve tıpkı Mina’daki bir proof’un blok zincir konsensüs hesaplamasında (computation) olduğu gibi hesaplamada kullanılan bir zero-knowledge proof oluşturuyor.

Yürütme, kullanıcının makinesinde gerçekleştiğinden dolayı kullanıcılar gerçek gizliliğe sahip oluyorlar – verileri asla kendi koruma alanlarının dışına çıkmıyor. Yürütme kullanıcının makinesinde gerçekleştiğinden dolayı, zincir üzeri node’lar yalnızca proof’u doğruladığından dolayı gas ücreti de tahmin edilebilir oluyor. Yürütme kullanıcının makinesinde gerçekleştiğinden ve tekrarlayan proof’un gücü sayesinde, hesaplama gizlilikten veya gas maliyetlerinden ödün vermeden ölçeklenebiliyor!

O(1) Labs’ın üzerinde çalıştığı zkOracles ile (çalışma devam ediyor), web2 kuruluşun API’larında herhangi bir şey değiştirmek zorunda kalmadan web2 verilerini web3’ye taşıyabiliyoruz. Herhangi bir kişisel bilgiyi ifşa etmeden “Gerçek hayattaki fiat banka hesabımda 5.000 dolardan fazla para var,” veya hangi Twitter hesabı olduğunu göstermeksizin “Twitter hesabımda 10.000’den fazla takipçim var,” gibi kanıtlar (proof) oluşturabilir, bu verileri zincirin üzerine taşıyarak web3 uygulamalarında kullanımına olanak sağlayabiliriz.

Altta yatan proof sisteminin (Kimchi) sınırsız tekrarlama özelliği ve SnarkyJS sayesinde, kullanıcılar yüksek performans gerektiren kullanım alanları için uygulamaya-özel-zk-proof’lar oluşturabilirler. Gizlilikle birleştiğinde, Poker gibi gizli durum gerektiren çok oyunculu oyunları geliştirmek de kolaylaşır.

Nil Foundation’ın üzerinde çalıştığı Mina’nın zkBridge’i (çalışma devam ediyor) sayesinde, Mina’daki zkApp’lerle oluşturulan proof’lar mevcut web3 uygulamalarının becerilerini genişletebilir. Örneğin, bir kullanıcı hakkında hassas herhangi bir veriyi ifşa etmeksizin KYC doğrulaması gerçekleştiren bir zkApp oluşturabilir ve bunu daha sonra transfer edilemez (soulbound) bir NFT olarak bir EVM zincire taşıyabiliriz. Böylece, doğrudan zkApp’leri kullanmaya gerek kalmaksızın Solidity Defi uygulamaları bu bilgiyi kullanarak üzerine geliştirme yapabilir. Ayrıca, üzerinde Mina köprüsü bulunan bütün zincirlere derinden bağlanabilecek şekilde Mina üzerinde kullanıma hazır bir zk-rollup uygulaması da kullanabiliriz.

Chainsafe’in üzerinde çalıştığı tarayıcı tabanlı Mina node uygulamasıyla (çalışma devam ediyor), zkApp’lerle etkileşime geçen kullanıcılar tamamen web tarayıcıları üzerinde çalışan tam anlamıyla merkeziyetsiz ve tam anlamıyla güvenli bir Mina node’u ile bu işlemleri gerçekleştirebilecekler – bu durum, tipik olarak Metamask entegrasyonlarının arkasındaki herkese açık varsayılan bir RPC uç noktasına (endpoint) dayalı web3 uygulamalarıyla etkileşime geçme örneğine bir karşıtlık oluşturuyor. Tarayıcı node’unu kullanarak, kullanıcılar web3’ye gerçekten merkeziyetsiz bir şekilde katılım gösterebilirler.

Bugünlerde, daha fazla geliştirici ve kripto kullanıcısı, eskiye kıyasla zk proof kavramına geliştirme açısından daha fazla dikkat etmeye başladı. zk proof’un temel avantajı nedir?

Zk proof’ların temel avantajı, yukarıda bahsettiğim uygulamaları geliştirmemize olanak sağlaması – hatta dahası da var, bu alanda benim veya başkalarının henüz hayalini bile kurmadığı uygulamalara olanak sağlayabilir! Gizlilik ve zincir dışı yürütme sayesinde artık neredeyse her şey mümkün. Biz de SnarkyJs ve zkApp’lerin, hayal edilebilecek her şeyi yerine getirmeey aracılık edeceğini umuyoruz (yetersiz kalırsa da bize geri bildirim verin ki düzeltebilelim).

Zero knowledge’ın blok zinciri uygulamalarına odaklanma eğilimindeyiz. Hep bu kesişimdeydi ama bir veya iki örnek verebilirim. Blok zincir dışındaki zero knowledge konusuna nasıl bakıyorsun veya nasıl çalışıyorsunuz?

O(1) Labs’de, zero knowledge’ı biraz blok zincir bağlamının dışında değerlendiriyoruz. İlk geliştirilecek uygulamaların, zero-knowledge-state-katmanı bağlamında daha anlamlı olacağına inanıyoruz (ki Mina block zinciri bu iş için gayet uygun); ancak Kimchi+SnarkyJS’yi de diğer ürünler için de anlamlı olabilmesi açısından blok zincir dışındaki zero knowledge uygulamaları için sınıfının en iyi aracı haline getirmeyi hedefliyoruz. Uygulamaya dair aklımızda birkaç fikir var ama bunlar için henüz erken. Yapacağımız duyuruları takipte kalın!

Süper Brandon, çok iyi yanıtlar aldık! Şimdi son sorumuza gelelim. Zk alanında kendini geliştirmek isteyenlere ne önerirsin? Bu alanda ilerlemek için neler yapabilirler?

ZK alanında kendini geliştirmek için önce zk’nın hangi yönüne odaklanacağına karar vermeli: derin kriptografi, ürün tasarımı veya uygulama geliştirme. Derin kriptografinin odak alanı, ileri matematik konusunda sağlam bir bilgi birikimi gerektiriyor. Bu benim çok da güçlü olmadığım bir alan, temel bilgiye sahibim. SNARK’ların eski bir yapısı konusunda benim en kavrayabildiğim en iyi kaynak, Vitalik’in zkSNARK serisiydi. Onun ötesinde, özellikle Mina’nın proof sistemi hakkında bilgi almak için Mina book’u da okuyabilirsiniz. Zero knowledge konusu çoğunluğun ilgisini çekmeye başladığından dolayı daha makul erişilebilir kaynaklar da ortaya çıkıyor ama ben pek aşina değilim. Son olarak, temel bilgileri edindikten sonra alanda neler olup bittiğini takip etmenin en iyi yolu, yayınlanan araştırma makalelerini takip etmek. zk alanında ilgi çekici ürünler ve altyapılar geliştirmek için derin kriptografinin ayrıntılarını anlamanın çok da önemli olmadığını da vurgulamak isterim.

Ürün tasarlamak için, bu teknolojinin becerilerini gerçekten iyi anlamak önemli – bunun en iyi yolu ise araçlar geliştiren insanları takip etmek (örneğin O(1) Labs gibi), ilgili konferanslarda yapılan sunumları takip etmek ve diğer geliştiricilerle konuşmak.

Uygulama geliştirmek içinse; pratik, pratik, pratik. Geliştirmeye başlayın. SnarkyJS’yi ve zkApp’leri denemenizi istiyoruz; çünkü bunların zk uygulamalarının çoğu için en iyi seçenek olduğuna inanıyoruz ve bu araçlar gerçekten başlangıçta işleri kolaylaştırmaya çalışıyor. Tabii başka araçları da deneyebilirsiniz – en önemli şey, geliştirmeye bir yerden başlamak. Ne geliştireceğinizi bilmiyorsanız da koda bakmadan mevcut örnekleri yeniden yapmaya çalışın ya da ürün tasarımıyla ilgilenen insanlarla konuşun! Herkese bol şans!

Röportajı b62'de yayınlamamıza izin verdikleri için zkApe ekibine teşekkür ederiz.

Yazı kaynağı: https://zkape.substack.com/p/zk-talks-with-brandon-kase

zkApe’yi ve Brandon’ı takip edin:
zkApe Twitter: @0xzkApe
zkApe Substack: https://zkape.substack.com
Brandon Twitter: @bkase_
Brandon Github: https://github.com/bkase

0 Shares
Bir yanıt yazın

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