Blokzincirin Temelleri: zk STARK & zk SNARK-banner-imageAkademi

Blokzincirin Temelleri: zk STARK & zk SNARK

Günümüzde, blokzincir teknolojisi her alanda kendine yer edinmeye devam etmektedir. Teknolojinin sunmuş olduğu gizlilik, güvenlik ve hız gibi benzersiz özellikler sayesinde finanstan, sağlık alanına, eğitimden, askeri teknolojiye kadar birçok alanda blokzincir kullanımına örnekler görmekteyiz. Blokzincir teknolojisinin tercih edilmesindeki sebeplerden olan veri gizliliğinin sağlanması için birçok protokol bulunmaktadır. Bu protokollerden en yaygınları zk SNARK ve zk STARK protokolleridir. zk SNARK ingilizce, “Zero Knowledge Succinct Non Interactive Argument Knowledge” ifadesinin kısaltmasıdır. Ancak tüm bu konuların öncesinde öğrenmemiz gereken terim Zero Knowledge Proof’un türkçe karşılığı ile Sıfır Bilgi İspatı’nın ne anlama geldiğidir.

Zero Knowledge Proof - Sıfır Bilgi İspatı

Zero Knowledge Proof, en basit tabiri ile, sahip olduğunuz bir kasanın şifrelerini paylaşmadan şifreyi bilen başka birine şifrelerinizin doğruluğunu kanıtlayabildiğiniz bir yöntemdir. Bu yöntemle ne siz şifrelerinizi başkası ile paylaşmak zorunda kalırsınız ne de herhangi bir üçüncü parti yazılım ya da şahıs gerçekleştirdiğiniz etkileşimde şifrelerinizi paylaştığınızı bilecektir. Bu yöntemdeki amaç sahip olduğunuz şifreyle ilgili herhangi bir bilgi vermeden karşı tarafa bilginizin doğruluğunu ispatlamaktır. Sıfır Bilgi İspatı terimi de buradan ortaya çıkmaktadır. zk (Zero Knowledge) yöntemi genellikle kimlik doğrulama yöntemi olarak kullanılmaktadır. Bu yöntemle kanıtlayıcı kişi, kimlik bilgileri ile ilgili hiçbir veriyi paylaşmadan doğrulayıcıya kimlik ispatı gerçekleştirebilmektedir.

zk SNARK

zk SNARK’lar etkileşime geçmeden yapılabilen kanıtlamalar anlamına gelmektedir. zk SNARK yönteminde çok uzun veriler bile çok kısa halde oluşturulan ispatlar ile çok kısa sürelerde doğrulanabilmektedir. zk SNARK’ların Zero Knowledge Proof yönteminden en önemli farkı, Zero Knowledge Proof yönteminde kanıtlayıcı ve doğrulayıcı arasında bir etkileşimin olmasıdır. Kanıtlayıcı, doğrulayıcıya bilgiye sahip olduğuna dair bir mesaj paylaşır ve doğrulayıcı da bu mesajın doğruluğunu teyit eder ve onaylar. zk SNARK sıfır bilgi kanıtı yönteminde ise kanıtlayıcı ve doğrulayıcı arasında karşılıklı bir etkileşim söz konusu değildir. zk SNARK yönteminde kanıtlayıcı doğrulayıcıya, doğrulaması için yalnızca bir bilgi gönderir. Bu nedenle kanıtlayıcı ve doğrulayıcı arasında etkileşim bulunmamaktadır.

Prover (İspatlamaya Çalışan Kişi).jpg

zk STARK

zk SNARK birçok açıdan bilgi ispatı sorununu çözmektedir. Ancak bu yöntemdeki en büyük sorun, kullanıcıların kurulum aşamasına ve sistemi kuran taraflara dolaylı olarak güvenmesi gerektiğidir. Sistemin kullanıcıları, kurulumda ya da daha sonra bir noktada tehlikeye atılıp atılmadıklarını asla bilemezler. Bu sebeple kullanıcıların sistemin güvenilir taraflarca kurulup kurulmadığını düşünmelerine gerek olmayan bir sistem ihtiyacı ortaya çıkmaktadır.

zk STARK sistemi de tam da bu yönden bir güvenilirliği zorunlu kılmayan bir tür kriptografik kanıtlama teknolojisidir. zk STARK yönteminde bu sebeple “doğrulanabilir rastgelelik” kullanılmaktadır. Üçüncü şahıs taraflardan güvenilir kurulum aşamasının gerekli olmadığı, bunun yerine genel olarak doğrulanabilir rastgelelik kavramının kullanıldığı göz önüne alındığında, zk STARK sistemleri daha fazla güvenilirlik içermektedir.

zk-SNARK'lar ve zk-STARK'lar Arasındaki Farklar

  • zk-SNARK'lar güvenilir bir kurulum aşaması gerektirirken, zk-STARK'lar güvenilir bir şekilde doğrulanabilir hesaplama sistemleri oluşturmak için herkes tarafından doğrulanabilir rastgelelik kullanır.

  • zk-STARK'lar, zk-SNARK'lara kıyasla hesaplama hızı ve boyutu açısından daha fazla ölçeklenebilirler.

  • zk-SNARK'lar, kullandıkları kriptografi nedeniyle kuantum bilgisayarlardan gelecek saldırılara açıktır. zk-STARK'lar ise bu gibi saldırılara dirençlidir.