Zcash — Новый релиз 5.0.0
Все новости про Zcash в социальной сети «X» (бывший Twitter) | Интересные видео про Zcash на YouTube
Переведено из блога Electric Coin Company | 18 мая 2022 I ruzcash
Пятое обновление сети
Выпуск 5.0.0 поддерживает активацию NU5 в основной сети, которая произойдет при высоте блока 1687104 (ориентировочно 31 мая). Исполняемые файлы релиза доступны на GitHub, а инструкции по установке можно найти на нашем сайте загрузки.
Резюме
NU5 представляет собой крупнейшее обновление сети в истории Zcash, которое запускает экранированный платежный протокол Orchard и использует систему проверки Halo для устранения зависимости от сложных церемоний настройки. Эффективность, заложенная в это обновление, впервые делает возможными быстрые конфиденциальные цифровые платежи Zcash на мобильных телефонах. Halo также прокладывает путь к повышению функциональной совместимости, предоставляя целостную систему, которая может масштабировать доказательства с нулевым разглашением в целях кросс-чейновых взаимодействий.
Готовность обновления NU5
Обновление подверглось тщательному анализу как на уровне спецификации, так и на уровне реализации, включая внешние оценки безопасности со стороны NCC и QEDIT. ECC также привлекла Мэри Маллер, исследователя криптографии в Ethereum Foundation и члена Научно-консультативной группы ECC, для проведения проверки доказательства безопасности протокола Halo 2, которая по итогу не вызвала никаких опасений. ECC продолжит работу с Мэри в ближайшие недели, чтобы учесть её отзывы и предложения. Текущий отзыв Мэри можно найти здесь.
Доказательство безопасности Halo 2 — это доказательство нулевого разглашения и надежности конструкции Halo 2, которая, насколько нам известно, является первым доказательством обобщенного протокола на основе PLONK и первым явным доказательством, написанным для схемы полиномиальных обязательств, основанной на аргументе внутреннего продукта. Кроме того, команды ECC Core и Security engineering завершили еще один обширный обзор схемы Orchard, библиотек Halo2 и логики консенсуса, реализованной в NU5.
Лицензирование BOSL для Orchard и общие исключения
Платежный протокол Orchard распространяется под лицензией Bootstrap Open Source License (BOSL), лицензией на программное обеспечение с открытым исходным кодом, предназначенной для гарантии того, что все улучшения остаются открытыми в долгосрочной перспективе, в то же время позволяя коммерческую разработку. ECC находится в процессе добавления двух общих исключений в BOSL, чтобы наши партнеры и будущие дружественные форки могли использовать технологию Orchard в соответствии с их текущим выбором лицензирования. Исключением для будущих дружественных форков являются те цепочки, которые происходят от хэша блока, как указано в Соглашении о товарных знаках. Исключение для партнеров распространяется на тех партнеров, которые используют технологию Orchard для поддержки сети Zcash и монеты ZEC. Мы будем работать с нашими юристами, чтобы завершить эту задачу до момента активации NU5.
Политика в отношении товарных знаков Zcash
В соответствии с разделом 6.2.b Соглашения о товарных знаках, ECC уведомило Zcash Foundation как правообладателя на товарный знак Zcash о готовящемся обновлении NU5 и утвердило выпуск 5.0.0 в качестве эталонной реализации Zcash.
Заметные изменения в 5.0.0
Активация обновления NU5 в основной сети поддерживается выпуском 5.0.0 на высоте блока 1687104 , которая будет достигнута примерно 31 мая 2022 г. Пожалуйста, до указанной даты обновите узлы на версию 5.0.0, чтобы перейти на Zcash NU5.
В рамках NU5 развертываются или обновляются следующие предложения по улучшению сети Zcash (ZIP):
- ZIP 32: Защищенные иерархические детерминированные кошельки (обновлено)
- ZIP 203: Истечение срока действия транзакции (обновлено)
- ZIP 209: Запретить отрицательные балансы защищенного пула стоимости цепочки (обновлено)
- ZIP 212: Разрешить получателю извлекать эфемерный секрет из открытого текста заметки (обновлено)
- ZIP 213: Защищенная база монет (обновлено)
- ZIP 216: Требовать канонических кодировок Jubjub Point
- ZIP 221: FlyClient — изменения уровня консенсуса (обновлено)
- ZIP 224: Защищенный протокол Orchard
- ZIP 225: Формат транзакции версии 5
- ZIP 239: Ретрансляция транзакций версии 5
- ZIP 244: Неизменяемость идентификатора транзакции
- ZIP 252: Развертывание обновления сети NU5
- ZIP 316: Унифицированные адреса и унифицированные ключи просмотра
- ZIP 401: Решение проблемы отказа в обслуживании Mempool (уточнено)
Прекращение поддержки и удаление функций
Теперь zcashd
имеет процесс определения того, как функции общедоступного API могут быть признаны устаревшими и удалены. Прекращение поддержки функций следует за серией шагов, в результате которых в течение ряда выпусков функции сначала остаются включенными по умолчанию (но могут быть отключены принудительно), затем переключаются на отключение по умолчанию и в конечном итоге полностью удаляются.
Был добавлен новый строчный параметр -allowdeprecated
, позволяющий пользователю принудительно управлять доступностью устаревших функций zcashd. Этот флаг позволяет пользователям повторно включать устаревшие методы и функции API, которые в настоящее время отключены по умолчанию, или, наоборот, принудительно отключать все устаревшие функции, если они того пожелают. Можно указать несколько экземпляров этого аргумента. Пользователь может полностью отключить устаревшие функции, указав строку none
в качестве аргумента этого параметра. В случае определения none многократные вызовы -allowdeprecated
не допускаются.
Устаревшие функции
Начиная с этого выпуска, перечисленные в списке функции устарели, но остаются доступными по умолчанию. Эти функции могут быть отключены, установив значение параметра -allowdeprecated=none
. После выпуска 5.3.0 эти функции будут отключены по умолчанию, и для их разрешения и дальнейшего использования потребуются флаги -allowdeprecated
.
Список устаревших функций:
legacy_privacy
— «устаревшая» политика конфиденциальности по умолчанию дляz_sendmany
. При отключении поведениеz_sendmany
по умолчанию будет соответствоватьFullPrivacy
директиве (введенной в 4.7.0) во всех случаях, а не только для транзакций с использованием унифицированных адресов.getnewaddress
– управляет доступностьюgetnewaddress
метода RPC.getrawchangeaddress
– управляет доступностьюgetrawchangeaddress
метода RPC.z_getbalance
– управляет доступностьюz_getbalance
метода RPC.z_gettotalbalance
– управляет доступностьюz_gettotalbalance
метода RPC.z_getnewaddress
– управляет доступностьюz_getnewaddress
метода RPC.z_listaddresses
– управляет доступностьюz_listaddresses
метода RPC.addrtype
– управляет доступностью устаревшего атрибутаtype
, возвращаемого методами RPC, которые возвращают метаданные адреса.
Начиная с этого выпуска,перечисленные в списке функции устарели и по умолчанию отключены, но могут быть повторно включены с помощью -allowdeprecated=<функция>
.
- Метод
zcrawreceive
RPC отключен. Его можно снова включить с помощьюallowdeprecated=zcrawreceive
- Метод
zcrawjoinsplit
RPC отключен. Его можно снова включить с помощьюallowdeprecated=zcrawjoinsplit
- Метод
zcrawkeygen
RPC отключен. Его можно снова включить с помощьюallowdeprecated=zcrawkeygen
Обработка опций
- Параметры
-reindex
,-reindex и -chainstate
теперь подразумевают -rescan (при условии, что кошелек включен и обрезка отключена, и если-rescan=0
это не установлено принудительно). - Добавлен новый аргумент
-anchorconfirmations
, позволяющий пользователю указать количество блоков от конца цепочки, из которых будут выбираться привязки при расходовании заметок. По умолчанию привязки теперь будут выбраны так, чтобы иметь три подтверждения. Значения, превышающие 100, не поддерживаются. - Добавлена новая опция
-orchardactionlimit
, позволяющая пользователю самостоятельно определить лимит действий — по умолчанию 50 действия Orchard за транзакцию. Транзакции, содержащие большое количество действий Orchard, могут использовать большие объемы памяти для проверки, поэтому ограничение по умолчанию в 50 действий наложено для защиты от исчерпания памяти. Системы с объёмом памяти более чем 16 ГБ памяти могут безопасно определять этот параметр на уровне 200 действий и более.
RPC-интерфейс
- Значение по умолчанию
minconf
дляz_sendmany
теперь составляет 10 подтверждений вместо одного
Если указать значениеminconf
меньше, чем предусмотрено для-anchorconfirmations
, оно также переопределит это значение, поскольку невозможно использовать заметки, которые являются более свежими, чем привязка. Не рекомендуется выбирать значениеminconf
меньше 3, так как это позволяет отличить транзакцию от транзакций, использующих значение по умолчанию для-anchorconfirmations
.
Изменения RPC
- Устаревшие методы
zcrawkeygen
,zcrawreceive
иzcrawjoinsplit
в RPC теперь отключены по умолчанию. Используйте-allowdeprecated=<функция>
для выбора отдельных функций, если вы хотите продолжать использовать эти API.
Система сборки
zcutil/build.sh
теперь автоматически запускаетzcutil/clean.sh
для удаления файлов, созданных предыдущими сборками. Раньше мы рекомендовали это делать вручную.
Зависимости
- Зависимости
boost
иnative_b2
обновлены до версии 1.79.0.
Тесты
- Переменная среды в Python, которая позволяет пользователям тестов RPC переопределять путь по умолчанию к исполняемому файлу
zcashd
, была изменена сBITCOIND
наZCASHD
.
Страница расписания Zcash была обновлена, чтобы отразить выпуск 5.0.0, а также время активации основной сети.
Arborist Call Bitcoin Halo NU5 NU7 Orchard PoS PoW z2z zcashd Zcon Zebra ZecWallet ZIP ZKP ZSA Гранты Доказательства с нулевым разглашением Дорожная карта Ключи просмотра Конференции Кошельки Кошельки для Zcash Метрики Нода Релизы аппаратные кошельки биржи и обмены биткоин будущее криптовалют внедрение интеграции интервью конфиденциальность майнинг новости Zcash обновление сети объяснения обёрнутые токены регулирование транзакции унифицированные адреса управление цена ZEC эмиссия
Метки: Halo, NU5, Orchard, обновление сети
Все новости про Zcash в социальной сети «X» (бывший Twitter) | Интересные видео про Zcash на YouTube
Вы можете поддержать автора проекта pro.zcash:
(для отправки доната на данный адрес требуется
кошелёк с функционалом экранированных транзакций)