Güvenlik Odaklı Soru&Cevap

in #blockchain5 years ago

Ağımızın güvenliği bizim için büyük öneme sahiptir, bu nedenle sağlam tasarımımızı tartışmaya açan bir dizi görev başlatıyoruz. Başlangıç için, bu makale geliştiricilerle olan son etkileşimlerimiz sırasında ortaya çıkan iki önemli soruyu yanıtlamaktadır.

S: Kötü niyetli bir grubun kötü çapraz kesim işlemleri ile imzalı bir blok oluşturması halinde nasıl azaltılır?
Sistemimizin minimum gereksinimlerini açıklamakla başlayacağım. Lansmanının ilk gününde, Elrond protokolünde en az 800 validatör, bir parça için 400 ve metachain için bir başka 400 olacak. Herhangi bir parçanın en az 400 doğrulayıcı içermesi şarttır, aksi halde parça yaratılmayacak ya da başka bir parça ile birleştirilecektir.

Birkaç olay daha:

BFT gereksinimi / varsayımı Toplam düğümlerin% 75'i iyi oyunculardır;
Olasılıklar, düğümlerin% 25'inin kötü niyetli olduğu varsayımıyla hesaplanmaktadır. Bozulma seviyesinde, maksimum% 33 zararlı düğüm kabul ediyoruz. Hesaplamalar, 1000'in zararlı olduğu 10 düğüm, 4000 düğüm ile yapılır.
Parça tahsisine ilk başlangıç ​​onaylayıcısı rastgeledir, bunun için rasgele kaynak rasgele gelir. Yeni bir validatör geldiğinde, rastgele mevcut bir parçaya tahsis edilir. Her çağın sonunda, düğümlerin en fazla% 30'u yeniden karıştırılır;
Metakhain içindeki konsensüs grubunun boyutu 400'dür, lider her turda (5 saniye) değişir, ⅔ + 1 bloğunu imzalamak için 267 validatör;
Bir kırıktaki konsensüs grup büyüklüğü 63'tür, her turda değişen 400 tampondan rastgele seçilir. 63 * 63 + 1, bir blok imzalamak için 43 tane gerekli doğrulayıcıya eşittir.
Rastgele tohum, önyargılı, tahmin edilemez, değiştirilemez bir tohumlar zinciridir. Mevcut bloğun lideri, BLS tek imza şemasını kullanarak, bir önceki bloğun rastgele tohumunu kendi özel anahtarıyla imzalar, bu sayı karma olur ve bir sonraki grup seçiminde rastgele tohum olur;
BLS tek imza - özel anahtar sonucu olan imzalı bir mesaj sabittir;
Blok kesinliği: N bloğu yalnızca N-1 bloğu, N-2… N-K bloğu imzalandıysa kesindir. Metakhain sadece noter onaylı final blokları. Şu anda K = 1'i seçtik;

Aynı fikir birliğinde aynı tur için kötü niyetli bir süper çoğunluğun (>% 67) seçilme olasılığı, 10 ^ -9'dur, hatta parçaların düğümlerinin% 33'ü kötü niyetli olsa bile. Bu durumda bir blok önerebilir ve imzalayabilirler - buna BLOCK M diyelim, ancak metachain tarafından noter onaylanmayacak. Metakhain sadece BLOCK M + 1 üzerine kurulu ise BLOCK M'yi noter. BLOCK M + 1'i oluşturmak için bir sonraki konsensüs grubunun BLOCK M ile aynı fikirde olması gerekir. Ancak sadece kötü niyetli bir grup BLOCK M ile aynı fikirde olacaktır. Grup seçimi için rastgele tohum tahrif edilemediğinden, bir kötü niyetli süper çoğunluk grubunun seçilme olasılığı ~ 10 ^ -9 - tam 5.38 * 10 ^ -10 olur.

Ardışık iki kötü niyetli bloğu imzalama olasılığı, sonuçta kötü niyetli grubun en az (⅔ * 63 + 1) üyesi olan iki alt grubun seçilmesine eşittir. Bunun olasılığı şudur: ~ 10 ^ -18.

Ayrıca, sonuçta seçilen grupların bir araya gelmesi gerekiyor, aksi takdirde bloklar imzalanmayacak.

Protokolün geçersiz işlemlere karşı kesin olarak güvenli olduğunu kanıtladık.

