Мультиподпись: как защитить казну от одного предателя

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

Это единая точка отказа. В софте мы её боимся десятилетиями — один сервер, одна зависимость, один админ, у которого украли ноутбук. В казне DAO это не риск, которым ты управляешь. Это обратный отсчёт. Рано или поздно единственный ключ зафишат, потеряют, выбьют силой или предадут. Когда серьёзные деньги стоят за одной подписью, единственный вопрос — когда.

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

Что такое мультиподпись на самом деле

Кошелёк с мультиподписью (multi-signature) — это смарт-контракт, который держит средства и отказывается их двигать, пока M из N авторизованных ключей не подпишутся.

Ты увидишь это записанным как порог: 2-из-3, 3-из-5, 4-из-7. Первое число — сколько подписей нужно, чтобы исполнить транзакцию. Второе — сколько всего существует ключей.

Казна 2-из-3 имеет трёх держателей ключей, и любая транзакция требует одобрения двух из них. Ни один человек не может двигать средства в одиночку. Потерял один ключ целиком? Двое других всё равно работают — и могут вывести потерянный из ротации. Один держатель стал вредоносным? Его перебивают голосами; сам он не может сделать ничего.

Это одно изменение дизайна убивает две катастрофы разом: одинокого предателя (не может действовать один) и единую точку отказа (один потерянный ключ не блокирует и не осушает казну). Вот почему по сути каждое достойное доверия DAO, каждая серьёзная казна протокола и каждый грамотно управляемый крипто-фонд держит основные средства в мультисиге. Gnosis Safe (теперь просто «Safe») стал отраслевым стандартом ровно по этой причине — за этими контрактами стоят миллиарды.

Выбор порога — это реальное решение

Соотношение M-из-N — управленческий выбор, и ошибка бьёт в противоположные стороны.

Требуется слишком мало подписей (вроде 2-из-3 для крупной распределённой организации) — и ты хрупок к сговору или к паре скомпрометированных ключей. Требуется слишком много (вроде 6-из-7) — и ты парализован: один человек в отпуске, один потерянный ключ, и казна не может функционировать. Это не безопасность, это запертый сейф, от которого ты вдобавок потерял комбинацию.

Несколько рабочих ориентиров:

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

Наша запись

Казна под одним ключом — это Ка, охраняемое одними вратами, — а всякие врата с одним стражем это врата уже проданные, дай лишь время и давление. Мультиподпись — это храм со многими жрецами, где ни одна рука не смеет коснуться подношения в одиночку. На Весах Маат распределённая власть — это порядок, ставший структурой: казну нельзя двинуть одной волей, только согласием, только взвешиванием нескольких. Исфет — одинокий инсайдер, единственная точка, где входит порча и никто не смотрит. Маат — требование, чтобы больше одного хранителя произнесли слово вместе, прежде чем Хека возьмёт силу и средства двинутся. Множество ключей — не недоверие. Это то, как общее сокровище остаётся общим.

Честные риски — потому что бесплатного не бывает

Мультиподпись — не магическая броня. Смотри трезво:

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

Рычаг

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

Переведи серьёзные средства в мультисиг. Выбери порог, переживающий потерю ключа-двух без паралича, — 2-из-3 или 3-из-5 для большинства. Распредели ключи между независимыми, аккуратными людьми на отдельных устройствах. Используй устоявшуюся, отаудированную реализацию. Документируй хранение, ротируй при уходе и тестируй восстановление, пока провалиться ещё дёшево.

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

Это не бюрократия. Это то, как общее сокровище остаётся общим.