Безопасность — вопрос жизни и смерти для всех пользователей криптовалют. Как обстоит вопрос с безопасностью у DeFiHelper?При проектировании сервиса мы отталкивались от трех главных требований:Гибкость: пользователь может в любой момент забрать средства или выполнить действия вручную, а сервис не должен ограничиваться только определенными контрактами. Система должна быть универсальной и гибкой при подключении новых протоколов.Скорость разработки: протокол получает комиссию за совершенные автоматизации, а новые протоколы должны быстро включаться в нашу экосистему DFH.Безопасность: сервис должен быть лишен доступа к приватным ключам пользователя, а взлом любого из компонентов системы не должен ставить под угрозу клиентские средства.Эти требования естественным образом привели нас к решению разделить протокол на два слоя.Первый, базовый слой — это управляющий токен DFH, система управления и голосование. Этот слой работает на Ethereum и он контролирует все.Второй слой — это автоматизации на уровне каждого отдельного контракта протокола. Сейчас протокол работает с Ethereum, Binance Smart Chain, Polygon, Avalanche и Moonriver.Принципиально важно, что DeFiHelper — децентрализованный некастодиальный сервис и не хранит средства пользователей на общих контрактах. У DFH нет контроля на средствами пользователя и сервис не может ими распоряжаться. В отличие от AutoFarm и других похожих приложений мы не размещаем средства пользователей в общих пулах (vaults) и не обмениваем ваши деньги на суррогатный токен пула. Почему это важно? При отправке средств в пул пользователь теряет над ними контроль. В случае взлома такого протокола или его части все средства в пуле находятся под угрозой.Наша техническая команда выбрала иной путь. При активации автостейкинга или создании индивидуальной автоматизации с помощью конструктора DeFiHelper разворачивает для каждого пользователя индивидуальный контракт. Исходный код контракта открыт, и любой может проверить какие функции доступны владельцу контракта, а какие сервису. Вот пример контракта. Обратите внимание на модификатор onlyOwner — он присваивается методам, которые может вызвать только владелец контракта (пользователь DFH).Архитектура DeFiHelper позволяет проводить транзакции в блокчейне за пользователя и в то же время держит его средства в безопасности. Если приватные ключи отдельных модулей сервиса (Insector или Consumer) будут скомпрометированы, украсть смогут только текущий баланс этих кошельков с набежавшими процентами от автостейкинга, но тело депозита останется в целости и сохранности. Максимум, что смогут сделать злоумышленники — списать средства в казну протокола (treasury). А оттуда деньги выводятся только через голосования держателей токенов DFH.Исходный код контрактов DeFiHelper аудирован компанией HashEx. Код открыт и при желании любой может проверить его на уязвимости и на то, какие функции доступны владельцу контракта, а какие сервису.Итого:Для максимальной безопасности протокол архитектурно разделен на два слоя.DeFiHelper не имеет доступа к приватным ключам вашего кошелька.Контроль над вашими средствами только у вас.DeFiHelper выполняет лишь те действия, которые вы разрешите специальному контракту под вашим контролем.DeFiHelper не может потерять ваш депозит. Это может произойти только при атаке с других векторов: при взломе кошелька или протокола, в котором вы держите депозит.Код DeFiHelper открыт и аудирован авторитетными специалистами по информационной безопасности.