S: Parçalanmayı nasıl azaltıyorsunuz? Parçalanma mümkün mü?
Protokol, emniyetli bir şekilde güvenli olacak ve kırılma devralma olasılığı son derece düşük olacak şekilde tasarlanmıştır: 2.88 * 10 ^ -78. Keskin bir mimari, bir parçanın ele geçirilmesini imkansız kılacak şekilde inşa edilmelidir.

Shard devralma çözünürlüğü:

Geri dönüş çözümü, bu imkansız durumlar için bile. Durum: araştırma yapıldı, iki olası çözüm, ilk test net lansmanından sonra planlanan uygulama.

  1. Çözüm:

Her bloğun oluşturulmasında lider, paranın zayıf havadan yaratılmadığına dair bir kanıt ekleyecektir. Bu ispat metachain ve her varış noktası tarafından doğrulanacaktır.


Kaynak: Sharded Chains as Data Layers

  1. Çözüm:

Lider bir blok teklif ettiğinde, başlık yürütme sırasındaki bakiyesini değiştiren birkaç hesap için de merkle kanıtı ekler. Bu hesapların seçilmesinin belirleyici olması gerekir; örneğin, her bir miniblokta ilk işlemden hesaplar almak ve tüm bu hesaplardan blokta kayıtlı durum kök karmalığına giden toplu bir kanıt sağlamak. Bir geçersiz blok, kötü niyetli bir çoğunluk tarafından önerildiğinde, devlet kökü, geçersiz bir sonuçla değiştirilir (durum ağacında geçersiz değişiklikler yapıldıktan sonra).

Birkaç hesap için birleştirilmiş merkle kanıtı sağlayarak, bu kanıtın dürüst bir düğüm tarafından yükseltilmesi için bir meydan okumaya izin verilir. Dürüst düğümler, işlem bloğunu, zorlu bloğu ve SC durumlarını uygulamadan önce etkilenen tüm hesapları olan önceki azaltılmış merkle ağacını sağlayacaktır. Eğer ispatlar sınırlı zaman dilimi içinde sunulmazsa, meydan okuma eksik sayılır ve tüm mesajlar bırakılır. Eğik çizgi oluşmaz, meydan blok geçerli sayılır.

Bir geçersiz mücadelenin bedeli, düğümün tüm tehlikesidir.

Bu, metakanın daha önce durum ağacında olduğu gibi (yalnızca etkilenen hesaplar için) değişiklikleri denemesine ve uygulamasına izin verecek ve geçersiz işlem veya geçersiz durum kökü gibi tutarsızlığı tespit edebilecektir. Bu izlenebilir ve konsensüs grubu kesilebilir. Aynı zamanda yarışmacı, yarılan miktarın bir kısmı ile ödüllendirilebilir. Blokta izin verilen maksimum işlemler için bu tür bir kanıtın boyutunun ne kadar olduğunu ölçmemiz gerekir. Ayrıca, akıllı bir sözleşme işlemiyle ilgili sorun ortaya çıkarsa, SC'nin yürütülmesi gerekir, ancak bunun için SC yürütmesinin doğruluğunu onaylamadan en azından hiçbir fon yaratılmadığından emin olabiliriz.

Çözüm, yalnızca azaltılmış merkle ağacını sadece meydan okuma ile göndererek daha da optimize edilir, meydan okuyan hem geçersiz bloğu hem de bloğun kendisini uygulamadan önce hem azaltılmış merkle'i sunar.

Bununla birlikte, kötü niyetli bir grup bloğu diğer düğümlerden de gizleyebilir - kötü amaçlı olmayanlar. Bu durumda dürüst düğümler, yeni blokların üretildiğinin farkında olsalar bile (metachain tarafından noter tasdikli yeni başlıklar görülerek), blok verisine erişemedikleri için zorluk çıkaramazlardı. Bunu kanıtlamak imkansız.

Çözüm, üretilen her bir bloğun kardeş kırığına ilerlemesini zorunlu kılmak ve alımını onaylatmak, metachaine onay göndermelerini sağlamaktır. Bu durumda, bu düğümlerin bloklara erişimi olduğundan ve onları doğrulayabildiğinden kardeş kardeşinden de çıkmakta zorluklar yaşayabiliriz. Bunun bir başka avantajı, dürüst düğümlerin kendi sınır düğümleri tarafından reddedilmeleri durumunda verileri talep edebilecekleri başka bir kanal olmasıdır. Haberleşme ek yükü, sadece kardeş içi engelin kardeş kırığına gönderilmesiyle azaltılır. Çapraz kırma miniblokları her zaman ilgilenen düğümlerin erişebileceği farklı konularda gönderilir. Sonunda, birçok dürüst düğüm tarafından zorluklar ortaya çıkarılabilir.

