Safe Network новини 🇧🇬 26.1.2023

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

Общ напредък

След дълги и от време на време разгорещени дискусии в общността, @JimCollinson и @andrew отново извадиха електронните таблици и обработиха различните възможности за първоначалното разпространение на токените. Искрено се надяваме че това ще постави основата, върху която да продължим напред.

@joshuef експериментира с тестови мрежи с още по-малки виртуални машини и възли. Всичко върви доста добре, но имаше няколко грешки, които изглежда са около процеса на DKG (гласуване на Старейшините), където понякога не се получават гласове. Във връзка с това, @anselme, @maqi и @davidrusu разглеждат внимателно DKG, какво точно го задейства, включително разглеждат генерирането на SAP ( нов списък със Старейшини, който се създава всеки път, когато има напускане) и точно къде това задейства DKG кръг.

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

@bochaco отстранява грешки и финализира sn_comms, комуникационния модул, който той продължава да преработва.

И Мостафа завърши тестването на алгоритъма за консенсус и го добави към основното хранилище.

Благодарим на @southside за предложението за инициативата за коментар на кода чрез ChatGTP. Всеки, който иска да помогне там (не са необходими технически умения), може да погледне тази публикация.

Възраст и данни на възела

Отговорностите в мрежата се основават на понятието възраст на възела.

Възрастта на възела не нараства линейно, а експоненциално, което означава, че всяко увеличение на възрастта се основава на 2x от това, на което се основаваше предишното увеличение.
Времето в мрежата се измерва в брой събития и измерването е приблизително, тъй като правим вероятностна оценка.
И така, възраст A се случва след ~n събития, а възраст A+1 се случва след ~2n събития.

Причината, поради която възрастта на възела се измерва по този начин, идва от емпиричното наблюдение, че възлите, които са останали онлайн x пъти, вероятно ще останат онлайн поне още x пъти. Така че, ако сте прекарали време t в мрежата, вероятно общото ви време в мрежата в крайна сметка ще бъде поне 2t.

Това просто означава, че колкото по-млад е възелът, толкова по-вероятно е да се изключи, а колкото по-стар е, толкова по-вероятно е да остане онлайн.

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

Първично и вторично съхранение

Разглеждаме концепции около „стабилен набор“ от възли (повече за това ще обясним в бъдеще). Но една идея, която имаме, е разделянето на възлите на две нива за съхранение въз основа на възрастта им и (следователно) вероятността от преместване и по този начин им се дават различни задължения.

Например, бихме искали най-стабилните възли (да речем, на възраст 10+) да отговарят за основното съхранение на данни. Тези възли се грижат за данните и ги предоставят на клиент при поискване. Малко вероятно е те да изчезнат скоро.

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

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

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


Преводи:

:uk: English :ru: Russian ; :de: German ; :es: Spanish ; :fr: French

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