Автор: Coindesk
Перевод: Shenchao TechFlow
Обзор Shenchao: В настоящее время Zcash может обрабатывать около 1 частной транзакции в секунду. Новая нода Zakura направлена на достижение 50 000 TPS при сохранении полной конфиденциальности — уровень обработки Visa и Mastercard. Это важный сигнал для всех, кто интересуется конфиденциальностью платежей и масштабируемостью блокчейна: конфиденциальность и производительность больше не являются взаимоисключающими.
Те, кто воссоздал Zcash, мечтают достичь уровня таких глобальных платежных гигантов, как Visa и Mastercard, обрабатывая десятки тысяч платежей в секунду, при этом сохраняя полную проверяемость и надежные гарантии конфиденциальности.
Первым элементом этого плана является Zakura — новое программное обеспечение полного узла, версия 1.0.0 которого была выпущена в среду. Оно поддерживается Сином Боу, одним из основателей криптографии с нулевым разглашением Zcash, и Девом Оджей, сооснователем Osmosis и нынешним руководителем Valar Group. Обе команды финансируются за счет частных пожертвований в ZEC, а не корпораций или фондов.
Наша мечта — поддерживать глобальные платежи. MasterCard и Visa обрабатывают более 50 000 транзакций в секунду; это наша минимальная планка. С использованием существующей криптографической схемы Zcash для такой нагрузки узлам потребуется пропускная способность более 500 МБ в секунду, — говорится в блоге. «Существующая технологическая стек не может достичь этой цели. Технологии криптографии, которые наша команда разрабатывает, позволят значительно сократить этот разрыв.»
Полный узел — это программа, сохраняющая полную копию блокчейна, в данном случае — реестра Zcash, и независимо проверяющая каждую транзакцию на соответствие правилам сети. Zakura — это форк программного обеспечения узла Zcash Foundation Zebra, то есть он был перестроен на основе официального кода фонда.
Правила консенсуса — это общий свод правил, выполняемых каждым узлом, которые определяют, какие блоки и транзакции сеть считает действительными. Если узел применяет другие правила, он отклоняется от основной цепи и перестаёт следовать за остальными узлами.
Прививка, снимок и совместимость
Zakura также может выполнять обрезку, то есть удалять устаревшие данные блокчейна, которые больше не нужны, значительно сокращая использование дискового пространства. Это позволяет сжать цепочку до достаточно малого размера: команда выпустила готовую копию, содержащую около 11 ГБ после удаления старых данных. Новые узлы могут напрямую загрузить её, вместо того чтобы скачивать полную историю блок за блоком от других узлов.
Это позволяет запустить узел с нуля менее чем за две минуты, что, по словам команды, в 680 раз быстрее.
Режим совместимости дополнительно воспроизводит интерфейс исходного клиента zcashd, жизненный цикл которого будет завершен 18 июля, позволяя кошелькам и интеграциям бирж, созданным для него, продолжать работать без изменений.
Throughput targets and the role of Tachyon
Причина создания всего этого — арифметическая проблема.
Mastercard и Visa обрабатывают более 50 000 транзакций в секунду, и команда называет это число «минимумом, а не целью». Текущая криптографическая схема Zcash требует, чтобы узлы принимали и проверяли более 500 МБ данных в секунду, поскольку каждая приватная транзакция содержит доказательство, которое имеет большой размер.
Это примерно эквивалентно получению полной DVD-дискеты каждые 10 секунд, чего пока не может достичь ни одно программное обеспечение Zcash. Но важно понять причину каждого узкого места.
Проект Tachyon от Bowe решает эту проблему с помощью рекурсивных доказательств, где одно доказательство может подтвердить корректность тысяч других доказательств, значительно сокращая объем данных, которые необходимо проверять на уровне консенсуса.
В рамках решения Tachyon узлы проверяют отдельные доказательства, а не тысячи, и команда утверждает, что это снижает потребность в данных консенсуса с 100 МБ в секунду до 500 МБ, считая, что это технически достижимо благодаря тщательной инженерной работе.
Проблемы с кошельком и решение Valar PIR
Кошельки сталкиваются с различными проблемами. Поскольку Zcash скрывает получателей транзакций, кошелек не может спросить сервер, какие транзакции принадлежат ему, не раскрывая себя. Ему необходимо загружать все данные и проверять их по одному, именно поэтому программное обеспечение кошелька может обрабатывать максимум около одной транзакции в секунду.
Чтобы устранить этот узкий Platz, Valar Group исследует технологию частного поиска информации, позволяющую кошелькам получать свои данные с сервера, не раскрывая серверу, какие именно записи запрашиваются.
Быстрая передача блоков
Быстрая трансляция блоков означает максимально быструю рассылку новообразованных блоков в сети блокчейна. Zakura — это программный слой, отвечающий за эту задачу.
Он должен достаточно быстро передавать новые блоки между узлами, чтобы обеспечить массовую обработку доказательств и трафика кошельков. Он оснащен экспериментальной системой, предназначенной для передачи каждого блока всем узлам за полсекунды, которая по умолчанию отключена.
Ближайшие тесты этих идей пройдут в конце июля. Ironwood, официально известный как NU6.3, будет активирован на блоке главной сети 3 428 143, что приблизительно соответствует 8:00 по восточному времени 28 июля; Zakura поддерживает его с момента выпуска.
Bowe заявил 10 июля, что все основные организации обязались выполнить это в условиях высокой активности, что произошло на неделю позже запланированного срока, поскольку биржи и провайдеры кошельков запросили время на подготовку.
Происхождение Ironwood
Ironwood существует из-за уязвимости, которая почти уничтожила Zcash в июне. Так называемый защищенный пул — это приватная часть сети, где суммы и участники скрыты, а доказательства с нулевым разглашением служат доказательством математических операций.
29 мая исследователь Shielded Labs Тейлор Хорнби обнаружил, что схема доказательства Orchard (самого последнего защищенного пула) содержит уязвимость целостности, позволяющую злоумышленникам бесследно создавать поддельные ZEC в цепочке. Эта уязвимость существовала с момента активации Orchard в мае 2022 года.
Разработчики отключили Orchard с помощью экстренного ответа, завершенного 2 июня, а затем восстановили его с исправленной схемой через жесткую форку NU6.2 на блоке 3 364 600 3 июня.
Патч не может устранить четыре года, в течение которых уязвимость была открыта. Доказательства с нулевым разглашением не раскрывают никакой информации, кроме факта успешной проверки, поэтому в цепочке нет никаких записей о содержимом транзакций Orchard, и никто не может доказать, что фальшивые ZEC никогда не создавались.
Ironwood был создан именно для решения этой проблемы. Так называемые «вращающиеся двери» на границах пула ограничивают содержимое, которое может покинуть или войти в него, используя тот факт, что суммы ZEC, входящие и выходящие из пула, являются публичными, даже если транзакции внутри пула являются конфиденциальными. Закрытие Orchard для предотвращения новых депозитов превращает вращающиеся двери в единственный выход, и любые фальшивые монеты внутри остаются там заблокированными.
Проще говоря, честные балансы могут постепенно выводиться со временем, тогда как фальшивые монеты могут быть заблокированы от полного вывода и попадания в обращение. Эта настройка ограничивает любые попытки избыточного предложения, восстанавливая надежность предложения токенов.
