Актуальні теми
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Перші два відомі експлойти проти живих схем ZK щойно відбулися, і це були не тонкі необмежені баги.
Вони були перевіряючими Groth16, розгорнутими без завершення церемонії довіреного налаштування. Один був врятований за ~$1,5 млн, інший — за 5 ETH.
🧵
Обидва протоколи використовували Circom + snarkjs — найпоширеніший стек для розгортань Groth16.
Жук? Вони пропустили другу фазу довіреної установки: етап внеску, специфічного для схеми.
Без нього параметри γ і δ ключів верифікації встановлюються на однакове значення: генератори G2
Чому γ = δ ламає все?
Перевірки Groth16:
e(-A, B) · e(α, β) · e(vk_x, γ) · e(C, δ) = 1
Коли γ = δ, атакуючий може встановити C = -vk_x для скасування обох членів, а потім A = α, B = β для скасування решти. Рівняння дорівнює 1 · 1 = 1. Свідок не потрібен.
Foom Protocol (~$1,4 млн) був лотерейним dApp на Base та Ethereum. Порятунок Whitehat від @duha_real та іншого незалежного whitehat витратив контракти раніше, ніж зловмисник зміг це зробити, зациклюючи підроблені докази для вилучення 99,97–99,99% токенів.
Протокол Veil (~$5K) був вилкою Tornado Cash на базі. Зловмисник вичерпав увесь пул за одну транзакцію, 29 підроблених зняттів за допомогою фіктивних анулліфікаторів, таких як 0xdead0000, витягуючи повний баланс ETH пулу в 2.9.
Це снарк, який працює так, як задумано. Коли ви запускаєте налаштування groth16, вона ініціалізує γ і δ на генератор G2 як тимчасовий варіант. Від тебе очікують, що ти будеш запускати Zkey Contribution для рандомізації δ. Пропустіть цей крок, і ваш верифікатор прийме будь-які докази.
Страшно: це не була глибока криптографічна помилка чи тонка помилка схеми. Це була помилка під час розгортання: відсутність однієї команди CLI. І він перебував у виробництві з реальними коштами під загрозою.
Висновки:
- Завжди переглядати скрипти розгортання, а не лише код схеми
- Перевірте ключі верифікації: якщо vk_gamma_2 == vk_delta_2, ваші докази підробляються
- Ми співпрацювали з @DedaubSecurity для сканування ланцюгів EVM на наявність інших уражених контрактів, високоцінних контрактів не знайдено, але деякі існують
4,16K
Найкращі
Рейтинг
Вибране
