
Série: Zcash from First Principles . Artigo 0 . A âncora Público: iniciantes completos. Nenhum conhecimento de criptografia, blockchain ou matemática é necessário. O que você vai levar daqui: um modelo mental correto de como o Zcash oculta quem pagou quem, e quanto, ao mesmo tempo em que permite que o mundo inteiro verifique que nenhum dinheiro foi forjado ou gasto duas vezes.
Cada artigo posterior desta série amplia uma parte da máquina que você está prestes a conhecer. Então, se uma palavra aqui parecer vaga, ótimo. Isso é uma promessa de que voltaremos a ela e a explicaremos corretamente.
Imagine se o seu extrato bancário fosse pregado em uma parede na praça da cidade. Para sempre. Qualquer pessoa (seu senhorio, seu empregador, um estranho, um futuro empregador, um governo) poderia ler cada pagamento de aluguel, cada conta médica, cada doação, cada café e rastrear exatamente para quem você enviou dinheiro e quem enviou dinheiro para você.
Isso não é uma hipótese distópica. É aproximadamente assim que o Bitcoin funciona.
O Bitcoin é frequentemente chamado de "anônimo", mas não é. Ele é pseudônimo: seu nome não está no registro, mas cada transação, valor e vínculo entre endereços é público e permanente. Todo o campo de "análise de chain" existe para desfazer esse pseudônimo frágil e vincular endereços a pessoas reais. Assim que um dos seus endereços é ligado a você, seu histórico financeiro se desenrola.
O Zcash foi criado para responder a uma pergunta enganosamente difícil:
Podemos ter dinheiro que seja completamente privado, ocultando remetente, destinatário e valor, e ainda assim permitindo que qualquer pessoa verifique que as regras foram seguidas?
Esses dois objetivos entram em conflito. Um registro público é verificável porque todos podem vê-lo. Privacidade significa que ninguém pode vê-lo. Então, como o público pode verificar algo que não tem permissão para observar?
Resolver esse paradoxo é toda a história desta série. Vamos começar.
Antes de qualquer coisa, vamos esclarecer um equívoco comum: O Zcash não é "a moeda privada". É uma moeda que oferece privacidade como opção. Na verdade, ele começou como um fork do Bitcoin e carrega dois sistemas paralelos na mesma blockchain.
| Mundo transparente | Mundo blindado | |
|---|---|---|
| Privacidade | Público, como o Bitcoin | Privado |
| Os endereços começam com | t... | z... ou u... |
| Remetente / destinatário / valor | Visível para todos | Oculto para todos |
| Tecnologia subjacente | Registro público no estilo do Bitcoin | Compromissos criptográficos + provas de conhecimento zero |
O dinheiro pode até atravessar a fronteira entre eles: mover fundos para dentro do mundo blindado é chamado de shielding, e movê-los de volta para fora é chamado de deshielding.
O mundo transparente é "o Bitcoin que você já entende mais ou menos". É o mundo blindado que contém toda a bela criptografia, e é o único mundo com o qual esta série se importa.

