Захист приватності завжди був головною метою екосистеми Zcash. Від найпершої версії Sprout до Sapling, а тепер і Orchard, Zcash постійно вдосконалювала свою архітектуру доказів із нульовим розголошенням, щоб знизити бар’єри впровадження та підвищити безпеку мережі.
Поява Orchard — це не просто технічне оновлення: вона знаменує перехід Zcash до системи zk-SNARKs наступного покоління. Виявлена вразливість у схемі Orchard привернула оновлену увагу до внутрішньої роботи цього конфіденційного пулу.
Orchard — це конфіденційний пул, що обробляє транзакції захищеного типу останнього покоління в мережі Zcash. Користувачі можуть надсилати й отримувати ZEC через адреси Orchard, не розкриваючи контрагентів або суми транзакцій.
На відміну від традиційних блокчейнів із повністю прозорими реєстрами, Orchard використовує докази з нульовим розголошенням для перевірки транзакцій. Вузли мережі можуть підтвердити дійсність транзакції, не бачачи її вмісту.
Orchard також є головним інструментом для інновацій Zcash у сфері приватності. Багато нових функцій і криптографічних оновлень спочатку розгортаються саме в Orchard, прокладаючи шлях для майбутньої еволюції протоколу.
Конфіденційні пули Zcash пройшли три покоління: Sprout, Sapling та Orchard. Sprout запровадив перші приватні транзакції в мережі, Sapling значно знизив витрати на генерацію доказів, а Orchard, побудований на фреймворку Halo 2, ще більше покращує масштабованість і гнучкість оновлень.

Функції приватності Orchard побудовані на технології zk-SNARKs. zk-SNARKs — це криптографічні докази, які дають змогу одній стороні довести істинність твердження, не розкриваючи базових даних.
У мережі Zcash відправник генерує доказ із нульовим розголошенням, який показує, що витрачені кошти є реальними та що подвійне витрачання не відбувається. Вузли, що перевіряють, повинні лише перевірити доказ, щоб підтвердити транзакцію, не дізнаючись про суми або адреси.
Фреймворк Halo 2, що лежить в основі Orchard, є системою доказів із нульовим розголошенням наступного покоління. Порівняно з попередніми системами, Halo 2 пропонує гнучкіший дизайн схем і підтримує складніші структури доказів, залишаючи простір для майбутніх оновлень протоколу.
Детальне пояснення роботи доказів із нульовим розголошенням див. у статті «Як Zcash досягає приватних транзакцій? Глибоке занурення в механізм zk-SNARKs».
Інцидент почався з цілеспрямованого аудиту безпеки схеми Orchard. Дослідник Тейлор під час аудиту виявив аномальну поведінку схеми та приватно повідомив про це в Zcash Open Development Lab (ZODL).
Отримавши звіт, команда розробників швидко відтворила проблему й підтвердила потенційний ризик для безпеки. Оскільки проблема стосувалася логіки перевірки схеми Orchard, команда негайно активувала свій протокол екстреного реагування.
На відміну від звичайних помилок у програмному забезпеченні, ризики в системах доказів із нульовим розголошенням часто виникають на рівні обмежень схеми. Схема визначає, які дії можна вважати дійсними, тому будь-яка помилка в дизайні може поставити під загрозу всю модель безпеки.
Цей інцидент підкреслює, що в сучасних системах zk-SNARKs аудит схем так само важливий, як і криптографічний аудит. Навіть якщо базові алгоритми безпечні, дефекти на рівні реалізації все одно можуть створити ризик.
Після підтвердження вразливості команда розробників не розголошувала деталі негайно. Це відповідає загальноприйнятій практиці відповідального розкриття, яка покликана запобігти використанню інформації зловмисниками до того, як виправлення буде розгорнуто.
Щоб зменшити ризик, команда спочатку обмежила створення нових виходів Orchard і призупинила можливість витрачати кошти, які вже перебували в конфіденційному пулі Orchard.
Ця дія не зупинила всю мережу Zcash. Прозорі адреси та конфіденційний пул Sapling продовжували працювати в звичайному режимі під час оновлення, що дозволило користувачам виконувати деякі транзакції.
Така багаторівнева архітектура приватності підвищує стійкість мережі до інцидентів безпеки, даючи команді розробників змогу розгорнути виправлення, не порушуючи роботу ширшої екосистеми.
Після підтвердження вразливості спільнота Zcash прийняла поетапну стратегію оновлення. Перший етап — екстрений софтфорк, призначений для швидкого стримування ризику та запобігання включенню постраждалих транзакцій у блокчейн.
Після того як софтфорк набрав чинності, вузли почали застосовувати нові правила перевірки, блокуючи поширення ризикованих операцій Orchard. Цей етап створив тимчасову захисну мережу.
Оскільки проблема стосувалася ключів верифікації схеми Orchard, зрештою знадобилося оновлення на рівні протоколу. Команда розробників випустила версію з новими ключами верифікації та активувала оновлені правила протоколу через хардфорк.
Усе оновлення вимагало скоординованого оновлення програмного забезпечення від розробників, майнерів, операторів вузлів, бірж і постачальників інфраструктури. Така співпраця є ключовою частиною управління публічним блокчейном.
Цей інцидент познайомив багатьох користувачів із різними організаціями в екосистемі Zcash.
Shielded Labs — незалежна організація, яка підтримує екосистему Zcash, бере участь у дослідженнях протоколу, аудитах безпеки та розробці технологій приватності. Вона покладається на пожертви спільноти й не пов’язана з Zcash Foundation або ZODL.
Zcash Open Development Lab (ZODL) займається розробкою та підтримкою основного протоколу. У цьому інциденті ZODL керувала перевіркою вразливості, розробкою виправлень і координацією оновлення мережі.
Zcash Foundation — некомерційна організація, яка підтримує довгостроковий розвиток Zcash через розвиток інфраструктури, управління спільнотою та підтримку екосистеми з відкритим кодом.
Наявність кількох незалежних організацій, які працюють над розвитком протоколу, зменшує ризик єдиної точки відмови та підвищує прозорість і довгострокову стійкість мережі.
Orchard, як конфіденційний пул третього покоління Zcash, є також ключовим застосуванням системи доказів із нульовим розголошенням Halo 2. Порівняно з Sprout і Sapling, Orchard пропонує значні покращення в продуктивності, масштабованості та довгостроковій здатності до оновлень.
Аудит безпеки схеми Orchard виявив потенційну вразливість. Спільнота Zcash усунула її через відповідальне розкриття, обмеження функціональності, захисний софтфорк і хардфорк-оновлення, відновивши нормальну роботу Orchard.
Sapling був зосереджений на підвищенні ефективності ранніх приватних транзакцій. Orchard, побудований на Halo 2, додатково оптимізований з точки зору масштабованості, здатності до оновлень і майбутньої сумісності.
Згідно з загальнодоступною інформацією, жодної відомої втрати коштів не сталося. Вразливість була виявлена під час аудиту безпеки та виправлена до того, як будь-яка потенційна атака могла бути виконана.
Команда розробників повинна була запобігти використанню деталей вразливості після публічного розкриття, тому Orchard тимчасово обмежили для підтримки безпеки мережі під час оновлення.
Прозорі адреси та конфіденційний пул Sapling продовжували нормально працювати під час оновлення. Постраждали лише функції, пов’язані з Orchard, а не вся мережа Zcash.





