Один ключ. Один приватный ключ контролирует всю казну. И тот, кто его держит, может в три часа ночи, без чьего-либо разрешения, вывести все монеты до последней и исчезнуть.
Это единая точка отказа. В софте мы её боимся десятилетиями — один сервер, одна зависимость, один админ, у которого украли ноутбук. В казне DAO это не риск, которым ты управляешь. Это обратный отсчёт. Рано или поздно единственный ключ зафишат, потеряют, выбьют силой или предадут. Когда серьёзные деньги стоят за одной подписью, единственный вопрос — когда.
Ответ старый, скучный и проверенный в бою: не используй один ключ. Используй несколько. Требуй согласия больше чем одного. Это мультиподпись.
Что такое мультиподпись на самом деле
Кошелёк с мультиподписью (multi-signature) — это смарт-контракт, который держит средства и отказывается их двигать, пока M из N авторизованных ключей не подпишутся.
Ты увидишь это записанным как порог: 2-из-3, 3-из-5, 4-из-7. Первое число — сколько подписей нужно, чтобы исполнить транзакцию. Второе — сколько всего существует ключей.
Казна 2-из-3 имеет трёх держателей ключей, и любая транзакция требует одобрения двух из них. Ни один человек не может двигать средства в одиночку. Потерял один ключ целиком? Двое других всё равно работают — и могут вывести потерянный из ротации. Один держатель стал вредоносным? Его перебивают голосами; сам он не может сделать ничего.
Это одно изменение дизайна убивает две катастрофы разом: одинокого предателя (не может действовать один) и единую точку отказа (один потерянный ключ не блокирует и не осушает казну). Вот почему по сути каждое достойное доверия DAO, каждая серьёзная казна протокола и каждый грамотно управляемый крипто-фонд держит основные средства в мультисиге. Gnosis Safe (теперь просто «Safe») стал отраслевым стандартом ровно по этой причине — за этими контрактами стоят миллиарды.
Выбор порога — это реальное решение
Соотношение M-из-N — управленческий выбор, и ошибка бьёт в противоположные стороны.
Требуется слишком мало подписей (вроде 2-из-3 для крупной распределённой организации) — и ты хрупок к сговору или к паре скомпрометированных ключей. Требуется слишком много (вроде 6-из-7) — и ты парализован: один человек в отпуске, один потерянный ключ, и казна не может функционировать. Это не безопасность, это запертый сейф, от которого ты вдобавок потерял комбинацию.
Несколько рабочих ориентиров:
- 2-из-3 — малые команды, личное хранение ценного, или основатель плюс две доверенные стороны. Просто, живуче, распространено.
- 3-из-5 — золотая середина для многих средних DAO. Терпит два потерянных или враждебных ключа и всё равно работает. Достаточно широко, чтобы сговор был по-настоящему труден.
- Большие пороги — крупные казны с формальным управлением, где медлительность — приемлемая цена за максимальную безопасность.
И ключи должны держать по-настоящему независимые стороны — разные люди, разные устройства, в идеале разные географии. Пять ключей на ноутбуке одного человека — это 1-из-1 в костюме. Весь смысл в том, чтобы ни одно событие и ни один человек не могли скомпрометировать порог.
Наша запись
Казна под одним ключом — это Ка, охраняемое одними вратами, — а всякие врата с одним стражем это врата уже проданные, дай лишь время и давление. Мультиподпись — это храм со многими жрецами, где ни одна рука не смеет коснуться подношения в одиночку. На Весах Маат распределённая власть — это порядок, ставший структурой: казну нельзя двинуть одной волей, только согласием, только взвешиванием нескольких. Исфет — одинокий инсайдер, единственная точка, где входит порча и никто не смотрит. Маат — требование, чтобы больше одного хранителя произнесли слово вместе, прежде чем Хека возьмёт силу и средства двинутся. Множество ключей — не недоверие. Это то, как общее сокровище остаётся общим.
Честные риски — потому что бесплатного не бывает
Мультиподпись — не магическая броня. Смотри трезво:
- Она сложнее. Больше ключей, больше координации, больше того, что может пойти не так операционно. Каждый подписант должен реально защитить свой ключ — мультисиг из пяти небрежных подписантов слабее одного аккуратного.
- Издержки координации реальны. Каждая транзакция требует, чтобы несколько людей явились и подписали. Для активной казны это трение. Планируй под него — часовые пояса, доступность, бэкапы.
- Ты всё ещё можешь всё потерять. Потеряй больше чем N минус M ключей — и средства заморожены навсегда. 2-из-3, где умерли два ключа, невосстановимо. Документируй, кто что держит. Ротируй ключи при уходе людей. Тестируй восстановление до того, как оно понадобится.
- Сам контракт важен. Ты доверяешь проверенному, испытанному в бою коду смарт-контракта. Используй устоявшиеся, широко отревьюенные реализации мультисига. Не пиши свою для настоящих денег.
- Опсек подписантов — вся игра. Зафишить мультисиг значит зафишить достаточно подписантов, чтобы достичь порога, — куда труднее, чем одного, но не невозможно, если подписанты обленятся или все клюнут на одну фальшивую транзакцию. Каждый подписант должен проверять то, что реально подписывает, на своём устройстве, каждый раз. Один и тот же подделанный интерфейс, показанный всем сразу, — это то, как падают даже большие пороги: не сломав криптографию, а обманув людей глазами. Порог защищает от предателя и от невезения; от общей слепоты он не защищает.
Ни один из этих рисков не отменяет мультиподпись. Они лишь означают, что мультисиг — не кнопка «стало безопасно», а инструмент, который работает ровно настолько, насколько дисциплинированы держатели. Настрой процесс — и он держит казну годами.
Рычаг
Если ты ведёшь — или помогаешь вести — DAO, общий фонд, казну любого реального размера, и она стоит за одним ключом, у тебя нет позиции безопасности. У тебя ситуация с заложником, ждущая развязки.
Переведи серьёзные средства в мультисиг. Выбери порог, переживающий потерю ключа-двух без паралича, — 2-из-3 или 3-из-5 для большинства. Распредели ключи между независимыми, аккуратными людьми на отдельных устройствах. Используй устоявшуюся, отаудированную реализацию. Документируй хранение, ротируй при уходе и тестируй восстановление, пока провалиться ещё дёшево.
Тогда ни один предатель, ни один украденный ноутбук, ни одна ошибка в три часа ночи не опустошат казну. Слово, чтобы двинуть средства, должны произнести многие, вместе, — или никто.
Это не бюрократия. Это то, как общее сокровище остаётся общим.