Safe Network новини 🇧🇬 6.7.2023

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

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

Въпреки това, @ChrisO вече актуализира интерфейса за регистриране, предоставяйки опции за съхранение и форматиране на данните на потребителите, които работят с възела. Потребителите могат да посочат изходната директория на журнала или стандартния изход, ако желаят, но по подразбиране сега те са:

      Linux: $HOME/.local/share/safe/node/<peer-id>/logs
      macOS: $HOME/Library/Application Support/safe/node/<peer-id>/logs
      Windows: C:\Users\<username>\AppData\Roaming\safe\node\<peer-id>\logs

Журналите на клиента се съхраняват по подразбиране в съответните директории ...client/logs.

Има и възможност за избор на формат. JSON може да бъде зададен чрез CLI при необходимост.

Както знаете, следваме три принципа, докато интегрираме работата си с libp2p. Първият е да оставим на Kad да върши работата, където е възможно, защото върху кода на libp2p има още повече погледи и искаме да стандартизираме това, където е възможно. Вторият е да оставим работата на клиента -колкото по-малко работа за възлите, толкова по-добре. Третият принцип е да максимизираме сигурността - всичко трябва да бъде подписано и данните трябва да бъдат криптирани. Засега обаче тези принципи си противоречат. @Anselme разглежда регистрите, които по подразбиране не са защитени при създаването на Kademlia Records, което ги прави уязвими за злонамерени възли. Новите записи също не са CRDT върху Kad, така че са възможни противоречия. Последователните записи са CRDT, така че няма проблеми там. Anselme смята, че е намерил решение на тези проблеми.

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

Нашето предпочитано решение в момента е това feat: Using put record for upload by maqi · Pull Request #482 · maidsafe/safe_network · GitHub , което ни позволява да използваме реализацията на put на Kademlia, при условие че тя е потвърдена в момента на изпращане. Това изключва възможността за лоши възли да извършват скрити действия и значително опростява кода около PUT.

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

Обработката на плащанията е друг проблем, който разглеждаме, като включваме притежавани от мрежата DBC-та, което означава, че вече не е необходимо да потвърждаваме плащанията към валидни възли в момента (тъй като вече нямаме section-tree + history), което значително опростява нещата. В бъдеще ще можем също така да предоставяме награди от самата мрежа.

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

Общ прогрес

@Bochaco работи по логиката на DBC и плащанията към мрежата.

@aed900 работи върху процес на създаване на персонализирана опция за bin в GitHub Actions (CI) тестовия инструмент на мрежата, а @roland работи по имплементацията на тестова мрежа, която да ни позволява да тестваме характеристиките на възлите по-задълбочено.

С обновлението на Libp2p, @Benno открива бъгове и тества AutoNat възможностите.

Освен това, @anselme поправя сигурността на регистъра и надгражда функционалността на крана за тестови токени.


Преводи:

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

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