Leitura:
Bitcoin white paper section 10
Research Perspectives & Challenges section VII
Zcash
Audiovisual:
Lecture 6 — Bitcoin and Anonymity
Transparent scalable computational integrity - Eli Ben Sasson, Silicon Valley ethereum meetup
The Zcash anonymous cryptocurrency (33c3)
Zerocash: Addressing Bitcoin's Privacy Problem
CryptoFinance.fr | Strong anonymity in cryptocurrencies | Georg Fuchsbauer (INRIA, ENS)
Zerocoin: Anonymous Distributed E-Cash from Bitcoin
Bitcoin: Privacy, Identity, Surveillance and Money - Barcelona Fablab Meetup March 2016
Prova de conhecimento zero é uma maneira que permite 2 partes provarem que uma declaração é verdadeira sem revelar nada a mais a não ser a declaração que estão tentando provar. Por exemplo, duas pessoas querem provar quem é a mais rica sem revelar a quantia exata de dinheiro que cada um detém. A criptomoeda Zcash utiliza uma forma de zero knowledge proof, a zero-knowledge Succinct Non-interactive Arguments of Knowledge (zk-SNARK) para realizar transações. O Zcash proporciona anonimato em suas transações.
ResponderExcluir"Prova de conhecimento zero é uma maneira que permite 2 partes provarem..." Errado: uma PROVA e a outra VERIFICA, e a primeira (o PROVADOR) não revela nada novo que a segunda (o VERIFICADOR) não sabia. Isso aqui é outra coisa: "duas pessoas querem provar quem é a mais rica sem revelar a quantia exata de dinheiro que cada um detém". Não se trata de prova de conhecimento zero, mas sim de computação segura multilateral ("secure multiparty computation").
ExcluirO tópico principal da aula foi a introdução do conceito do zero-knowledge proof, onde como comentado acima, temos dois atores o PROVER e o VERIFIER. Foi explicado através de um exemplo didático o funcionamento do mesmo, onde a entidade VERIFIER deseja verificar se o PROVER detém um conhecimento que ele afirma ter (exemplo, uma senha).
ResponderExcluirO exemplo segue mais ou menos da seguinte forma: o provador afirma ter uma palavra secreta que abre uma porta em uma caverna em forma de anel. Ele entra na caverna e escolhe um dos lados da bifurcação, chegando à porta. Em seguida, o verificador pede para que o provador retorne à entrada através de um dos caminhos.
Caso o provador apareça pelo outro caminho, será detectado que ele não possui a palavra chave e que estava mentindo, pois não conseguiu abrir a porta. Caso apareça pelo caminho solicitado, ou ele possui a palavra chave e abriu a porta, ou então simplesmente entrou pelo mesmo lado que saiu.
O total anonimato em relação as transações nas redes de criptomoedas é algo que ainda é bastante discutido principalmente na rede Bitcoin. Alguma iniciativas já surgiram prometendo trazer total anonimato nas transações, uma dessas iniciativas é o Zcash. O Zcash surgiu de uma tentativa de melhorar o anonimato dos usuários da rede bitcoin através do protocolo Zerocoin.
ResponderExcluirA base da validação da transação no Zcash é utilizando o conceito de prova do conhecimento zero, one há duas partes envolvidas: a que prova e a que verifica. Nesse método, o que prova tem que provar para o que verifica que alguma afirmação é verdadeira. Esta prova deve satisfazer três propriedades: Integralidade, Corretude e conhecimento-zero.
Integralidade é para que se a afirmação for verdadeira o verificador, que deve ser honesto, vai aceitar o fato através de um provador que também deve ser honesto. Corretude, quando a afirmação for falsa o verificador não honesto não pode convencer o verificador honesto que a afirmação é verdadeira (a probabilidade para isso é muito pequena). E conhecimento-zero que dizer que caso a afirmação for verdadeira, o verificador desonesto não saberá nada além de que a afirmação é verdadeira, ou seja, não saberá informações sigilosas sobre a parte que deseja provar.