Pular para o conteúdo
De volta ao Nymchat

Base de conhecimento Fora da internet

Malha Bluetooth

Mensagens sem internet, sem serviço de celular e sem infraestrutura de qualquer gentil. Dispositivos próximos se conectam por Bluetooth LE e se retransmitem, para que uma mensagem chegue pessoas além do alcance do rádio, passando pelos dispositivos intermediários.

O que é a malha

A malha é um segundo transporte executado ao lado dos relés, não um aplicativo separado ou um aplicativo separado. identidade. Canais públicos e mensagens privadas funcionam nele, e o aplicativo decide quais caminho a seguir por conta própria: os envios on-line passam pela Internet e voltam para o Bluetooth quando ele está indisponível, enquanto um par acessível apenas pelo rádio permanece na malha de qualquer maneira.

Cada dispositivo passa pacotes para os dispositivos que pode ouvir, com um limite de 7Dois indivíduos que não podem ouvir um ao outro diretamente ainda trocam mensagens enquanto houver uma cadeia de dispositivos entre eles.

Abaixo disso, cada par de pares executa um Ruído XX aperto de mão e fala sobre seu própria sessão criptografada. Os pacotes são preenchidos e, quando grandes, fragmentados, portanto, o tamanho do que você envia diz o mínimo possível sobre o que é.

Uma enchente só atinge quem está ouvindo naquele momento, então três coisas carregam uma mensagem além disso: dispositivos. Lembre-se da história pública recente e transmita-o àquele que o perdeu, Peers próximos carregam correio selado para alguém fora de alcance, e qualquer coisa enviada sem internet é Publicado mais tarde Quando a internet voltar.

Ligando

Abra o painel de malha Bluetooth e pressione Ligar. O que acontece a seguir depende em que você está executando.

O painel de malha Bluetooth do Nymchat, mostrando o status da malha, dispositivos emparelhados, pares na malha e um registro de rádio.
O painel mesh: status, dispositivos emparelhados, pares ouvidos e um registro de rádio ao vivo.

No Android e iOS

O aplicativo executa as duas funções do Bluetooth ao mesmo tempo – anunciando-se e procurando outras pessoas – portanto, quaisquer dois dispositivos próximos se conectam independentemente de qual deles notou o outro. Conceder a permissão Bluetooth quando solicitada e encontra pares por si só.

Em um navegador

O aplicativo web se junta à mesma malha através do Web Bluetooth, nos navegadores Chromium: Chrome, Edge, Ópera e Valente. No Safari e Firefox, que não implementam Web Bluetooth, o mesh os controles ficam totalmente ocultos, em vez de serem oferecidos e falharem.

Um navegador se junta como uma folha

Um navegador só pode usar o Bluetooth central função: não pode anunciar a si mesmo, então outros dispositivos não conseguem descobri-lo. Ele se conecta externamente a telefones próximos e retransmite através eles. Você escolhe cada dispositivo uma vez através do seletor de dispositivos do próprio navegador, após o qual ele se reconecta por conta própria. Dois navegadores não podem se vincular diretamente.

Compartilhando uma malha com o Bitchat

Implementos Nymchat Bitchatde protocolo mesh no fio, byte por byte - o mesmo serviço e característica do GATT UUIDs, o mesmo cabeçalho de pacote, os mesmos tipos de mensagens, o mesmo limite de salto padrão. Os dois os aplicativos não são interligados por nada; eles estão simplesmente na mesma malha e um dispositivo Nymchat e um dispositivo Bitchat se descobrem e trocam mensagens criptografadas diretamente.

Pacotes de anúncio também podem carregar um nostrLink: um link assinado de um peer mesh para sua verdadeira identidade Nostr. Quando alguém está presente e verifica, um colega que você conheceu por Bluetooth aparece como a mesma pessoa que você conhece dos relés.

A reconciliação de história e o correio transportado descritos abaixo são os formatos do Bitchat também, então os dois aplicativos não só coexistem na mesma malha - eles sincronizam a história pública um do outro e carregam envelopes um do outro.

História da Mesh Carries

Uma enchente entrega uma mensagem pública para quem estiver no alcance da rádio naquele momento.Caminhe na sala um minuto mais tarde e ela desaparece.Assim, cada dispositivo mantém uma janela das mensagens públicas recentes que ouviu – até 6 horas, limitado a 1.000 pacotes - e reconcilia essa janela com cada peer que encontra, aproximadamente cada 15 segundosO que quer que você esteja faltando, eles te enviam; o que quer que eles estejam faltando, você os envia.

A comparação é feita com um conjunto probabilístico compacto (um filtro codificado por Golomb), então reconciliar mil mensagens custa cerca de um kilobyte em vez de dezesseis.

Isso é o que permite que um telefone atue como um grito da cidade: caminhe entre dois grupos que nunca estiveram no alcance um do outro, ou volte horas depois, e transmita o que o outro lado perdeu.

Somente mensagens públicas

Apenas o tráfego público é transportado desta forma – as mensagens já são visíveis para qualquer pessoa na faixa de rádio. mensagens privadas, batidas de mão e sessões criptografadas nunca fazem parte disso.

Correio enviado por outras pessoas

Se você escrever para alguém que não está em alcance de rádio, não há ninguém para entregar a mensagem.Nymchat selá-lo para a chave dessa pessoa e dá cópias seladas para alguns pares que são Eles o carregam e o entregam se encontrarem com o destinatário.

A cópia é opaca para quem a carrega.A única informação de roteamento que detém é uma etiqueta que Rotação diária e só pode ser calculado por alguém que já conhece a chave do destinatário, de modo que dois envelopes para a mesma pessoa em dias diferentes não parecem relacionados a ninguém.

As cópias não se multiplicam. Cada operador detém um orçamento que diminui pela metade quando entrega uma parcela a outra pessoa, de modo que uma mensagem se espalha para um punhado de operadores e, em seguida, pára. 24 horas, e apenas pares cuja identidade foi verificada são sempre dadas qualquer.

Onde for possível, Nymchat selará o envelope a chave única Cada dispositivo publica um pequeno lote destes, assinado para que eles não possam ser falsificados, e o lote viaja da mesma forma que o histórico carregado faz – o que é o que o torna disponível enquanto o proprietário está fora, exatamente quando seu correio está sendo carregado. O destinatário apaga cada chave uma vez que foi usado.

Delírio espera por 48 horas, porque vários transportadores podem estar segurando cópias do mesmo envelope e eles chegam sempre que seus transportadores acontecem para encontrá-lo; excluir no primeiro faria cada cópia posterior parecer como correio perdido.Quando um remetente nunca viu seu lote - um dispositivo com o qual você não compartilhou uma sala - eles caem de volta para sua chave de longa duração.

O que um motorista aprende

Dando a alguém um envelope diz-lhes que uma mensagem existe e que você a enviou.Nunca o conteúdo, nunca para quem é - mas o fato.Se esse comércio não é um que você quer fazer, o modo fantasma nunca usa correios (veja abaixo).

Transmissões feitas sem internet

Uma mensagem que você envia enquanto offline sai pela rádio imediatamente, que chega a quem estiver perto - e ninguém mais, porque no que diz respeito aos relés, nunca existiu.Nymchat se apega a ele, e publica-o no momento em que a internet retorna, mantendo seu tempo de envio original para que ele permaneça onde você escreveu na conversa.

Qualquer pessoa que já o tenha recebido via Bluetooth não o verá duas vezes: a cópia reeditada carrega um marcador que permite que seu dispositivo o reconheça. 24 horasAquele que nunca faz isso é marcado como falhado em vez de deixar olhar enviado.

