Безопасность и конфиденциальность
Z-Text построен с нуля на основе модели безопасности с нулевым доверием. Никакой аналитики, никакого отслеживания, никакого хранения данных на сервере.
Защита PIN-кодом
Ваш кошелёк и сообщения защищены 6-значным PIN-кодом, который вы задаёте при первоначальной настройке. PIN-код требуется для:
- Открытия приложения
- Отправки транзакций (сообщений и переводов BTCZ)
- Экспорта seed-фразы
- Изменения настроек безопасности
PIN-код хранится на устройстве в виде хеша с солью. После нескольких неудачных попыток ввода приложение вводит период ожидания для предотвращения перебора.
Биометрическая аутентификация
На поддерживаемых устройствах вы можете включить отпечаток пальца или распознавание лица в качестве альтернативы вводу PIN-кода для доступа к приложению. Биометрические данные обрабатываются исключительно защищённым модулем устройства -- Z-Text никогда не получает доступ к необработанным биометрическим данным.
Двухуровневое шифрование
Z-Text использует архитектуру двойного шифрования, обеспечивающую эшелонированную защиту:
Уровень 1: Экранирование блокчейна (zk-SNARKs)
Защищённые транзакции блокчейна BitcoinZ используют zk-SNARKs для шифрования поля memo транзакции. Это означает:
- Содержимое сообщения зашифровано в блокчейне
- z-адреса отправителя и получателя скрыты
- Сумма транзакции скрыта
- Только владелец ключа просмотра z-адреса может расшифровать memo
Уровень 2: Шифрование ключом контакта
Перед помещением сообщения в memo транзакции Z-Text шифрует его общим ключом, полученным при рукопожатии. Это добавляет второй уровень защиты:
- Даже если кто-то получит ваш ключ просмотра z-адреса, он не сможет прочитать сообщения
- Общий ключ уникален для каждой пары контактов
- Ключ получен через ECDH и никогда не передаётся напрямую
Зачем два уровня?
Уровень 1 защищает от наблюдателей блокчейна. Уровень 2 защищает от компрометации ключа просмотра. Оба уровня должны быть взломаны для прочтения сообщения -- крайне сложная задача.
zk-SNARKs: как это работает
zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge) -- это криптографические доказательства, позволяющие одной стороне доказать, что она знает некоторое значение, не раскрывая само значение.
В контексте Z-Text, zk-SNARKs доказывают, что транзакция валидна (корректные балансы, авторизованный отправитель), не раскрывая, кто отправил, кто получил и какая сумма была переведена. Именно это делает защищённые транзакции по-настоящему приватными.
Нулевая телеметрия
Z-Text не собирает абсолютно никаких пользовательских данных:
- Никакой аналитики или отслеживания любого рода
- Никаких отчётов об ошибках, отправляемых на внешние серверы
- Никаких подключений к серверам Z-Text
- Единственные сетевые подключения -- к узлам блокчейна BitcoinZ
- Никакой записи IP-адресов (приложение подключается к децентрализованным узлам)
Открытый исходный код
Z-Text имеет открытый исходный код. Вы можете самостоятельно провести аудит кода, чтобы убедиться в отсутствии скрытой телеметрии или сбора данных.
Модель угроз
Z-Text разработан для защиты от:
| Угроза | Защита |
|---|---|
| Компрометация сервера | Нет серверов -- сообщения хранятся в блокчейне |
| Сетевое наблюдение | Защищённые транзакции zk-SNARKs скрывают все метаданные |
| Кража устройства | Защита PIN-кодом/биометрией, зашифрованное локальное хранилище |
| Утечка ключа просмотра | Шифрование уровня 2 предотвращает чтение сообщений |
| Цензура | Децентрализованный блокчейн невозможно отключить |