Estou espreitando por um tempo; Esta é minha primeira postagem aqui. Sinto muito se minha pergunta está mal formada ou mal formatada. Essa pergunta surgiu de algumas idéias de outra pergunta de um site irmão.
Questão
Devido à natureza de uma blockchain, um grande número de lançamentos de moedas publicamente aceitáveis pode ser gerado - ou seja, os hashes dos blocos anteriores podem ser acordados pela rede para serem sorteados aleatoriamente .
Por conseguinte, alguém tentou criar uma solução para o problema dos generais bizantinos para uma blockchain, em que uma prova de trabalho é um problema de decisão em ou , e a prova é verificada probabilisticamente , usando hashes de blocos anteriores quando a moeda pública é lançada?
Motivação
Vi discussões on-line tentando melhorar a prova de trabalho de criptomoedas, por exemplo, encontrando testemunhas de problemas
Um provador que encontra testemunha de um O problema pode anunciar publicamente a testemunha para provar que ela fez o trabalho.
Se houvesse um conjunto estático comum de problemas, digamos de subconjuntos do maiores cidades da Terra, anunciando a testemunha para garantir bloqueio significa que qualquer pessoa pode pegar a mesma testemunha e anexar o trabalho a outra corrente, o que não protege a corrente.
Se a verificação fosse uma prova de conhecimento nulo, o mundo (além do provador) talvez nunca precise saber o que a testemunha realmente era.
No entanto, como observado por outros, como as criptomoedas são sistemas ponto a ponto sem confiança, tentar manter essa testemunha com zero conhecimento pode ser difícil em um sistema ponto a ponto sem confiança.
Por exemplo, se um provador encontrar uma solução para um dos problemas de um pool estático e anuncia uma prova, ela ainda pode ser tentada a vender sua testemunha a um fraudador se o preço estiver correto. Esse fraudador pode anexar o trabalho a outra cadeia fraudulenta.
A testemunha de um O problema pode não proteger uma blockchain, que é um dos propósitos de uma prova de trabalho.
Propostas semelhantes
Convertendo o espaço problemático de um pool estático de problemas em um conjunto dinâmico de problemas podem ajudar, e vi uma proposta que, penso, gera dinamicamente problemas de isomorfismo de subgráficos como provas de trabalho. No entanto, tanto quanto posso dizer, a proposta acima verifica a testemunha deterministicamente.
Também vi tentativas de usar PCPs para verificar cálculos terceirizados, embora eu não ache que o trabalho terceirizado esteja conectado a uma blockchain de criptomoeda. Talvez esse trabalho chegue perto.
História
Em [GMR85] , os autores introduzem sistemas de prova interativos. Em [GS86] , os autores mostram um protocolo público de moedas para nonisomorphism de gráfico. Em [Sha91] , o autor prova.
Em [BFL91] , os autores provam que. Em [BFLS91] , os autores imaginaram estender essas idéias para transformar provas matemáticas formais em provas transparentes verificáveis em tempo polilogarítmico.
Em [AS92] , os autores caracterizaram os trabalhos acima como implicando que as afirmações matemáticas podem ser verificadas no tempo polilogarítmico apenas pela leitura bits em uma prova de um teorema da aritmética Peano, com uma prova de tamanho (que eles reduziram a um número sublogarítmico de bits e reduziram-se contemporaneamente a consultas no teorema do PCP consagrado).
EG, citando [AS92] , eles visualizam declarações:
como idiomas em , com testemunhas que podem ser verificadas probabilisticamente com um número sublogármico de bits.
Note que é indecidível encontrar uma relação fácil entre , o comprimento do teorema provou, com , o tamanho da prova. Declarações prováveis simples podem ter provas longas, ou declarações prováveis longas podem ter provas curtas.
Ou seja, pelo Teorema da Incompletude, cresce mais rápido do que qualquer função computável de . Assim, pode-se considerar uma versão limitada do acima, digamose encontre provas de tamanho exponencial para pequenos teoremas. Assim, declarações como:
pode ser visto como idiomas em , com entradas de tamanho .
[AS92] afirma que "suspeitamos que esse resultado seja amplamente de interesse teórico (e não prático) " (grifo nosso ).
Em [Kil92], o autor descreve um provador que se compromete com uma prova probabilisticamente verificável de como raiz de uma árvore de Merkle e respondendo a perguntas públicas sobre da prova, revelando o caminho de à raiz Merkle comprometida publicamente.
Em [Nak08], a solução do autor para o problema dos generais bizantinos implica exigir provas de trabalho.
A prova de trabalho em [Nak08] envolve a inversão parcial de hashes criptográficos - por exemplo, dado um hash criptográfico, um bloco e (raiz de Merkle) transações financeiras , encontrando um nonce de tal modo que
A prova de trabalho em [Nak08] tem algumas vantagens - protege as transações, contando com o hash SHA256 bem estabelecido (), etc. A dificuldade de encontrar um nonce cresce à medida que para alguns . A prova de trabalho em [Nak08] é verificável imediatamente por todos os nós no tempo, e a verificação é muito rápida.
Da mesma forma, pode haver desvantagens em inverter parcialmente o SHA256 - muita energia é gasta em um problema que é essencialmente um quebra-cabeça aleatório e um tanto artificial. Além disso, todos aqueles que tentam a prova de trabalho estão trabalhando no mesmo problema , enquanto haverá um "vencedor".
Exemplos
NEXP
Considere, para bloco , um provador comprometendo-se com uma raiz Merkle, como em [Kil92] , de uma prova de alguma afirmação da aritmética Peano em formato probabilisticamente verificável, como em [AS92] . Ela pode usar na prova os axiomas Peano e outras regras de inferência. Ela também pode usar outros teoremas provados em blocos anteriores como lemas para acelerar a prova de seu próprio teorema. O primeiro mineiro a anunciar provas de declarações onde por algum limiar de dificuldade "ganha" o bloco.
Ela então usa o hash do bloco como a moeda aleatória lançada usada pelo verificador em [Kil92] para consultar pedaços de .
Como recompensa pela mineração, ela recebe um lucro de unidades monetárias. Por isso, ela é incentivada a encontrar provas de pequenos teoremas (pois eles valem mais).
Isso também mantém a quantidade total de moeda cunhada finita e delimitada abaixo por (Porque de todas as fórmulas bem formadas são verdadeiras e são falsas e nem todas podem ser provadas.)
Eu também acho que isso incentiva crescer apenas como , Onde é o número do bloco, porque os mineradores apenas olham para declarações menores.
Isso também mostra que um mineiro que comprova uma declaração também pode anunciar e , etc., e ainda assim ser recompensado unidades monetárias.
Eventualmente, o mundo pode descobrir que alguma pequena declaração da aritmética Peano é verdadeira, embora nenhuma pessoa ou mineiro possa ter acesso a toda a prova. Alguns mineiros podem ter provado lemas individuais, que são usados por outros para finalizar a prova. Esses outros mineiros talvez nunca precisem ter suas provas verificadas deterministicamente.
PSPACE
Como outro exemplo de prova de trabalho, considere adicionar um número de fórmula booleana quantificada gerada aleatoriamente () a um "conjunto" de problemas em aberto. Digamos, no bloco de mineração, problemas com uma média de literais são gerados e adicionados ao "pool".
Os problemas adicionados ao pool podem ser gerados aleatoriamente com base no hash dos blocos anteriores.
Os fornecedores (mineradores) competem para encontrar provas de que um ou mais dos problemas no “pool” são verdadeiros ou falsos. O primeiro provador a encontrar um númerode declarações no "pool" obtém o lucro da mineração. Ao encontrar uma prova, um provador se envolve em uma prova interativa em moeda pública da verdade ou falsidade das declarações que eles provaram. Acho que eles podem se engajar na heurística Fiat-Shamir em sua prova anunciada.
Os fornecedores não são, necessariamente, obrigados a provar que os problemas gerados mais recentemente são verdadeiros ou falsos, apenas que alguns dos problemas no pool são verdadeiros ou falsos. Por exemplo, um problema adicionado ou blocos atrás ainda podem ser trabalhados e comprovados para este bloco.
Portanto, um problema que está "na piscina" há muito tempo se manifesta como um problema mais difícil, porque está "na piscina" por mais tempo.
Os provadores podem ser recompensados unidades monetárias. Portanto, há um incentivo para encontrar QBFs verdadeiros com um número menor de literais. Isso também mantém a moeda total finita. Como alguns QBFs com um grande número de literais podem ser mais fáceis do que outros com um pequeno número de literais, pode ser mais fácil para os mineiros trabalhar em problemas recém-adicionados e mais fáceis com um número maior de literais do que em problemas mais antigos e mais difíceis com um número menor. de literais, embora o lucro possa ser menor.
Ao contrário da inversão do SHA, os provadores e não precisa estar trabalhando na mesma posição ao mesmo tempo. Quem encontrar uma prova primeiro, apenas a anuncia, contando com os bits aleatórios do hash do bloco anterior para verificar probabilisticamente. O perdedor deste bloco ainda pode continuar procurando sua prova e vencer na próxima rodada.
Porque podem ser considerados jogos entre e , a mineração pode ser considerada como solução de jogos. Eventualmente, o mundo pode descobrir que o xadrez (ou qualquer outro jogo) está resolvido. No entanto, nenhum provador tem acesso a toda a prova, porque ninguém poderá armazenar a prova inteira.
Referências
[AS92] S. Arora, S. Safra. Verificação probabilística de provas: uma nova caracterização de NP. ligação
[BFL91] L. Babai, L. Fortnow e C. Lund. O tempo exponencial não determinístico possui provas interativas de dois provadores. ligação
[BFLS91] L. Babai, L. Fornow, L. Levin e M. Szegedy. Verificando cálculos em tempo polilogarítmico. ligação
[GMR85] S. Goldwasser, S. Micali, C. Rackoff. A complexidade do conhecimento de provas interativas. ligação
[GS86] S. Goldwasser, M. Sipser. Moedas privadas vs. moedas públicas em sistemas de prova interativos. ligação
[Kil92] J. Killian. Uma observação sobre provas e argumentos eficientes de conhecimento zero. ligação
[Nak08] S. Nakomoto. Bitcoin: um sistema de caixa eletrônico ponto a ponto. ligação
[Sha92] IP = PSPACE ligação
fonte
Respostas:
Eu acredito que a resposta para a pergunta é, para todos os efeitos, "sim, essa idéia está sendo explorada em [BRSV17] ( link )".
Por exemplo, dados dois conjuntosS e T do d tridimensionais com | S| = | T| =n , a 2 Vetores ortogonais (2OV) problema é encontrar um vetor σ∈ S e τ∈ T de tal modo que ⟨ σ, τ⟩ = 0 . Isso pode ser estendido a umkOV problema.
Em [BRSV17] , os autores mostram como converter o2-OV problema em um protocolo Merlin-Arthur que pode ser estendido a uma Prova de Trabalho Útil e estenda o problema a umk prova interativa.
Os autores fazem isso convertendo o problema em um protocolo Sum Check para determinar o valor de um polinômioGOV sobre um campo F em um ponto aleatório x ∈ F . O protocolo Sum Check é um antecessor do [Sha92] , [BFL91] e [BFLS91] .
Os autores divulgam ainda uma blockchain incluindo a Prova de Trabalho Útil, na qual os posers adicionamkOV problemas para um pool comum e os mineradores seguem a heurística Fiat-Shamir para construir uma transcrição da prova interativa. Mineiros determinam o ponto aleatóriox salgando o hash do bloco anterior com os coeficientes do protocolo Sum Check.
Os autores continuam descrevendo que okOV problema está relacionado ao APSP problema e o 3SUM problema.
Eu suspeito que este trabalho possa ser um trampolim para outras idéias?
Referência
[BRSV17] M. Ball, A. Rosen, M. Sabin e PN Vasedevan. Provas de trabalho útil. 2017
PS Não sei se meu LaTeX é adequado para KOV, APSP, 3SUM etc.
fonte