Move dili, yeni nesil akıllı sözleşme dili olarak, güvenliği ana özellik olarak öne çıkarmaktadır. Bu makalede, Move dilinin güvenlik sorunları dil özellikleri, çalışma mekanizması ve doğrulama araçları açısından ele alınacaktır.
1. Move dilinin güvenlik özellikleri
Move dili, doğrusal olmayan mantığı terk etti, dinamik dağıtım ve dış çağrıları desteklemiyor, bunun yerine genel tipler, küresel depolama, kaynaklar gibi kavramları kullanarak alternatif programlama modelleri gerçekleştiriyor. Aşağıda basit bir token varlık uygulaması örneği verilmiştir:
hareket et
modül 0x1::TestCoin {
0x1::signer kullan
const ADMIN: address = @0x1;
struct Coin anahtar, mağaza {
değer: u64
}
struct Bilgi anahtar içerir {
toplam_arıza: u64
}
// Toplam arz, tüm Coin'lerin değerlerinin toplamına eşittir
invariant herkes için addr: adres vardır<coin>(addr):
global<info>(ADMIN).toplam_tedarik == toplam(seç Coin.değer (global<coin>(addr)));
public fun initialize(account: &signer) {
assert!(signer::address_of(account) == ADMIN, 0);
move_to(hesap, Bilgi { toplam_tedarik: 0 });
}
public fun mint(account: &signer, amount: u64): Coin {
assert!(imzacı::adres_of(hesap) == YÖNETİCİ, 0);
let supply = borrow_global_mut\u003cinfo\u003e(ADMIN);
supply.total_supply = supply.total_supply + miktar;
Coin { value: miktar }
}
public fun value_mut(coin: &mut Coin): &mut u64 {
&mut coin.value
}
}
Move dilinin iki önemli güvenlik mekanizması:
a) Değişmezlik Kontrolü: Durum korunumu, azaltma dili ile tanımlanır.
b) Bytecode doğrulayıcı: Güvenli türlerin ve lineerleştirmenin zorunlu kılınması, yasadışı işlemleri önler.
2. Move'un çalışma mekanizması
Move programı sanal makinede çalışır, doğrudan sistem belleğine erişemez. Program durumu çağrı yığını, bellek, global değişkenler ve işlem dizisi ile oluşur.
MoveVM, verileri depolama ve çağrı yığını arasında ayırarak güvenliği ve yürütme verimliliğini artırdı. Kaynakların bağımsız depolanması ve sıkı erişim kontrolü, bazı yaygın açıkları etkili bir şekilde önlüyor.
3. Prover'ı Taşı
Move Prover, programların doğruluğunu doğrulamak için bir çıkarımsal doğrulama algoritması kullanan bir biçimsel doğrulama aracıdır. Mimarisi aşağıdaki gibidir:
Move kaynak dosyalarını ve standartları al
Bayt koduna derleme ve doğrulayıcı nesne modeli
Boogie ara diline dönüştür
Doğrulama koşullarını oluştur
Z3 çözücü kullanarak doğrulama
Tanı raporu çıktısı
Move Specification Language, iş kodundan bağımsız olarak program davranış standartlarını tanımlamak için kullanılır.
4. Özet
Move dili, dil özellikleri, sanal makine yürütme ve güvenlik araçları açısından kapsamlı bir güvenlik değerlendirmesi gerçekleştirmiştir. Bazı yaygın güvenlik açıklarını etkili bir şekilde önleyebilir, ancak kimlik doğrulama, mantık gibi sorunlara dikkat edilmesi gerekmektedir. Geliştiricilerin üçüncü taraf güvenlik denetimi kullanmaları ve standart doğrulama işlemlerini profesyonel güvenlik şirketlerine bırakmaları önerilmektedir.
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.
22 Likes
Reward
22
7
Share
Comment
0/400
FromMinerToFarmer
· 07-08 18:00
Move katil geldi~
View OriginalReply0
ProxyCollector
· 07-08 01:41
Uzun yazıldığı için kimsenin okumadığı seri
View OriginalReply0
TestnetScholar
· 07-06 08:22
Move gelecektir!
View OriginalReply0
MetaverseVagabond
· 07-06 08:20
Güvenliğin ne işe yarar, para kazanmayı bilmelisin.
Move dilinin güvenliği üzerine tartışma: özellikler, mekanizmalar ve doğrulama araçlarının kapsamlı analizi
Giriş
Move dili, yeni nesil akıllı sözleşme dili olarak, güvenliği ana özellik olarak öne çıkarmaktadır. Bu makalede, Move dilinin güvenlik sorunları dil özellikleri, çalışma mekanizması ve doğrulama araçları açısından ele alınacaktır.
1. Move dilinin güvenlik özellikleri
Move dili, doğrusal olmayan mantığı terk etti, dinamik dağıtım ve dış çağrıları desteklemiyor, bunun yerine genel tipler, küresel depolama, kaynaklar gibi kavramları kullanarak alternatif programlama modelleri gerçekleştiriyor. Aşağıda basit bir token varlık uygulaması örneği verilmiştir:
hareket et modül 0x1::TestCoin { 0x1::signer kullan
}
Move dilinin iki önemli güvenlik mekanizması:
a) Değişmezlik Kontrolü: Durum korunumu, azaltma dili ile tanımlanır.
b) Bytecode doğrulayıcı: Güvenli türlerin ve lineerleştirmenin zorunlu kılınması, yasadışı işlemleri önler.
2. Move'un çalışma mekanizması
Move programı sanal makinede çalışır, doğrudan sistem belleğine erişemez. Program durumu çağrı yığını, bellek, global değişkenler ve işlem dizisi ile oluşur.
MoveVM, verileri depolama ve çağrı yığını arasında ayırarak güvenliği ve yürütme verimliliğini artırdı. Kaynakların bağımsız depolanması ve sıkı erişim kontrolü, bazı yaygın açıkları etkili bir şekilde önlüyor.
3. Prover'ı Taşı
Move Prover, programların doğruluğunu doğrulamak için bir çıkarımsal doğrulama algoritması kullanan bir biçimsel doğrulama aracıdır. Mimarisi aşağıdaki gibidir:
Move Specification Language, iş kodundan bağımsız olarak program davranış standartlarını tanımlamak için kullanılır.
4. Özet
Move dili, dil özellikleri, sanal makine yürütme ve güvenlik araçları açısından kapsamlı bir güvenlik değerlendirmesi gerçekleştirmiştir. Bazı yaygın güvenlik açıklarını etkili bir şekilde önleyebilir, ancak kimlik doğrulama, mantık gibi sorunlara dikkat edilmesi gerekmektedir. Geliştiricilerin üçüncü taraf güvenlik denetimi kullanmaları ve standart doğrulama işlemlerini profesyonel güvenlik şirketlerine bırakmaları önerilmektedir.