Ваше хранилище. Ваши правила.
Rabbithole не просто шифрует файлы — он передаёт вам реальное владение инфраструктурой хранения. Это принципиально отличается от любого другого облачного сервиса.
Что делает Rabbithole уникальным?
Когда вы создаёте хранилище в Rabbithole, мы разворачиваем персональную канистру (смарт-контракт) в блокчейне Internet Computer — и затем передаём вам ключи.

После развёртывания:
- Вы — единственный контроллер вашей канистры
- Rabbithole удаляет себя из списка контроллеров
- Ваша канистра содержит зашифрованные файлы, интерфейс и ваши правила доступа
- Никто — ни Rabbithole, ни государство, ни хакер — не может получить доступ к вашим данным или удалить их
Как создаётся хранилище
Шаг 1: Вы оплачиваете фиксированную стоимость
Вы платите фиксированную цену в USD. Она покрывает две вещи:
- Создание канистры — сеть Internet Computer взимает плату за создание нового смарт-контракта
- Начальный баланс циклов — «топливо», необходимое вашей канистре для вычислений и хранения данных
Rabbithole не зарабатывает на этом этапе. Вся оплата уходит в сеть Internet Computer. Под капотом Rabbithole конвертирует вашу оплату в циклы и отправляет их в сеть — но вам не нужно об этом думать.
Шаг 2: Rabbithole разворачивает канистру
- Создаёт канистру — на этом этапе контроллерами являются вы и Rabbithole (временный доступ нужен для установки кода)
- Устанавливает WASM-модуль — логику канистры хранилища, тот же открытый код, что опубликован на GitHub
- Устанавливает фронтенд-ассеты — ваша канистра будет обслуживать собственный веб-интерфейс
Бекенд Rabbithole ежедневно проверяет GitHub на наличие новых релизов. При обнаружении новой версии скачивает свежий WASM-модуль и фронтенд-ассеты — поэтому каждая новая канистра получает актуальный код.
Шаг 3: Rabbithole уходит
После установки Rabbithole выполняет двухэтапную передачу:
- Отзывает своё право записи в хранилище ассетов канистры — чтобы больше не мог изменять ваши фронтенд-файлы
- Удаляет себя из контроллеров — оставляя вас единственным контроллером
С этого момента вы — единственный, кто может управлять канистрой. Это обеспечивается на уровне протокола IC — бэкдоров нет.
Результат
Вы можете обращаться к хранилищу двумя способами:
- Через rabbithole.app — основной интерфейс приложения
- Напрямую по адресу https://<canisterId>.icp0.io — канистра обслуживает собственный фронтенд
Ваша идентичность (Principal ID) одинакова в обоих случаях — Rabbithole использует механизм делегации ключей, чтобы Internet Identity узнавала вас независимо от URL. Подробнее на странице Аутентификация.
Что если Rabbithole исчезнет?
Этот вопрос никто не задаёт про Google Drive — потому что ответ пугающий. С Rabbithole всё просто: для ваших данных ничего не изменится.
Ваша канистра — полностью автономный смарт-контракт в Internet Computer. Rabbithole.app — лишь удобный способ взаимодействия с ней, но не единственный и не обязательный.
- Ваши данные остаются в блокчейне Internet Computer — канистра продолжает работать самостоятельно
- Вы обращаетесь напрямую по адресу
https://<canisterId>.icp0.io— канистра уже обслуживает собственный фронтенд - Вы пополняете циклы напрямую через интерфейс управления IC, без Rabbithole
- Код проверяем — все WASM-модули и фронтенд-ассеты открыты. Вы можете убедиться, что модуль в вашей канистре совпадает с опубликованным релизом, сравнив хеши SHA-256:
dfx canister info <id> --network icвозвращает хеш модуля - Обновления не обязательны — канистра прекрасно работает и без обновлений
Rabbithole спроектирован так, что его собственное исчезновение не влияет на ваши данные и доступ к ним. Канистра самодостаточна с момента создания.
Как работает передача контроля?
Передача — двухэтапный процесс:
- Отзыв права
#Commit— Rabbithole вызываетrevoke_permissionна http-assets интерфейсе вашей канистры, лишая себя возможности записывать или изменять фронтенд-файлы. - Удаление из контроллеров — Rabbithole вызывает
IC.update_settingsсcontrollers = [ваш_principal], удаляя себя полностью. Остаётся только ваш Principal.
Менеджмент-канистра Internet Computer обеспечивает правила контроля на уровне протокола — после удаления Rabbithole нет бэкдоров, административного доступа или механизма обхода. Это гарантирует консенсус IC.
Вы можете проверить контроллеров канистры в любой момент:
А как насчёт обновлений канистры?
В Rabbithole есть встроенный механизм доставки обновлений. Когда доступна новая версия, вы видите баннер-уведомление в интерфейсе. Процесс обновления работает так:
- Вы решаете — обновления никогда не навязываются. Вы видите баннер и выбираете, обновляться ли
- Временный доступ — если вы согласны, Rabbithole временно добавляется в контроллеры вашей канистры
- Обновление — Rabbithole устанавливает новый WASM-модуль и/или фронтенд-ассеты
- Доступ убирается — Rabbithole снова удаляет себя из контроллеров
Снимки для безопасности: Перед любым обновлением вы можете сделать снимок (snapshot) состояния канистры через интерфейс. Снимок фиксирует текущее состояние Stable Memory и WASM-модуля. Если что-то пойдёт не так после обновления, вы можете откатиться к снимку — восстановив данные и код до состояния перед обновлением.
Данные хранятся в Stable Memory — персистентном хранилище, которое переживает обновления кода. Даже при обновлении логики канистры ваши файлы остаются нетронутыми.