Z-TextDocumentacion

Seguridad y privacidad

Z-Text esta construido desde cero con un modelo de seguridad zero-trust. Sin analiticas, sin rastreo, sin almacenamiento de datos en el servidor.

Proteccion con PIN

Z-Text bloquea la aplicacion con un PIN de 8 digitos que configuras durante la configuracion inicial. La aplicacion lo pide antes de:

  • Abrirse
  • Enviar transacciones (mensajes y transferencias de BTCZ)
  • Mostrar tu frase semilla
  • Cambiar la configuracion de seguridad

El PIN en si nunca se almacena de forma legible. Los intentos fallidos repetidos en la pantalla de bloqueo activan un periodo de espera.

Autenticacion biometrica

En dispositivos compatibles, puedes habilitar la huella dactilar o el reconocimiento facial como alternativa al PIN para acceder a la aplicacion. Los datos biometricos son gestionados completamente por el enclave seguro del dispositivo -- Z-Text nunca accede a los datos biometricos sin procesar.

Cifrado de dos capas

Z-Text emplea una arquitectura de cifrado dual que proporciona defensa en profundidad:

Capa 1: Blindaje en blockchain (zk-SNARKs)

Las transacciones blindadas de la blockchain de BitcoinZ utilizan zk-SNARKs para cifrar el campo memo de la transaccion. Esto significa:

  • El contenido del mensaje esta cifrado on-chain
  • Las z-addresses del remitente y destinatario estan ocultas
  • El monto de la transaccion esta oculto
  • Solo el titular de la viewing key de la z-address puede descifrar el memo

Capa 2: Cifrado con clave de contacto

Antes de colocar el mensaje en el memo de la transaccion, Z-Text lo cifra con la clave compartida derivada del handshake. Esto agrega una segunda capa de proteccion:

  • Incluso si alguien obtiene tu viewing key de la z-address, no podra leer los mensajes
  • La clave compartida es unica por cada par de contactos
  • La clave se deriva mediante ECDH y nunca se transmite directamente

Por que dos capas?

La capa 1 protege contra observadores de la blockchain. La capa 2 protege contra el compromiso de la viewing key. Ambas capas deben ser vulneradas para leer un mensaje -- una proposicion extremadamente dificil.

zk-SNARKs explicado

Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge (zk-SNARKs) son pruebas criptograficas que permiten a una parte demostrar que conoce un valor sin revelar el valor en si.

En el contexto de Z-Text, los zk-SNARKs prueban que una transaccion es valida (saldos correctos, remitente autorizado) sin revelar quien la envio, quien la recibio ni cuanto se transfirio. Esto es lo que hace que las transacciones blindadas sean verdaderamente privadas.

Cero telemetria

Z-Text no recopila absolutamente ningun dato del usuario:

  • Sin analiticas ni rastreo de ningun tipo
  • Sin reportes de errores que envien datos externamente
  • No se nos envia ningun dato de uso
  • La aplicacion se conecta al servidor lightd que elijas (el nuestro por defecto, o tu propio nodo) y consulta el precio publico de BTCZ; con Tor activado, ambas conexiones pasan por Tor
  • Los iconos de sitios web de la boveda de contrasenas solo se descargan si los activas
  • Sin registro de direcciones IP por parte de la propia aplicacion

Codigo fuente

La aplicacion Z-Text es de codigo cerrado. El protocolo de comunicacion (wire protocol) se publicara como una especificacion para su revision publica.

Modelo de amenazas

Z-Text esta disenado para proteger contra:

AmenazaProteccion
Compromiso del servidorSin servidores -- los mensajes residen en la blockchain
Vigilancia de redLas transacciones blindadas con zk-SNARKs ocultan remitente, destinatario, monto y memo
Otra persona que tiene tu dispositivo bloqueadoPantalla de bloqueo con PIN o biometria, almacenamiento local cifrado
Filtracion de viewing keyEl cifrado de capa 2 impide la lectura de mensajes
CensuraLa blockchain descentralizada no puede ser apagada