Это машинный перевод. Оригинал на английском здесь: Update 16 February, 2023
Пришло время для быстрого обзора того, где мы находимся с различными движущимися частями, составляющими машину Safe. Как обычно, это смесь быстрого ускорения в одних областях и ожидания прогресса в других областях, прежде чем они смогут двигаться.
В целом, мы воодушевлены возможностями упрощения, предлагаемыми идеей стабильного набора, очень довольны созданием Фонда и довольны прогрессом в достижении консенсуса. Также здорово иметь резервные копии и работающие тестовые сети сообщества, и когда люди начинают действовать со своими собственными графическими интерфейсами .
Общий прогресс:
Мы всегда ищем способы заставить клиента выполнять больше работы, и @oetyng исследует, как он может держать старейшин в курсе того, что происходит в разделе (наряду с AE, сплетнями и т. д.).
@anselme занимается рефакторингом DBC и интегрирует свои изменения в основной код, а @Chriso завершает реализацию стека мониторинга.
@roland реорганизовал процесс перемещения, чтобы перемещаемый узел управлял процессом.
Mostafa и @davidrusu застревают в стабильной версии, работая над протоколом передачи, который не требует DKG. Мостафа также изучает процесс компиляции бинарных файлов, чтобы попытаться ускорить его.
Также в стабильном наборе @joshuef уверен, что у нас есть путь к многоуровневому хранилищу с несколькими дополнительными изменениями.
Qp2p все еще подвергается операции: @bochaco тестирует аномалии в потоках чтения и записи, в то время как @bzee перешел к анализу журналов в связи с задержками в сети, когда узлы перегружены.
Наконец, @JimCollinson работал над различными юридическими вопросами для совета директоров, а также обдумывал стратегию запуска.
Отчет о проделанной работе
Стабильный набор
Отношение к пожилым и самым старым взрослым как к более надежным, чем к более молодым узлам, отсутствие необходимости их перемещения из-за устаревания узлов и введение многоуровневого хранилища . Вполне может устранить необходимость в DKG и перемещении, которые оба сложны.
Прогресс: Стадия проектирования, тестирование предположений, все еще экспериментально.
Todo: Пройти тесты, в случае успеха работать над реализацией.
Консенсус
Многие процессы могут обрабатываться с помощью AE и конечной согласованности (CRDT), но в некоторых случаях, вероятно, требуется некоторый локальный порядок, поскольку форки могут сделать возможным двойное расходование, пока мы ждем их разрешения. https://github.com/maidsafe/sn_consensus
Прогресс: Разработан и протестирован алгоритм Multi Values Byzantine Agreement (MVBA).
Что нужно сделать: Применить к алгоритмам членства. Испытания в живой среде.
Quicp2p
Qp2p — это сетевая библиотека, основанная на QUIC, которая позволяет одноранговым узлам в сети P2P безопасно общаться. https://github.com/maidsafe/qp2p
Прогресс: qp2p подвергается рефакторингу с целью переноса большей части его функциональности в sn_node, где с ним будет легче работать. Quic — это черный ящик.
Todo: Эта работа продолжается.
Сообщения и всплески памяти
Мы наблюдали шквал сообщений и всплеск использования памяти, особенно когда новый узел связывался со старейшинами и просил присоединиться. https://github.com/maidsafe/safe_network/tree/main/sn_comms
Прогресс: Всплесков памяти больше не наблюдается. Сообщения являются центральной частью работы сети, поэтому мы постоянно совершенствуем ее. Мы работаем над улучшением противодавления, чтобы более надежно использовать контроль перегрузок Куинна.
Задачи: Устранение ошибок при их обнаружении, дальнейшее упрощение.
Мониторинг и наблюдаемость
Мы перешли от настройки ELK, которую использовали ранее, к OpenSearch (более современной версии ElasticSearch с открытым исходным кодом), OpenTelemetry и Data Prepper, потому что мы можем размещать эти службы на ECS, а не на экземплярах EC2. https://github.com/maidsafe/terraform-testnet-infra
Прогресс: Сейчас это практически достигнуто, хотя мы все еще ищем лучшую конфигурацию.
Задание: Завершите, а затем откройте его сообществу, если это возможно.
Обработка данных
Обработка данных, перераспределение фрагментов, когда взрослый уходит в автономный режим, и изящная обработка разделений.
Прогресс: Опять же, это основная часть функциональности, и работа продолжается, см. стабильные наборы выше.
Задачи: Установите многоуровневые данные. Основа заложена, нам нужно протестировать вещи, а также покрыть переезд и тонкую настройку.
Сдавать
Если старейшина замечает, что нынешние старейшины не являются семью старейшими узлами, то это вызывает голосование о повышении старшего взрослого(-ей) и понижении младшего(-их) старейшины, чтобы освободить место. Handover — это алгоритм, управляющий этим процессом.
Прогресс: Завершено по плану, хотя и уточняется сплетнями, консенсусом (см. ниже).
Todo: Расскажите о сплетнях, чтобы ускорить общение между электроннойстарших и посмотрите на консенсус, чтобы убедиться, что процессы завершены.
Членство
Именно это позволяет старейшинам контролировать взрослых в своей секции.
Прогресс: Членство интегрировано в sn_node, но остается самой сложной областью для исправления в обеспечении каждого старший сходится на том же взгляде. Это проблема координации.
Todo: Удалите двойное представление членства, которое у нас есть между SectionPeers
и Членство
. Здесь начата работа по сокращению этого до SectionPeers
, и она успешно продвигается.
Слух
Сплетни — тип протокола p2p, в котором узел периодически передает информацию другому узлу, часто выбранному случайным образом, и этот узел передает сообщение другому узлу, и так далее, пока оно не станет «общеизвестным».
Прогресс: Мы вводим сплетни в различные места, где процессы могут иногда зависать, такие как раунды DKG, членство и разделение сети. В последнем случае сплетни также позволяют восстановить сеть после катастрофического сбоя.
Todo: Ищите дополнительные возможности, где сплетни могут нам помочь.
ДКГ
Распределенная генерация ключей используется, когда старейшинам необходимо принять решение о членстве.
Прогресс: DKG подвергся рефакторингу, но время от времени по-прежнему страдает тайм-аутом.
Todo: Стремление уменьшить потребность в DKG при принятии решений.
Поток платежей
Когда клиент платит за загрузку, он получает квитанцию, а старейшины и взрослые в секциях, где хранятся данные, получают часть этого платежа. Поток платежей — это то, как работает это распределение.
Прогресс: Разработан базовый проект.
Todo: Детальный дизайн для обеспечения безопасности, UX, экономических стимулов. Ждем других разработок.
Фундамент
Фонд Safe Network Foundation — это некоммерческая организация в Швейцарии, занимающаяся содействием, поддержкой, финансированием и продвижением исследований и разработок, а также обеспечением постоянной доставки, обслуживания и внедрения Сеть и ее технологии.
Прогресс: Создан Фонд Безопасной Сети!
Todo: Заставьте это работать!
Распределение безопасных сетевых токенов
После первоначального распределения токенов при создании сети (10,6% держателям MaidSafeCoin, 5% акционерам, 14,4% пулу лицензионных отчислений в сети), оставшиеся 70% от общего максимального предложения будут созданы и, как следствие, безопасно распределены. людей, загружающих данные в долгосрочной перспективе. https://safenetforum.org/t/updated-rfc-0061-safe-network-token-distribution/37883
Выполнение: Первоначальное предложение составлено и представлено в FINMA для утверждения. Механика того, какие операторы нод будут получать оплату во время той или иной транзакции, еще прорабатывается.
Задачи: Разработайте и протестируйте платежи узлов.
DBC
Цифровые сертификаты на предъявителя — это средство для транзакций токенов в безопасной сети.
Прогресс: DBC были переработаны, удалив лишний элемент, который должен был запутать транзакции, но с сомнительной возможностью повышения безопасности и повышения производительности. Эта работа близится к завершению.
Todo: Улучшите API и UX вокруг этого. Включите API-интерфейсы DBC в платежные потоки и протестируйте их.
Рефакторинг узла
sn_node был переработан, чтобы удалить как можно больше экземпляров многопоточности, чтобы упростить код и удалить нежелательные блокировки. Старейшины теперь хранят данные, чтобы они могли оценивать объемы хранилища, не опрашивая взрослых, и мы рассматривали возможность увеличения количества узлов меньшего размера в секции, которая была успешно опробована в тестовых сетях.
Прогресс: Готово
Todo: Продолжайте следить.
Рефакторинг цепочки разделов
Цепочка разделов, безопасный связанный список, который соединяет ключи разделов вплоть до Genesis, подвергается рефакторингу в качестве DAG Merkle. Теперь он называется SectionTree.
Прогресс: Готово.
*Не делать ничего.
Обнаружение неисправности (ранее «дисфункция»)
Регулярно проверяйте, подключены ли узлы к сети, и принимайте меры, если это не так.
Прогресс: Рефакторинг с собственным набором тестов, ожидание прогресса в других областях.
Задание: Улучшите тестирование в реальных сетях и убедитесь, что все работает должным образом. Добавьте больше маршрутов обнаружения неисправностей.
Система разрешения имен и доменные имена
Карты NRS — это мультикарты (внутренние регистры), которые содержат сопоставление всех дочерних имен с URL-адресами для определенного верхнего имени. Каждое имя имеет свою собственную мультикарту.
Прогресс: Никаких движений по этому поводу.
Todo: Изменения в заказе NRS должны быть реализованы.
Клиент / UX
sn_client — это набор API и интерфейс командной строки (CLI), который позволяет устройствам подключаться к сети и взаимодействовать с ней. https://github.com/maidsafe/safe_network/tree/main/sn_client
Прогресс: sn_client подвергся рефакторингу - исправление обмена сообщениями, которое показывает пользователям, подключены они или нет, особенно во время начальной загрузки.
Задачи: Постоянное совершенствование API и интерфейса командной строки по мере продвижения вперед.
Полезные ссылки
Не стесняйтесь отвечать ниже со ссылками на переводы этого обновления для разработчиков, и модераторы добавят их сюда.
Как проект с открытым исходным кодом, мы всегда ждем отзывов, комментариев и предложений сообщества - так что не стесняйтесь, присоединяйтесь и давайте вместе создадим безопасную сеть!