Move dili güvenliği analizi: Yeni nesil akıllı sözleşmeler dili devrimcisi
Move dili, yeni nesil akıllı sözleşme dili olarak, tasarımının başında blok zinciri ve akıllı sözleşmelerin güvenlik sorunlarını yeterince dikkate almıştır ve Rust dilinin bazı güvenlik tasarım ilkelerinden faydalanmıştır. Bu makale, Move dilinin güvenliğini dil özellikleri, çalışma mekanizması ve doğrulama araçları üç boyutundan inceleyecektir.
1. Move dilinin güvenlik özellikleri
Move dili, tasarımında esneklik dikkate alınarak birçok doğrusal olmayan mantığı terk etmiş, dinamik dağıtım ve özyinelemeli dış çağrıları desteklememekte, bunun yerine alternatif programlama modellerini gerçekleştirmek için genel türler, global depolama, kaynaklar gibi kavramları tanıtmıştır. Bu özellikler, diğer akıllı sözleşme dillerinde yaygın olarak bulunan yeniden girdi gibi açıkları önlemeye yardımcı olmaktadır.
Move dilinin ana bileşenleri şunlardır:
Modül (: Bir dizi yapı tipi ve süreç tanımından oluşmaktadır
)Yapılar(: Kaynak türü olarak tanımlanabilir, kalıcı küresel anahtar/değer deposunda depolanır.
过程)function(: akıllı sözleşmelerin belirli işlevlerini tanımlama
Move dilinin iki önemli kavramı kaynak türleri ve genel depolamadır. Genel depolama, Move programlarının kalıcı verileri saklamasına olanak tanır; bu veriler yalnızca ona sahip olan modül tarafından programatik olarak okunabilir ve yazılabilir, ancak kamu defterinde görüntülenebilir. Kaynak türü, genel depolamaya tekil erişim hakkı sağlar.
Move dili, kodun derleme zamanındaki güvenliğini sağlamak için iki mekanizma kullanır: değişmezlik kontrolü ve bayt kodu doğrulayıcı.
Değişmezlik kontrolü: Sistem durumunun korunmasını tanımlamak için bir kural dili kullanmak
Bytecode doğrulayıcı: güvenlik türü ve lineerleştirme doğrulaması yapar, yapıların geçerliliğinin kontrolü, süreç mantığının anlamsal denetimi ve bağlantı zamanındaki hata kontrolü gibi.
![Move güvenliği analizi: akıllı sözleşmeler dilinin Oyun Değiştirici])https://img-cdn.gateio.im/webp-social/moments-419437619d55298077789e6eca578b48.webp(
2. Move'un çalışma mekanizması
Move programı sanal makinede çalışır, çalışırken sistem belleğine erişemez, bu da güvensiz ortamlarda güvenli çalışmayı garanti eder.
Move programı yığın üzerinde çalışır, durumu çağrı yığını, bellek, global değişkenler ve işlemlerden oluşur. Move'un bayt kodu talimatları yığın tabanlı yorumlayıcıda çalıştırılır, bu da değişkenler arasında kopyalama ve taşıma kontrolünü kolaylaştırır.
Move VM, verileri depolama ve çağrı yığını olarak ayırır, bu EVM'den oldukça farklıdır. Kullanıcı durumu bağımsız olarak depolanır, program çağrıları izin ve kaynak kurallarına uymalıdır, bu da belirli bir esneklikten feragat ederken güvenliği ve yürütme verimliliğini artırmaktadır.
![Move güvenliği analizi: akıllı sözleşmeler dilinin Oyun Değiştirici])https://img-cdn.gateio.im/webp-social/moments-69101617731b12c40620802eecf76caf.webp(
3. Move Prover
Move Prover, Move dilinin sunduğu bir formel doğrulama aracıdır ve programların beklenen sonuçlara uygun olup olmadığını doğrulamak için tümevarım doğrulama algoritmasını kullanır. İş akışı şu şekildedir:
Move kaynak dosyalarını ve standartlarını girdi olarak al
Normları çıkarın ve kaynak dosyayı byte koduna derleyin
Doğrulayıcı nesne modeline dönüştür
Boogie orta diline çevir
Doğrulama koşullarını oluştur
Z3 çözümleyicisi ile formülün tatmin edilebilirliğini kontrol et
Tanı raporu oluşturma
Move Prover, Move Dilinin bir alt kümesi olan Move Specification Language kullanarak sistemin spesifikasyonunu tanımlar.
![Move güvenliği analizi: akıllı sözleşmeler dilinin Oyun Değiştiricisi])https://img-cdn.gateio.im/webp-social/moments-372ff914a241634ca57784dc9685a03d.webp(
Özet
Move dili, dil özellikleri, sanal makine yürütümü ve güvenlik araçları açısından kapsamlı bir güvenlik değerlendirmesi yapmıştır. Yeniden giriş, taşma, enjeksyon gibi yaygın açıkları etkili bir şekilde önleyebilir, ancak yine de kimlik doğrulama, mantık gibi sorunları tamamen ortadan kaldıramaz. Move akıllı sözleşme geliştiricilerine üçüncü taraf güvenlik denetim hizmetlerini kullanmaları ve doğrulama standartları kodu yazmaları için yetkilendirmeleri önerilir.
![Move güvenliği analizi: akıllı sözleşmeler dilinin Oyun Değiştirici])https://img-cdn.gateio.im/webp-social/moments-f7cd11fef1c66709b219e1a1e8d2e4da.webp(
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.
11 Likes
Reward
11
6
Share
Comment
0/400
gas_fee_trauma
· 5h ago
Bu iş yükü henüz solidity'nin yarısını bile geçmiyor.
View OriginalReply0
PuzzledScholar
· 15h ago
Siz güvenlikle neden bu kadar ciddisiniz? Hala biçimsel doğrulama mı?
Move dilinin güvenliği analizi: akıllı sözleşmeler için yeni standartların üç ana direği
Move dili güvenliği analizi: Yeni nesil akıllı sözleşmeler dili devrimcisi
Move dili, yeni nesil akıllı sözleşme dili olarak, tasarımının başında blok zinciri ve akıllı sözleşmelerin güvenlik sorunlarını yeterince dikkate almıştır ve Rust dilinin bazı güvenlik tasarım ilkelerinden faydalanmıştır. Bu makale, Move dilinin güvenliğini dil özellikleri, çalışma mekanizması ve doğrulama araçları üç boyutundan inceleyecektir.
1. Move dilinin güvenlik özellikleri
Move dili, tasarımında esneklik dikkate alınarak birçok doğrusal olmayan mantığı terk etmiş, dinamik dağıtım ve özyinelemeli dış çağrıları desteklememekte, bunun yerine alternatif programlama modellerini gerçekleştirmek için genel türler, global depolama, kaynaklar gibi kavramları tanıtmıştır. Bu özellikler, diğer akıllı sözleşme dillerinde yaygın olarak bulunan yeniden girdi gibi açıkları önlemeye yardımcı olmaktadır.
Move dilinin ana bileşenleri şunlardır:
Move dilinin iki önemli kavramı kaynak türleri ve genel depolamadır. Genel depolama, Move programlarının kalıcı verileri saklamasına olanak tanır; bu veriler yalnızca ona sahip olan modül tarafından programatik olarak okunabilir ve yazılabilir, ancak kamu defterinde görüntülenebilir. Kaynak türü, genel depolamaya tekil erişim hakkı sağlar.
Move dili, kodun derleme zamanındaki güvenliğini sağlamak için iki mekanizma kullanır: değişmezlik kontrolü ve bayt kodu doğrulayıcı.
![Move güvenliği analizi: akıllı sözleşmeler dilinin Oyun Değiştirici])https://img-cdn.gateio.im/webp-social/moments-419437619d55298077789e6eca578b48.webp(
2. Move'un çalışma mekanizması
Move programı sanal makinede çalışır, çalışırken sistem belleğine erişemez, bu da güvensiz ortamlarda güvenli çalışmayı garanti eder.
Move programı yığın üzerinde çalışır, durumu çağrı yığını, bellek, global değişkenler ve işlemlerden oluşur. Move'un bayt kodu talimatları yığın tabanlı yorumlayıcıda çalıştırılır, bu da değişkenler arasında kopyalama ve taşıma kontrolünü kolaylaştırır.
Move VM, verileri depolama ve çağrı yığını olarak ayırır, bu EVM'den oldukça farklıdır. Kullanıcı durumu bağımsız olarak depolanır, program çağrıları izin ve kaynak kurallarına uymalıdır, bu da belirli bir esneklikten feragat ederken güvenliği ve yürütme verimliliğini artırmaktadır.
![Move güvenliği analizi: akıllı sözleşmeler dilinin Oyun Değiştirici])https://img-cdn.gateio.im/webp-social/moments-69101617731b12c40620802eecf76caf.webp(
3. Move Prover
Move Prover, Move dilinin sunduğu bir formel doğrulama aracıdır ve programların beklenen sonuçlara uygun olup olmadığını doğrulamak için tümevarım doğrulama algoritmasını kullanır. İş akışı şu şekildedir:
Move Prover, Move Dilinin bir alt kümesi olan Move Specification Language kullanarak sistemin spesifikasyonunu tanımlar.
![Move güvenliği analizi: akıllı sözleşmeler dilinin Oyun Değiştiricisi])https://img-cdn.gateio.im/webp-social/moments-372ff914a241634ca57784dc9685a03d.webp(
Özet
Move dili, dil özellikleri, sanal makine yürütümü ve güvenlik araçları açısından kapsamlı bir güvenlik değerlendirmesi yapmıştır. Yeniden giriş, taşma, enjeksyon gibi yaygın açıkları etkili bir şekilde önleyebilir, ancak yine de kimlik doğrulama, mantık gibi sorunları tamamen ortadan kaldıramaz. Move akıllı sözleşme geliştiricilerine üçüncü taraf güvenlik denetim hizmetlerini kullanmaları ve doğrulama standartları kodu yazmaları için yetkilendirmeleri önerilir.
![Move güvenliği analizi: akıllı sözleşmeler dilinin Oyun Değiştirici])https://img-cdn.gateio.im/webp-social/moments-f7cd11fef1c66709b219e1a1e8d2e4da.webp(