Zebra — альтернативный узел Zcash

Все новости про Zcash в Twitter  |  Интересные видео про Zcash на YouTube

Статья актуальна на 14/10/2022

Автор: RuZcash

Zebra — это нода (узел) для присоединения к одноранговой сети Zcash, которая полностью написана на языке программирования Rust. Каждый пользователь, установивший и запустивший собственный узел Zcash, помогает повысить устойчивость сети за счёт проверки и широковещательной передачи транзакций, а также более распределенного поддержания состояния блокчейна Zcash. Мировое распределение узлов — это основа любой децентрализованной сети.

Первоначальный узел Zcash назван Zcashd и разработан компанией Electric Coin Company как форк исходной ноды Bitcoin, которая была написана на языке программирования C++. Zebra стала независимой реализацией узла Zcash, разработанной с нуля с использованием безопасного для оперативной памяти языка программирования Rust. Поскольку Zcashd и Zebrad реализуют один и тот же протокол, они непосредственно взаимодействуют друг с другом как единое целое.

Zebra вносит свой вклад для сети Zcash:

  1. Улучшенная производительность: поскольку Zebra была реализована с нуля асинхронным и параллельным способом, в настоящее время она работает быстрее, чем Zcashd.
  2. Охват аудитории: с развертыванием нового узла появится больше разработчиков, которые смогут реализовать различные функции для сети Zcash.
  3. Безопасность консенсуса: при независимой реализации обнаружение ошибок консенсуса может происходить быстрее, что снижает риск расщепления консенсуса с последующей реструктуризацией сети.
  4. Безопасность спецификации протокола: с несколькими реализациями узлов гораздо проще заметить ошибки и неоднозначность в спецификации протокола.
  5. Аппаратная безопасность: поскольку он разработан на безопасном для памяти языке (Rust) и с меньшей вероятностью будет подвержен ошибкам безопасности, связанным с безопасностью памяти, которые могут поставить под угрозу программную среду, в которой он работает.

Zcash Foundation: «Альтернативные варианты ноды помогают разработчикам быстро обнаруживать ошибки, связанные с реализацией, которые могут вызвать проблемы, связанные с поддержанием консенсуса в сети. Наличие нескольких реализаций узлов также привлекает к Zcash более широкую аудиторию разработчиков, которые могут начать вносить свой вклад на языке, с которым они более знакомы. Наша реализация zcashd позволяет разработчикам Rust легко начать разработку Zcash и вносить в нее свой вклад

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

Благодаря сборке Zebra у пользователей и разработчиков появляется новый способ взаимодействия с экосистемой Zcash. По состоянию на 14 октября 2022 доступен финальный релиз-кандидат Zebra (полнофункциональный узел, аналогичный Zcashd версии 5.2.0) на соответствующем репозитории. Программисты Zcash Foundation продолжают обновлять данный клиент и добавлять в него новые функции. Ознакомиться с документацией Zebra.

Как установить ноду Zebra?

Системные требования

Рекомендуемые требования для компиляции и запуска zebrad:

  • 4+ ядерный процессор
  • 16+ ГБ оперативной памяти
  • Более 50 ГБ свободного места на диске для создания двоичных файлов и хранения окончательного состояния
  • Сетевые подключения более 100 Мбит/с

Zebrad может нормально строиться и работать и на менее быстрых системах — точные минимальные пределы пока не определены.

Список поддерживаемых операционных систем:

  • Windows Server (2019, 2022)
  • Ubuntu (18.04; 22.04)
  • macOS (Monterey 12, Big Sur 11, Catalina 10.15)

Инструкции по сборке и запуску

Инструкция актуальна по состоянию на 08 октября 2022 года для версии Zebra 1.0.0-rc.0.

Для компиляции Zebrad требуются библиотеки Rust, libclang и компилятор C++.

Zebrad все еще находится в стадии разработки, поэтому не поддерживается механизм упаковки или установки. Чтобы запустить Zebrad, следуйте инструкциям по компиляции для вашей платформы:

1. Устанавливаем cargo and rustc.

Zebra Beta 15 протестирована с последней стабильной версией Rust 1.63. Rust 1.57 и более ранние версии не поддерживаются из-за отсутствия некоторых функций.

В терминале выполняем следующие команды:

sudo apt install cargo
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.63, то для того чтобы установить свежую версию Rust, необходимо деинсталлировать версию встроенную в вашу ОС. Инструкция приведена на официальном сайте Rust.

2. Устанавливаем необходимые пакеты для успешной компиляции Zebra.

В терминале выполняем следующие команды:

sudo apt install libclang
sudo apt install libclang-dev
sudo apt install llvm-dev
sudo apt install clang
sudo apt install g++
sudo apt install Xcode
sudo apt install MSVC

3. Запускаем компиляцию Zebra.

cargo install --locked --git https://github.com/ZcashFoundation/zebra --tag v1.0.0-rc.0 zebrad

4. Запускаем Zebra: zebrad start

Раздел документации с помощью по запуску Zebra здесь.

Текущая версия Zebra Beta 15 находится в стадии тестирования, поэтому некоторый функционал, доступный в Zcashd всё ещё может отсутствовать. Ожидается что следующей версией Zebra будет полноценный релиз-кандидат с полностью аналогичным Zcashd функционалом.

Более подробные инструкции см. в документации.

Все новости про Zcash в Twitter  |  Интересные видео про Zcash на YouTube

Комментировать статью:

Ваш адрес email не будет опубликован. Обязательные поля помечены *

19 + 17 =