TL;DR: Традиционные URL-шортнеры собирают и продают данные пользователей. Мы создали Cryptly — приватный шортнер, который использует клиентское шифрование и блокчейн для защиты данных. Сервер никогда не видит конечный URL, а данные хранятся децентрализованно.
Введение: Почему традиционные URL-шортнеры — это угроза приватности
Когда вы переходите по ссылке, созданной через bit.ly или аналогичные сервисы, происходит следующее:
- Ваш IP, временная метка и user agent логируются.
- Сервис видит конечный URL.
- Ваши поведенческие паттерны анализируются и продаются рекламодателям.
- Даже если вы доверяете сервису, его база данных может быть взломана.
Эти проблемы подтолкнули нас к созданию Cryptly — приватного URL-шортнера, который использует блокчейн и клиентское шифрование для защиты данных пользователей.
Основная часть: Как работает Cryptly
Клиентское шифрование
Cryptly использует Web Crypto API для шифрования URL непосредственно в браузере пользователя. Это означает, что сервер никогда не видит оригинальный URL. Пример кода для шифрования:
const encrypted = await crypto.subtle.encrypt(
{ name: "AES-GCM", iv: iv },
key,
urlBuffer
);
Здесь URL преобразуется в буфер, шифруется с использованием алгоритма AES-GCM и возвращается в зашифрованном виде.
Хранение на блокчейне
Зашифрованный URL сохраняется на блокчейне Cronos, что обеспечивает:
- Децентрализованное хранение: Нет централизованной базы данных, которую можно взломать.
- Неизменяемость: Данные на блокчейне нельзя изменить или удалить.
- Цензуроустойчивость: Блокчейн делает сервис устойчивым к цензуре.
Дешифрование в браузере
Когда пользователь переходит по сокращённой ссылке, браузер:
- Загружает зашифрованный URL с блокчейна.
- Дешифрует его локально с использованием Web Crypto API.
- Перенаправляет пользователя на оригинальный URL.
Сервер никогда не видит конечный URL, что полностью исключает возможность отслеживания.
Технологический стек
- Cloudflare Workers: Используется для развертывания серверной части на edge-серверах.
- Web Crypto API: Обеспечивает клиентское шифрование и дешифрование.
- Cronos blockchain: Децентрализованное хранилище для зашифрованных данных.
Практическое применение
Cryptly идеально подходит для:
- Организаций, которым важно сохранить приватность пользователей.
- Разработчиков, которые хотят избежать отслеживания.
- Пользователей, которые ценят свою приватность и безопасность.
Заключение
Cryptly — это пример того, как современные технологии, такие как блокчейн и клиентское шифрование, могут использоваться для создания приватных и безопасных решений. Мы продолжаем развивать проект и приветствуем обратную связь от сообщества.
Попробуйте демо: cryptly.workers.dev
Исходный код: github.com/your-username/cryptly
Следите за обновлениями и делитесь своими идеями!
Источник: https://dev.to/wes_parsons_57932a30dc1f3/building-a-privacy-first-url-shortener-on-blockchain-3a42