blog 1HaberlerGeliştiricilerEnterpriseBlockchain AçıklamasıEtkinlikler ve KonferanslarBasınBültenler

Haber bültenimize abone ol.

E

Senin gizliliğine saygı duyuyoruz

AnasayfaBlogBlockchain Geliştirme

Ethereum 2.0 Phase 0 Özelliklerini Resmi Olarak Doğrulamak

ConsenSys R’den bir güncelleme&Beacon Chain’e ve Eth2’nin temel temellerine güvenilirlik getirme çabalarından ötürü. by Franck CassezAğustos 10, 2020Yayınlanan Ağustos 10, 2020

dafny blog kahramanı doğrula


ConsenSys R’deki Otomatik Doğrulama ekibi&D, birkaç aydır İşaretçi Zincirinin resmi özellikleri ve doğrulaması üzerinde çalışıyor. Çok fazla ilerleme kaydedildiğini ve henüz tamamlanmamasına rağmen geliştirmeyi başardığımızı bildirmekten mutluluk duyuyoruz. Beacon Chain’in sağlam ve resmi olarak doğrulanmış bir çekirdeği. İlk defa, çalışmalarımız Eth2.0 altyapısının temel temellerine eşsiz bir güvenilirlik seviyesi sağlıyor..

Metodoloji

Doğrulama ve Test Etme

Kullandık ödüllü doğrulamaya duyarlı programlama dili Dafny yazmak resmi (işlevsel ve mantıksal) Şartname her bir Beacon Chain işlevinin bir uygulama her bir işlev ve bir kanıt uygulamanın spesifikasyonuna uygun olduğunu. Başka bir deyişle, hataların olmadığını matematiksel olarak doğruladık. Sonunda doğru olduğunu ispatladığımız uygulamalar, resmi Eth2.0 özellikleri bazı hataları ve tutarsızlıkları giderdiğimiz ve rapor ettiğimiz uyarısı ile.

Metodolojimiz test etmekten farklıdır, çünkü matematiksel olarak kanıtlamak fonksiyonların özelliklerine uygunluğu, herşey girdiler. Test, sonsuz sayıda girdiyi kapsayamaz ve sonuç olarak hataları keşfedebilir, ancak hataların olmadığını kanıtlayamaz.

Ve en iyisi, bir makale yayınlamamıza veya kanıtları gözden geçirmemize gerek olmamasıdır. İspatlar kod tabanının bir parçasıdır ve programlar olarak yazılır. Evet, Dafny’de geliştirici dostu bir program olarak bir kanıt yazabilirsiniz. Ayrıca kanıtlar mekanik olarak kontrol edilir bir teorem kanıtlayıcı tarafından eksik veya kusurlu kanıtlara yer bırakmadan.

İspatladığımız Özellikler 

Özellikler yokluğundan aritmetik under / overflows ve sınırların dışında dizin, her bir işlevin mantıksal (birinci dereceden mantık) ön / son koşullara uygunluğu (burada merkelise örneği), fonksiyonların kompozisyonlarını içeren daha karmaşık olanlara. Örneğin, aşağıdakilere sahibiz SSZ’nin mülkü Seri Hale Getirme / Seri Çıkarma işlevler: her nesne için x, Deserialise (Serialise (x)) = x, yani serileştirilmiş bir nesnenin serisini kaldırmak orijinal nesneyi döndürür. Ayrıca bir değişmezlerin sayısı, Beacon Chain ve ForkChoice’in temel operasyonlarının (state_transition, on_block) aslında bir blok zinciri inşa et: Mağazadaki herhangi bir b bloğu için, b’nin ataları, bir blok zincirinin ana özelliği olan genesis bloğuna giden sonlu, tamamen sıralı bir dizi oluşturur.!

Resmi Doğrulamanın Yararları

Herhangi bir resmi metodist, doğrulamanın en iyi güvenlik uygulaması olduğunda ısrar eder. İşte bu metodolojinin Ethereum 2.0 için güvenli ve güvenilir bir altyapıyı nasıl sağladığını burada bulabilirsiniz..

Fonksiyonel Özellikler

İlk olarak, resmi Eth2.0 spesifikasyonlarını bir biçimsel mantıksal ve işlevsel belirtim. Her işlev için resmi olarak tanımlarız fonksiyonun neyi hesaplaması bekleniyor, nasıl değil. Bu sağlar dilden bağımsız geliştirici dostu referans spesifikasyonları daha az çabayla daha güvenli uygulamalar geliştirmek için kullanılabilen. 

Modülerlik

İkincisi, şartnamelerimiz, uygulamalarımız ve kanıtlama mimarimiz modüler. Sonuç olarak, kolayca yapabiliriz yeni uygulamalarla deneme (ör. optimizasyonlar) ve genel sistem üzerindeki etkilerini kontrol edin. Bir işlevi uygulamak için akıllıca bir hack mi düşünüyorsunuz? Uygulamayı değiştirin ve Dafny’den yine de spesifikasyonuna uygun olup olmadığını kontrol etmesini isteyin. Varsa, bu işlevi kullanan bileşenlerin kanıtları etkilenmez..

