Kaspa Safe — сейф для KAS, живущий прямо на блокчейне. Каждый вывод отстаивает задержку, которую выбрали вы; отдельный тревожный ключ отменяет кражу на ходу; опциональный «выключатель мертвеца» передаёт сейф наследнику. Ниже — реальная механика, вплоть до путей траты ковенанта, и модель безопасности.
Ковенант: у каждой монеты фиксированный набор выходов
Сейф — экземпляр открытого контракта-ковенанта vault.sil (Kaspa Toccata, mainnet). Монеты заперты скриптом ровно с двумя состояниями — в сейфе и идёт вывод — и коротким списком переходов. Всё, чего нет в этом списке, — не «запрещённое действие», которое сервер отклонит, а транзакция, которую не примет сама сеть Kaspa: такого пути в скрипте не существует.
Начать выводГорячий ключ. Переводит сейф в состояние «идёт вывод». Адрес назначения фиксируется ончейн в этот самый момент — подменить его потом не может никто, даже владелец.
Отменить выводТревожный ключ. В любой момент окна задержки один ход возвращает всё в сейф. Это противокражный стоп-кран.
Завершить выводВообще без ключа. Возможно только после полной задержки и только на адрес, зафиксированный при старте. Путь без подписи может бродкастить кто угодно — наш вотчер делает это за вас, — но монеты всё равно не могут уйти никуда больше.
Чекин («я жив»)Горячий ключ. Сбрасывает таймер наследования, пересоздавая монету сейфа. Нужен, только если наследование включено.
Наследование — автоБез ключа. Если владелец не чекинился весь срок наследования, путь без подписи выплачивает сейф — строго на адрес наследника, заданный при создании.
Наследование — вручнуюКлюч наследника. Альтернативный режим, выбранный при создании: после срока наследник забирает сейф приватным ключом собственного адреса.
Пути без подписи — тот самый трюк, который позволяет серверу помогать, не будучи доверенным: наш вотчер может завершить созревший вывод или доставить наследство, но куда уйдут деньги — намертво зашито в ковенанте. Время меряется в DAA — «тиках» Kaspa, примерно 10 в секунду (36 000 DAA ≈ 1 час); интерфейс всегда показывает по-человечески.
Три ключа
ГорячийЗапускает выводы и чекины. Живёт в зашифрованном профиле деска — можно на повседневном устройстве.
ТревожныйОтменяет кражу. Держите его отдельно от горячего: бумага, домашний сейф, другое устройство. Вор с одним горячим ключом не получает ничего — тревожный ключ это ваше вето.
Ключ закладкиОдноразовый — чтобы положить монеты в сейф при создании; после этого не важен.
Все три генерируются в браузере и автоматически сохраняются в зашифрованный мастер-файл ключей. Скачивать отдельно нечего; один экспорт из деска бэкапит всё. Мы ключей не видим.
Создание сейфа по шагам
Выбрать правила. Окно отмены: пресеты 6 ч / 24 ч / 48 ч / 7 д / 14 д или своё от 1 часа до 90 дней (разумный дефолт — 24 ч; меньше 6 ч можно проспать кражу). Опциональное наследование: 6 / 12 / 24 месяца или своё от 1 дня до 5 лет, доставка автоматически или по ключу наследника.
Ключи куются. Браузер генерирует три ключа прямо в профиль деска. Если наследование включено — вводите Kaspa-адрес наследника (и, по желанию, его email для бесплатного уведомления, когда окно откроется).
Положить монеты. Отправьте KAS на показанный адрес закладки (funding-адрес) и нажмите «Заложить в сейф» — браузер соберёт и подпишет ковенант-транзакцию. Адрес закладки — ваш собственный адрес (его ключ только что создан в вашем профиле), а не наш: до нажатия кнопки монеты полностью под вашим контролем. Промежуточный шаг нужен технически: ковенант нельзя создать обычным переводом. Никогда не шлите монеты напрямую на адрес сейфа — прямой перевод не становится частью ковенанта. Пополнение позже = ещё один цикл закладки (или один клик «В сейф» из кошелька деска).
Запечатано. Видны адрес сейфа, сумма и txid — тут же можно подключить Telegram-алерты. Всё криптографическое произошло в браузере; сервер получил только публичные параметры.
Когда пришёл алерт «вывод начался»
У вас есть всё окно отмены, и своё устройство не обязательно — хватит любого браузера плюс тревожного ключа (или файла ключей). Откройте «Мой сейф», нажмите ⛔ Отменить вывод — монеты вернутся. Затем перевезите их в свежий сейф обычным выводом: вор не может отменить ваш вывод — у него нет тревожного ключа. Полный плейбук, включая путь наследника и потерю ключей, — на странице восстановления.
Наследование, честно
Таймер — это ончейн-возраст монеты сейфа: чекиньтесь хотя бы раз за срок, и сейф остаётся вашим. Отмена кражи тоже сбрасывает таймер.
В режиме «автоматически» наследнику не нужны ни ключ, ни софт — после срока монеты придут на его адрес путём без подписи. В режиме «вручную» наследник забирает своим ключом. До истечения срока наследник не видит и не может взять ничего.
Опциональное email-уведомление наследнику бесплатно и не зависит от подписки — оно уходит, когда окно открылось, и содержит адрес сейфа и инструкцию, но никогда ключи или сумму.
Укажите наследником свой же второй адрес — и наследование станет страховкой от потери горячего ключа.
Сколько стоит
Все ончейн-операцииБесплатны навсегда — создание, выводы, отмены, чекины, наследование. Платится только сетевая комиссия Kaspa (доли KAS).
Telegram-алерты и напоминанияЕдинственная платная вещь, и та опциональная: 100 KAS / год, первые 30 дней бесплатно. Мгновенный сигнал «вывод начался» и напоминания о чекине (~80% срока). Без подписки сейф работает полностью — просто о чужом выводе вы узнаете позже, чем хотелось бы.
Модель безопасности
Сервер не может украсть. Приватные ключи до него не доходят, а пути ковенанта без подписи намертво фиксируют получателя (созревший вывод → на его адрес; авто-наследство → наследнику). Что сервер хранит: публичные ключи, параметры задержки и — если вы включили — email наследника / привязку Telegram. См. приватность.
Вор с горячим ключом получает ноль. Единственный выход — отложенный вывод с публично видимым, зафиксированным адресом назначения — и тревожный ключ его отменяет.
Смерть сервиса не трогает ваши деньги. Сейф — ончейн-контракт, проверяющий только ключи и время. Открытый CLI vaultctl делает каждую операцию из терминала против любой ноды Kaspa v2+ (запущенной с --utxoindex); офлайн-дешифратор достаёт ключи из бэкапа без сети. А просто наблюдать за сейфом можно, вставив его адрес в любой Kaspa-эксплорер.
Потеряны оба ключа и нет наследования? Монеты заморожены навсегда — никто, включая нас, до них не доберётся. Это обратная сторона некастодиальности; включайте наследование хотя бы «на себя».
Проверяйте, а не верьте. Контракт и инструменты открыты: github.com/pcdoctormsk-ctrl/kaspa-safe. vaultctl selftest — 18 проверок каждого пути и каждой атаки внутри VM ноды.
Лимиты беты. Контракт прошёл наш полный цикл ончейн-тестов и адверсариальные атаки; внешний аудит впереди. Рекомендация: пока держите в сейфе до ~5 000 KAS. Есть и официальное Android-приложение (APK) с той же криптографией внутри (чексамы, воспроизводимая сборка, свой F-Droid-репозиторий).