Zebra — альтернативный узел Zcash
Все новости про Zcash в социальной сети «X» (бывший Twitter) | Интересные видео про Zcash на YouTube
Статья актуальна на 17 марта 2024
Автор: ruzcash
Zebra — это нода (узел) для присоединения к одноранговой сети Zcash, которая полностью написана на языке программирования Rust. Каждый пользователь, установивший и запустивший собственный узел Zcash, помогает повысить устойчивость сети за счёт проверки и широковещательной передачи транзакций, а также более распределенного поддержания состояния блокчейна Zcash. Мировое распределение узлов — это основа любой децентрализованной сети.
Первоначальный узел Zcash назван Zcashd
и разработан компанией Electric Coin Company как форк исходной ноды Bitcoin, которая была написана на языке программирования C++. Zebra стала независимой реализацией узла Zcash, разработанной с нуля с использованием безопасного для оперативной памяти языка программирования Rust. Поскольку Zcashd
и Zebrad
реализуют один и тот же протокол, они непосредственно взаимодействуют друг с другом как единое целое.
14 августа 2023 года было объявлено, что узлы на базe Zebra получат полный приоритет в разработке:
«Рады сообщить, что мы договорились о переносе основной работы по протоколу Zcash с zcashd на Zebra!
Наши команды будут сотрудничать, чтобы определить, какую функциональность необходимо добавить в Zebra для решения задач и поддержки ключевых пользователей, переходящих на Zebra. ECC продолжит модернизацию основных протоколов Zcash, таких как реализация доказательства доли (PoS), используя Zebra, и мы продолжим поддержку zcashd во время перехода, который займет неопределенное количество времени. Мы считаем, что этот шаг ускорит инновации и подтвердит суперспособность Zcash: решение сообщества финансировать разработку Zcash несколькими независимыми командами.»
@ElectricCoinCo
Основная причина по которой это происходит озвучивалась разработчиками ранее. Язык программирования #Rust, на котором написана Zebra, обладает характеристиками и эффективностью, позволяющими обновляться и работать быстрее чем zcashd, написанный на C++ (zcashd — наследие Bitcoin).
Zebra вносит свой вклад для сети Zcash:
- Улучшенная производительность: поскольку Zebra была реализована с нуля асинхронным и параллельным способом, в настоящее время она работает быстрее, чем Zcashd.
- Охват аудитории: с развертыванием нового узла появится больше разработчиков, которые смогут реализовать различные функции для сети Zcash.
- Безопасность консенсуса: при независимой реализации обнаружение ошибок консенсуса может происходить быстрее, что снижает риск расщепления консенсуса с последующей реструктуризацией сети.
- Безопасность спецификации протокола: с несколькими реализациями узлов гораздо проще заметить ошибки и неоднозначность в спецификации протокола.
- Аппаратная безопасность: поскольку он разработан на безопасном для памяти языке (Rust) и с меньшей вероятностью будет подвержен ошибкам безопасности, связанным с безопасностью памяти, которые могут поставить под угрозу программную среду, в которой он работает.
Zcash Foundation: «Альтернативные варианты ноды помогают разработчикам быстро обнаруживать ошибки, связанные с реализацией, которые могут вызвать проблемы, связанные с поддержанием консенсуса в сети. Наличие нескольких реализаций узлов также привлекает к Zcash более широкую аудиторию разработчиков, которые могут начать вносить свой вклад на языке, с которым они более знакомы. Наша реализация zcashd позволяет разработчикам Rust легко начать разработку Zcash и вносить в нее свой вклад.»
Стоит отметить, что программисты в блокчейн-сообществе убеждены в необходимости создания дублирующих сборок исполняемых файлов протоколов сети. Так, например, сеть Ethereum имеет целых пять вариаций клиентов для сборки узлов на различных языках программирования.
Благодаря сборке Zebra у пользователей и разработчиков появляется новый способ взаимодействия с экосистемой Zcash. По состоянию на 23 декаября 2023 доступен релиз Zebra 1.6.0 (полнофункциональный узел, аналогичный Zcashd версии 5.8.0) на соответствующем репозитории.
Ознакомиться с документацией по сборке узла на Zebra можно в Zebra Book.
Как установить ноду Zebra?
Системные требования
Рекомендуемые требования для компиляции и запуска zebrad
:
- 4+ ядерный процессор
- 16+ ГБ оперативной памяти
- Более 300 ГБ свободного места на диске для создания двоичных файлов и хранения окончательного состояния
- Сетевые подключения более 100 Мбит/с с пропускной способностью 300 ГБ в месяц.
Zebrad
может нормально строиться и работать и на менее быстрых системах — точные минимальные пределы пока не определены.
Список поддерживаемых операционных систем:
- Windows Server (2019, 2022)
- Linux (Debian 11)
- Ubuntu (GitHub ubuntu-latest)
- macOS (GitHub macos-latest)
Инструкции по сборке и запуску
Инструкция актуальна по состоянию на 17 марта 2024 года для версии Zebra 1.6.0.
1. Устанавливаем зависимости: cargo
and rustc
.
В терминале выполняем следующие команды:
cargo install --locked zebrad
sudo apt install curl
sudo apt install rustup
sudo apt install rustc
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
По ходу отвечаем на запросы установщика (выбрать настройки Default — пункт 1).
Если в вашей ОС уже установлен Rust версии ниже 1.76, то для того чтобы установить свежую версию Rust, необходимо деинсталлировать версию встроенную в вашу ОС. Инструкция приведена на официальном сайте Rust.
2. Как только все зависимости будут установлены, вы сможете собрать и установить Zebra:
В терминале выполняем команду:
cargo install --locked zebrad
3. Запускаем Zebra: zebrad start
Альтернативный метод установки указан здесь.
Раздел документации с помощью по запуску Zebra здесь.
Более подробные инструкции см. в документации.
Все новости про Zcash в социальной сети «X» (бывший Twitter) | Интересные видео про Zcash на YouTube
Вы можете поддержать автора проекта pro.zcash:
(для отправки доната на данный адрес требуется
кошелёк с функционалом экранированных транзакций)