Aleo ve Zero Knowledge Proof Nedir?

kuzeydurden
3 min readJul 10, 2022

--

Merhabalar, bu yazımda sizlere Aleo ve Zero Knowledge Proof’tan bahsetmek istiyorum.

İlk olarak, Aleo Nedir?

Aleo, tamamen gizli uygulamalar sunan ilk platformdur. Bir layer 1 olan Aleo ile tamamen gizli, şifrelenmiş bir şekilde işlem yapabilir, uygulamalar geliştirebilirsiniz.

En sevdiğim örneklerden biri olan ve Aleo’nun daha iyi anlaşılabildiği bir örnekle olayı pekiştirmek istiyorum.

Bitcoin → >ZCash

EthereumAleo

Bitcoin ve Etheruem ağlarında yaptığınız işlemler halka açık bir şekilde gerçekleşir ve herkes görebilir. Ancak ZCash ve Aleo’da mahremiyetiniz korunur.

Aleo’nun ZCash’ten en üstün özelliği programlanabilir olmasıdır. Aynı ethereum ve bitcoin farkı gibi. Bitcoin ağı akıllı kontratları desteklemez ve üstünde dApp geliştiremezsiniz. Ancak Ethereum ağı akıllı kontratları destekler ve üstüne merkeziyetsiz uygulamalar (dApp) geliştirebilirsiniz.

Aleo’ya ethereum benzetmesi, Zcash’e ise bitcoin benzetmesi yapmamız bu yüzden. Zcash üstünde dapp geliştiremez iken Aleo ile tamamen gizli merkeziyetsiz uygulamalar geliştirebilirsiniz.

Peki Aleo Gizliliği Nasıl Sağlıyor?

Zero Knowledge Proof kullanarak. Çok kısa bir şekilde anlatmak gerekirse bir bilgiyi bildiğinizi karşı tarafa o bilgiyi söylemeden kanıtlamanıza zero knowledge proof diyebiliriz. Türkçe ismiyle de sıfır bilgi kanıtı. Yani sıfır bilgi ile o bilginin doğruluğunu kanıtlıyoruz.

Nasıl?

ZKP’lerin ispatında, belirli bir durumun geçerliliğini( doğru veya yanlış) kanıtlamak isteyen bir Prover ve bunu doğrulamak isteyen Verifier katılır.

  • Prover: Verifier’e hangi bilgilere sahip olduğunu söylemeden, bilgiyi bildiğini kanıtlamak isteyen katılımcıdır.
  • Verifier: Prover’in kanıtlamaya çalıştığı bilgileri doğrulamak isteyen katılımcıdır.

Popüler olan bir örnek üzerinden gidelim, anlamak daha kolay olucaktır.

İki kişi hayal edelim, Alice’nin renk körü olduğunu, Bob’un ise olmadığını.

Bob, Alice’nin elinde özdeş ve renkleri farklı olan(Kırmızı ve yeşil) 2 adet topunun olduğunu kanıtlamaya çalışıyor.

Fakat Alice renk körü olduğu için topları aynı renkte görüyor ve bunların farklı renkte olduğuna inanmıyor.

  • Alice(Verifier), her elinde birer tane olmak üzere iki topu alır ve arkasına koyar.
  • Ardından toplardan birini Bob’a( Prover) gösterir. Tekrar arkasına koyar topu.
  • Ardından, Bob’a rastgele başka bir top gösterir.
  • Sonra Bob’a “topları değiştirdim mi?” diye sorar.
  • İşlem gerektiği kadar tekrarlanabilir.

Bob renk körü olmadığı için topların değişip değişmediğini kesin olarak görür ve bunu renkleri söylemeden kanıtlar.

Alice’nin sakla+karıştır ve Bob’un tepkisinden oluşan bu döngüyü birkaç kez tekrarlayan Alice, sonunda Bob’un sırrını (topların rengini) bildiğine ikna olacaktır. Bunu ne kadar fazla tekrarlarsak, o kadar yüksek ihtimalle emin oluyoruz.

ZK matematiğinde buna “Completeness” denir. Bu örnek “sıfır bilgi”dir çünkü Alice hangi topun kırmızı hangisinin yeşil olduğunu asla öğrenemez.

Peki toplar aynı renkte olsaydı?

Eğer toplar aynı renkte olsaydı, Bob(prover) %50'den yüksek bir olasılıkla asla tahmin edemezdi. Ve bu işlemi defalarca tekrarlarsanız, başarılı olma olasılığınız sıfıra yaklaşırdı. ZK matematiğinde buna “Soundness” denir.

Alice ve Bob örneğini sevgili astronomica’nın Zero-Knowledge Proof ve SNARK nedir? yazısından aldım. Kullanmama izin verdiği için teşekkür ederim.

Zero Knowledge Proof avantajları nelerdir?

ZKP teknolojisi, işlem gerçekleştirirken diğer hassas verilerin kullanım ve şifre gereksinimini tamamen ortadan kaldırıyor.

ZKP, işlem sahibinin şifre kullanmasına veya karşı tarafa herhangi bir veri göstermesine gerek kalmadan iki taraf arasında bilgi transferinin gerçekleşmesine olanak sağlıyor.

MEV botları ve madenci atakları gibi on-chain verilerden elde edilen saldırılara karşı korur.

Aleo Üzerinde dApp Geliştirme

Aleo üzerinde dapp geliştirilebilmek için LEO adında bir programlama diline sahip. Bu dil ile Aleo üzerinde mutlak gizliliği sağlayan dapp’ler geliştirebileceksiniz. Leo dilini meraklıları için gerekli doküman: https://developer.aleo.org/developer/getting_started/overview/

İşe Yarar Linkler

Aleo ve ZKP yazım bu kadardı son olarak Aleo dokümanı ve topluluğuna dair linkleri buraya eklemek istedim.

Resmi Web Sitesi

Resmi Doküman

Twitter

Discord

--

--

No responses yet