Skip to content

Вопросы на собеседовании: Блокчейн-разработчик

100 реальных вопросов с образцовыми ответами и пояснениями для уровня Senior.

Смотреть пример резюме: Блокчейн-разработчик

Тренировка флешкарточками

Интервальное повторение · Hunter Pass

Вопросы

defi

Инвариант задает допустимый результат обмена, а учет резервов и комиссий определяет, кому принадлежат итоговые балансы.

  • В пуле с постоянным произведением чистая входная сумма после комиссии двигает цену по кривой x умножить на y и ограничивает выходную сумму.
  • Если комиссия остается в пуле, фактическое произведение резервов после обмена обычно растет, поэтому инвариант не означает, что численное значение k навсегда фиксировано.
  • Хранимые резервы, токен-балансы и предложение LP-долей могут разойтись после donation или rebase, поэтому протокол должен явно определить момент синхронизации и то, как эта стоимость достается LP.

Зачем это спрашивают: Интервьюер проверяет, отделяет ли кандидат математику обмена от учета владения активами и комиссиями.

defi

LP-доли должны сохранять пропорциональное право каждого провайдера и округляться так, чтобы пул не отдавал неучтенную стоимость.

  • Для существующего пула число новых долей обычно равно минимуму из произведения каждого депозита на общее предложение, деленного на соответствующий резерв, а при сжигании владелец получает свою долю обоих резервов.
  • Первый депозит требует отдельной логики, например долей по геометрическому среднему с небольшой навсегда заблокированной частью, потому что готового курса еще нет.
  • Выходные доли и суммы при выводе округляются вниз, а вход для получения точного числа долей округляется вверх, чтобы повторные операции с пылью не извлекали стоимость.

Зачем это спрашивают: Интервьюер оценивает пропорциональную математику долей, инициализацию, обработку donation и округление не в пользу вызывающего как единую систему учета.

designdefi

Концентрированная ликвидность превращает общую LP-долю пула во множество позиций с ценовыми диапазонами, которые активируются на границах тиков.

  • Каждый инициализированный тик хранит чистое изменение ликвидности, и при его пересечении эта величина добавляется к активной ликвидности или вычитается из нее.
  • Позиция хранит владельца, нижний тик, верхний тик и объем ликвидности, часто в виде NFT, потому что провайдеры выбирают разные диапазоны и их доли больше не взаимозаменяемы.
  • Комиссии рассчитываются по глобальному росту комиссий и росту за пределами двух границ, поэтому позиция зарабатывает только пока цена находится внутри диапазона.
  • Узкие диапазоны повышают эффективность капитала, но требуют активного управления и делают обмен дороже при пересечении множества инициализированных тиков.

Зачем это спрашивают: Интервьюер проверяет, связывает ли кандидат активацию диапазонов, идентичность позиций, учет комиссий и компромисс эффективности капитала.

ltv

LTV ограничивает начальную сумму займа, а порог ликвидации определяет момент, когда позиции уже не хватает обеспечения.

  • Доступный заем рассчитывается по стоимости залога из оракула, умноженной на LTV каждого актива, поэтому залог стоимостью 100 при LTV 80 процентов поддерживает не более 80 долга.
  • Платежеспособность сравнивает залог с поправкой на порог ликвидации и текущий долг, обычно через health factor, при значении ниже 1 позицию можно ликвидировать.
  • Разница между LTV и порогом ликвидации служит запасом на движение цены и накопление процентов, а не дополнительной ликвидностью для свободного вывода.

Зачем это спрашивают: Интервьюер оценивает, умеет ли кандидат отделять лимит открытия займа от постоянной границы платежеспособности.

defi

Модель должна повышать стоимость займа вместе с утилизацией, причем резко около точки, где пулу уже трудно обслуживать выводы.

  • Утилизация обычно равна объему займов, деленному на сумму свободных средств и займов, при последовательном учете резервов по правилам конкретного протокола.
  • Ломаная кривая плавно растет ниже целевого уровня, например 80 процентов, и круто выше него, чтобы стимулировать погашение и приток депозитов.
  • Доходность поставщика выводится из ставки займа, утилизации и reserve factor, поэтому она ниже объявленной ставки заемщика.
  • Высокая ставка оценивает дефицит ликвидности, но не создает деньги мгновенно, поэтому дизайн вывода и резервов не должен считать доступность гарантированной кривой.

Зачем это спрашивают: Интервьюер проверяет понимание и экономики кривой утилизации, и предела ее влияния на доступную ликвидность.

Бонус платит ликвидатору за восстановление платежеспособности, а close factor ограничивает долю долга, которую можно погасить за одну ликвидацию.

  • Ликвидатор погашает долг и получает залог стоимостью погашения плюс бонус, который должен покрывать gas, движение цены и риск исполнения без лишнего изъятия залога.
  • Close factor в 50 процентов не дает одному вызову закрыть весь долг, но при быстром падении цены может оставить позицию под риском на несколько ликвидаций.
  • Безнадежный долг появляется, когда оставшегося залога с учетом бонуса и рыночной цены недостаточно для покрытия оставшегося долга.
  • Тогда протоколу нужен явный путь распределения убытка через резервы, страховку или поставщиков, потому что больший бонус не вернет стоимость, которой уже нет.

Зачем это спрашивают: Интервьюер оценивает, умеет ли кандидат проследить экономику частичной ликвидации до непокрытого остатка.

defi

Я бы выбрал изоляцию, когда ограничение заражения от одного залога, оракула или рынка важнее максимальной эффективности капитала.

  • В изолированном рынке дефицит остается у его поставщиков и резервов, а не расходует ликвидность, обеспечивающую несвязанные активы.
  • Общая ликвидность улучшает утилизацию, глубину займов и доступ к кросс-залогам, но один слабый актив может вызвать убытки или заморозить выводы по всему пулу.
  • Изоляция также дробит ликвидность и требует отдельных лимитов, кривых ставок и настроек оракула, поэтому зрелые активы с низким риском могут оправдать общий пул, а новый залог нет.

Зачем это спрашивают: Интервьюер проверяет, умеет ли кандидат сопоставить эффективность капитала с радиусом распространения неплатежеспособности.

staking

Он переводит новые награды в глобальную накопленную сумму на один застейканный токен и рассчитывается с пользователем только при его взаимодействии.

  • В контрольной точке контракт добавляет к аккумулятору новые награды, умноженные на коэффициент точности и разделенные на общий стейк.
  • Ожидающая награда пользователя равна его стейку, умноженному на аккумулятор и деленному на коэффициент точности, минус reward debt, поэтому награду нужно зафиксировать до изменения стейка.
  • После депозита, вывода или получения награды reward debt устанавливается по новому стейку пользователя и текущему аккумулятору с делением на тот же коэффициент.
  • Дизайн должен определить судьбу наград при нулевом общем стейке и сохранить достаточную точность, чтобы пыль от целочисленного деления нельзя было извлекать повторно.

Зачем это спрашивают: Интервьюер оценивает понимание учета наград за постоянное время, порядка обновлений и инвариантов точности.

staking

Unbonding сохраняет возможность штрафа достаточно долго, чтобы нарушение успели обнаружить и финализировать до вывода стейка валидатором.

  • Задержка должна покрывать окно доказательства, оспаривания и финальности сети, а ожидающий вывода стейк должен оставаться доступным для штрафа весь этот период.
  • Условия штрафа должны объективно доказываться и иметь предел, причем нарушения безопасности вроде equivocation требуют более сильного наказания, чем короткий простой.
  • Начало unbonding не должно отвязывать стейк от периода совершенного нарушения, чтобы более позднее доказательство все еще позволяло применить штраф до закрытия окна.
  • Более долгая задержка усиливает ответственность, но повышает стоимость блокировки капитала и спрос на liquid staking, поэтому ее выбирают по реальной задержке обнаружения.

Зачем это спрашивают: Интервьюер проверяет, связывает ли кандидат время вывода с исполнимой экономической безопасностью, а не считает unbonding задержкой интерфейса.

callbacks

После callback кредитор должен получить обратно основную сумму и согласованную комиссию либо откатить всю транзакцию.

  • Кредитор фиксирует баланс, переводит актив, вызывает получателя, а затем проверяет итоговый баланс или списывает точную сумму с комиссией по одобренному стандарту вроде ERC-3156.
  • Успешное возвращаемое значение callback не доказывает погашение, поэтому баланс или результат перевода проверяется независимо от внутреннего учета получателя.
  • Получатель должен проверить кредитора и инициатора до выполнения действий, чтобы произвольный вызывающий не мог запустить approvals или привилегированную callback-логику.
  • Любая ошибка погашения атомарно откатывает перевод и все вложенные действия, что и делает возможным необеспеченный заем на одну транзакцию.

