Первоисточник: материал Shielded Labs | Перевод и адаптация: ruzcash

Crosslink дополняет доказательство работы (Proof of Work, PoW) механизмом финализации, который создаёт ещё один уровень защиты от откатов цепочки. Вся экономическая деятельность и проверка блоков по-прежнему происходят в цепочке PoW. Механизм финализации работает параллельно, закрепляет блоки и предотвращает реорганизации цепочки.
После публикации предыдущей статьи о денежной модели мы получили много отзывов о том, что исходная конструкция чрезмерно ограничивала ликвидность. Особенно долгими участникам показались 30-дневный период разблокировки и 10-дневная эпоха. Ликвидность важна и нынешним держателям, и потенциальным новым участникам. Поэтому нужно найти более подходящее соотношение между конфиденциальностью, безопасностью и доступностью средств.
Мы нашли способ сократить эпоху и период разблокировки, сохранив предусмотренные конструкцией преимущества для конфиденциальности и безопасности. Наш анализ показывает, что возможно использовать пятидневную эпоху и период разблокировки продолжительностью в одну эпоху. Средства в таком случае обычно становятся доступны через 5–10 дней, а защита конфиденциальности участников стейкинга сохраняется.
В этой статье мы описываем обновлённую конструкцию Crosslink, объясняем её причины и связанные с ней компромиссы. Она учитывает особое требование Zcash: стейкинг не должен ослаблять конфиденциальность. Исходное предложение не было окончательным. Оно служило отправной точкой для сбора отзывов, проверки предположений и поиска более сбалансированного решения. Представленные здесь идеи также следует считать началом работы. Crosslink будет меняться с учётом мнения сообщества и практического опыта.
Обновлённая модель стейкинга
Стейкинг в Crosslink происходит только внутри пула Orchard. Участник блокирует ZEC, делегирует свою долю выбранному финализатору и получает вознаграждение. При выходе из стейкинга ZEC разблокируются не сразу. В течение одной пятидневной эпохи их ещё нельзя потратить. В зависимости от момента подачи запроса средства станут доступны через 5–10 дней.
Для безопасности и прозрачности объём средств в стейкинге раскрывается. Благодаря этому сообщество может проверить общее количество заблокированных ZEC и их распределение между финализаторами. Делегирование остаётся проверяемым и справедливым, при этом основные свойства конфиденциальности сохраняются.
Crosslink сочетает несколько решений, призванных уравновесить конфиденциальность, безопасность и удобство:
- Пакетная обработка входа и выхода из стейкинга для конфиденциальности. Транзакции обрабатываются в рамках фиксированных пятидневных эпох, а все действия объединяются в один пакет. Это сокращает утечку сведений и затрудняет связь отдельных операций с конкретными пользователями. В эти же периоды участники могут передать свою долю другому финализатору.
- Квантование сумм для конфиденциальности. В стейкинг можно передавать суммы, увеличивающиеся по степеням десяти, например 1, 10, 100, 1 000 или 10 000 ZEC. Наблюдателю сложнее определить индивидуальные действия участников, а объёмы у финализаторов при этом остаются проверяемыми.
- Период разблокировки для конфиденциальности и безопасности. После запроса на выход монеты остаются заблокированными до конца текущей и на протяжении следующей эпохи. Задержка составляет от 5 до 10 дней. Это даёт время обнаружить возможную атаку и отреагировать на неё. Одновременно участникам выгодно оставлять часть средств доступной в Orchard, что увеличивает общий набор неразличимых защищённых средств и усиливает конфиденциальность.
Например, участник передаёт в стейкинг 1 000 ZEC. Вознаграждение начнёт начисляться после обработки пакета в конце пятидневного периода. Если позднее он запросит выход на второй день новой эпохи, средства останутся заблокированными ещё три дня до её конца и пять дней следующей эпохи.
Причины и компромиссы
Конструкция стейкинга Crosslink учитывает компромиссы между конфиденциальностью, безопасностью, скоростью выпуска, удобством и экономическими стимулами. Нынешний вариант является отправной точкой и будет меняться после получения отзывов. Мы хотим объяснить, как Crosslink сочетает особые требования Zcash с практическими условиями выпуска протокола стейкинга.
Конфиденциальность
Ценность Zcash основана на надёжной защите конфиденциальности, поэтому она стала одним из главных приоритетов Crosslink. Пятидневная пакетная обработка и квантование сумм сокращают утечку сведений и затрудняют связь отдельных действий с пользователями. Период разблокировки тоже косвенно помогает конфиденциальности. ZEC в стейкинге нельзя использовать сразу, поэтому многие участники, вероятно, заблокируют лишь часть своих средств, а остальные оставят доступными в Orchard. Это поддерживает большой и устойчивый набор анонимности в пуле и не позволяет стейкингу ослабить одно из главных свойств Zcash.
Мы изучали и другие способы сохранить конфиденциальность при стейкинге. Один из вариантов представляет собой защищённый стейкинг, похожий на решение Penumbra. Он мог бы сократить объём раскрываемых сведений о долях, но заметно усложнил бы систему. При этом неясно, насколько дополнительная конфиденциальность оправдает связанные с ней риски и задержки. Для первой версии Crosslink важнее выпустить безопасный и работающий стейкинг в разумный срок. Поэтому защищённый стейкинг пока не даёт убедительного преимущества. Тем не менее мы предварительно изучили, как адаптировать защищённое делегирование в стиле Penumbra для Zcash. Такой подход потребует отдельной области стейкинга с обязательствами, нуллификаторами и проверяемым весом финализаторов. В будущих версиях Crosslink мы продолжим исследовать этот и другие способы совместить конфиденциальность с проверяемостью.
Безопасность
Crosslink усиливает безопасность Zcash несколькими способами. Финализация повышает уверенность в хранении ZEC. Это может положительно повлиять на цену и создать взаимно усиливающий цикл: более надёжная защита привлекает капитал, а более высокая стоимость расширяет бюджет безопасности.
С технической точки зрения Crosslink создаёт дополнительный уровень защиты при нескольких видах атак:
- Нарушение безопасности доказательства работы. Финализаторы могут закрепить предыдущий блок и сохранить каноническую цепочку без немедленного жёсткого разделения сети.
- Нарушение безопасности доказательства доли владения. Сеть может временно вернуться к вероятностной финализации, пока финализаторы и участники стейкинга восстанавливают консенсус.
- Одновременное нарушение PoW и PoS. Согласованное восстановление всё ещё возможно с помощью экстренного исправления или жёсткого разделения сети. Угроза штрафного изъятия монет злоумышленника делает такую атаку сложнее и значительно дороже. Одно доказательство работы не даёт такой возможности.
Задержка разблокировки остаётся важной частью этой модели безопасности. Она даёт время обнаружить неправильную финализацию, сговор или попытку отката и отреагировать на угрозу. Исторические инциденты, включая взлом The DAO и атаки с откатом на Ethereum Classic и ZEN, показывают, зачем нужен временной запас. При этом чрезмерно долгая разблокировка ограничивает ликвидность, поэтому срок должен учитывать и безопасность, и удобство.
Чёткий план реагирования на происшествия помогает найти такое равновесие. Он охватывает наблюдение, обнаружение угроз, ограничение ущерба и восстановление, позволяя протоколу быстро действовать в критической ситуации. По предложению Криса Наттикомба из Electric Coin Company можно заранее подготовить экстренное сетевое обновление. Оно временно остановит относящуюся к PoS часть транзакций и консенсуса, но позволит PoW и обычным транзакциям продолжить работу. Готовое исправление сократит время реакции сообщества во время кризиса. В том числе поэтому мы считаем, что одна эпоха разблокировки, обычно пять дней, может обеспечить достаточную защиту.
План реагирования снижает риски и позволяет сократить период разблокировки, однако из-за размера и разнообразия сообщества Zcash быстро согласовать совместные действия бывает непросто. С похожей трудностью сталкиваются и другие крупные сети.
Скорость выпуска
Одна из наших главных целей состоит в том, чтобы быстрее выпустить первую версию. Наиболее действенный способ улучшать Crosslink заключается в выпуске начального варианта, сборе отзывов пользователей и быстрых последовательных обновлениях. Работающая версия даст практический опыт и позволит постепенно учитывать реальные потребности пользователей вместо бесконечного теоретического обсуждения.
С инженерной точки зрения нынешняя конструкция сравнительно проста в реализации. Она использует существующую логику транзакций Orchard и в основном добавляет учёт стейкинга, распределение вознаграждений и соблюдение периода разблокировки. Фиксированные интервалы входа и выхода, квантованные суммы и определённая задержка понятны участникам и разработчикам.
Кроме того, мы отказались от Malachite и теперь поддерживаем собственную облегчённую версию Tendermint под названием Tenderlink. Это повышает стабильность, сокращает накопленные технические проблемы и устраняет зависимость от разработки исходного проекта. Мы также получаем больше возможностей для повышения производительности. В будущих версиях Crosslink сетевые обновления могут увеличить число валидаторов до сотен или даже тысяч.
Поощрение долгосрочных держателей и устойчивость сети
Модель стейкинга также учитывает долгосрочные экономические цели Zcash. По нашему впечатлению, сообщество обычно ценит надёжность выше краткосрочного роста, хотя со временем они могут усиливать друг друга. Разблокировка в течение одной эпохи призвана уменьшить частые входы и выходы и вознаградить долгосрочных держателей. Вознаграждение получают участники, которые сохраняют свою приверженность сети, а быстрые спекулятивные операции при такой модели менее выгодны. Блокировка части обращающихся монет может создать дефицит и положительно повлиять на цену ZEC. Таким образом, стейкинг учитывает интересы держателей, вознаграждает участников, разделяющих долгосрочные цели Zcash, и способствует устойчивости сети.
Crosslink также позволяет держателям ZEC напрямую участвовать в защите сети, запуская узлы финализаторов. Таких участников мы называем Хранителями протокола (Protocol Guardians). В первые годы Zcash любители могли добывать монеты на видеокартах и помогать сети. После появления специализированных устройств такая возможность стала недоступна большинству. По оценке авторов, сеть потеряла около 90% пользовательской базы. Crosslink может вернуть широкое участие, предоставив держателям ZEC значимую роль в консенсусе. Возможность защищать сеть и получать вознаграждение способна заметно увеличить число активных пользователей.
Привлечение нового капитала и удобство
В исходной конструкции мы недооценили важность нового капитала, как институционального, так и частного. Конфиденциальность, безопасность и ликвидность способны привлечь новых участников. Ликвидность влияет и на удобство: чем сложнее получить доступ к средствам, тем меньше людей захотят участвовать в стейкинге. Сокращение эпохи и периода разблокировки снижает препятствия для частных и институциональных участников. Более короткое ожидание делает стейкинг привлекательнее для тех, кому важна гибкость, не ослабляя конфиденциальность и безопасность.
Правила пакетной обработки, квантования и разблокировки сравнительно просты, но всё же усложняют использование Crosslink. Кошельки должны понятно показывать периоды входа и выхода из стейкинга, желательно с календарём или обратным отсчётом. Тогда пользователи будут знать, когда можно выполнить нужное действие. Деление средств на фиксированные разряды тоже требует дополнительных шагов. Конструкцию легко объяснить, но пользователю придётся планировать действия заранее. Снижение этих препятствий важно для широкого распространения.
Мы также рассмотрели токены ликвидного стейкинга, но решили не включать их в первую версию Crosslink. Они могут дать участникам больше гибкости и ликвидности, однако усложняют Crosslink и создают дополнительные риски концентрации и торговли на вторичном рынке. Поскольку скорость выпуска остаётся приоритетом, к ликвидному стейкингу лучше вернуться в следующих версиях после испытания первой реализации на практике.
Заключение
Shielded Labs планирует представить работающий прототип в тестовой сети до конца года. После запуска пользователи смогут испытать его, а мы снова оценим мнение сообщества и держателей, чтобы убедиться в широкой поддержке дальнейшей работы.
Обновлённая конструкция не является окончательной. Мы продолжим менять её с учётом отзывов, результатов тестовой сети и практического опыта. Приглашаем сообщество делиться мнениями, вопросами и предложениями, чтобы доработать модель и определить следующий этап развития.
Обсуждение продолжается на форуме сообщества Zcash.
Эта статья отражает совместную работу команды Shielded Labs. Отдельная благодарность Зуко, Нейту и Марку за проверку материала и замечания.
Комментировать статью