Son yıllarda, STARKs protokol tasarımının eğilimi daha küçük alanlar kullanmaya doğru kaymaktadır. İlk STARKs üretim uygulamaları 256 bitlik alanlar 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ıtlama hızını artırdı. Örneğin, Starkware bir M3 dizüstü bilgisayarda saniyede 620.000 Poseidon2 hash değerini kanıtlayabiliyor. Bu, Poseidon2'yi hash fonksiyonu olarak kullanmaya istekli olduğumuz sürece, verimli bir ZK-EVM geliştirme sorununu çözebileceğimiz anlamına geliyor.
Bu makale bu teknolojilerin çalışma prensiplerini inceleyecek ve özellikle Circle STARKs çözümüne odaklanacaktır. Circle STARKs, Mersenne31 alanı ile uyumlu benzersiz özelliklere sahiptir.
Küçük matematik alanlarının yaygın sorunları
Hash tabanlı bir kanıt oluştururken, önemli bir teknik, çok terimli bir polinomun rastgele noktalar üzerindeki değerlendirme sonuçlarını kanıtlayarak polinomun özelliklerini dolaylı olarak doğrulamaktır. Bu yöntem, kanıt sürecini büyük ölçüde basitleştirebilir.
Saldırıları önlemek için, saldırganın polinomunu verdikten sonra rastgele noktalar seçmemiz gerekiyor. Daha küçük alanlardaki STARK'larda, seçilebilecek rastgele değerlerin sayısı sınırlıdır, bu da güvenlik açısından zorluklar yaratmaktadır.
Çözüm iki tanedir:
Birden fazla rastgele kontrol yapın
Genişletilmiş Alan
Genişletilmiş alan, sonlu alanlara dayalı olarak çoğul gibi benzer. Yeni bir değer α getirerek, sonlu alan üzerinde daha karmaşık işlemler yapabilen yeni bir matematik yapısı oluşturduk. Bu genişletme, daha fazla değer seçeneğine sahip olmamıza olanak tanır ve böylece güvenliği artırır.
Circle FRI
Circle STARKs'ın inceliği, verilen bir asal p için, ikiye bir benzeri özelliklere sahip p boyutunda bir grup bulunabilmesidir. Bu grup, belirli koşulları karşılayan noktaların bir araya gelmesiyle oluşur ve bir toplama kuralına uyar.
İkinci turdan itibaren, haritalama değişiyor:
f_0(2x^2-1) = (F(x) + F(-x))/2
Bu haritalama her seferinde küme boyutunu yarıya indirir. Her 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 da FFT'yi desteklemektedir, yapısı FRI'ye benzer. Bir anahtar fark, Circle FFT'nin işlediği nesnelerin katı bir şekilde çok terimsel olmaması, bunun yerine Riemann-Roch uzayı olmasıdır.
Geliştirici olarak, bunu neredeyse tamamen göz ardı edebilirsiniz. STARK'lar, katsayıları anlamanızı asla talep etmez. Tek yapmanız gereken, çok terimli ifadeyi belirli bir alandaki bir dizi değerlendirme değeri olarak saklamaktır.
Bölme
circle group'un STARK protokolünde, tek bir noktadan geçebilen lineer fonksiyonlar olmadığı için, geleneksel bölme işlemi yöntemlerinin yerine farklı teknikler kullanmak zorundayız. İki noktada değerlendirme yaparak bunu kanıtlamak zorundayız, böylece dikkate alınması gerekmeyen sanal bir nokta ekleyebiliriz.
Z_1(x,y) = y
Z_2(x,y) = x
Z_{n+1}(x,y) = (2 * Z_n(x,y)^2) - 1
Ters bit sırası
Circle STARKs'ın katlanma yapısını yansıtmak için ters sıralamayı ayarlamak amacıyla, son basamak hariç her bir basamağı tersine çevirmemiz gerekiyor ve diğer basamakların tersine çevrilip çevrilmeyeceğine son basamak karar verecek.
Verimlilik
Circle STARKs çok verimlidir. Kanıtlanmış bir hesaplama genellikle şunları içerir:
Yerel aritmetik: İş mantığı için kullanılır
Yerel Aritmetik: Kriptografi için kullanılır
Parametreleri Bul
Verimliliğin anahtarı, hesaplama izleme sürecindeki tüm alanı faydalı işler için etkin bir şekilde kullanmaktır. Circle STARKs bu konuda iyi bir performans sergiliyor.
Sonuç
Circle STARKs, geliştiriciler için STARKs'tan daha karmaşık değildir. Arkasındaki matematik karmaşık olsa da, bu karmaşıklık aslında iyi bir şekilde gizlenmiştir.
Mersenne31, BabyBear ve Binius gibi teknolojileri birleştirerek, STARKs temel katmanının verimlilik sınırına yaklaşıyoruz. Gelecekte STARK'ın optimizasyon yönleri şunları içerebilir:
Hash fonksiyonu ve imza gibi işlemlerin maksimum verimlilikle aritmetik hale getirilmesi
Daha fazla paralelleştirme sağlamak için özyinelemeli yapılandırma yapın
Geliştirici 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.
14 Likes
Reward
14
8
Repost
Share
Comment
0/400
RebaseVictim
· 08-09 04:33
Yeni çıkan verimlilik bu kadar yüksek, nasıl ölçüldü?
View OriginalReply0
BankruptcyArtist
· 08-06 12:24
Hız bu kadar hızlı, şimdi gazın düşmesini bekliyorum.
View OriginalReply0
HappyMinerUncle
· 08-06 07:04
Hadi L2'yi biraz daha hızlı yapalım.
View OriginalReply0
SolidityJester
· 08-06 07:01
Bu küçük alanı güzel oynamışlar.
View OriginalReply0
FlashLoanLord
· 08-06 06:59
stark artık küçük alanlar kullanıyor, biraz güçlü.
View OriginalReply0
NftPhilanthropist
· 08-06 06:57
aslında sosyal etki için daha küçük alanlar kullanmalarının dehası... tbh 620k tx/s ile iyilik kanıtı
Circle STARKs: Verimliliği artırmak için küçük alanları keşfeden yeni bir teknoloji
Circle STARKs'i Keşfet
Son yıllarda, STARKs protokol tasarımının eğilimi daha küçük alanlar kullanmaya doğru kaymaktadır. İlk STARKs üretim uygulamaları 256 bitlik alanlar 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ıtlama hızını artırdı. Örneğin, Starkware bir M3 dizüstü bilgisayarda saniyede 620.000 Poseidon2 hash değerini kanıtlayabiliyor. Bu, Poseidon2'yi hash fonksiyonu olarak kullanmaya istekli olduğumuz sürece, verimli bir ZK-EVM geliştirme sorununu çözebileceğimiz anlamına geliyor.
Bu makale bu teknolojilerin çalışma prensiplerini inceleyecek ve özellikle Circle STARKs çözümüne odaklanacaktır. Circle STARKs, Mersenne31 alanı ile uyumlu benzersiz özelliklere sahiptir.
Küçük matematik alanlarının yaygın sorunları
Hash tabanlı bir kanıt oluştururken, önemli bir teknik, çok terimli bir polinomun rastgele noktalar üzerindeki değerlendirme sonuçlarını kanıtlayarak polinomun özelliklerini dolaylı olarak doğrulamaktır. Bu yöntem, kanıt sürecini büyük ölçüde basitleştirebilir.
Saldırıları önlemek için, saldırganın polinomunu verdikten sonra rastgele noktalar seçmemiz gerekiyor. Daha küçük alanlardaki STARK'larda, seçilebilecek rastgele değerlerin sayısı sınırlıdır, bu da güvenlik açısından zorluklar yaratmaktadır.
Çözüm iki tanedir:
Genişletilmiş alan, sonlu alanlara dayalı olarak çoğul gibi benzer. Yeni bir değer α getirerek, sonlu alan üzerinde daha karmaşık işlemler yapabilen yeni bir matematik yapısı oluşturduk. Bu genişletme, daha fazla değer seçeneğine sahip olmamıza olanak tanır ve böylece güvenliği artırır.
Circle FRI
Circle STARKs'ın inceliği, verilen bir asal p için, ikiye bir benzeri özelliklere sahip p boyutunda bir grup bulunabilmesidir. Bu grup, belirli koşulları karşılayan noktaların bir araya gelmesiyle oluşur ve bir toplama kuralına uyar.
İkinci turdan itibaren, haritalama değişiyor:
f_0(2x^2-1) = (F(x) + F(-x))/2
Bu haritalama her seferinde küme boyutunu yarıya indirir. Her 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 da FFT'yi desteklemektedir, yapısı FRI'ye benzer. Bir anahtar fark, Circle FFT'nin işlediği nesnelerin katı bir şekilde çok terimsel olmaması, bunun yerine Riemann-Roch uzayı olmasıdır.
Geliştirici olarak, bunu neredeyse tamamen göz ardı edebilirsiniz. STARK'lar, katsayıları anlamanızı asla talep etmez. Tek yapmanız gereken, çok terimli ifadeyi belirli bir alandaki bir dizi değerlendirme değeri olarak saklamaktır.
Bölme
circle group'un STARK protokolünde, tek bir noktadan geçebilen lineer fonksiyonlar olmadığı için, geleneksel bölme işlemi yöntemlerinin yerine farklı teknikler kullanmak zorundayız. İki noktada değerlendirme yaparak bunu kanıtlamak zorundayız, böylece dikkate alınması gerekmeyen sanal bir nokta ekleyebiliriz.
Kaybolan polinomlar
Dairesel STARK'ta, kaybolma çokgen fonksiyonu şudur:
Z_1(x,y) = y Z_2(x,y) = x Z_{n+1}(x,y) = (2 * Z_n(x,y)^2) - 1
Ters bit sırası
Circle STARKs'ın katlanma yapısını yansıtmak için ters sıralamayı ayarlamak amacıyla, son basamak hariç her bir basamağı tersine çevirmemiz gerekiyor ve diğer basamakların tersine çevrilip çevrilmeyeceğine son basamak karar verecek.
Verimlilik
Circle STARKs çok verimlidir. Kanıtlanmış bir hesaplama genellikle şunları içerir:
Verimliliğin anahtarı, hesaplama izleme sürecindeki tüm alanı faydalı işler için etkin bir şekilde kullanmaktır. Circle STARKs bu konuda iyi bir performans sergiliyor.
Sonuç
Circle STARKs, geliştiriciler için STARKs'tan daha karmaşık değildir. Arkasındaki matematik karmaşık olsa da, bu karmaşıklık aslında iyi bir şekilde gizlenmiştir.
Mersenne31, BabyBear ve Binius gibi teknolojileri birleştirerek, STARKs temel katmanının verimlilik sınırına yaklaşıyoruz. Gelecekte STARK'ın optimizasyon yönleri şunları içerebilir: