A prova de Goldreich et al. De que três cores têm zero provas de conhecimento usa pouco comprometimento para uma coloração inteira do gráfico em cada rodada [1]. Se um gráfico possui vértices e e arestas, um hash seguro possui b bits e buscamos a probabilidade de erro p , o custo total da comunicação é
mais de rodadas. Usando uma árvore Merkle gradualmente revelada, a comunicação total pode ser reduzida para O ( b e log n log ( 1 / p ) ) com o custo de aumentar o número de rodadas para O ( log n ) .
É possível fazer melhor do que isso, em termos de comunicação total ou número de rodadas?
Edit : Obrigado a Ricky Demer por apontar o fator ausente de .
fonte
Atualização : Esta resposta é obsoleta pela minha outra resposta, com limites totalmente polilogarítmicos a partir das referências apropriadas.
Pensando bem, não há necessidade de revelar a árvore Merkle gradualmente, portanto a versão de comunicação inferior não precisa de rodadas extras. As etapas de comunicação são
Isso fornece comunicação durante as rodadas O ( 1 ) .O(belognlog(1/p)) O(1)
Atualização: Aqui estão os detalhes da construção da árvore Merkle. Para simplificar, expanda o gráfico para ter exatamente vértices adicionando alguns nós desconectados (eles não afetam três cores ou zero conhecimento). Assuma uma função hash segura, recebendo entradas de qualquer tamanho e produzindo saídas de bits b . Para cada árvore Merkle, o provador escolhe 2 a + 1 - 1 nonces aleatórios de bits b , um para cada folha e não folha da árvore binária. Nas folhas, misturamos a cor concatenada com o nonce para produzir o valor da folha. Em cada nonleaf, usamos o valor dos dois filhos com o nonce do nonleaf para produzir o valor do nonleaf.2a b 2a+1−1 b
Na primeira rodada, o provador envia apenas o valor raiz, que não fornece informações, pois é hash com o nonce da raiz. Na terceira rodada, nenhuma informação é transmitida sobre qualquer nó não expandido na árvore binária, pois esse nó foi hash com um nonce nesse nó. Aqui, estou assumindo que o provador e o verificador são limitados computacionalmente e não podem quebrar o hash.
Edit : Obrigado a Ricky Demer por apontar o fator ausente de .e
fonte
Há uma recente onda de atividade em argumentos sucintos e não interativos de conhecimento zero. Sabe-se como, por exemplo, construir um argumento NIZK para Circuit-SAT, em que o tamanho do argumento é um número constante muito pequeno de elementos de grupo (ver Groth 2010, Lipmaa 2012, Gennaro, Gentry, etc, Eurocrypt 2013, etc). Com base em uma redução de NP, é possível construir claramente um argumento para a 3 cores com a mesma comunicação.
É claro que este é um modelo diferente comparado à sua pergunta original - por exemplo, nesses argumentos, o comprimento do CRS é linear no tamanho do circuito e, em certo sentido, pode ser pensado como parte da comunicação (embora possa ser reutilizado em muitos argumentos diferentes).
fonte
(Isso não cabe em um comentário.)
Acho que agora vejo como mostrar que a sua salga não fornece necessariamenteH0
H0 H1 H0
H1 H0
|| H2
x z ((3⋅b)+6) y
m m=x||111...[b of them]...111||y||z ,
H2(m)=x||111...[b of them]...111||H1(m)||z
x r m x r m
H2(m)=x||111...[b of them]...111||H1(m)||x
m
H2(m)=
[b+3 bits whose values don't matter]||H1(m)||[3 bits whose values don't matter] .
zero conhecimento do verificador honesto.
Um tem
.
fonte