Ранее на этой неделе Zcash Foundation запустил новый инструмент на базе Rust - часть инфраструктуры, предназначенную для того, чтобы помочь узлам Zcash находить друг друга, когда они впервые подключаются к сети.
Такие инструменты DNS выступают в качестве точки входа в децентрализованные сети. Когда запускается новый узел Zcash, у него нет встроенного списка узлов для подключения. Система раздачи предоставляет краткий список активных, работоспособных узлов, что позволяет сети расти, не полагаясь на какого-либо центрального координатора.
До сих пор Zcash полагался на старые реализации этого инструмента. Фонд заявил, что переписывание его на Rust модернизирует часто упускаемую из виду часть сети и снижает риск сбоев в периоды стресса или роста.
Новый инструмент построен с использованием того же сетевого кода, который используется в Zebra, полном узле Zcash Foundation на базе Rust. Это означает, что инструмент сканирует сеть, используя те же правила и протоколы, что и поддерживаемые им узлы, уменьшая несогласованность и повышая надежность.
Конструкция Rust также повышает безопасность и производительность. В Фонде заявили, что инструмент использует архитектуру без блокировки для быстрой обработки DNS-запросов даже при высоком трафике. Он также включает в себя встроенные средства защиты, такие как ограничение скорости для каждого IP-адреса, что помогает предотвратить такие злоупотребления, как атаки с усилением DNS.
Для операторов инструмент спроектирован таким образом, чтобы им было легко управлять. Rust поддерживает как IPv4, так и IPv6, включает мониторинг в реальном времени с помощью метрик Prometheus и поставляется с инструментами Docker для простого развертывания.
Rust имеет открытый исходный код и доступен на GitHub, тестирование рекомендуется как в основной, так и в тестовой сети.