„Кажи здравей, помахай за сбогом“ извика Марк Алмънд от Soft Cell през 80-те и колко далновиден беше той. Тази седмица имаме удоволствието да приветстваме Мо като най-новия член на инженерния екип на MaidSafe. Мо е компютърен учен и разработчик на софтуер. Той постигна докторска степен по компютърни науки в Университета на Потсдам през 2020 г. и се интересува от изследване, програмиране и тестване на сигурността за разпределени услуги и стандартни софтуерни системи.
В същото време ни е тъжно да помахаме за сбогом на @yogesh, който е в екипа вече няколко години и наистина остави своя отпечатък, прилагайки своите разследващи способности за решаване на проблеми и око за детайлите във всички аспекти на мрежата. Винаги професионалист, най-новата работа на Йогеш беше да се увери, че сървърът на ELK работи точно както той иска и да попълни цялата документация. Всичко най-добро Йогеш и се наслаждавай на новото си предизвикателство.
Общ напредък
@joshuef преработи част от модула CmdCtrl, за да премахне последния останал проблем извън възлите. Това има добър ефект по отношение на простотата на кода, което винаги е победа.
Сега @qi_ma разглежда възможно изтичане на памет при присъединяване на възел, както и разследва защо някои съобщения се обработват много бавно във възлите.
@roland почти приключи преработването на веригата на секциите като Merkle дърво и сега актуализира API-то, за да го направи възможно най-съвместимо.
И @anselme поправи проблем с прага в sn_sdkg
, синхронното DKG хранилище. Сега имаме DKG, работещ доста добре, включително с разделяне на секции. Интегрирането на това продължава!
@bochaco забеляза някои проблеми с внедряването на регистрационното хранилище, което означаваше, че едновременните записи на едни и същи данни може да загубят някои операции, и при коригирането на това също забелязахме друг проблем, който може да е измъчвал основата
, при което подобни xorname
регистри също може да са се презаписвали взаимно. Вече има корекция за това.
Доклад за напредъка
Съобщения и пикове в паметта
Виждахме вълна от съобщения и скок в използването на паметта, особено когато нов възел се свързва със Старейшини и искаше да се присъедини.
Напредък: Много подобрен. Все още има няколко ситуации, които водят до изтичане на информация и ги отстраняваме, когато се натъкнем на тях. Сега те са много по-редки и много по-лесни за проследяване с ELK таблото за управление.
Остава да се свърши: Премахване на грешки, когато видим пикове.
ELK табло
ELK (Elasticsearch, Logstash и Kibana) е набор от инструменти с отворен код за агрегиране и визуализиране на лог файлове. По-късно беше добавен Beats, който събира показатели от CPU и другаде, но BELK звучи глупаво, така че името ELK остава.
Напредък: Готово. Вече можем да наблюдаваме тестови мрежи и да видим какво прави всеки отделен възел. Повече тук https://github.com/maidsafe/sn_testnet_tool/tree/main/scripts/ELK
Остава да се свърши: Да разберем дали/как можем сигурно да отворим това, за да го видят всички.
Обработка на данни
Сортирането на членството в секциите беше необходимо за правилното боравене с данни, преразпределяне на парчета, когато възрастен излезе офлайн, и елегантно боравене с разделяния.
Напредък: Това е готово и изглежда много по-солидно.
Остава да се свърши: Очаква се завършването на Членството, за да може да бъде приключено. Добавят се още тестове за укрепване на основните слоеве за съхранение.
Предаване
Ако Старейшина забележи, че настоящите Старейшини не са седемте най-стари възли, тогава това предизвиква гласуване за повишение на най-възрастния Възрастен/Възрастни и понижаване на най-младия Старейшина/Старейшини, за да се направи път. Предаването е алгоритъмът, който контролира този процес.
Напредък: Завършен, въпреки че се усъвършенства с ‘клюки’ – вижте по-долу.
Остава да се свърши: Вижте добавянето на ‘клюки’ като резервен вариант.
Членство
Това позволява на Старейшините да запазят контрола над Възрастните в своята секция.
Напредък: Членството вече е интегрирано в sn_node
и използва консенсус, за да принуди Старейшините да се споразумеят кои нови възли ще могат да се присъединят към секцията.
Остава да се свърши: Да се накарат Възрастните да имат същото мнение за членовете като Старейшините. Много от решенията, които Възрастните трябва да вземат, напр. за какви данни отговарят, се основава на текущото състояние на членството, но в момента те нямат същия поглед върху него като Старейшините.
Клюки (Gossip)
Gossip е вид p2p протокол, при който възел периодично излъчва знанията си към друг възел, често избран на случаен принцип, и този възел предава съобщението на друг възел и така нататък, докато стане „общоизвестно“.
Напредък: Въвеждаме клюки на различни места, където процесите понякога могат да блокират, като DKG кръгове, членство и разделяне на мрежи. В случая на последното, клюките също ни позволяват да възстановим мрежата след катастрофална повреда.
Остава да се свърши: Да започнем внедряването му.
DKG
Генерирането на разпределени ключове се използва, когато Старейшините трябва да вземат решения относно членството.
Напредък: DKG е обновен с по-чиста реализация без таймер и консенсус за коригиране на случаите, при които DKG непоследователно се проваля и се опитва отново поради използването на таймаути при изчакване на съобщения. Тестовете показват положителни резултати.
Остава да се свърши: Коригиране на грешка в процеса на консенсус, която понякога предотвратява прекратяването. Гледаме към добавянето на клюки като резервен комуникационен слой.
Поток на плащане
Когато клиентът плати за качване, той получава разписка и Старейшините и Възрастните в секциите, които съхраняват данните, получават част от това плащане. Потокът на плащане зависи от това как работи това разпределение.
Напредък: Работим върху алгоритъма за управление на потока на плащанията. В момента мислим да се включат всички бенефициенти в разписката и те да могат да поискат средствата, като им се преиздаде DBC по всяко време. Получателите потенциално могат да бъдат клиенти, Възрастни и Старейшини.
Остава да се свърши: Подробен дизайн за покриване на сигурността, UX, икономическите стимули. Тестване.
Емитиране на нови токени
След първоначалното разпространение на токени в началото на мрежата, останалите 70% от общото предлагане ще бъдат създадени и сигурно разпространени в резултат на това, че хората качват данни в дългосрочен план. SNT токени не се създават при всяко качване, а по-скоро когато са изпълнени определени условия. Тези събития трябва да се случват с известна ни честота, но да бъдат непредсказуеми по отношение на това кога и къде ще се случат.
Напредък: В момента обмисляме механизми, които ще възнаграждават Старейшините, съхраняващите данни Възрастни и клиентите, като същевременно целим да направим добива за измамни възли неикономичен.
Остава да се свърши: Да се спрем на една опция и да я тестваме.
Преструктуриране на възлите
sn_node
е преработен, за да премахне възможно най-много случаи на многонишковост, за да опрости кода и да премахне нежеланите заключвания.
Напредък: Кажи речи е готово. Кодът е значително по-опростен, производителността е подобрена и около хранилището остава само едно блокиране на възел, което е добре. Има няколко други около функцията за обратно налягане, но тя не се използва по подразбиране.
Остава да се свърши: Да продължим да наблюдаваме производителността, търсене на крайни случаи.
Преструктуриране на веригата на секциите
Веригата на секциите, защитеният свързан списък, който свързва ключовете на секциите чак до „Genesis“, се преработва като Merkle DAG. Сега се нарича SectionsDAG
.
Напредък: Почти е готов.
Остава да се свърши: Да завършим преструктурирането.
Дисфункция
Редовно тестване дали възлите са онлайн и предприемане на действия, ако не са.
Напредък: Преструктуриране със собствен тестов пакет, в очакване на напредък в други области.
Остава да се свърши: Ще бъде непрекъснато преразглеждано, докато другите компоненти узряват.
Цифровите сертификати на носител (Digital bearer certificates - DBC)
Цифровите сертификати на носител са средството за транзакции на токени в Safe мрежата.
Напредък: DBC интеграцията и основната функционалност до голяма степен са налице. Завършването на основната функционалност е следващата стъпка, по-специално да я накараме да работи с потоците на плащане, което е много по-стабилно, отколкото беше преди шест месеца.
Остава да се свърши: Да подобрим API-то и UX около това. Добавяне на DBC API-то в потоците на плащане и да го тестваме там.
Система за разрешаване на имена (Name Resolution System) и имена на домейни
NRS картите са мултикарти (регистри под капака), които съдържат картографиране на всички подимена към URL адреси за конкретно име от високо ниво. Всяко топ име има своя собствена мултикарта.
Напредък: API-то беше преработено, за да опростим кода. Избрахме формата „topname.subname“ (google.maps) като най-интуитивена.
Остава да се свърши: Промени в подреждането на NRS, които трябва да бъдат приложени.
Клиент / UX
sn_client
е набор от API-та и интерфейс на командния ред (CLI), който позволява на устройствата да се свързват и взаимодействат с мрежата.
Напредък: sn_client
е преработен - коригиране на съобщенията, които показват на потребителите дали са свързани или не, особено по време на стартиране.
Остава да се свърши: Непрекъснато подобряване на API-то и CLI-то, докато вървим напред.
Преводи:
English Russian ; German ; Spanish ; French
- Официален сайт на Safe Network
- Обобщено представяне на Safe Network
- Safe Network Фундаменти
- Карта на проекта
- Подробна информация може да намерите както винаги във форума на международната общност: Safe Network Forum
- Ако имате въпроси може да ги зададете във Facebook групата на българската Safe общност: Redirecting...
- Ако искате да следите последните новини заповядайте във Facebook страницата на Safe Network България: Safe Network България