Overwinter: суть обновления и хардфорка Zcash

3890
Просмотры

Что такое Overwinter

Overwinter — это первое обновление сети для Zcash. Его целью является усиление протокола для будущих обновлений сети. Он включает в себя управление версиями, защиту от воспроизведения для обновления сети, повышение производительности для прозрачных транзакций, новую функцию окончания срока транзакции и многое другое.

Дата проведения overwinter: 25 июня 2018 года на блоке 347500.

Дата проведения Sapling: конец июля 2018 года.

Чтобы принять Overwinter, нужно обновить программное обеспечение Zcash. Если нода не примет обновления сети (и не использует свою собственную фулноду и ручную настройку клиента), со старым кодом будет невозможно работать.

Это обновление приводит к разделению цепи, но не к разделению сообщества. Обновления приняты положительно.

Последняя версия ПО для майнинга Zcash находится на странице загрузки на официальном сайте.

Для лучшей совместимости требуются некоторые дополнительные переменные, которые вводит Overwinter в родной клиент zcashd.

Главные изменения в обновлении:

Форматирование транзакций: все транзакции должны использовать новый формат транзакции от Overwinter и далее — «v3». Предыдущие форматы не будут действительны после обновления Overwinter, поэтому при создании транзакций формат «v3» должен использоваться после активации обновления (но не до этого).

Номер версии транзакции: 4-байтная версия транзакции будет иметь самый важный бит, установленный с Overwinter и далее, для двусторонней защиты от повторного воспроизведения и однозначного анализа транзакций всех текущих и будущих форматов. Например, существующие транзакции «v1» и «v2» используют номера версий «1» и «2», но «v3» транзакции (с Overwinter ) будут использовать номер  версии “(1 << 31) / 3”.

Идентификаторы группы версий: версия транзакции уникально соотносится с ID группы версий, чтобы обеспечить однозначный анализ транзакций. Например, транзакция «v3» всегда будет иметь идентификатор группы версий «0x03C48270» в своем формате сериализации даже после будущих обновлений сети.

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

Хеширование подписи / SignatureHash: в этом обновлении появляются новые функции, похожие на SegWit: подписи транзакций, которые соответствуют значениям входных данных.

Почему это хардфорк Zcash?

Это обновления не поддерживает обратную совместимость, которые требуют обновления всех узлов и кошельков Zcash.

Каждое обновление сети имеет имя и связанные версии:

  • сеть запущена с протоколом Sprout 1.0.x,
  • следующие запланированные обновления: 1.1.x Overwinter,
  • затем 2.0.x Sapling.

Дата активации выбирается как минимум через 3 месяца после первой версии кода с обновленным протоколом. Это означает, что у пользователей есть 3 месяца, в которые должно обновиться программное обеспечение zcashd.

Если вы просто пользователь, а не майнер, то вам важно использовать биржу или кошелек, которые будут поддерживать обновление сети.

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

Если вы используете zcashd, но не обновляетесь в течение трех месяцев после запуска обновления сети, он выведет сообщение об ошибке.

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

Безопасность средств

Если вы работаете с обновленным кошельком, вам не нужно ничего делать, чтобы «перевести» деньги на новый протокол. Для безопасного хранения средств при любом обновлении (и вообще всегда) настоятельно рекомендуется создавать и сохранять регулярные резервные копии кошелька.

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