Aqui está a única imagem mental que você deve carregar pelo resto do artigo. Voltaremos a ela o tempo todo.
Imagine um enorme quadro de avisos público que todos na Terra podem ver o tempo todo.
Receber dinheiro significa que alguém prende um envelope lacrado e opaco no quadro. Dentro do envelope está quanto dinheiro ele contém e um segredo que somente o destinatário pode ler, porque o envelope está trancado com a chave pessoal desse destinatário. O mundo inteiro vê que um envelope apareceu. Ninguém além do dono pode ver o que está dentro.
O quadro só cresce. Os envelopes nunca são arrancados nem apagados. Novos envelopes são fixados por cima, para sempre.
Gastar dinheiro significa entrar atrás de uma cortina, provar "eu possuo um dos envelopes não gastos deste quadro e tenho permissão para abri-lo", depois deixar um token de anulação único em uma caixa pública de "gastos" e prender novos envelopes para quem você está pagando.
Esse pequeno ritual (prender um token de anulação, prender novos envelopes, tudo por trás de uma cortina) é um pagamento em Zcash. Todo o resto são detalhes.
Agora vamos dar a esses elementos seus nomes reais.
Estes cinco termos são todo o vocabulário do Zcash blindado. Aprenda-os como uma história, não como um glossário, e eles vão fixar.
| Na história | Termo real do Zcash | O que realmente é |
|---|---|---|
| O conteúdo do envelope (valor + dono + um segredo) | Note | A "moeda" privada: uma porção de valor pertencente a alguém |
| O envelope lacrado e opaco no quadro | Note commitment | Um selo criptográfico que prova que um envelope existe enquanto oculta o que há dentro |
| O próprio quadro de avisos | Note commitment tree | Um registro ao qual só se acrescenta no final de cada note já criada |
| O token de anulação na caixa de "gastos" | Nullifier | Um marcador único que significa "esta note já foi gasta" |
| A mágica "por trás da cortina" | Zero-knowledge proof | Uma prova de que todo o gasto é válido, sem revelar nada dele |
Se você não se lembrar de mais nada deste artigo, lembre-se desta tabela. Tudo o que vem a seguir é apenas o porquê de cada peça precisar ter o formato que tem.
Esta é a parte que a maioria das explicações pula, e é exatamente a parte que separa "memorizei algumas palavras" de "entendo o design". Cada uma das cinco peças existe para resolver um problema específico.
Um envelope comum pode ser aberto com vapor. Um compromisso de note criptográfico não pode. Pense nele como um envelope magicamente lacrado, totalmente opaco, com dois superpoderes:
Como um selo pode fazer as duas coisas ao mesmo tempo? Essa é uma pergunta real e respondível. Esse é o tema do Artigo 3 (commitments). Por enquanto, aceite o envelope como mágico e siga em frente.
Quando você gasta uma note, você publica seu nulificador, o "token de anulação". Esse token é calculado a partir da própria note e da sua chave secreta. Essa receita oferece três propriedades ao mesmo tempo, e cada uma importa:
Essa terceira propriedade é o coração da privacidade do Zcash, e merece sua própria seção abaixo.
Tudo acontece atrás de uma cortina, e o que você entrega ao mundo depois é uma prova de conhecimento zero, um tipo de certificado impossível de falsificar. Ela atesta silenciosamente tudo isso de uma vez:
O milagre é que a prova não revela nenhum desses fatos. Nem o valor, nem os endereços, nem qual envelope é. Ela apenas convence você de que cada afirmação acima é verdadeira. Como isso é sequer possível é o tema do Artigo 5 (zero-knowledge proofs), o clímax da série.
Uma note nasce, vive no quadro e, eventualmente, morre e, crucialmente, seu nascimento e sua morte parecem não ter relação para qualquer observador.

Vamos observar Alice pagar Bob, com cada passo público e privado rotulado.

Observe a assimetria que faz a privacidade funcionar:
Como Bob sequer sabe que foi pago? A note dele é criptografada para a chave dele. Ele examina continuamente o quadro e apenas os envelopes dele se abrem para ele, como se tivesse a única chave que serve para um conjunto específico de fechaduras. O mecanismo por trás disso são as chaves de visualização, um tópico posterior.
| Fato sobre o pagamento | Visível ao público? |
|---|---|
| Que ocorreu uma transação blindada | Sim |
| Que ela obedeceu a todas as regras (sem falsificação, sem gasto duplo) | Sim (por meio da prova) |
| Quem enviou o dinheiro | Oculto |
| Quem o recebeu | Oculto |
| Quanto foi enviado | Oculto |
| Qual note anterior foi gasta | Oculto |
Esta é a resolução do paradoxo da Seção 1. O público verifica as regras, não o conteúdo. Verificação e privacidade deixam de brigar, porque a prova de conhecimento zero permite verificar a primeira sem tocar no segundo.
Se você entender esta única ideia, você entende por que o Zcash é privado. Leia devagar.
Assim, um observador externo vê um fluxo de envelopes aparecendo e um fluxo de tokens de anulação aparecendo, mas não consegue associá-los. Ele não pode dizer "o token de anulação descartado hoje corresponde ao envelope preso em março passado". O vínculo existe somente dentro do conhecimento secreto do dono da note, e a prova de conhecimento zero confirma que esse vínculo é válido sem revelá-lo.
Esse vínculo quebrado é aquilo de que as empresas de análise de chain se alimentam no Bitcoin, e aquilo que o Zcash deliberadamente corta.
Teste sua intuição: Se os nulificadores fossem calculados apenas a partir da note (sem nenhuma chave secreta envolvida), qual das três propriedades da Seção 5 deixaria de valer, e por que isso destruiria silenciosamente a privacidade? (Resposta no final.)
Este é um modelo mental, não a especificação. Para mantê-lo amigável para iniciantes, simplificamos silenciosamente várias coisas reais: o Zcash teve múltiplos designs blindados (Sprout, depois Sapling, agora Orchard); transações reais podem gastar e criar várias notes de uma só vez; "o quadro" é tecnicamente um tipo específico de árvore, não um mural literal; e o balanceamento de valor é imposto com alguma contabilidade criptográfica adicional. Nenhum desses detalhes muda a história que você acabou de aprender; eles a refinam. Vamos adicionar a precisão de volta, um artigo de cada vez, e sinalizar claramente sempre que fizermos isso.
Um bom conteúdo educacional conquista confiança ao dizer o que deixou de fora. Esta seção é essa promessa.
Cada "voltaremos a isso" acima é um fio. Veja onde cada um é amarrado:

| Ponta solta deste artigo | Onde ela é resolvida |
|---|---|
| Como um envelope lacrado pode ao mesmo tempo ocultar e ser infalsificável? | Artigo 3: compromissos |
| De onde vêm as chaves e as receitas secretas? | Artigos 1 e 2: campos e curvas |
| O que é "o quadro", exatamente? | Artigo 4: árvores de Merkle |
| Como você pode provar algo sem revelar nada? | Artigo 5: provas de conhecimento zero |
| Como as cinco peças se encaixam no Zcash real? | Artigo 6: o protocolo blindado |
Agora você tem o mapa. O restante da série o preenche.
| Termo | Significado em linguagem simples |
|---|---|
| Note | Uma unidade privada de valor, o equivalente no Zcash a uma moeda ou cédula |
| Note commitment | Um selo criptográfico que prova que uma note existe sem revelá-la |
| Note commitment tree | O registro público, somente de acréscimos, de todos os compromissos de notes |
| Nullifier | Um marcador único de "gasto" publicado quando uma note é usada, impedindo gastos duplos |
| Zero-knowledge proof | Uma prova de que uma afirmação é verdadeira sem revelar nada além de sua veracidade |
| Shielding / deshielding | Mover fundos para dentro / para fora do mundo privado blindado |
| Viewing Key | A chave que permite ao proprietário detectar e ler notes endereçadas a ele |
O Zcash é sempre privado?
Não. A privacidade se aplica ao mundo blindado (endereços z.../u...). As transações transparentes (t...) são públicas, como no Bitcoin.
Se tudo está oculto, o que impede alguém de imprimir dinheiro de graça? A prova de conhecimento zero. Ela força matematicamente que as saídas de cada transação sejam respaldadas por entradas reais e não gastas, enquanto mantém os valores em segredo.
A mesma note pode ser gasta duas vezes? Não. Gastar uma note publica seu nulificador; uma segunda tentativa publicaria o nulificador idêntico, que já está na caixa de "gastos", então a rede a rejeita.
Pessoas de fora podem ligar um remetente a um destinatário? Não. O compromisso (nascimento da note) e o nulificador (morte da note) não podem ser associados por ninguém sem o conhecimento secreto do proprietário.
Se o nulificador fosse calculado apenas a partir da note, sem nenhuma chave secreta, então qualquer um poderia calculá-lo, quebrando a propriedade #1 (somente o proprietário pode gastar). Pior ainda, o nulificador passaria a ser derivável diretamente de informações públicas sobre a note, o que poderia permitir que observadores ligassem o nulificador de volta ao seu compromisso, quebrando a propriedade #3 e desfazendo silenciosamente a privacidade de todo o sistema. A chave secreta é o que torna o token de anulação ao mesmo tempo exclusivamente seu e não vinculável.
Artigo 1 . Campos finitos: o estranho e belo sistema numérico em que a aritmética "dá a volta", e a razão pela qual cada peça da criptografia desta série vive ali. Vamos começar, como sempre, com intuição; sem fórmulas até que elas sejam merecidas.
Parte da série Zcash from First Principles para ZecHub. Licenciado sob CC BY-SA 4.0.