SAFE Network новини 🇧🇬 6.8.2020

Накратко

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

  • Създадохме инструмент за автоматизация на тестовите мрежи, който напълно ще автоматизира създаването на машини, стартирането на трезори и въвеждането на разделяне в мрежата.
  • Продължихме с работата по проектирането и внедряването на прототип, за да се демонстрираме осъществимостта на използването на crdt-tree тип данни като основа за локално присъединима файлова система (чрез FUSE).
  • @happybeing, един от най-активните членове на общността форкна проекта Rust polyfuse и създаде FUSE обвивка, която може да послужи за отправна точка за извикване в кода на нашата файлова система Rust, когато е готов.

Благодарности на @Sascha за предоставяне на корицата за новините за тази седмица!

Трезори – Фаза 2

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

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

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

CRDT

safe-fs

Продължи работата по проектирането и внедряването на прототип, за да се демонстрира осъществимостта на използването на типа данни от crdt-tree като основа за локално монтирана файлова система (чрез FUSE).

Конкретното предизвикателство е да проектираме поддръжката на твърди връзки, ключова характеристика на файловите системи на Unix, която позволява на множество имена на файлове да се позовават на един файл inode (метаданни и съдържание). Предложено е решение тук.

След това открихме, че ino (u64) не е необходимо да съществува между монтиранията, така че те могат да се съхраняват в локална структура на данни извън (споделен) crdt-tree.

С обработването на такива проблеми беше изграден експериментален (бърз) клас прототип на файловата система, който реализира основните характеристики на файлова система и по този начин демонстрира, че дизайнът работи на практика.

Членът на общността @happybeing форкна проекта Rust polyfuse и създаде FUSE обвивка, която може да послужи за отправна точка за извикване в кода на нашата Rust файлова система, когато е готова.

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

Достигането на тази цел ще доведе до прилагане на crdt-tree и API-то на файлова система в Rust, след което да се интегрира с FUSE обвивка.

Фермерство

SAFE Трансфери План на проекта
SAFE Клиентски библиотеки План на проекта
SAFE Трезор План на проекта

SAFE Клиентски библиотеки и интеграция на Трезора

Непрекъснато напредваме с интеграцията тук прилагайки най-новите промени във фермерството. Актуализирахме както трезорите, така и SCL с най-новите промени от master клоновете, които внесоха някои проблеми, когато преминахме към новия XorName контейнер. Но проследихме това и след още един малък проблем, свързан с извличането на AT2 историята на транзакции за клиенти, имаме почти пълен поток от съобщения между тях.

В момента разглеждаме някои проблеми от страна на клиента, при които клиентът виси, докато чака реакции на TransferValidation. Изглежда, че това е свързано с използването на quic-p2p, който е леко остарял по отношение на Rust, така че също надградихме тази библиотека, за да бъде напълно асинхронизирана, което да се надяваме трябва да ни отблокира в клиента, а също и да опрости част от safe_core кодът значително .

Store cost and Rewards Разходи за съхранение и награди

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

За първите тестови мрежи с фермерство ще използваме много по-опростен подход, при който има обикновена статична цена за съхранение ( 1 байт = 1 nanosafecoin ) и опростено възнаграждение въз основа на възрастта, изплащана при всяко преместване ( 2^възраст safecoins ).

Сега работата продължава с изглаждането на първоначалните няколко момента на мрежа и солидността на разпределения AT2 актьор, известен още като Фонда с пари на секцията.

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

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

На първо място тук ще отпразнуваме добрата новина, че Адам успя да отдели известно време (средно по половин ден) всеки ден, за да се върне на работа. Добре дошъл в екипа, Адам! (той дори явно е имал възможност да поспи малко)

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

Също така започнахме да проучваме последната останала работа по преструктурирането на функции (Премахване на опашката за преместване и да направим преместването независимо от реда на събития за разгръщане) преди да преминем към премахването на PARSEC. Проведе се ползотворен дебат относно потенциалния подход за преместване и го документирахме и актуализирахме.


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