Оригинальная тематическая иллюстрация: Оригинальная тематическая схема ChainView BTC866 · ChainView BTC866 Editorial · CC BY 4.0
Независимость ролей
Разделение обязанностей не позволяет одной ошибке или захваченному аккаунту сразу стать окончательным переводом. Назначьте автора заявки, проверяющего, подписанта и сверяющего. Разные люди с общим паролем не являются разными границами доступа. Даже небольшой коллектив может ввести независимое подтверждение крупных переводов. Важнее реальная независимость проверки, чем число должностей в таблице.
Проверить заявку
Укажите цель, сумму, актив, сеть, адрес и основание. Проверяющий должен сверить получателя через ранее установленный канал, а не только повторить адрес из сообщения. Изменение адресной книги не следует автоматически утверждать вместе с платежом. Определите пороги и исключения. Тикер недостаточен: контракт и сеть защищают от отправки одноимённого актива не по тому маршруту.
Разделить этапы выполнения
Подписант сопоставляет одобренные данные с экраном кошелька; отправляющий сохраняет хеш. Несколько ключей на одном устройстве ослабляют мультиподпись. Подписание и финализация — разные статусы. Сверяющий проверяет полученную сумму, расходы и учётную запись. Неудачное исполнение тоже может потратить газ, поэтому проверка одного статуса не заменяет учёт стоимости.
Подготовить исключения
Определите действия при отсутствии сотрудника, утрате ключа и подозрительном платеже. Аварийный обход должен иметь срок и последующий контроль. При смене роли отзывайте счёт, API и подпись отдельно. Учебная заявка с неверной сетью поможет проверить процесс. В журнале сохраняйте основание, участников и время без приватных ключей: проверяемость не требует раскрывать секреты.



