Я думаю, что термин «валидация» здесь перегружен. Это просто означает, потенциально, слишком много возможных вещей, которые являются отдельными проблемами, обрабатываемыми разными средствами.
- Это действующий контракт? То есть может запустить?
- Согласны ли мы с тем, что он делает? Справедливо ли это или обманывает людей?
- Что мешает мошенническим контрактам делать то, с чем мы не согласны?
- Работает или вылетает по какой-то причине?
Эти и многие другие проблемы решаются по-разному. Ни одно из решений не предполагает наличие центрального органа или комитета, который следит за пространством.
- Развертывание контракта — это специально созданная транзакция, которая отправляет скомпилированный контракт на адрес 0x0. Если это неправильно, то все узлы согласятся, что транзакция бессмысленна, поэтому контракт не существует в блокчейне. Конец.
- Контракт может программировать процессы, с которыми мы не всегда согласны. Сюда могут входить компании, с которыми мы не согласны по этическим соображениям. Однако он не может включать действия, запрещенные на уровне протокола.
- Контракты не всемогущи и не могут просто отменить протокол. Например, ни один контракт не может просто тратить средства на изъятие средств с чужого кошелька.
- Плохо написанные контракты не обязательно работают так, как задумано. Они могут включать нелогичные инструкции (делить на ноль), которые просто приводят к сбою транзакций. Поскольку контракты не могут быть изменены (как правило), обеспечение качества жизненно важно при работе с этой формой программного обеспечения.
Надеюсь, поможет.