Зачем это спрашивают: Интервьюер оценивает, рассматривает ли кандидат callback как недоверенное исполнение, защищенное инвариантом погашения в конце транзакции.

smart-contractstyping

Я бы проводил границы вокруг владения инвариантами и полномочий, а не только вокруг бизнес-сущностей.

  • Каждый критический факт учёта, например общий долг или объём выпущенных долей, должен принадлежать одному модулю, который раскрывает узкие команды вместо общего изменяемого состояния.
  • У межмодульной операции должен быть один атомарный координатор, который проверяет предусловия и применяет все связанные переходы, с явными точками проверки инварианта и правилами reentrancy вокруг обязательных callback.
  • Интерфейсы должны фиксировать единицы измерения, округление, предположения о доверии и поведение при ошибке, чтобы вызывающий модуль не переосмысливал значения другого модуля.
  • Направление зависимостей, полномочия обновления и область паузы должны следовать той же границе, ограничивая состояние и права, затронутые ошибкой модуля.

Зачем это спрашивают: Интервьюер проверяет, умеет ли кандидат превращать общие инварианты в явное владение, контракты и границы отказа.

designupgradeabilityimmutability

Я бы исходил из обещанной модели доверия, ожидаемых изменений и реального пути миграции, а не делал обновляемость вариантом по умолчанию.

  • Неизменяемость подходит небольшому устоявшемуся ядру, когда пользователи могут проверить постоянные правила и перенести активы в замену без привилегированной миграции.
  • Обновляемость подходит компонентам, чьи интеграции или параметры риска должны развиваться, но добавляет ограничения хранилища и полномочие заменить всю делегируемую логику.
  • Гибрид может оставить хранение активов и основной учёт неизменяемыми, а настраиваемую политику или интеграции вынести в строго ограниченные заменяемые модули.
  • Архитектура должна явно показывать область обновления, задержку, пределы отката и возможность выхода пользователя, поскольку это гарантии протокола, а не детали реализации.

Зачем это спрашивают: Сильный ответ сопоставляет изменяемость со стоимостью миграции, риском полномочий и гарантиями для пользователей.

Я бы выбирал паттерн по размеру парка, гранулярности обновлений, стоимости развёртывания и тому, кому доверено менять код.

  • UUPS подходит независимо обновляемым экземплярам с небольшими прокси, если каждая реализация сохраняет совместимую логику обновления и строго авторизует обновления.
  • Transparent-прокси подходят независимым экземплярам, когда отдельный ProxyAdmin и разделение административных вызовов по отправителю оправдывают более тяжёлое развёртывание.
  • Beacon-прокси подходят однородному парку, который должен обновляться целиком через один beacon, с принятием общего радиуса поражения одного обновления beacon.
  • Минимальные клоны подходят множеству дешёвых экземпляров с фиксированной реализацией; если им нужны согласованные обновления, парк beacon обычно понятнее, чем скрытая изменяемость клонов.

Зачем это спрашивают: Интервьюер оценивает, следует ли выбор прокси топологии парка и границам доверия, а не только стоимости газа.

Diamond сопоставляет маршрутизируемые селекторы функций с facets и делегирует эти вызовы, поэтому код facet работает с адресом и хранилищем diamond.

  • Неизменяемые функции исполняются прямо в diamond, а fallback для остальных msg.sig находит facet, передает calldata через delegatecall и возвращает его данные либо ошибку.
  • diamondCut атомарно добавляет, заменяет и удаляет селекторы, а затем может через delegatecall выполнить инициализацию нового состава.
  • Функции loupe раскрывают facets и соответствия селекторов, чтобы клиенты и инструменты могли проверить текущий интерфейс.
  • Поэтому полномочие diamondCut позволяет менять код всего diamond и должно быть защищено так же, как обновление прокси.

Зачем это спрашивают: Интервьюер проверяет понимание маршрутизации селекторов, контекста delegatecall, атомарных cuts и интроспекции.

Я бы считал пространства имён хранилища и таблицу селекторов постоянными схемами, которые должна проверять каждая операция cut.

  • Каждый домен facet может закрепить структуру хранилища за уникальным детерминированным слотом, а поля внутри пространства имён должны добавляться только в конец и сохранять совместимые типы.
  • Общее для facets состояние должно иметь одно каноническое представление и accessor, чтобы разные facets не создали конкурирующие копии одного инварианта.
  • Cut должен отклонять добавление существующего селектора, замену на тот же facet, удаление отсутствующего селектора или потерю обязательных селекторов интерфейса.
  • Перед атомарным применением всех изменений манифест cut должен сравнить старое и новое владение селекторами, layouts хранилища, поддержку интерфейсов и эффекты инициализации.

Зачем это спрашивают: Сильный ответ рассматривает namespaced storage и владение селекторами как связанные контракты совместимости, а не отдельные механики diamond.

designtyping

Я бы моделировал роли как узкие полномочия с явными административными связями и отделял рабочие права от права их выдавать.

  • Роли должны соответствовать ограниченным действиям и ресурсам, например паузе одного рынка или обновлению одного оракула, вместо широкого операторского доступа ко всему протоколу.
  • Корень с высоким уровнем доверия должен управлять менеджерами ролей, но не иметь повседневной рабочей роли, а после начальной настройки должно остаться только намеренно управляемое самоуправление.
  • Выдача, отзыв, обновление, казначейские и экстренные полномочия должны иметь разные пути, с задержкой или сроком действия там, где немедленный постоянный доступ не нужен.
  • Полный граф должен допускать автоматическую проверку от каждой внешней функции до её роли и от каждой роли до субъектов, способных её создать или отозвать.

Зачем это спрашивают: Интервьюер проверяет, охватывает ли наименьшая привилегия прямые разрешения и все пути их выдачи.

typing

Я бы дал каждому механизму одну задачу: multisig подтверждает порог подписей, timelock задерживает обычные изменения, а guardian только ограничивает ущерб.

  • Обновления, переводы казначейства и долгосрочные изменения параметров должны исполняться через timelock после авторизованного предложения и задержки на проверку, а не напрямую ключами подписантов.
  • Multisig может владеть ролями proposer или администратора, но его порог и разнообразие подписантов не заменяют публичную задержку исполнения.
  • Guardian может поставить ограниченную область на паузу или отменить действие в очереди, но не должен обновлять код, перемещать средства пользователей или обходить timelock.
  • Снятие паузы и восстановление обычных полномочий должны идти по более строгому пути, чтобы компрометация самого быстрого ключа не дала постоянный контроль.

Зачем это спрашивают: Интервьюер оценивает, разделены ли аутентификация, отложенное исполнение и экстренное ограничение ущерба как разные границы доверия.

design

Я бы ставил на паузу действия, увеличивающие риск, и сохранял самый безопасный путь уменьшить позицию и выйти.

  • Управление паузой должно быть гранулярным по модулю и действию, блокируя займы, плечо, рискованные сделки и небезопасные выводы, но по возможности сохраняя погашения, получение средств, отмены и добавление залога.
  • Путь выхода должен использовать консервативный учёт и не зависеть от необязательных компонентов, которые может отключить та же авария, например изменяемой интеграции или нового рискованного чтения оракула.
  • Guardian может быстро включить ограниченную паузу, а её снятие и любое расширение ограничений требуют более сильного отложенного полномочия.
  • Если немедленный вывод нарушает платёжеспособность или порядок расчётов, протоколу заранее нужен механизм пропорционального погашения или отложенного выхода вместо бессрочной заморозки.

Зачем это спрашивают: Сильный ответ рассматривает выход пользователя и живучесть протокола как явные инварианты экстренного управления.

tokenssnapshotgovernance

Я бы рассчитывал все три параметра по исторической силе голоса и настраивал их по участию и концентрации, а не по текущим балансам токенов.

  • Checkpoints делегирования должны фиксировать силу голоса каждого аккаунта на snapshot предложения, чтобы переводы во время голосования не дублировали и не перемещали голоса.
  • Ненулевая задержка голосования даёт делегатам время отреагировать и помещает snapshot после создания предложения по явно выбранным часам на основе блоков или timestamps.
  • Quorum должен быть документированной долей исторического доступного supply с ясным учётом воздержавшихся, чтобы изменения supply не переписывали требование активного предложения.
  • Proposal threshold должен сдерживать спам, но допускать обоснованные предложения меньшинства, а изменение threshold или quorum само должно проходить через отложенное управление.

Зачем это спрашивают: Интервьюер проверяет, являются ли параметры управления согласованными историческими правилами, а не произвольными константами.

tokensgovernance

Я бы сделал краткосрочное получение силы голоса дорогим и ограничил действия временного или захватившего власть большинства.

  • Голоса и право создать предложение должны читаться из checkpoints до активации, а задержка голосования должна исключать полезную силу токенов, взятых и возвращённых в одной транзакции.
  • Если токены голосования широко доступны для займа, возраст стейка, срок блокировки или усреднённая по времени сила голоса защищают от краткосрочных позиций, которые всё ещё допускает простой snapshot блока.
  • Quorum и proposal threshold должны использовать тот же исторический источник голосов, а концентрацию делегирования и wrapper-контракты нужно включать в модель захвата.
  • Timelock, ограниченное право guardian на отмену, неизменяемые пределы критических полномочий и окно выхода пользователей сдерживают вредоносные предложения, но не делают честным действительно купленное большинство.

Зачем это спрашивают: Интервьюер оценивает, различает ли кандидат атомарный заём голосов и долгосрочный экономический захват и строит ли защиту слоями.

Закрытые вопросы

  • 21

    Как вы построите модель угроз для нового DeFi-протокола?

    threat-modelingtypingdefi
  • 22

    Какой процесс аудита вы пройдете от спецификации до итоговых находок?

    concurrency
  • 23

    Чем инварианты протокола отличаются от локальных проверок?

    typing
  • 24

    Как вы построите stateful fuzz-тест с обработчиками и ghost state?

    design
  • 25

    Когда формальная верификация полезна для протокола смарт-контрактов и каковы ее ограничения?

    typing
  • 26

    В чем сильные стороны символического исполнения и почему важен взрыв путей?

  • 27

    Как вы спроектируете надежную архитектуру оракулов для кредитного протокола?

    designoraclestyping
  • 28

    Как учесть MEV в обмене, не обещая полностью устранить его?

  • 29

    Как сделать протокол совместимым с произвольными токенами и callback-хуками?

    callbackstypinghooks
  • 30

    Как вы оцените прибыльность экономической атаки на протокол?

    typing
  • 31

    Как найти баланс между упаковкой storage и стоимостью доступа в обновляемом протоколе?

    upgradeabilitytyping
  • 32

    Как вы применили бы namespaced storage из ERC-7201 в протоколе с большим числом обновляемых модулей?

    upgradeabilitytypingkubernetes
  • 33

    Как стоимость calldata, постоянного storage и доступности данных меняет архитектуру между Ethereum L1 и роллапами?

    designethereumlayer2
  • 34

    Как спроектировать события и индексатор, чтобы приложение оставалось корректным при реорганизациях сети?

    indexesdesign
  • 35

    Когда transient storage из EIP-1153 уместен и как он может нарушить компонуемость?

  • 36

    Как экономить gas с помощью batching, не создавая неограниченные переходы состояния?

    batchgas
  • 37

    Каких предположений вы избегали бы при интеграции произвольного хранилища ERC-4626?

    secrets
  • 38

    Как спроектировать typed permit, который поддерживает и EOA, и смарт-кошельки ERC-1271?

    designsmart-contractswallets
  • 39

    Какие инварианты важны, когда протокол оборачивает batch-переводы ERC-1155 и receiver hooks?

    batchtokenshooks
  • 40

    Что может доказать определение интерфейса через ERC-165 и что все равно требует проверки поведения?

    validationtypes
  • 41

    Мост будет защищать активы примерно на 200 миллионов долларов между двумя сетями. Как выбрать между мультиподписью 5 из 8, мостом с легким клиентом и оптимистическим мостом?

    lockingbridges
  • 42

    Пользователи переносят один и тот же стейблкоин через канонический мост сети или через два сторонних моста, и все три версии теперь торгуются отдельно. Как моделировать эти активы?

    bridgesdependencies
  • 43

    Сервис межсетевых заявок должен переживать повторную доставку, реорганизации исходной сети и приход сообщений не по порядку. Какой протокол сообщений вы используете?

    typing
  • 44

    У протокола есть контракты в L1 и двух L2, а обновление через управление меняет формат межсетевых сообщений. Как развернуть его без требования обновить все сети в одном блоке?

    governancetyping
  • 45

    Оптимистический роллап публикует корень состояния каждую минуту и заявляет финальность за одну минуту, но вывод средств занимает семь дней. Как объяснить и оценить такую схему?

    designlayer2locking
  • 46

    ZK-роллап создает доказательства корректности, но хранит данные транзакций у отдельного комитета и использует доверенную настройку. Что гарантирует доказательство и какие риски остаются?

    layer2transactions
  • 47

    Секвенсор L2 подтверждает транзакции за две секунды, но может бесконечно игнорировать транзакцию пользователя. Как должно работать принудительное включение и что продукту называть финальным?

    transactions
  • 48

    Как ERC-4337 разделяет проверку аккаунта и исполнение и какие риски должен контролировать paymaster?

    validation
  • 49

    Новая сеть со стейкингом предлагает 28% годовых наград в токенах, комиссии протокола покрывают только 3% наград, а токены команды разблокируются через 12 месяцев. Как оценить устойчивость стимулов?

    tokenstypingstaking
  • 50

    DEX использует токены с блокировкой для голосования, чтобы распределять 8 миллионов долларов годовых стимулов ликвидности, а внешние протоколы платят избирателям за вес гейджей. Как оценить такую схему?

    designdefitokens
  • 51

    DeFi-продукту нужны дешёвые частые транзакции, доступ к ликвидности Ethereum и не нужны особые правила исполнения. Где вы развернёте его: на L1, существующем L2 или appchain?

    ethereumdefitransactions
  • 52

    Бирже нужна совместимость с EVM и выводы, которые становятся финальными на L1 в течение часа. Вы выберете optimistic- или ZK-rollup?

    evmlayer2locking
  • 53

    Бирже бессрочных контрактов нужны сопоставление заявок быстрее секунды, on-chain хранение средств и проверяемый через Ethereum расчет. Какую архитектуру вы выберете?

    ethereum
  • 54

    Казначейство хочет провести $100 миллионов через недавно запущенный сторонний мост, потому что он дешевле канонического маршрута. Как вы примете решение?

    bridgesdependencies
  • 55

    Вы проектируете стейблкоин, который сжигается в одной сети и выпускается в другой, хотя сообщения могут задержаться или откатиться из-за реорганизации. Как сохранить целостность supply?

    designerror-handling
  • 56

    Кредитный продукт хочет принимать залог на одном L2 и выдавать заём на другом. Как сохранить платёжеспособность позиций при задержке cross-chain сообщений?

  • 57

    DEX работает на четырёх L2, ликвидность раздроблена, а перемещение общих активов между сетями слишком медленное для хороших котировок. Какую архитектуру вы выберете?

    defideployment
  • 58

    В неизменяемом кредитном протоколе есть открытые позиции, но новый релиз меняет учёт процентов и ликвидаций. Как перенести пользователей, не переписывая историю?

    immutabilitytyping
  • 59

    Работающая appchain переносит контракты и bridged-активы в rollup. Как выполнить переключение, не создав два авторитетных состояния?

    layer2bridges
  • 60

    Rollup достигает целей по скорости и стоимости с одним секвенсором, но теперь команда хочет реальную децентрализацию без резкого ухудшения продукта. Что вы поставите в приоритет?

    layer2
  • 61

    Мониторинг показывает, что атакующий выводит средства из работающего хранилища. Что вы делаете в первые десять минут?

    secretsmonitoring
  • 62

    Кредитный рынок начинает ликвидировать здоровые позиции после резкого расхождения цены одного залогового актива с остальным рынком. Как вы реагируете?

  • 63

    Вы узнаете, что скомпрометировано достаточно ключей подписантов моста для авторизации сообщений. Как вы реагируете?

    bridges
  • 64

    Вредоносное governance-предложение прошло голосование и ожидает перевода казначейства. Как вы поступите?

    governancedata-structures
  • 65

    Секвенсор L2 восстановился после сбоя, а затем реорганизация удалила транзакции, которые пользователи считали подтвержденными. Что вы делаете?

    transactions
  • 66

    Как вы распределите роли в war room во время инцидента протокола?

    incidentstyping
  • 67

    Какие доказательства вы сохраните во время эксплойта протокола и как обеспечите их достоверность?

    typing
  • 68

    После эксплойта украденные средства продолжают перемещаться между сетями и биржами. Как вы организуете возврат?

  • 69

    Как вы будете общаться публично, пока крупный инцидент протокола еще продолжается?

    communicationincidentstyping
  • 70

    Когда вы возобновите работу протокола после эксплойта и что должно быть в post-mortem?

    incidentstyping
  • 71

    Как спланировать внутреннюю проверку безопасности, если до релиза протокола осталось четыре недели?

    typing
  • 72

    В конце релизного цикла появляется критический diff контракта. Как вы его проверите?

  • 73

    Как выбрать внешнего аудитора смарт-контрактов и управлять его работой?

  • 74

    Как определить scope bug bounty для DeFi-протокола перед выходом в mainnet?

    defityping
  • 75

    Набор формальных доказательств выполняется шесть часов, и разработчики начали обходить его. Как встроить его в поставку?

  • 76

    Какие security gates должен пройти релиз смарт-контрактов перед mainnet?

  • 77

    Как управлять риском безопасности при обновлении компилятора Solidity или зависимости контракта?

    soliddependenciessolidity
  • 78

    Как сохранить пользу инвариантных и fuzz-тестов на протяжении разработки, а не только перед аудитом?

    testing
  • 79

    Что должно входить в репетицию деплоя обновления протокола?

    typing
  • 80

    Какой on-chain мониторинг должен быть готов к моменту выхода релиза протокола?

    monitoringtyping
  • 81

    Мост должен ротировать набор валидаторов, пока Solidity-verifier, клиент валидатора на Rust и релеер на Go продолжают работать. Как вы проведете изменение?

    solidbridgesvalidation
  • 82

    Инженер исправляет ошибку учета долей одним дополнительным условием, но не может объяснить, какой инвариант округления восстанавливает патч. Как вы проведете его через ревью?

    mentoring
  • 83

    Security-ревьюер считает, что проблема повторного исполнения должна блокировать запуск, а владелец функции утверждает, что этот путь недостижим. Как разрешить разногласие?

    conflict
  • 84

    RFC предлагает универсальный интерфейс плагинов для любых кредитных протоколов, хотя первому релизу нужна только одна интеграция. Какое решение вы примете?

    genericstypestyping
  • 85

    Функция вывода требует согласованных изменений escrow в L1 на Solidity, prover в L2 на Rust и релеера на Go. Как вы организуете поставку?

    solidsolidity
  • 86

    Как вы оцените сторонний DeFi-протокол, прежде чем разрешить своим контрактам размещать в нем средства пользователей?

    decision-makingdependenciestyping
  • 87

    Продукт хочет принимать liquid restaking token в залог из-за глубокой вторичной ликвидности. Что вы потребуете до интеграции?

    tokens
  • 88

    Адаптер в целевой сети получает callbacks от одобренного моста. Что он должен проверить до исполнения сообщения или возврата?

    validationcallbacksbridges
  • 89

    Внешний аудитор за два дня до запуска передает отчет с неясным ущербом и без повторной проверки исправлений. Как вы поступите?

  • 90

    Сторонний протокол за вашим адаптером обновляем и может изменить комиссии или поведение вывода. Как определить владение интеграцией и план выхода?

    ownershipdependenciestyping
  • 91

    Токен запускается при низкой ликвидности, и команда ожидает, что боты захватят первые блоки. Какой механизм запуска вы одобрите?

    tokensdefi
  • 92

    Управление хочет принять малоликвидный токен в залог, потому что его сообщество растет. Вы добавите его?

    tokensgovernance
  • 93

    Кредитный рынок каждую неделю достигает лимита депозитов, и бизнес просит убрать лимит. Как вы определите следующий предел?

  • 94

    Кампания ликвидности в основном награждает кошельки, которые прокручивают один и тот же капитал и уходят после каждой эпохи. Что вы измените?

    walletsdefi
  • 95

    Рынок бессрочных контрактов может столкнуться с коррелированными ликвидациями больше страхового фонда. Как вы спроектируете порядок покрытия убытка?

    methodologydesign
  • 96

    Управление одобрило обновление прокси с изменением хранилища, которое нужно провести при открытых позициях пользователей. Как вы его выполните?

    proxyupgradeabilitygovernance
  • 97

    Выполненное обновление ломает выводы, но часть транзакций уже изменила состояние под новой реализацией. Что вы сделаете?

    transactionserror-handling
  • 98

    Timelock на 48 часов слишком медленный для лимитов кредитного рынка при волатильности, и команда предлагает risk council с мгновенным изменением любых параметров. Какие полномочия вы одобрите?

  • 99

    Комиссионный доход падает, но DAO хочет удвоить эмиссию токена, чтобы удержать TVL. Какое изменение вы предложите?

    tokensdao
  • 100

    Работающему кредитному протоколу нужно заменить поставщика оракула при открытых позициях. Как выполнить переключение без ценового разрыва?

    oraclestyping