P2P konularının ve mesajlarının nasıl ayarlandığına dair başka bir koruma daha verilir. Bir parçadan metatachaine doğru iletişim, belirli bir konu / kanal kümesi aracılığıyla yapılır - metachain diğer kanallardan gelen diğer mesajları kabul etmeyecektir.

Bu çözüm, yalnızca çok düşük olan ve yüksek olasılıkla görülmeyen zorlukların ortaya çıkması durumunda metashalinde bir miktar gecikme ortaya koymaktadır, çünkü tespit edildiğinde (yüksek tespit edilme olasılığı yüksek) düğümler tüm risklerini tehlikeye atarlar. Metachain fikir birliği, farklı kırıklardan gelen bu tür birçok kanıtın doğrulamasını gerçekleştirecektir. Blokları yalnızca olağanüstü zorlukların olmadığı kırıklardan noteriz ve zorlukları olan diğerleri için, ilk gelene ilk öncelikli önceliğe sahip olanları mümkün olan en kısa sürede işleme koymaya çalışırız, ya da yanlış bir durum varsa yargıcı için kesmeyi yaparız. Alarm doğrulanırsa veya grup için

Ayrıca, bu gibi çoklu zorluklar onaylanırsa, metachain erken dönem sonu komutunu tetikleyebilir. Bu durumda, kötü niyetli düğümler anında kesilir ve toplam düğümlerin% 30'u tekrar karıştırılır - yine de yeterli kefeye sahip olanlar. Bu, herhangi bir parça devralma işleminin protokolü uzun süre engellememesini ve her parçada güvenliği sağlayabilecek yeterli düğüm bulunmamasını sağlar. Aksi takdirde, sadece birkaç kez eğilirsek ve çağı bitirmezsek, 43 düğümden her birini sharddan çıkardığımızda, daha az ve daha az sayıda düğüm kalır ve genel kırılma güvenliği düşer.

Böylece, imkansız olması durumunda çözümü açıkladık, şimdi kötü niyetli bir süper çoğunluk grubunun seçili bir parçada oluşma ihtimalinin pratikte 0 olduğunu kanıtlıyoruz.

Bozulma devri için, kötü niyetli grubun, 400 konsensüs tamponundan tek bir grupta ⅔ + 1 üyesi olması gerekir. Bu, 267 doğrulayıcıya eşittir. Yukarıdaki varsayımlar göz önüne alındığında, toplam düğümlerin% 25'i kötü niyetli, kötü niyetli grupların tek bir grupta süper çoğunluğa sahip olma olasılığı 2.88 * 10 ^ -78.

Toplam ağ düğümlerinin% 33'ünün kötü amaçlı olduğunu düşünürsek, 267 kötü niyetli düğüme (metachain'in devralması) sahip olma olasılığı 2.84 * 10 ^ -47'dir. Aynı şekilde, meydan okumayı kaldırabilecek dürüst bir düğüm bulunmadığı bir shardın içinde (tam ele geçirme saldırısı) 400 kötü niyetli düğüme sahip olduğumuzu düşünürsek, olasılık pratik olarak 0'dır (10 ^ -211).

Hard + 1'den daha az kötü niyetli üyeler varsa, ancak bir kırmada (267'den az, 133'ten fazla) doğrulayıcıların ⅓'dan fazlası varsa, o zaman shard sadece durur, bloklardan hiçbiri olmadığı için herhangi bir işlem yaratmaz. nihai statüsünü alacak, iyi düğümler kötü bloklar üzerine kurulmayacak.

Tek bir grupta validasyon ⅓ değerinden daha az varsa, ilk soruda açıklanan ve açıklanan duruma ulaşırız.

Sonuç olarak, sistemin sarkma devir saldırılarına karşı kanıtlanmış bir şekilde güvende olduğunu gösterdik.

Elrond’s official outlets:

Elrond Github: https://github.com/ElrondNetwork
Elrond Community Platform: https://community.elrond.com
Twitter: https://twitter.com/elrondnetwork
Official website: www.elrond.com

BlockchainShardingConsensusRandomnessSecurity

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.034
BTC 63877.55
ETH 3143.56
USDT 1.00
SBD 3.97