Son yıllarda, STARKs protokol tasarım trendi daha küçük alanlar kullanmaya yöneldi. İlk STARKs uygulamaları 256 bit alan kullanıyordu, bu da eliptik eğri imzalarıyla uyumlu fakat verimliliği daha düşüktü. Verimliliği artırmak için, STARKs Goldilocks, Mersenne31 ve BabyBear gibi daha küçük alanlar kullanmaya başladı.
Bu dönüşüm, kanıtlama hızını önemli ölçüde artırdı. Örneğin, Starkware M3 dizüstü bilgisayarda saniyede 620.000 Poseidon2 hash'ini kanıtlayabiliyor. Bu, sadece Poseidon2'yi bir hash fonksiyonu olarak güveniyorsanız, verimli ZK-EVM sorununu çözebileceğiniz anlamına geliyor. Bu makale, bu teknolojilerin nasıl çalıştığını inceleyecek ve özellikle Circle STARKs çözümüne odaklanacaktır.
Küçük Alanların Kullanımı ile İlgili Sıkça Sorulan Sorular
Hash tabanlı kanıt sisteminde, önemli bir teknik, çok terimlilerin rastgele noktalar üzerindeki değerlendirmeleri aracılığıyla çok terimlilerin özelliklerini dolaylı olarak doğrulamaktır. Bu, kanıt sürecini büyük ölçüde basitleştirir.
Örneğin, kanıtlama sistemi, A^3(x) + x - A(ωx) = x^N eşitliğini sağlayan polinom A'nın taahhüdünü oluşturmasını isteyebilir. Protokol, rastgele koordinat r seçilmesini ve A(r) + r - A(ωr) = r^N eşitliğini kanıtlamasını isteyebilir.
Saldırıları önlemek için, saldırgan tarafından A sağlandıktan sonra r seçilmelidir. 256 bitlik alanlarda bu oldukça basit, ancak küçük alanlarda yalnızca yaklaşık 2 milyar r seçeneği vardır, bu da saldırganın kırılmasına neden olabilir.
İki tür çözüm var:
Birçok rastgele denetim gerçekleştirin
Genişletilmiş alan
Birden fazla kontrol basit ve etkilidir, ancak güvenliği artırmak için döngü sayısının artırılması gerekebilir. Genişletilmiş alan, sonlu alana dayalı olarak çoğul gibidir. Yeni bir değer α tanıtarak, daha karmaşık matematiksel yapılar oluşturulur ve daha fazla seçenek sunulur.
Düzenli FRI
FRI protokolünün ilk adımı, hesaplama problemini çok terimli denklem P(X,Y,Z)=0'a dönüştürmektir. Ardından, önerilen değerin makul bir çok terimli olduğu ve sonlu bir dereceye sahip olduğu kanıtlanır.
FRI, d derece polinomun doğruluğunu kanıtlama problemini d/2 derece polinomun doğruluğunu kanıtlama problemine indirgemek suretiyle doğrulamayı basitleştirir. Bu süreç, her seferinde problemi yarıya indirerek birden fazla kez tekrarlanabilir.
Circle FRI
Circle STARKs'ın inceliği, p asal sayısı için p boyutunda bir grup bulunabilmesidir ve bu grup, ikiye bir benzeri özelliklere sahiptir. Bu grup, belirli koşulları sağlayan noktaların toplamından oluşur, örneğin x^2 mod p'nin belirli bir değere eşit olduğu nokta kümesi.
Bu noktalar toplama kuralını takip eder: (x1,y1) + (x2,y2) = (x1x2 - y1y2, x1y2 + x2y1)
Çift biçimi: 2*(x,y) = (2x^2 - 1, 2xy)
Circle FRI'nin haritalaması ikinci turdan itibaren şöyle değişiyor:
f0(2x^2-1) = (F(x) + F(-x))/2
Bu harita her seferinde küme boyutunu yarıya indirir, x iki noktayı temsil eder: (x, y) ve (x, -y). (x → 2x^2 - 1) nokta iki katına çıkarma kuralıdır.
Daire FFT'leri
Circle grubu FFT'yi de destekliyor, yapısı FRI'ye benziyor. Ancak Circle FFT'nin işlediği nesne Riemann-Roch uzayıdır, katı çok terim değil.
Circle FFT'nin katsayıları belirli bir temeldir: {1, y, x, xy, 2x^2 - 1, 2x^2y - y, 2x^3 - x, ...}
Geliştiriciler bu noktayı neredeyse göz ardı edebilir, yalnızca polinomu değerlendirme değeri kümesi olarak depolamaları yeterlidir. FFT esas olarak düşük dereceli genişleme için kullanılır.
Bölme
circle grubundaki STARK'ta, tek nokta lineer fonksiyon olmadığından, geleneksel çarpma işlemlerinin yerini almak için farklı teknikler kullanmak gerekmektedir. Genellikle, bir sanal nokta ekleyerek kanıtlamak için iki noktada değerlendirme yapmak gerekir.
Kaybolan polinomlar
Circle STARK'taki kaybolan çok terimli:
Z1(x,y) = y
Z2(x,y) = x
Zn+1(x,y) = (2 * Zn(x,y)^2) - 1
Ters bit sırası
Circle STARKs'ta katlanmış yapıyı yansıtmak için ters bit sırasının ayarlanması gerekir, yani son bit hariç her bir bitin tersine çevrilmesi, son bitin diğer bitlerin tersine çevrilip çevrilmeyeceğini belirlemesi gerekir.
Verimlilik
Circle STARKs çok verimlidir, hesaplama genellikle şunları içerir:
İş mantığının yerel aritmetiği
Kriptografik yerel aritmetik ( gibi Poseidon hash'i )
Parametreleri Bul
2^31 boyutundaki alan, alan israfını azaltır. Binius, karışık alan boyutları açısından daha iyidir, ancak konsept daha karmaşıktır.
Sonuç
Circle STARKs, geliştiriciler için STARKs'tan daha karmaşık değildir. Matematiğini anlamak zaman alır, ancak karmaşıklık iyi bir şekilde gizlenmiştir.
Mersenne31, BabyBear ve ikili alan teknolojisini birleştirerek, STARKs temel katman verimliliği neredeyse sınırına ulaşıyor. Gelecekteki optimizasyon yönleri şunları içerebilir:
Hash fonksiyonları vb. için hesaplama verimliliğini maksimize etme
Paralelleşmeyi artırmak için özyinelemeli yapı
Geliştirme deneyimini iyileştirmek için aritmetik sanal makine
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.
10 Likes
Reward
10
5
Repost
Share
Comment
0/400
RektRecorder
· 17h ago
Bu kadar hız artışı mı? Acayip!
View OriginalReply0
AirdropGrandpa
· 17h ago
Küçük alan performansı gerçekten harika, çok rahatlatıcı~
Circle STARKs: Küçük alanlar verimliliği artırır, yeni nesil etkili ZK kanıt sistemlerini keşfeder
Circle STARKs'ı Keşfet
Son yıllarda, STARKs protokol tasarım trendi daha küçük alanlar kullanmaya yöneldi. İlk STARKs uygulamaları 256 bit alan kullanıyordu, bu da eliptik eğri imzalarıyla uyumlu fakat verimliliği daha düşüktü. Verimliliği artırmak için, STARKs Goldilocks, Mersenne31 ve BabyBear gibi daha küçük alanlar kullanmaya başladı.
Bu dönüşüm, kanıtlama hızını önemli ölçüde artırdı. Örneğin, Starkware M3 dizüstü bilgisayarda saniyede 620.000 Poseidon2 hash'ini kanıtlayabiliyor. Bu, sadece Poseidon2'yi bir hash fonksiyonu olarak güveniyorsanız, verimli ZK-EVM sorununu çözebileceğiniz anlamına geliyor. Bu makale, bu teknolojilerin nasıl çalıştığını inceleyecek ve özellikle Circle STARKs çözümüne odaklanacaktır.
Küçük Alanların Kullanımı ile İlgili Sıkça Sorulan Sorular
Hash tabanlı kanıt sisteminde, önemli bir teknik, çok terimlilerin rastgele noktalar üzerindeki değerlendirmeleri aracılığıyla çok terimlilerin özelliklerini dolaylı olarak doğrulamaktır. Bu, kanıt sürecini büyük ölçüde basitleştirir.
Örneğin, kanıtlama sistemi, A^3(x) + x - A(ωx) = x^N eşitliğini sağlayan polinom A'nın taahhüdünü oluşturmasını isteyebilir. Protokol, rastgele koordinat r seçilmesini ve A(r) + r - A(ωr) = r^N eşitliğini kanıtlamasını isteyebilir.
Saldırıları önlemek için, saldırgan tarafından A sağlandıktan sonra r seçilmelidir. 256 bitlik alanlarda bu oldukça basit, ancak küçük alanlarda yalnızca yaklaşık 2 milyar r seçeneği vardır, bu da saldırganın kırılmasına neden olabilir.
İki tür çözüm var:
Birden fazla kontrol basit ve etkilidir, ancak güvenliği artırmak için döngü sayısının artırılması gerekebilir. Genişletilmiş alan, sonlu alana dayalı olarak çoğul gibidir. Yeni bir değer α tanıtarak, daha karmaşık matematiksel yapılar oluşturulur ve daha fazla seçenek sunulur.
Düzenli FRI
FRI protokolünün ilk adımı, hesaplama problemini çok terimli denklem P(X,Y,Z)=0'a dönüştürmektir. Ardından, önerilen değerin makul bir çok terimli olduğu ve sonlu bir dereceye sahip olduğu kanıtlanır.
FRI, d derece polinomun doğruluğunu kanıtlama problemini d/2 derece polinomun doğruluğunu kanıtlama problemine indirgemek suretiyle doğrulamayı basitleştirir. Bu süreç, her seferinde problemi yarıya indirerek birden fazla kez tekrarlanabilir.
Circle FRI
Circle STARKs'ın inceliği, p asal sayısı için p boyutunda bir grup bulunabilmesidir ve bu grup, ikiye bir benzeri özelliklere sahiptir. Bu grup, belirli koşulları sağlayan noktaların toplamından oluşur, örneğin x^2 mod p'nin belirli bir değere eşit olduğu nokta kümesi.
Bu noktalar toplama kuralını takip eder: (x1,y1) + (x2,y2) = (x1x2 - y1y2, x1y2 + x2y1)
Çift biçimi: 2*(x,y) = (2x^2 - 1, 2xy)
Circle FRI'nin haritalaması ikinci turdan itibaren şöyle değişiyor: f0(2x^2-1) = (F(x) + F(-x))/2
Bu harita her seferinde küme boyutunu yarıya indirir, x iki noktayı temsil eder: (x, y) ve (x, -y). (x → 2x^2 - 1) nokta iki katına çıkarma kuralıdır.
Daire FFT'leri
Circle grubu FFT'yi de destekliyor, yapısı FRI'ye benziyor. Ancak Circle FFT'nin işlediği nesne Riemann-Roch uzayıdır, katı çok terim değil.
Circle FFT'nin katsayıları belirli bir temeldir: {1, y, x, xy, 2x^2 - 1, 2x^2y - y, 2x^3 - x, ...}
Geliştiriciler bu noktayı neredeyse göz ardı edebilir, yalnızca polinomu değerlendirme değeri kümesi olarak depolamaları yeterlidir. FFT esas olarak düşük dereceli genişleme için kullanılır.
Bölme
circle grubundaki STARK'ta, tek nokta lineer fonksiyon olmadığından, geleneksel çarpma işlemlerinin yerini almak için farklı teknikler kullanmak gerekmektedir. Genellikle, bir sanal nokta ekleyerek kanıtlamak için iki noktada değerlendirme yapmak gerekir.
Kaybolan polinomlar
Circle STARK'taki kaybolan çok terimli: Z1(x,y) = y Z2(x,y) = x
Zn+1(x,y) = (2 * Zn(x,y)^2) - 1
Ters bit sırası
Circle STARKs'ta katlanmış yapıyı yansıtmak için ters bit sırasının ayarlanması gerekir, yani son bit hariç her bir bitin tersine çevrilmesi, son bitin diğer bitlerin tersine çevrilip çevrilmeyeceğini belirlemesi gerekir.
Verimlilik
Circle STARKs çok verimlidir, hesaplama genellikle şunları içerir:
2^31 boyutundaki alan, alan israfını azaltır. Binius, karışık alan boyutları açısından daha iyidir, ancak konsept daha karmaşıktır.
Sonuç
Circle STARKs, geliştiriciler için STARKs'tan daha karmaşık değildir. Matematiğini anlamak zaman alır, ancak karmaşıklık iyi bir şekilde gizlenmiştir.
Mersenne31, BabyBear ve ikili alan teknolojisini birleştirerek, STARKs temel katman verimliliği neredeyse sınırına ulaşıyor. Gelecekteki optimizasyon yönleri şunları içerebilir: