Z-TextDocumentation

Messagerie

Les messages Z-Text sont des transactions blockchain. Chaque message est chiffre, permanent et resistant a la censure.

Envoyer des messages

Pour envoyer un message, ouvrez une conversation avec un contact dont la poignee de main est verifiee et tapez votre message. L'application le chiffre avec la cle partagee et le diffuse comme une transaction blindee sur la blockchain BitcoinZ.

  1. Ouvrez une conversation depuis l'onglet Messages
  2. Tapez votre message dans le champ de saisie
  3. Appuyez sur le bouton d'envoi -- le message est chiffre localement
  4. Une transaction blindee est creee et diffusee sur le reseau
  5. Le message est livre presque instantanement via la notification G-stream du mempool (generalement 1 a 5 secondes)

Livraison des messages

Les messages sont livres presque instantanement via la notification G-stream du mempool. Lorsqu'une transaction est diffusee, G-stream envoie le memo non lu a l'appareil du destinataire en 1 a 5 secondes. La confirmation par bloc intervient ensuite pour un reglement permanent sur la blockchain.

StatutSignification
Envoi en coursLa transaction est en cours de creation et de signature
En attenteTransaction diffusee dans le mempool
LivreNotification G-stream du mempool recue par le destinataire
ConfirmeTransaction incluse dans un bloc pour un reglement permanent

Protocole de poignee de main

Avant de pouvoir envoyer un message a quelqu'un, vous devez completer une poignee de main cryptographique. Cela etablit une cle secrete partagee que les deux parties utilisent pour le chiffrement des messages.

  1. Initiation -- Vous envoyez une demande de poignee de main contenant votre cle publique, integree dans une transaction blindee
  2. Reponse -- Le destinataire accepte en renvoyant sa cle publique dans une autre transaction blindee
  3. Derivation de la cle -- Les deux clients calculent un secret partage en utilisant l'echange de cles Diffie-Hellman
  4. Pret -- Le secret partage est stocke localement et utilise pour chiffrer/dechiffrer tous les messages futurs

Verification sans tiers de confiance

La poignee de main est sans tiers de confiance -- aucun serveur ne sert d'intermediaire pour l'echange de cles. Les deux cles publiques transitent par des transactions blindees, de sorte que meme l'echange de cles est invisible pour les observateurs.

Le chiffrement explique

Z-Text utilise un modele de chiffrement a deux couches :

  • Couche 1 -- Blindage zk-SNARK : Le memo de la transaction (contenant votre message) est chiffre par le mecanisme natif de transaction blindee de la blockchain. Seules les z-addresses de l'expediteur et du destinataire peuvent le dechiffrer.
  • Couche 2 -- Chiffrement par cle partagee : Avant d'etre place dans le champ memo, votre message est en outre chiffre avec la cle partagee etablie lors de la poignee de main. Cela signifie que meme si quelqu'un compromet la cle de visualisation de la z-address, il ne peut toujours pas lire les messages sans la cle derivee de la poignee de main.

Autocollants

Z-Text prend en charge l'envoi d'images autocollantes dans les conversations. Les autocollants sont encodes et integres dans le memo de la transaction, tout comme les messages texte. L'application inclut un pack d'autocollants integre, et les utilisateurs premium ont acces a des packs supplementaires.

Limites des messages

Puisque les messages sont stockes dans les memos de transaction, il existe une limite de caracteres par message determinee par la taille du champ memo de la blockchain. Pour les messages plus longs, l'application divise automatiquement le contenu en plusieurs transactions et les reassemble du cote du destinataire.

Premium : Messages plus rapides

Les abonnes premium beneficient du relais prioritaire des transactions, ce qui peut reduire les delais de livraison des messages en acheminant via une infrastructure de noeuds optimisee.