Обновление Safe Network 🇷🇺 6 апреля 2023 г

Это машинный перевод. Оригинал на английском здесь: Update 06 April, 2023

Пришло время собрать воедино все эти таинственные аббревиатуры, повторные посещения и сбивающие с толку объявления, которые заполонили форум за последние пару экстраординарных недель, чтобы дать вам — и нам — шанс задуматься о том, что, черт возьми, происходит.

Общий прогресс

На этой неделе вся команда была занята libp2p, Kademlia и смежными темами, поэтому перечислять меньше, чем обычно.

@bzee сосредоточен на возможностях обхода NAT в libp2p для пробивки отверстий, @oetyng в настоящее время интегрирует DBC в новую систему. Он только что закончил первый раунд улучшенной документации для DBC, а также уточнения именования и повышения безопасности типов для снижения когнитивной нагрузки. Это также удалило концепцию носителя DBC и тонну кода API + для этого. Далее следует удалить подписи Elder из DBC, так как они больше не будут использоваться.

@roland приводит код в порядок и занимается повторной публикацией данных вместе с @chriso. А @bochaco только что перенес код фрагмента/регистра. Как только переиздание будет готово, мы начнем серьезное внутреннее тестирование.

@qi_ma экспериментирует с крейтом libp2p и играет с тестовыми сетями из кодовой базы stableset_net, исследуя поток загрузки/выборки чанков вдобавок к этому.

Подробнее о libp2p и др.

До сих пор наши планы относительно libp2p всплывали в виде всплесков возбужденной болтовни, так что пришло время собрать все это в одном месте, чтобы дать лучшее представление о том, как это согласуется с DBC, защитой Сивиллы и всем остальным.

Сначала почему. Короче говоря, поскольку мы модифицировали DBC и данные для поддержки с помощью DBC, это открыло путь к более простому подходу к базовой сети. И именно это позволяет нам начать удалять некоторые из более сложных частей сети, а это значит, что команде нужно меньше беспокоиться, что является огромной победой. Наша команда целеустремленная, но небольшая, и теперь они могут сосредоточиться на добавленной стоимости.

Сама Libp2p используется Filecoin, Eth и Avalanche, что не только означает, что много внимания уделяется коду, но также дает нам возможность для сотрудничества и взаимодействия в будущем.

Libp2p теперь помогает с QUIC — библиотекой, которая управляет соединениями между узлами и одной из основных проблем, с которыми мы столкнулись при обмене сообщениями. Возможно, что не менее важно, он может обрабатывать отверстия. Как это делается, довольно сложно, но это описано здесь, что позволяет узлам, находящимся за брандмауэром или домашним маршрутизатором, подключаться в режиме p2p. Большинство людей должны иметь возможность подключаться без необходимости возиться с переадресацией портов. Будем надеяться, что со временем крейт улучшится и будет поддерживать еще больше маршрутизаторов, чем сейчас.

Кроме того, есть защита от отказа в обслуживании (DoS), где есть элементы управления для ограничения количества активных подключений между узлами и, при необходимости, ограничение скорости входящих подключений.

Как многие из вас знают, Safe основан на распределенной хэш-таблице Kademlia (DHT), которая позволяет маршрутизировать XOR и адресное хранилище контента. Это также поддерживается libp2p, если не полностью из коробки, то, по крайней мере, на уровне, с которым мы можем работать и улучшать. Важно отметить, что он реализует функцию обновления узлов Kademlia, что означает, что мертвые узлы не остаются в таблице маршрутизации очень долго.

Это обновление важно ввиду другого вектора атаки: люди генерируют миллиарды ключей в автономном режиме, а затем пытаются взломать их как новые узлы Sybil. В качестве теста мы рассмотрим реализацию привратника, называемого проверяемыми случайными функциями (VRF).

VRF берет существующий ключ + входные данные и выводит новый открытый ключ + доказательство того, что он был получен из старого ключа и входных данных. Итак, узел, который хочет присоединиться, создает ключ и находит ближайшую группу узлов к этому ключу. VRF берет ключ плюс идентификаторы этой группы и выводит новую пару ключей плюс доказательство. Этот новый открытый ключ вместе с доказательством затем отправляется в эту закрытую группу для присоединения, после чего узлы в этой группе могут проверить, был ли он сгенерирован из действительного старого ключа и идентификаторов узлов, близких к этому старому ключу.

Поскольку узлы быстро обновляются (теперь намного быстрее), ключи должны генерироваться и использоваться быстро. Они имеют очень ограниченный срок службы, что снижает риск атаки «автономной генерации ключей». VRF — это инновация Algorand.

Следующим в списке плюсов является децентрализованная инфраструктура открытых ключей (PKI) на основе IP, которая обеспечивает защиту от атак «человек посередине». Как упоминалось пару недель назад, это позволяет нам эффективно использовать наш механизм группового консенсуса как способ стать нашим собственным ЦС, сертифицируя сообщения как безопасные.

Наш путь к специализированным узлам, например, для архивирования и аудита, внезапно становится намного проще, равно как и сложная проблема обновления протокола, в которой нам помогают различные функции libp2p.

Итак, libp2b и другие проекты, такие как rustls иVRF заботятся о многих сложных сетевых проблемах низкого уровня, а это означает, что мы можем сосредоточиться на реальных инновациях, особенно на нашем использовании DBC.

Именно здесь Safe выделяется высокой параллельной и масштабируемой пропускной способностью транзакций. Поскольку Safe — это в первую очередь сеть данных, мы используем DBC для защиты данных, а также для оплаты хранения, в данном случае с недавним добавлением поля «причина», в котором хранится имя данных, за которые он заплатил. В данных также хранится ссылка на DBC для завершения круга.

Мы также возлагаем большую ответственность за безопасность на клиента, с подписями клиентов через DBC и их проверкой, защищающей все данные в сети. При этом мы полностью удалили сетевые подписи, упростив ситуацию и защитив себя от крипто-взлома квантовых компьютеров, когда они появятся.

Для UX, не имеющего себе равных в настоящее время, у нас есть функциональность мультиподписи с помощью ключей BLS, чтобы сделать эту систему действительно полезной и удобной для использования.

Добавьте это к более ранним инновациям, таким как самошифрование фрагментов, и картина почти полная. Это недостающее звено libp2p упрощает предложение в легко объяснимую сеть и делает это масштабируемым способом, обеспечивая при этом невероятно высокий уровень безопасности практически без исторического состояния (кроме транзакций DBC).

Это похоже на то, что Безопасная сеть действительно просыпается сейчас и избавляется от всех исследовательских частей и тестов, которые мы провели, чтобы предоставить небольшой, надежный узел, который позволит пользователям просто присоединиться к сети и начать зарабатывать и хранить данные почти сразу, независимо от как долго узел будет онлайн. Каждый получит безопасный доступ к новому подходу к самому ценному элементу человечества — знаниям.


Полезные ссылки

Не стесняйтесь отвечать ниже со ссылками на переводы этого обновления для разработчиков, и модераторы добавят их сюда.

Как проект с открытым исходным кодом, мы всегда ждем отзывов, комментариев и предложений сообщества - так что не стесняйтесь, присоединяйтесь и давайте вместе создадим безопасную сеть!