zk-SNARKs'ın Biçimsel Doğrulaması: Bellek Kanıtı Yöntemi
Sıfır bilgi kanıtı sistemlerinin biçimsel doğrulamasını yaparken, bellek alt sistemi işlemi önemli bir zorluktur. Geleneksel sanal makinelerin aksine, zkVM bellek durumunu temsil etmek için yürütme tablosu ve yardımcı tablo kullanır, bu da özel doğrulama yöntemleri gerektirir.
zkWasm'ın bellek sistemi, yürütme tablosu ve bellek tablosundan oluşur. Yürütme tablosu, talimat yürütme sürecini kaydederken, bellek tablosu ise tüm bellek erişimlerinin tarihçesini saklar. Geliştirmeyi kolaylaştırmak için, zkWasm, bellekle etkileşimde bulunmak için alloc_memory_table_lookup_write_cell ve alloc_memory_table_lookup_read_cell adlı iki fonksiyon aracılığıyla bir soyut katman sağlar.
Doğrulama sürecinde, bellek tablosunu değişken bir veri yapısı olarak ele alıyoruz ve memory_at fonksiyonu aracılığıyla adres veri eşlemesi oluşturuyoruz. Bu, alloc fonksiyonunun ürettiği kısıtların eşlemede yapılan set ve get işlemleri ile eşdeğer olduğunu kanıtlamaya olanak tanır, böylece talimat doğrulamasını ZK benzeri bir yorumlayıcı biçimine basitleştirir.
Saldırganların bellek tablosunu manipüle etmesini önlemek için, zkWasm geçerli girişlerin sayısını izlemek için bir sayım mekanizması kullanır. Yürütme tablosu ve bellek tablosu, her biri kendi sayacını sürdürerek, ikisi arasında tutarlılığı sağlamak için kısıtlamalarla birlikte çalışır. Bu, doğrulama sırasında daha hassas olunmasını gerektirir ve her bir komutun doğru sayıda bellek tablosu girişiyle eşleştiğini kanıtlamayı gerektirir.
Doğrulama süreci üstten alta doğru bir yaklaşım kullanarak üç adım içerir:
Tahmin edilen komut tarafından oluşturulacak giriş sayısı
Kanıt tablosundaki giriş sayısı beklenenden fazla olmamalıdır.
cum_mops ve instructions_mops'un tabloda her zaman tutarlı olduğunu kanıtlamak için tümevarım yöntemiyle.
Bu ayrıntılı doğrulama yöntemi, atlama tablo sayım mekanizmasındaki önemli bir sorunu gibi potansiyel hataları bulmaya yardımcı olur.
Modüler doğrulama sağlamak için sistemi üç bağımsız parçaya ayırıyoruz: talimat devresi doğrulama, yürütme tablosu doğrulama ve bellek tablosu uygulaması. Bu yapı, birden fazla mühendisinin paralel çalışmasına olanak tanıyarak doğrulama verimliliğini artırır.
Genel olarak, zkVM doğrulaması dinamik durumları işlerken farklılıklar gösterse de, uygulamadaki soyutlama katmanları eşleştirilerek, geleneksel yorumlayıcı doğrulamalarına benzer modüler bir yaklaşım benimsenebilir. Bu yöntem, farklılıkların etkisini en aza indirerek, her bir komutun get-set arayüzüne dayanarak bağımsız bir şekilde doğrulanmasını sağlar.
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.
15 Likes
Reward
15
7
Share
Comment
0/400
AltcoinHunter
· 07-04 16:51
değerli öngörüler dolu Mining uzmanı
View OriginalReply0
PerpetualLonger
· 07-04 00:09
Bellek yönetimi çok önemlidir.
View OriginalReply0
MercilessHalal
· 07-03 12:25
Doğrulama yöntemi çok sağlam.
View OriginalReply0
BearHugger
· 07-02 01:45
Maliyet çok yüksek, ticari kullanım için uygun değil.
Sıfır Bilgi Kanıtı sisteminin bellek doğrulama yöntemi: zkWasm nasıl biçimsel doğrulamayı gerçekleştirir
zk-SNARKs'ın Biçimsel Doğrulaması: Bellek Kanıtı Yöntemi
Sıfır bilgi kanıtı sistemlerinin biçimsel doğrulamasını yaparken, bellek alt sistemi işlemi önemli bir zorluktur. Geleneksel sanal makinelerin aksine, zkVM bellek durumunu temsil etmek için yürütme tablosu ve yardımcı tablo kullanır, bu da özel doğrulama yöntemleri gerektirir.
zkWasm'ın bellek sistemi, yürütme tablosu ve bellek tablosundan oluşur. Yürütme tablosu, talimat yürütme sürecini kaydederken, bellek tablosu ise tüm bellek erişimlerinin tarihçesini saklar. Geliştirmeyi kolaylaştırmak için, zkWasm, bellekle etkileşimde bulunmak için alloc_memory_table_lookup_write_cell ve alloc_memory_table_lookup_read_cell adlı iki fonksiyon aracılığıyla bir soyut katman sağlar.
Doğrulama sürecinde, bellek tablosunu değişken bir veri yapısı olarak ele alıyoruz ve memory_at fonksiyonu aracılığıyla adres veri eşlemesi oluşturuyoruz. Bu, alloc fonksiyonunun ürettiği kısıtların eşlemede yapılan set ve get işlemleri ile eşdeğer olduğunu kanıtlamaya olanak tanır, böylece talimat doğrulamasını ZK benzeri bir yorumlayıcı biçimine basitleştirir.
Saldırganların bellek tablosunu manipüle etmesini önlemek için, zkWasm geçerli girişlerin sayısını izlemek için bir sayım mekanizması kullanır. Yürütme tablosu ve bellek tablosu, her biri kendi sayacını sürdürerek, ikisi arasında tutarlılığı sağlamak için kısıtlamalarla birlikte çalışır. Bu, doğrulama sırasında daha hassas olunmasını gerektirir ve her bir komutun doğru sayıda bellek tablosu girişiyle eşleştiğini kanıtlamayı gerektirir.
Doğrulama süreci üstten alta doğru bir yaklaşım kullanarak üç adım içerir:
Bu ayrıntılı doğrulama yöntemi, atlama tablo sayım mekanizmasındaki önemli bir sorunu gibi potansiyel hataları bulmaya yardımcı olur.
Modüler doğrulama sağlamak için sistemi üç bağımsız parçaya ayırıyoruz: talimat devresi doğrulama, yürütme tablosu doğrulama ve bellek tablosu uygulaması. Bu yapı, birden fazla mühendisinin paralel çalışmasına olanak tanıyarak doğrulama verimliliğini artırır.
Genel olarak, zkVM doğrulaması dinamik durumları işlerken farklılıklar gösterse de, uygulamadaki soyutlama katmanları eşleştirilerek, geleneksel yorumlayıcı doğrulamalarına benzer modüler bir yaklaşım benimsenebilir. Bu yöntem, farklılıkların etkisini en aza indirerek, her bir komutun get-set arayüzüne dayanarak bağımsız bir şekilde doğrulanmasını sağlar.