Yürütülebilirlik

Üçüncüsü, uygulamalarımız çalıştırılabilir. Bir Dafny programını derleyip çalıştırabiliriz. Daha da iyisi yapabilirsin otomatik olarak kodunu oluşturun Dafny kodundan C #, Go (ve yakında Java) gibi bazı popüler programlama dillerinde. Bu, mevcut kod tabanlarını tamamlamak veya sertifikalı testler. Test edilecek uygulama, bir testin beklenen sonucunu hesaplamak ve kendi sonucuyla karşılaştırmak için kanıtlanmış doğru işlevlerimizi kullanabilir.   

Her Şey Tek Bir Dilde

Son olarak, kod tabanımız kendi kendine yeten. Tek, okunabilir, basit ve anlamsal olarak iyi tanımlanmış bir programlama dilinde spesifikasyonlar, uygulamalar, dokümantasyonlar ve provalar içerir..

Sorular ve Düşünceler 

Doğrulama motorunun sağlamlığı ne olacak??

“Ya Dafny derleyicisi / doğrulayıcısı hatalıysa?” Diye merak ediyor olabilirsiniz. Aslında Dafny’nin buggy olduğunu biliyoruz (dafny repo sorunları), ancak Dafny’de böcek olmamasına güvenmiyoruz. Dafny’ye (ve onun doğrulama motoruna) güveniyoruz. ses. Sağlamlık, Dafny kanıtların doğru olduğunu bildirdiğinde, bunların gerçekten doğru olduğu anlamına gelir.. 

Ya yazdığımız şartname doğru değilse? 

Bu durumda, yanlış bir gereksinime uygunluğu ispatlamış oluruz. Evet, bu olabilir ve bu sorunu çözmek için sihirli bir değnek yoktur. Ancak, daha önce de bahsettiğimiz gibi, Dafny çalıştırılabilir. Bu, kodu çalıştırmamızı ve spesifikasyonlarımızın doğru özellikler olduğundan emin olmamızı sağlar. Ve şartnamelerimiz, anlamla ilgili anlaşmazlığa yer bırakmadan birinci dereceden mantıkla yazılmıştır, bu nedenle bir sorun fark ederseniz, bize bildirin, biz de düzeltelim..

Ya Dafny bir uygulamanın bir spesifikasyona uygun olduğunu kanıtlayamazsa? 

Bu olabilir, ancak bu durumda Dafny, bir ispatın hangi adımlarının doğrulanamayacağını araştırmaya yardımcı olacak bazı geri bildirim mekanizmalarına sahiptir. Şimdiye kadar, Dafny’nin her zaman otomatik olarak kontrol edebileceği kanıtlar oluşturmayı başardık..

Geri bildiriminizi bekliyoruz, lütfen kontrol edin eth2.0-dafny depomuz. Ethereum 2.0 geliştirmesinin son testnet dönüm noktalarına ulaşmasını izlemekten heyecan duyuyoruz ve ağın bir sonraki aşamasının sağlam bir temel üzerine kurulduğundan emin olmak için ekosistemdeki ekiplerle çalışmayı dört gözle bekliyoruz..

Teşekkür: Takım arkadaşlarım Joanne Fuller’a, Roberto Saltini’ye (Otomatik Doğrulama ekibi), Nicolas Liochon’a ve bu yazının ön sürümüyle ilgili yorumları için Avery Erwin’e teşekkürler.

Ethereum 2.0 şirketinden haberdar olun

En son Eth2 haberlerini doğrudan gelen kutunuza almak için ConsenSys haber bültenine abone olun. Ethereum 2.0Araştırma ve GeliştirmeGüvenlikHaber Bülteni En son Ethereum haberleri, kurumsal çözümler, geliştirici kaynakları ve daha fazlası için haber bültenimize abone olun.Başarılı Bir Blockchain Ürünü Nasıl OluşturulurWeb semineri

Başarılı Bir Blockchain Ürünü Nasıl Oluşturulur

Ethereum Düğümü Nasıl Kurulur ve ÇalıştırılırWeb semineri

Ethereum Düğümü Nasıl Kurulur ve Çalıştırılır

Kendi Ethereum API'nizi Nasıl Oluşturabilirsiniz?Web semineri

Kendi Ethereum API’nizi Nasıl Oluşturabilirsiniz?

Sosyal Simge Nasıl OluşturulurWeb semineri

Sosyal Simge Nasıl Oluşturulur

Akıllı Sözleşme Geliştirmede Güvenlik Araçlarını KullanmaWeb semineri

Akıllı Sözleşme Geliştirmede Güvenlik Araçlarını Kullanma

Finansın Geleceği Dijital Varlıklar ve DeFiWeb semineri

Finansın Geleceği: Dijital Varlıklar ve DeFi

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me