Ao mesmo tempo, Nymchat pede aos pares próximos que ainda têm um sinal para publicar a mensagem em seu nome - uma conexão na sala é suficiente para todos nele. A mensagem é assinada pelo seu dispositivo antes de sair, então o colega que a carrega é uma caixa de correio: não pode mudar uma palavra do que publica, e os relés rejeitarão se tentar. Leia um canal através de um vizinho que tem um.

Este é um atalho, nunca a única cópia. Nada diz ao seu dispositivo se um vizinho conseguiu realmente publicar, então a mensagem permanece na fila para a sua própria conexão de qualquer maneira. Se ambas funcionam, as duas cópias são byte-por-byte da mesma mensagem e os relés mantêm uma. Somente as mensagens do canal viajam desta forma - pedir a alguém para postar uma mensagem privada lhes diria para quem você está escrevendo - e nunca no modo fantasma, onde a assinatura apontaria diretamente para a sua verdadeira identidade.

Modo Fantasma

Um dispositivo mesh é um rádio que se anuncia repetidamente, e é exatamente isso que facilita para acompanhar em todos os lugares e sessões. O Modo Fantasma é a resposta opcional.

Enquanto estiver ligado, todo identificador que um anúncio carrega é substituído por um descartável valor, e todos eles giram juntos:

  • a chave estática de ruído — da qual derivam o ID do par e a impressão digital;
  • a chave de assinatura Ed25519;
  • o nome Bluetooth anunciado;
  • o apelido;
  • o anunciado nostrLink, que permanece real, mas se torna efêmero, para que os pares ainda possam chegar até você sem que nada resolva para o seu npub.

A rotação acontece em uma época agitada de aproximadamente 15 minutos. Identidades aposentadas permanecer descriptografável por até 8 épocas então uma resposta tardia ainda chega, e um a conversa iniciada enquanto o fantasma está preso à malha para sempre, em vez de silenciosamente migrando para os relés sob sua chave real.

O compartilhamento de avatar e banner é recusado enquanto o Modo Fantasma está ativo: uma imagem repetida liga dois épocas juntas mais rápido do que qualquer chave faria.

Dois dos caminhos de entrega acima são desligados com ele, pela mesma razão. Um dispositivo fantasma nunca pede a ninguém para carregar o correio para ele – um correio ainda segurando um envelope depois de você girar é um fio entre as duas identidades. E uma conversa amarrada à malha nunca é republicada para os relés, porque essa cópia seria assinada com a sua chave real e dizer à outra pessoa exatamente quem o fantasma era. Um dispositivo fantasma também publica nenhuma chave de uma vez: nada pode ser transportado para ou a partir dele de qualquer maneira, então o lote seria uma coisa mais a identidade lançada transmite sem entrega que jamais poderia ganhar.

Modo Fantasma não é anonimato

Isso torna um dispositivo muito mais difícil de seguir. Isso não o torna indetectável. O Bluetooth endereço de hardware é controlado pelo sistema operacional, não pelo aplicativo, e o tempo e os padrões sociais permanecem correlacionáveis – a mesma pessoa, no mesmo lugar, conversando com as mesmas pessoas, nos mesmos momentos.

Limites

  • O alcance é o alcance do Bluetooth. Dezenas de metros ao ar livre, menos através de paredes. A malha estende o alcance por saltar, não por gritar mais alto. A lista de pares no painel da malha lhe dirá qual é: ping a peer e relata a volta e quantos saltos eles estão realmente longe.
  • A largura de banda é pequena. Os quadros são limitados a 512 bytes e mensagens maiores estão fragmentados. Ele foi criado para texto, não para mídia.
  • A entrega é o melhor esforço. Uma inundação de 7 saltos não faz promessas, nem fazem os caminhos que a estendem: o histórico carregado só chega a você se você encontrar um dispositivo que o manteve, e um mensageiro só entrega se acontecer de encontrar o destinatário.
  • Navegadores são folhas, conforme acima, e depende da presença de um telefone por perto.
  • O rádio custa bateria, porque a digitalização e a publicidade continuamente é o que faz a malha funcionar.