🖥 Смарт-контракт как источник спора: кто будет «виноват», когда код исполнил то, что люди не имели в виду 👀 🥸 Смарт-контракт любят продавать как способ убрать споры: «код исполняется сам». (ага сам)
Но в реальности он часто "сам" только споры создаёт. Потому что исполняется не «как мы договорились», а «как написано». И вот тут начинается самое интересное: кто виноват?
Обычно конфликт выглядит так:
💬 В переписке согласовали одно. ✏️ В ТЗ описали вторым способом. ⚙️ В коде реализовали третьим — потому что так быстрее/проще/«все так делают». (костыли так сказать)
Потом наступает событие (платёж, ликвидация, штраф), код срабатывает, и одна сторона говорит: «ошибка», другая: «автоматическое исполнение, вы же сами хотели».
Дальше вопрос не про блокчейн. Он про перевод смысла в алгоритм.
— Разработчик сделал по ТЗ, но ТЗ дырявое. Он виноват? — Заказчик утвердил тесты, но не понял экономику крайних случаев. Он виноват? — Пользователь нажал кнопку, не читая риски. Это его проблема или провал раскрытия? (в новом законодатель с цифровой валютой прям надо кнопку "прочитал" тест на то что он прочитал в рисках иначе нельзя)
🔍Отдельный ад — обновления и админка. Если контракт можно остановить/изменить — спор про ключи и решения: почему не остановили, кто имел доступ, кто нажал. Если нельзя — спор про то, почему вообще запустили без достаточных проверок.
💥 Если подытожить, то «код — закон» работает ровно до первого случая, когда закон оказался написан не тем языком. И дальше начинается обычная юриспруденция, только с логами и коммитами.
Как вы считаете, что должно быть главным документом в таких конструкциях: текст договора, код, спецификация или набор тестов? 💬