Все статьи
Продукт1 мин чтения

Как работает синхронизация, когда сервер ничего не может прочитать

Синхронизировать зашифрованные данные между устройствами сложнее, чем кажется. Заглядываем под капот: разрешение конфликтов, оплоги и почему телефон остаётся быстрым.

Как работает синхронизация, когда сервер ничего не может прочитать

Синхронизировать зашифрованные данные между устройствами сложнее, чем кажется. Заглядываем под капот: разрешение конфликтов, оплоги и почему телефон остаётся быстрым.

Синхронизацию никто не замечает, пока она не сломается. Делать её поверх зашифрованных данных, когда сервер не может подсмотреть, чтобы разрешить конфликты, требует аккуратности.

Оплог

Каждое изменение — это зашифрованная операция, добавляемая только в конец. Устройства догоняют, запрашивая всё начиная с своего последнего известного id.

device A: ops 1..40
device B: ops 1..38   ->  fetch 39, 40

Почему остаётся быстро

  • Мы синхронизируем операции, а не целые записи
  • Каждое устройство расшифровывает локально, в фоне
  • Конфликты разрешаются детерминированным порядком, а не чтением содержимого сервером

Итог: изменения долетают за секунду-две, а сервер по-прежнему видит только шифротекст.

Готовы к более приватной цифровой жизни?

Десять приложений, один приватный дом. Начните 30-дневный бесплатный период — без рекламы и трекеров, отмена в любой момент.

Начать бесплатно