Overwinter
Overwinter был активирован в основной сети Zcash на блоке 347,500 (26 июня 2018 года, UTC).
Что вы узнаете: как Zcash научился безопасно изменять собственные правила и почему именно эта основа сделала возможными все последующие обновления, начиная с Sapling.
Overwinter — это обновление сети Zcash, первое после запуска сети. Оно определено в нескольких предложениях по улучшению Zcash: ZIP 200, ZIP 201, ZIP 202, ZIP 203 и ZIP 143. Overwinter не добавил никаких новых экранированных функций. Вместо этого он укрепил протокол, чтобы будущие обновления можно было безопасно выпускать. Обновление задокументировано Electric Coin Company на официальной странице обновлений Zcash.
Почему это важно. Изменять правила работающего блокчейна опасно. Если ошибиться, две версии сети могут начать расходиться во мнениях, или транзакцию, предназначенную для одной цепочки, можно будет скопировать в другую. До Overwinter у Zcash не было стандартного и защищённого от повторного воспроизведения способа координировать изменение правил. Overwinter это исправил. Он дал Zcash формальный процесс для обновлений и, что не менее важно, двустороннюю защиту от повторного воспроизведения, так что транзакцию, действительную при одном наборе правил, нельзя повторно воспроизвести при другом. Именно эта основа позволила чисто активировать Sapling и все обновления после него.

Механизм обновления
Overwinter представил механизм обновления сети, определённый в ZIP 200. Теперь каждое обновление определяет две вещи: идентификатор ветви консенсуса, который обозначает текущий набор правил, и высоту активации — блок, на котором новые правила вступают в силу. Это даёт всем, кто использует программное обеспечение Zcash, чёткое окно для обновления до переключения.
Сам Overwinter был активирован в основной сети на блоке 347,500.
ZIP 201 описывает, как узлы взаимодействуют друг с другом в период вокруг обновления. До активации узлы предпочитают подключаться к пирам, работающим на той же версии. В момент активации узел отключается от пиров, находящихся на другой ветви консенсуса, так что сеть чётко разделяется по новым правилам, а не приходит в замешательство.
Защита от повторного воспроизведения
Повторное воспроизведение — это ситуация, когда кто-то берёт транзакцию, действительную в одной цепочке, и повторно рассылает её в другой. Overwinter закрыл эту возможность с помощью новой схемы подписи, определённой в ZIP 143. Когда кошелёк подписывает транзакцию, подпись теперь включает привязку к идентификатору ветви консенсуса текущей цепочки. Транзакция, подписанная для одной ветви, просто недействительна в любой другой ветви, в обоих направлениях. Именно это и означает двусторонняя защита от повторного воспроизведения.
Это работает рука об руку с новым форматом транзакций версии 3 из ZIP 202, который иногда называют форматом Overwintered. Он добавляет флаг fOverwintered и идентификатор группы версий, которые ясно показывают, к какому набору правил консенсуса относится транзакция. В качестве дополнительного преимущества новая схема подписи также улучшила скорость проверки прозрачных транзакций.

Срок действия транзакции
ZIP 203 добавил срок действия транзакции. Теперь транзакция может задавать высоту блока истечения срока действия. Если к этой высоте она не была включена в блок, узлы удаляют её из mempool — зоны ожидания неподтверждённых транзакций. До этого транзакция могла оставаться неподтверждённой очень долго. Срок действия означает, что зависшая транзакция в конечном итоге очищается сама, что уменьшает неопределённость для вас и не даёт mempool заполняться старыми, не включёнными в блок транзакциями.
Место в истории
Overwinter был первым обновлением сети Zcash после запуска основной сети в октябре 2016 года и был выпущен намеренно до Sapling. Его задачей была инфраструктура, а не функции. Сначала внедрив механизм обновления и систему защиты от повторного воспроизведения, он обеспечил каждому последующему обновлению (Sapling, Blossom, Heartwood, Canopy, NU5 и всем последующим) безопасный путь активации.

Глоссарий
| Термин | Значение простыми словами |
|---|
| Network upgrade (NU) | Скоординированное изменение правил консенсуса Zcash, активируемое на заданной высоте блока |
| Consensus branch id | Короткий идентификатор, обозначающий текущий набор правил консенсуса |
| Activation height | Блок, на котором новые правила обновления сети вступают в силу |
| Replay protection | Правило, не позволяющее повторно использовать транзакцию, действительную в одной цепочке, в другой |
| Mempool | Набор транзакций, которые были разосланы, но ещё не включены в блок |
| Transaction expiry | Высота блока истечения срока, после которой не включённая в блок транзакция удаляется |
FAQ
Изменил ли Overwinter мои ZEC или мою приватность? Нет. Overwinter не добавил никаких новых функций и не затронул экранированные транзакции. Это была инфраструктурная подготовка для безопасных будущих обновлений. Ваши средства и приватность не изменились.
Добавил ли Overwinter Sapling или экранированные адреса? Нет. Overwinter не добавил никаких экранированных функций. Он подготовил основу, чтобы Sapling можно было безопасно активировать позже.
Что такое идентификатор ветви консенсуса? Это короткая метка, обозначающая текущий набор правил. Транзакции привязываются к ней при подписи, и именно это даёт Zcash защиту от повторного воспроизведения.
Почему в одних источниках указано 25 июня, а в других 26 июня? Overwinter был активирован в 01:37 UTC 26 июня 2018 года. Это сразу после полуночи по UTC, поэтому во многих западных часовых поясах местное время всё ещё показывало 25 июня. Речь идёт об одном и том же блоке и одном и том же моменте.
Зачем нужен срок действия транзакции? Он означает, что транзакция, которая так и не была включена в блок, не будет висеть вечно. После достижения высоты истечения срока узлы удаляют её, так что вам не приходится гадать, что происходит с зависшим платежом.
Нужно ли мне что-то делать? Нет. Overwinter был активирован в 2018 году. Любой современный кошелёк или узел Zcash уже следует этим правилам.
Проверьте своё понимание
Overwinter не добавил никаких новых экранированных функций. Так почему же он считается одним из самых важных обновлений в истории Zcash?
Ответ
Потому что он создал механизм, от которого зависят все последующие обновления. Overwinter представил механизм обновления сети и двустороннюю защиту от повторного воспроизведения, дав Zcash стандартный и безопасный способ изменять свои правила консенсуса. Без этой основы Sapling и последующие обновления не смогли бы быть активированы чисто.
Ресурсы
ZIP 200: Механизм обновления сети
ZIP 201: Управление сетевыми пирами для Overwinter
ZIP 202: Формат транзакций версии 3 для Overwinter
ZIP 203: Срок действия транзакции
ZIP 143: Проверка подписей транзакций для Overwinter
Обновление сети Overwinter
См. также
Обновления сети Zcash
Экранированные пулы
Полные узлы
NU6.1
Electric Coin Company
Что такое ZEC и Zcash
Серия: Указатель по обновлениям сети · Предыдущая: Sprout · Следующая: Sapling