Safe Network новини 🇧🇬 5.11.2020

Накратко

Ето някои от основните неща тази седмица:

  • Въвеждането на проптестовете даде плод и някои важни проблеми бяха идентифицирани тази седмица.
  • Значителни подобрения в производителността на процеса на стартиране на мрежата са добавени тук, с допълнителни предложени подобрения в процес тук.
  • Нашият CRDT консултант отново започна да работи с нас тази седмица и се насочи директно към подобряването на детерминираното защитено излъчване (DSB) с поддръжка за динамично членство.
  • Поздрави на члена на форума @treslumen за приноса му към sn_api тук. :clap:

Safe клиент, възли и qp2p

Safe Network трансфери - план на проекта
Safe клиент - план на проекта
Safe Network възли - план на проекта

Тази седмица съкратихме данните за последователността, започвайки с различни проптестове, за да гарантираме, че данните CRDT се сближават, както се очаква при множество различни обстоятелства. Разкрихме евентуална грешка в начина, по който се прилагат правилата за разрешения, и работихме по корекция, както и по-специфични тестове в тази конкретна област.

Успоредно с това започнахме да разследваме как можем да използваме системата за разрешения на последователните данни с картата за данни с цел да я направим CRDT готова. Първоначалните проучвания показват, че изглежда, че можем да приложим това изцяло, така че в момента настройваме основите за това и, ако не се появят проблеми, ще започнем с тестовете след това.

Относно sn_node тази седмица заложихме на съобщение за грешка, предаващо периодично съобщение, което пречи на клиентите да качват данни в мрежата, което водеше до неуспешни тестове за данни във вътрешната ни тестова мрежа. Всички съобщения на мрежата поддържат списък с изпълнители/удостоверители, през които са преминали, за да достигнат дестинацията си, и този списък не се актуализираше правилно, за да се върне отговорът. Предтруктуриране и поправка са в ход за това и след като бъдат готови, трябва да ни върнат на правия път, за да продължим да тласкаме тестовата мрежа напред.

Също така с радост приехме PR от член на форума @treslumen, той премахва някои остарели кодове след последните актуализации на sn_client. Благодарим на @treslumen за това, много оценяваме помощта :+1:

Трансфери

Продължавайки от миналата седмица, има напредък по работа за подобряване на анонимността и последователността.
Също така се върнахме да разгледаме по-задълбочено сертификатите за цифрови носители (DBC) и да видим как можем да ги използваме сега, след като постигнахме голям напредък с CRDT и AT2.

DBC е механизъм, чрез който токен или сертификат могат да се съхраняват и след това да се използват. Това, което DBC може да ни даде, ако успеем да разрешим няколко неща, е пълна анонимност и офлайн транзакции.

CRDT

Тази седмица нашият CRDT консултант започна работа за подобряване на детерминираното сигурно излъчване (DSB) с поддръжка на динамично членство. Динамичното членство е процес, при който новите партньори могат сигурно да се присъединят или да напуснат група от връстници (секция) чрез гласуване/съгласие на съществуващи членове.

Случаят с напускане е най-интересен, защото включва откриване кога даден партньор е дефектен и след това другите членове гласуват за изключването му. Участник може да се счита за дефектен по много причини, включително ако не реагира, да използва грешен протокол, да изпраща лоши данни или да изпраща невалидни подписи.

Напомняне, че DSB е византийски протокол за устойчивост на измами (BFT), който в момента се използва за осигуряване на AT2 трансфери. Също така е полезен за подсигуряването на CRDT алгоритми.

Очаква се DSB с динамично членство да формира солидна основа за бъдещи подобрения при маршрутизацията, тъй като секциите трябва редовно да се споразумеят за добавяне и премахване на старейшини и други възли.

Маршрутизиране

План на проекта

За да гарантираме, че тестовете на ниво маршрутизация използват същата мрежова настройка като планираната конфигурация за тестовата мрежа, решихме да премахнем NetworkParams и да използваме постоянна стойност за тестовата мрежа. Това налага използването на едни и същи постоянни стойности за размера на секцията и броя на старейшините в тестовете за маршрутизация и нивото на възела.

Тази седмица също променихме процеса на стартиране на мрежата, за да подобрим ефективността при стартиране. По време на стартирането заменихме възстановяването на неизвестно съобщение от DKG с просто изоставане, като намалихме времето, необходимо на първата секция да се оформи напълно с всичките си старейшини от минути на секунди. Това също добавя проптест за DKG, за да гарантира допълнително качеството на кода и надеждността на мрежата.

Предложени са и допълнителни подобрения във фазата на стартиране на мрежата в този PR, който в момента работи чрез тестване и партньорска проверка. По време на фазата на стартиране всеки бебешор (нов член), който се присъедини, незабавно се премества обратно в същия раздел, но с увеличена възраст. Това леко променя процеса, така че новата възраст се генерира псевдослучайно от даден възрастов диапазон, като по този начин се предотвратява връстниците да имат една и съща възраст, което би довело до тяхното преместване по едно и също време. Това също така актуализира изчисляването на преместването, така че се преместват само най-старите възли.

Както бе споменато в раздела Възли по-горе, бе открит проблем във вътрешна тестова мрежа, където полезният товар на съобщенията от секция до секция от възли до маршрутизацията не винаги е идентичен за старейшините и клиентите. Първоначално се смяташе, че това е грешка в маршрутизиращия слой, но след известно разследване го проследихме обратно до възлите и това вече е в техните способни ръце.


  • Подробна информация може да намерите както винаги във форума на международната общност: SAFE Network Forum
  • Ако имате въпроси може да ги зададете във Facebook групата на българската SAFE общност: https://www.facebook.com/groups/SafeNetworkBulgaria/
  • Ако искате да следите последните новини заповядайте във Facebook страницата на SAFE Network България: https://www.facebook.com/SafeNetworkBulgaria/