Safe Network новини 🇧🇬 3.12.2020

Накратко

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

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

Тази седмица отбеляза важно събитие за sn_node с първото обновление и публикуване на този контейнер под ново име и от юли месец. Има много промени в него през изминалите месеци, както може да видите в списъка с промени и в седмичните новини. Тези обновления не означават, че разработката в sn_node е приключила, а просто сметнахме, че е достатъчно стабилна, за да обединим вече създадения преди това механизъм за непрекъсната доставка PR. Разработката продължава с добро темпо и сега всеки обединен PR ще доведе до допълнително автоматично генерирано ново издание.

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

Постигнахме и известен напредък с някои от неуспешните тестове по време на цялостното тестване на мрежата, по-специално по отношение на съхранението на данни с използването на Blob типове данни. Идентифицирахме някои проблеми, които са се промъкнали по време на някои от преструктуриранията, и с оправянето им вече виждаме тестовете да преминават последователно. Сега преминаваме към повторно активиране на системата за репликация на парчета, когато възлите напуснат мрежата. След като това бъде направено, всички Blob потоци ще бъдат активирани отново в преструктурираното изпълнение на sn_node.

Друга особеност, по която работихме тази седмица, е регулирането на съхранението в секция и в крайна сметка в мрежата чрез PR # 1153. От този PR възлите за съхранение на данни следят тяхното съхранение при всяко записване, което извършват, като предупреждават старейшините в секциите, ако достигнат максималния си капацитет. След това старейшините поддържат регистър на тези запълнени възли и когато достигнат определен праг на запълване в същата секция, ще гласуват за приемане на нови възли, които да се присъединят към тяхната секция, спирайки достъпа, след като е изпълнено търсенето / предлагането, като по този начин се поддържа баланс в мрежата. През следващите дни ще извършим различни оптимизации на показателите.

Повдигнат е PR за Rust-CRDT, за да се приведе LSeq в съответствие с други типове CRDT, които се нуждаят от apply, за да бъдат извикани преди модифициране на самия тип данни. Използваме това в Sequence типа данни, за да гарантираме, че всички операции са подписани.

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

И накрая, за да се позволи по-голямо тестово покритие на модули за преводи, плащания и награди, тази седмица бе започнато известно преструктуриране на този код и промени в нивото на достъпа.

BRB - Византийско надеждно излъчване

Продължава работата по Generation Clock подхода към динамичното членство. Работещ прототип на кода се очаква до края на седмицата.

Като паралелна задача bft-crdts контейнера се разделя на отделни контейнери в усилие за модулиране. Идеята е да се дефинират 3 линии: една за внедряване на BRB, една за типовете данни, които трябва да бъдат предадени и защитени, и една за мрежовия слой.

По този начин изпълненията и на трите линии могат да бъдат смесени и съчетани. Например, можем да използваме използваната памет в мрежата за тестови случаи, qp2p impl за маршрутизиране в Safe Network и трета страна може да използва внедряване на TCP / IP сокети за нещо друго. От страна на данните вече имаме внедряване на AT2 банка и внедряване на CRDT orswot.

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

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

Както бе споменато по-горе, sn_node беше публикуван и пуснат за първи път в сегашния си вид тази седмица. За да не изостане маршрутизиращият екип вече също пусна и публикува sn_routing, първото издание от почти 2,5 години насам! Вижте списъка с промените за да придобиете представа за направените промени. Както при sn_node, тези издания не означават, че разработката на sn_routing е приключила, а просто сметнахме, че е достатъчно стабилна, за да обединим вече създадения преди това механизъм за непрекъсната доставка PR. Разработката продължава с добро темпо и сега всеки обединен PR ще доведе до допълнително автоматично генерирано ново издание.

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

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

Също така работим върху преструктуриране на актуализация за секциите, която има за цел да опрости кодовата база за обработка на DKG. Двете основни промени, предложени за постигане на това, са:

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

След дискусии по време на процеса на преглед обаче има забелязани още проблеми, които решихме да разрешим. Затова PR е променен на статус Чернова и се очаква скоро да бъде готов за преглед, заедно с допълненията.

Преводи:

:uk: Английски; :ru: Руски; :de: Немски; :es: Испански; :fr: Френски;


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