Segurança comercial offline do DSM – Resumo Técnico Final

Duas pessoas, face a face, telefones no modo de avião: comprador Alice tenta duplo gasto; comerciante Carol ainda mantém sua mercadoria segura.


1 Contexto criptográfico pré-negociado

PrimitivoPropósitoTamanho (offline)
Chain de hash bilateral H_ {a \ leftightarrow x}Log do Estado por relação32 b/link
Raiz SMT em todo o dispositivo R_nUm compromisso de 32 bytes com todos cabeças32 b
Prova de inclusão específica para gastosProva token T é presente, não gasto, com chave exclusiva em R_n\ Mathcal {o} (\ log k) \! \ aprox \! 200 {-} 400 B
Teorema de TripwireQualquer garfo ⇒ Hash-Collision Impossível ⇒ Carteira do atacanteSomente lógica

2 Handshake de pagamento offline de duas rodadas

(Bluetooth ou QR; conclui em segundos.)

RedondoDados trocadosO que Carol verifica offline
1 – Desafio e provaAlice ➜ Carol
• raiz atual R_n
• Prova de inclusão para token T
Token T é não gasto por dentro R_n.
2 – Consuma e pontoCarol ➜ Alice: novo link H_ {a \ leftightarrow c} que gasta T
Alice ➜ Carol: Raiz sucessor R_ {n+1} Comprometendo todos Cabeças incl. H_ {a \ leftightarrow c}
Carol cheques:
H_ {a \ leftRightarrow c} \ em r_ {n+1}
R_n \! \ Rightarrow \! R_ {n+1} é uma etapa válida de hash para a frente.

Passar: Carol recebe uma única raiz costurada R_ {n+1} → Pisca de carteira FINAL.
Falha (garfo): Alice não pode produzir R_ {n+1} → Incêndios de Tripwire; Pagamento aborta.


3 Por que matrizes duplas Durante o aperto de mão

  1. Antes, Alice pagou Bob, gastando T e criando raiz R_ {n+1}^{\, b}.
  2. A venda de Carol exigiria raiz R_ {n+1}^{\, c} que também gasta T.
  3. UM solteiro A raiz sucessora não pode conter ambos gasta ⇒ resistência de colisão proíbe.
  4. Alice não consegue entregar R_ {n+1} ➜ A carteira de Carol tem que os shows Pagamento falhou.
  5. Tripwire Bricks Alice’s Cartet para todos os futuros colegas.

Resultado: Cada comerciante honesto recebe um valor irreversível ou não recebe nada – não se depara com bens e perde.


4 garantias operacionais

PropriedadeValor
Latência da finalidade<2 s offline
Dados por negociação≤ 500 b (raiz + prova + raiz)
PrivacidadeMerchant aprende apenas sua cadeia bilateral + duas raízes
EscalabilidadeFunciona a 120 K TPS, mesmo em telefones de bateria
Superfície de ataqueAtacante de tijolos de garfo; Clonagem bloqueada por DBRW

5 resultados inferiores

Prova de inclusão específica para gastos do DSM mais A rodada “Retornar a raiz-manchada” oferece final criptográfica no mesmo encontro presencial.
Um comerciante mãos sobre o item apenas Depois de manter um ativo não gasto.
Sem roubo, sem estornos, exposição zero.

O DSM está chegando à produção pronta com uma versão beta privada em breve – o repositório é atualmente privado – mas será tornado público em Beta Public – info@decentralizedstatemachine.com para entrar em contato

Parece ser uma excelente solução, mas tem um problema fundamental: você está ligado ao dispositivo devido à ligação criptográfica. Se o hardware falhar, o token será perdido → backup da chave privada do hardware para evitar a perda de tokens.

Se você copiar a chave privada de hardware para outro dispositivo, está essencialmente clonando o hardware de uma perspectiva criptográfica.

Agora, dois dispositivos podem gerar provas válidas para o mesmo token, significando:

  • Ambos podem tentar gastar o mesmo token simultaneamente ou separadamente.
  • Os receptores não têm como distinguir o proprietário “verdadeiro”, pois as assinaturas são válidas para ambos.

Isso quebra a segurança anti-dupla do DSM, pois o mecanismo depende precisamente da singularidade da chave e do dispositivo de hardware.

Conclusão: Qualquer método que exporte ou copie a chave privada compromete o modelo de segurança do DSM e possibilita os gastos duplos (??).

Ok, desculpe pelo comentário acima. Eu estava apenas lendo que a solução é DBRW (caminhada aleatória de dupla ligação para anti-clonagem localmente/offline)onde um invasor em potencial precisaria agora ID de hardware + chave privada + entropia ambiental perfeita. Portanto, no final, esse ataque não é muito realista, e isso parece uma solução verdadeiramente incrível para evitar o processo de consenso geral

Na verdade, comecei a ler seus papéis e as bizarras “provas” que você postou aqui, e vou tentar brincar junto e fingir não saber o que está acontecendo aqui.

Vamos esclarecer como você está tentando obter prevenção de dupla gasta sem uma camada de consenso. Você escreveu o seguinte:

… Um pré-compromisso com o quê? E quando é assinado? Esse pré-compromisso significa que os próximos gastos devem sempre ser conhecidos? Isso não parece muito ergonômico para mim.

Este artigo fala sobre um compromisso de hash de raiz SMT (sem realmente esclarecer quais informações estão contidas nas chaves e valores do referido SMT), mas não parece mencionar seus pré-compromissos co-assinados em qualquer lugar. Por favor, conte-nos mais sobre esses pré-compromissos co-assinados.

Por último, mas não menos importante, seus documentos de desenvolvimento, por exemplo: protocolo DSM – criando identidade

Não consigo encontrar a referência da API para sua caixa dsm em docs.rs/dsm. Por exemplo, onde encontro os documentos de referência para dsm::crypto::generate_keypair?


PS Para todos os seres humanos Leitura: Estamos entrando em uma fase muito triste da Internet, infelizmente. A maior parte está morta.



1 gosto

Fontesethresear

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *