Человеческие сообщества всегда распространяли информацию через слухи и молву.
Человек делится новостями с ближним кругом, те — со своим, создавая эпидемическое распространение через социальный граф, взвешенный по доверию. Этот механизм обладает тремя свойствами, которые формальные gossip-протоколы стремятся воспроизвести.
Фильтрация по доверию
Информация от близкого друга весит больше, чем от незнакомца. Утверждение о человеке X означает разные вещи, когда исходит от кого-то в 1 хопе или в 4 хопах от вас.
Сохранение контекста
Молва внутри сообщества сохраняет контекст: кто сказал что, кому, при каких обстоятельствах. Молва без контекста — клевета; с контекстом — полезный сигнал.
Естественная избыточность
Важная информация доходит до вас через множество независимых путей. Если один друг недоступен, другой передаст ту же новость. Избыточность пропорциональна социальной значимости информации.
Это не абстрактные идеалы. Именно так всегда работали деревни, компании друзей и сообщества. А потом социальная жизнь переместилась в интернет.
Централизованные платформы не просто не сохранили эти свойства — они целенаправленно выстроили противоположное.
В Twitter, Facebook и Instagram алгоритм решает, что вы видите, — оптимизируя вовлечённость, а не доверие. Вирусный пост незнакомца доходит до вас раньше, чем обновление друга.
Пост, предназначенный для близких друзей, оказывается рядом с незнакомцами. Instagram превращает интимные моменты в публичное шоу. Без контекста общение становится выступлением.
Ваши данные, связи и вся история хранятся на серверах одной компании. Если вас заблокируют, изменят условия или закроют сервис — всё исчезнет. Запасного варианта нет.
Миллиарды людей общаются через инфраструктуру, спроектированную для извлечения внимания, а не для сохранения отношений.
Децентрализованные протоколы появились, чтобы вернуть контроль пользователям. Но даже в них всё маршрутизируется через серверы, которые решают, что хранить, что отдавать и что цензурировать.
Контроль хранения
Серверы решают, какие данные хранить и как долго.
Контроль распространения
Серверы решают, какие данные отдавать и кому.
Возможность цензуры
Операторы могут незаметно удалять контент или блокировать аккаунты.
Экономический рычаг
Пользователи вынуждены платить операторам или принимать их условия.
Это воссоздаёт ту самую зависимость от платформы, ради устранения которой и создавались децентрализованные протоколы. Социальный граф пользователя живёт на инфраструктуре, которую он не контролирует.
Что, если бы сам социальный граф и был инфраструктурой?
Мы предлагаем архитектуру «сначала локально», где социальная структура сети и есть её инфраструктура. Ваши отношения становятся вашей сетью хранения, граф доверия — системой доставки, а реле превращаются в необязательные ускорители.
Первичное хранение находится на устройстве пользователя и у ближайших пиров из WoT (1–2 хопа).
Первичное извлечение обращается сначала к сети доверия, а не к инфраструктуре реле.
Роль реле понижена до необязательного обнаружения и курирования — полезно для охвата за пределами графа, но не обязательно для существования.
Данные самоаутентифицируются и переносимы. Каждое событие подписано ключами автора, конвертируемо в и из ActivityPub, AT Protocol и других децентрализованных форматов.
Как работает протокол
Пакты хранения
Пакт хранения — это двустороннее соглашение между двумя узлами о хранении событий друг друга. Формирование проходит трёхфазную переговорку: Запрос, Предложение, Принятие. Партнёры по пактам верифицируются периодическими обменами «запрос-ответ» — хеш-вызовы доказывают наличие данных без передачи полных событий. Каждый узел поддерживает 20 активных пактов и 3 резервных для мгновенного переключения при отказе.
Многоуровневое извлечение
Когда узлу нужно получить события отслеживаемого автора, протокол пробует доставку через каскад всё более затратных путей: BLE-ячейка (рядом, без интернета), локальный кэш (нулевая стоимость), cached endpoints (~60 мс), WoT gossip со слепыми запросами (TTL=3) и, наконец, откат на реле как крайняя мера. Каждый уровень задействуется только при неудаче предыдущего, создавая естественный градиент затрат, при котором большая часть трафика остаётся внутри социального графа.
Gossip-маршрутизация
Пересылка с фильтрацией через WoT воспроизводит то, как люди избирательно делятся информацией: активные партнёры по пактам получают высший приоритет, затем пиры в 1 хопе по WoT, затем пиры в 2 хопах при наличии ёмкости. Неизвестные источники никогда не пересылаются — сплетни от незнакомцев останавливаются у вашего порога. Запросы данных используют слепые публичные ключи с ежедневной ротацией, поэтому хранящие пиры узнают, что кто-то запросил данные, но не кто именно.
Что позволяет протокол
Синхронизация устройств без передачи ключей
Каждое устройство получает собственный подключ, делегированный от корневой идентичности. Ваш телефон, ноутбук и браузерное расширение подписывают события независимо — никакого копирования приватных ключей, никакой единой точки компрометации. Когда устройства выходят в сеть, они сверяются через контрольные точки: облегчённое Merkle-доказательство того, что каждое устройство видело последние события остальных. Разрешение конфликтов происходит автоматически. Если два устройства одновременно редактируют профиль, поля сливаются по последней метке времени. Списки подписок объединяются через операции над множествами. События выстраиваются в цепочку по порядковым номерам для каждого устройства, что делает утаивание и переупорядочивание обнаружимыми в реальном времени.
Шифрование с целевой иерархией ключей
Ваш корневой ключ хранится в холоде — в аппаратном кошельке или на изолированной машине. Из него протокол выводит ключи специального назначения: ключи устройств для повседневных событий, DM-ключ для зашифрованных сообщений и ключ управления для изменений профиля и подписок. DM-ключ ротируется каждые 90 дней для ограниченной прямой секретности. Не каждому устройству нужен доступ к DM — ваш десктоп и телефон могут расшифровывать сообщения, а браузерное расширение только публикует. Если устройство скомпрометировано — отзовите его подключ. Ваша идентичность, ваши личные сообщения, ваш социальный граф: нетронуты.
Переносимость данных между протоколами
Каждое событие самоаутентифицируется — подписано ключами автора, верифицируемо кем угодно. Это делает кросс-протокольный бриджинг простым: события Nostr конвертируются в активности ActivityPub для Mastodon, в записи AT Protocol для Bluesky и в RSS/Atom-ленты для синдикации. Ваша идентичность связывается через подписанные аттестации, привязывающие ваш secp256k1-публичный ключ к ActivityPub actor URI или AT Protocol DID. Вы можете экспортировать полную историю как подписанный архив — с защитой от подделки, импортируемый в любой совместимый клиент.
Трёхуровневая модель лент
Не все отношения равнозначны, и протокол это учитывает. Ваш Ближний круг — взаимные подписки с активными пактами — получает непрерывную доставку в реальном времени. Ваша Орбита — авторы с высоким уровнем взаимодействия и социально подтверждённые открытия — получает периодический опрос. Ваш Горизонт — граф в 2 хопах и находки с реле — получает извлечение по запросу. Уровни формируются из вашего реального социального поведения: отвечайте, репостите и реагируйте на кого-то достаточно часто, и он смещается ближе. Перестаньте взаимодействовать — и он отдалится. Никакой алгоритм этого не решает. Решает ваше внимание.
Социальное восстановление
Потеряли корневой ключ? Назначьте контакты для восстановления из вашей сети доверия. Если произойдёт худшее, запускается пороговая верификация N-из-M: ваши контакты подтверждают вашу личность по внешнему каналу, публикуют аттестации восстановления, и после 7-дневного таймлока — дающего законному владельцу время отменить процедуру — ваш новый ключ вступает в силу. Никаких сид-фраз, которые можно забыть. Никакого централизованного сервиса восстановления. Только люди, которые вас знают.
Место Gozzip в экосистеме
Gozzip не заменяет существующие протоколы. Это недостающий слой — целенаправленно созданный для дополнения того, что Nostr и BitChat уже делают хорошо, и для решения проблем, которые более ранние одноранговые архитектуры вроде Scuttlebutt оставили открытыми.
Дополняя Nostr
Nostr дал децентрализованному миру нечто критически важное: простой протокол на основе реле, где идентичность — это пара ключей, а события самоаутентифицируются. Но модель реле Nostr означает, что ваши данные живут на серверах, которые вы не контролируете, без гарантий сохранности. Gozzip добавляет слой хранения: двусторонние пакты между пирами, которые знают друг друга, подкреплённые криптографическими проверками «запрос-ответ» и сбалансированные по объёму. Ваша Nostr-идентичность работает напрямую — те же ключи secp256k1, тот же формат событий. Gozzip не форкает Nostr. Он даёт пользователям Nostr возможность владеть своими данными, не завися от операторов реле.
Дополняя BitChat
BitChat решает другую задачу: зашифрованный одноранговый обмен сообщениями через Bluetooth Low Energy с рукопожатиями Noise Protocol, компактным бинарным кадрированием и многохоповой ретрансляцией до 7 устройств. Он силён как слой реального времени для ячеистой сети — эфемерный, локальный, созданный для сценариев без интернета. Gozzip добавляет поверх персистентность: пакты хранения, сохраняющие ваши данные, когда вы уходите в офлайн, сеть доверия, фильтрующую распространение, и социальный граф как долгосрочную инфраструктуру. BitChat отвечает за «отправить сообщение кому-то рядом прямо сейчас». Gozzip отвечает за «владеть своей социальной жизнью навсегда». Вместе они образуют полный стек — от Bluetooth-радио до суверенных социальных медиа.
Что Scuttlebutt сделал правильно — и где остановился
Secure Scuttlebutt первым доказал, что социальные сети могут работать на одноранговом gossip-протоколе без централизованных серверов. Gozzip концептуально обязан этой работе. Но архитектуры расходятся в трёх ключевых моментах. Во-первых, идентичность: SSB привязывает ed25519-ленты к конкретным устройствам — потерял устройство, потерял идентичность. Gozzip использует secp256k1 с иерархией делегирования, так что ваш корневой ключ хранится в холоде, а подключи устройств обслуживают повседневные операции. Во-вторых, репликация: pub-серверы SSB реплицируют данные в одностороннем порядке — хранят что хотят, для кого хотят, без обязательств. Gozzip обеспечивает двусторонние пакты хранения с проверками «запрос-ответ», делая паразитирование структурно невозможным. В-третьих, границы gossip: в SSB нет явного предела доверия — gossip распространяется по сети неограниченно. Gozzip ограничивает пересылку 2-хоповой сетью доверия, предотвращая неконтролируемый рост данных, из-за которого pub-серверы SSB рушились под собственным весом.
Устойчивость в экстренных ситуациях
Интеграция с BitChat также обеспечивает экстренное стирание: настраиваемый триггер — тройное нажатие, жест или ложный PIN — уничтожает все локальные ключи, кэшированные события и состояние. Ваши опубликованные данные сохраняются у партнёров по пактам и на реле. Ваша идентичность сохраняется в холодном хранилище. Восстановление: получить доступ к корневому ключу, опубликовать новую делегацию устройства, подтянуть данные от хранящих пиров — и вы снова в деле. Опциональный режим-приманка стирает данные до безобидного профиля. Противник видит обычное приложение с безвредным содержимым.
FIPS: за пределами транспортного уровня
BitChat доказывает, что ячеистый транспорт работает на локальном уровне. FIPS (Free Internetworking Peering System) распространяет этот принцип на любую сеть: маршрутизация по идентичности, где ваш публичный ключ и есть ваш сетевой адрес. Никакого DNS, никаких статических IP, никаких мучений с NAT traversal. Партнёр по пакту хранения одновременно является пиром ячеистой маршрутизации. Сессии переживают смену транспорта — WiFi на сотовую сеть, сотовую на BLE — без разрывов. Когда социальный граф стал инфраструктурой хранения, а сеть доверия — системой доставки, последняя зависимость — система адресации. FIPS устраняет и её.
Каждый протокол хорошо решает свою сложную задачу. Gozzip связывает их в стек, где социальный граф и есть инфраструктура — от идентичности до хранения и транспорта.
Сравнение с другими
| Nostr | Mastodon | Gozzip | |
|---|---|---|---|
| Identity | secp256k1 keypair | user@instance (domain-bound) | secp256k1 + key hierarchy |
| Data lives on | Relay servers | Home instance (PostgreSQL) | Your device + friends' devices (~20 pact partners) |
| Who controls | Relay operators | Instance admin | You + bilateral pact partners |
| Redundancy | Manual multi-relay publishing | None — single home instance | 20 active + 3 standby; P(offline) ≈ 10⁻⁹ |
| Censorship resistance | Individual relays can drop events | Admin can suspend/delete | No single point — data on 20+ WoT peers |
| Offline support | Not supported | Not supported | BLE mesh, store-and-forward, radio |
| Read privacy | Relay sees all subscriptions | Instance admin sees all activity | Blinded pubkeys; peers can't identify requester |
Честная оценка: эта архитектура всё ещё требует, чтобы некоторые участники были стабильно онлайн. Полные узлы — Keeper-ы — это не публичные серверы и не реле. Это друзья, запускающие Gozzip на десктопе, домашнем компьютере или небольшом VPS. Возможно, это вы сами с несколькими устройствами, одно из которых всегда включено. Около 25% участников естественно занимают эту роль — люди, у которых уже есть постоянно работающее оборудование. Отличие от сегодняшних протоколов структурное: Keeper-ы действуют в рамках двусторонних обязательств с людьми, которых они знают, подтверждённых механизмом «запрос-ответ», а не под односторонним контролем оператора платформы. Трудные проблемы остаются. Начальная загрузка графа для новых пользователей требует первоначальной зависимости от реле. Соотношение 75/25 между полными и лёгкими узлами должно сформироваться органически через стимулы. Ротация ключей для личных сообщений обеспечивает ограниченную прямую секретность, но не идеальную. Это инженерные задачи, а не архитектурные.
Инфраструктура уже существует — и она принадлежит социальному графу.
Дизайн этого протокола не просто вдохновлён динамикой человеческих отношений — он структурно изоморфен ей.
Исследования Робина Данбара выявляют фрактальные социальные слои: ~5 интимных контактов, ~15 близких друзей, ~50 хороших знакомых, ~150 обычных знакомых — каждый слой примерно утраивается в размере и вдвое теряет в близости. Каждый примитив протокола соответствует наблюдаемой модели того, как люди формируют сообщества, поддерживают отношения и распространяют информацию.
«В человеческих сообществах отношения выживают благодаря взаимности. Ты помнишь мои истории — я помню твои. Односторонние отношения угасают.»
Протокол формализует это как пакты хранения: двусторонние соглашения, по которым обе стороны хранят события друг друга с балансировкой объёмов в пределах 30%. Плодовитый автор в паре с молчуном создаёт асимметричное обязательство, стимулирующее отступничество — точно так же, как асимметричная дружба угасает в реальных социальных сетях.
«Человеческая репутация — это не число. Это совокупность наблюдаемого поведения, взвешенная по доверию наблюдателя к каждому источнику.»
Каждый узел ведёт персональные оценки надёжности пиров на основе скользящего 30-дневного окна результатов «запрос-ответ». Оценки приватны — каждый узел вычисляет собственную. Глобального рейтинга репутации не существует. Топология сети и есть система стимулов.
«В каждом сообществе есть покровители — авторитетные участники, которые ручаются за новичков, даже не зная их лично.»
Протокол формализует это как пакты Guardian-ов: авторитетный пользователь добровольно хранит данные одного нового участника, не входящего в его WoT. Формулировка «плати вперёд» выбрана намеренно: сегодняшний росток становится завтрашним Guardian-ом.
«В любом сообществе люди присутствуют по-разному. Одни друзья всегда рядом — они помнят всё, им звонят первыми. Другие появляются и исчезают, но от этого не становятся менее важными.»
Эта естественная разница в доступности напрямую отображается на два типа узлов в протоколе. Keeper-ы — полные узлы — это те самые друзья, которые всегда онлайн: десктоп, который не выключается, домашний сервер, небольшой VPS. Они хранят вашу полную историю и должны быть доступны 95% времени. Примерно 25% участников естественно занимают эту роль — люди, у которых уже есть постоянно работающее оборудование. Witness-ы — лёгкие узлы — это друзья, которые появляются, когда могут: телефон, синхронизирующийся при разблокировке, ноутбук, открытый на несколько часов в день. Они хранят последние 30 дней и должны быть доступны 30% времени. Протокол не навязывает роли. Он наблюдает за аптаймом устройства и присваивает статус автоматически: 90% и выше — Keeper, ниже — Witness. Как социальные круги самоорганизуются вокруг естественной доступности людей, так и топология хранения сети складывается из того, как участники реально используют свои устройства.