Mensagens
As mensagens do Z-Text sao transacoes na blockchain. Cada mensagem e criptografada, permanente e resistente a censura.
Enviando Mensagens
Para enviar uma mensagem, abra uma conversa com um contato verificado por handshake e digite sua mensagem. O aplicativo a criptografa com a chave compartilhada e a transmite como uma transacao blindada na blockchain BitcoinZ.
- Abra uma conversa na aba Mensagens
- Digite sua mensagem no campo de texto
- Toque no botao enviar -- a mensagem e criptografada localmente
- Uma transacao blindada e criada e transmitida para a rede
- A mensagem e entregue quase instantaneamente via push G-stream da mempool (normalmente 1-5 segundos)
Entrega de Mensagens
As mensagens sao entregues quase instantaneamente via push G-stream da mempool. Quando uma transacao e transmitida, o G-stream envia o memo nao lido para o dispositivo do destinatario em 1-5 segundos. A confirmacao no bloco ocorre posteriormente para liquidacao permanente na blockchain.
| Status | Significado |
|---|---|
| Enviando | A transacao esta sendo criada e assinada |
| Pendente | Transacao transmitida para a mempool |
| Entregue | Push G-stream da mempool recebido pelo destinatario |
| Confirmada | Transacao minerada em um bloco para liquidacao permanente |
Protocolo de Handshake
Antes de enviar mensagens para alguem, voce deve completar um handshake criptografico. Isso estabelece uma chave secreta compartilhada que ambas as partes usam para criptografia de mensagens.
- Iniciacao -- Voce envia uma solicitacao de handshake contendo sua chave publica, incorporada em uma transacao blindada
- Resposta -- O destinatario aceita enviando de volta sua chave publica em outra transacao blindada
- Derivacao de chave -- Ambos os clientes calculam um segredo compartilhado usando troca de chaves Diffie-Hellman
- Pronto -- O segredo compartilhado e armazenado localmente e usado para criptografar/descriptografar todas as mensagens futuras
Verificacao Sem Confianca
O handshake e trustless -- nenhum servidor intermedia a troca de chaves. Ambas as chaves publicas trafegam por transacoes blindadas, portanto ate mesmo a troca de chaves e invisivel para observadores.
Criptografia Explicada
O Z-Text usa um modelo de criptografia em duas camadas:
- Camada 1 -- Blindagem zk-SNARK: O memo da transacao (contendo sua mensagem) e criptografado pelo mecanismo nativo de transacoes blindadas da blockchain. Somente os z-addresses do remetente e do destinatario podem descriptografa-lo.
- Camada 2 -- Criptografia com chave compartilhada: Antes de ser colocada no campo memo, sua mensagem e adicionalmente criptografada com a chave compartilhada estabelecida durante o handshake. Isso significa que, mesmo que alguem comprometa a viewing key do z-address, ainda nao podera ler as mensagens sem a chave derivada do handshake.
Stickers
O Z-Text suporta o envio de imagens de stickers nas conversas. Os stickers sao codificados e incorporados no memo da transacao assim como as mensagens de texto. O aplicativo inclui um pacote de stickers integrado, e usuarios premium tem acesso a pacotes adicionais.
Limites de Mensagem
Como as mensagens sao armazenadas nos memos das transacoes, ha um limite de caracteres por mensagem determinado pelo tamanho do campo memo da blockchain. Para mensagens mais longas, o aplicativo divide automaticamente o conteudo em multiplas transacoes e as reagrupa no dispositivo do destinatario.
Premium: Mensagens Mais Rapidas
Assinantes premium se beneficiam da retransmissao prioritaria de transacoes, que pode reduzir os tempos de entrega de mensagens ao rotear atraves de infraestrutura de nodes otimizada.