Son yıllarda, STARKs protokol tasarımında eğilim daha küçük alanların kullanımına doğru kaymaktadır. İlk STARKs uygulamaları 256 bit alan kullanıyordu, ancak bu tasarımın verimliliği düşüktü. Bu sorunu çözmek için, STARKs daha küçük alanlar kullanmaya yönelmeye başladı, örneğin Goldilocks, Mersenne31 ve BabyBear.
Bu dönüşüm, kanıt hızını büyük ölçüde artırdı. Örneğin, Starkware bir M3 dizüstü bilgisayarda saniyede 620.000 Poseidon2 hash'ini kanıtlayabiliyor. Bu, Poseidon2'ye bir hash fonksiyonu olarak güvenildiği sürece, verimli ZK-EVM sorununu çözebileceği anlamına geliyor.
Bu makale, bu teknolojilerin nasıl çalıştığını inceleyecek ve özellikle Mersenne31 alanı ile uyumlu olan Circle STARKs çözümüne odaklanacaktır.
Küçük Alanların Kullanımıyla İlgili Sık Sorulan Sorular
Hash tabanlı bir kanıt oluştururken, önemli bir teknik, çok terimli polinomun rastgele noktalar üzerindeki değerlendirmesi yoluyla polinomun özelliklerini dolaylı olarak doğrulamaktır. Bu, kanıt sürecini büyük ölçüde basitleştirir.
Ancak, bu tür rastgele örnekleme küçük alanlarda güvenlik sorunları taşımaktadır. Örneğin, Mersenne31 alanında yalnızca yaklaşık 2 milyar olası örnekleme noktası bulunmaktadır ve bu, kararlı bir saldırgan için mümkündür.
İki çözüm var:
Birçok rastgele denetim gerçekleştirin
Genişletilmiş Alan
Birden fazla kontrol basit ve etkilidir, ancak verimlilik sorunu vardır. Genişletilmiş alan ise daha fazla örnekleme noktası seçeneği sunarak güvenliği artırabilir.
Genel FRI
FRI protokolünün ilk adımı, hesaplama problemini çok terimli denkleme dönüştürmektir. Ardından, önerilen çok terimli çözümün gerçekten makul bir çok terim olduğunu ve belirli bir maksimum dereceye sahip olduğunu kanıtlamak gerekmektedir.
FRI, d dereceli bir polinomun doğrulanması problemini d/2 dereceli bir problemin doğrulanmasına kademeli olarak indirgemek suretiyle bunu gerçekleştirir. Bu süreç, her seferinde problemin boyutunu yarıya indirerek birçok kez tekrarlanabilir.
FRI'nin her adımı, polinom derecesini ve nokta kümesi boyutunu yarıya indirir. İlk kısım FRI'nin çalışmasının anahtarıdır, ikincisi ise algoritmanın çok hızlı çalışmasını sağlar.
Circle FRI
Circle STARKs'ın inceliği, p büyüklüğünde benzer bir çift yönlü özellik taşıyan bir grup bulmasında yatmaktadır. Bu grup, belirli koşulları karşılayan noktaların birleşiminden oluşmaktadır.
İkinci turdan itibaren, eşleme değişiyor:
f_0(2x^2-1) = (F(x) + F(-x))/2
Bu eşleme her seferinde nokta kümesi boyutunu yarıya indirir.
Daire FFT'leri
Circle grubu da FFT'yi destekler, yapısı FRI'ye benzer. Ancak Circle FFT'nin işlediği nesneler kesin birer çokterim değil, sözde Riemann-Roch uzayıdır.
Geliştirici olarak, bunu neredeyse göz ardı edebilirsiniz. STARKs yalnızca polinomları değerlendirme değerleri kümesi olarak depolamanızı gerektirir. FFT'nin gerekli olduğu tek yer düşük dereceli genişlemedir.
Ticaret İşlemleri
Circle STARKs'te, tek noktadan geçebilen lineer bir fonksiyon olmadığı için geleneksel bölme işlem yöntemlerini ikame etmek için farklı teknikler kullanmak gerekmektedir.
İki noktada değerlendirme yapmak zorundayız, böylece dikkate alınması gerekmeyen sanal bir nokta ekleyebiliriz.
Kaybolan Çok Terimli
Circle STARKs'ta kaybolma polinomunun biçimi şudur:
Z_1(x,y) = y
Z_2(x,y) = x
Z_{n+1}(x,y) = (2 * Z_n(x,y)^2) - 1
Ters Sıra
Circle STARKs içindeki ters sıralama, özel katlama yapısını yansıtacak şekilde ayarlanmalıdır. Spesifik olarak, son basamak hariç her basamağın tersine çevrilmesi gerekir ve diğer basamakların ters çevrilip çevrilmeyeceğini son basamak belirler.
Verimlilik
Circle STARKs çok etkilidir. Büyük alan SNARK'larına kıyasla, hesaplama izinde daha fazla alan kullanabilirler.
Binius, bazı açılardan Circle STARKs'tan daha iyidir, ancak bunun bedeli kavramın daha karmaşık olmasıdır. Buna karşılık, Circle STARKs kavramsal olarak nispeten daha basittir.
Sonuç
Circle STARKs, geliştiriciler için geleneksel STARKs'tan daha karmaşık değildir. Arkasındaki matematik karmaşık olsa da, bu karmaşıklık iyi bir şekilde gizlenmiştir.
Mersenne31, BabyBear ve Binius gibi teknolojileri bir araya getirerek, STARKs temel katmanının verimlilik sınırına yaklaşmış görünmekteyiz. Gelecekteki optimizasyon yönleri şunları içerebilir:
Hash fonksiyonu ve imzanın verimliliğini maksimize et
Paralellik artırmak için özyinelemeli yapı
Geliştirme deneyimini iyileştirmek için sanal makineyi optimize et
View Original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
17 Likes
Reward
17
7
Share
Comment
0/400
DataOnlooker
· 07-17 04:18
Yine bu derin şeylerden bahsediyorsun, bu da zk'nın bir başka uygulaması değil mi?
View OriginalReply0
VCsSuckMyLiquidity
· 07-16 15:03
Teknik metin sadece performansa odaklanır, uygulama en önemlisidir.
View OriginalReply0
CryptoGoldmine
· 07-14 21:01
Veri çıkarımları, sadece iki haftada %30 ROI sağladığını göstermektedir.
View OriginalReply0
CafeMinor
· 07-14 21:00
Optimizasyon mu? Devam et ve sar.
View OriginalReply0
ShamedApeSeller
· 07-14 20:57
Stark'ı biliyor musunuz, anlamıyormuş gibi yapmayın.
Circle STARKs: Verimli zk-SNARKs teknolojisinde yeni bir keşif
Circle STARKs'ı Keşfet
Son yıllarda, STARKs protokol tasarımında eğilim daha küçük alanların kullanımına doğru kaymaktadır. İlk STARKs uygulamaları 256 bit alan kullanıyordu, ancak bu tasarımın verimliliği düşüktü. Bu sorunu çözmek için, STARKs daha küçük alanlar kullanmaya yönelmeye başladı, örneğin Goldilocks, Mersenne31 ve BabyBear.
Bu dönüşüm, kanıt hızını büyük ölçüde artırdı. Örneğin, Starkware bir M3 dizüstü bilgisayarda saniyede 620.000 Poseidon2 hash'ini kanıtlayabiliyor. Bu, Poseidon2'ye bir hash fonksiyonu olarak güvenildiği sürece, verimli ZK-EVM sorununu çözebileceği anlamına geliyor.
Bu makale, bu teknolojilerin nasıl çalıştığını inceleyecek ve özellikle Mersenne31 alanı ile uyumlu olan Circle STARKs çözümüne odaklanacaktır.
Küçük Alanların Kullanımıyla İlgili Sık Sorulan Sorular
Hash tabanlı bir kanıt oluştururken, önemli bir teknik, çok terimli polinomun rastgele noktalar üzerindeki değerlendirmesi yoluyla polinomun özelliklerini dolaylı olarak doğrulamaktır. Bu, kanıt sürecini büyük ölçüde basitleştirir.
Ancak, bu tür rastgele örnekleme küçük alanlarda güvenlik sorunları taşımaktadır. Örneğin, Mersenne31 alanında yalnızca yaklaşık 2 milyar olası örnekleme noktası bulunmaktadır ve bu, kararlı bir saldırgan için mümkündür.
İki çözüm var:
Birden fazla kontrol basit ve etkilidir, ancak verimlilik sorunu vardır. Genişletilmiş alan ise daha fazla örnekleme noktası seçeneği sunarak güvenliği artırabilir.
Genel FRI
FRI protokolünün ilk adımı, hesaplama problemini çok terimli denkleme dönüştürmektir. Ardından, önerilen çok terimli çözümün gerçekten makul bir çok terim olduğunu ve belirli bir maksimum dereceye sahip olduğunu kanıtlamak gerekmektedir.
FRI, d dereceli bir polinomun doğrulanması problemini d/2 dereceli bir problemin doğrulanmasına kademeli olarak indirgemek suretiyle bunu gerçekleştirir. Bu süreç, her seferinde problemin boyutunu yarıya indirerek birçok kez tekrarlanabilir.
FRI'nin her adımı, polinom derecesini ve nokta kümesi boyutunu yarıya indirir. İlk kısım FRI'nin çalışmasının anahtarıdır, ikincisi ise algoritmanın çok hızlı çalışmasını sağlar.
Circle FRI
Circle STARKs'ın inceliği, p büyüklüğünde benzer bir çift yönlü özellik taşıyan bir grup bulmasında yatmaktadır. Bu grup, belirli koşulları karşılayan noktaların birleşiminden oluşmaktadır.
İkinci turdan itibaren, eşleme değişiyor:
f_0(2x^2-1) = (F(x) + F(-x))/2
Bu eşleme her seferinde nokta kümesi boyutunu yarıya indirir.
Daire FFT'leri
Circle grubu da FFT'yi destekler, yapısı FRI'ye benzer. Ancak Circle FFT'nin işlediği nesneler kesin birer çokterim değil, sözde Riemann-Roch uzayıdır.
Geliştirici olarak, bunu neredeyse göz ardı edebilirsiniz. STARKs yalnızca polinomları değerlendirme değerleri kümesi olarak depolamanızı gerektirir. FFT'nin gerekli olduğu tek yer düşük dereceli genişlemedir.
Ticaret İşlemleri
Circle STARKs'te, tek noktadan geçebilen lineer bir fonksiyon olmadığı için geleneksel bölme işlem yöntemlerini ikame etmek için farklı teknikler kullanmak gerekmektedir.
İki noktada değerlendirme yapmak zorundayız, böylece dikkate alınması gerekmeyen sanal bir nokta ekleyebiliriz.
Kaybolan Çok Terimli
Circle STARKs'ta kaybolma polinomunun biçimi şudur:
Z_1(x,y) = y Z_2(x,y) = x
Z_{n+1}(x,y) = (2 * Z_n(x,y)^2) - 1
Ters Sıra
Circle STARKs içindeki ters sıralama, özel katlama yapısını yansıtacak şekilde ayarlanmalıdır. Spesifik olarak, son basamak hariç her basamağın tersine çevrilmesi gerekir ve diğer basamakların ters çevrilip çevrilmeyeceğini son basamak belirler.
Verimlilik
Circle STARKs çok etkilidir. Büyük alan SNARK'larına kıyasla, hesaplama izinde daha fazla alan kullanabilirler.
Binius, bazı açılardan Circle STARKs'tan daha iyidir, ancak bunun bedeli kavramın daha karmaşık olmasıdır. Buna karşılık, Circle STARKs kavramsal olarak nispeten daha basittir.
Sonuç
Circle STARKs, geliştiriciler için geleneksel STARKs'tan daha karmaşık değildir. Arkasındaki matematik karmaşık olsa da, bu karmaşıklık iyi bir şekilde gizlenmiştir.
Mersenne31, BabyBear ve Binius gibi teknolojileri bir araya getirerek, STARKs temel katmanının verimlilik sınırına yaklaşmış görünmekteyiz. Gelecekteki optimizasyon yönleri şunları içerebilir: