O que é Zcash e como funciona esta criptomoeda orientada para a privacidade?

O que é Zcash?
Zcash é uma criptomoeda pública e descentralizada com um token próprio: ZEC. O que distingue a Zcash é o facto de poder escolher como envia ZEC. Pode fazer um pagamento transparente, em que os dados importantes são públicos, ou um pagamento protegido, em que esses dados permanecem muito mais ocultos.
A Zcash funciona numa blockchain pública. Isso significa que as transações na rede são registadas e verificadas pelos participantes. Nas transações transparentes, isto é muito semelhante ao Bitcoin: os endereços e os montantes são visíveis na blockchain.
Nas transações protegidas, o funcionamento é diferente. Para isso, a Zcash utiliza zero-knowledge proofs, e mais especificamente zk-SNARKs. Trata-se de provas criptográficas que permitem demonstrar que um pagamento está correto, sem revelar de imediato dados sensíveis. Pense no montante, no endereço do remetente e no endereço do destinatário.
Essa liberdade de escolha é importante. A Zcash não é, portanto, automaticamente totalmente privada em cada pagamento. A privacidade depende do tipo de transação que utiliza, da sua carteira de criptomoedas e da forma como movimenta o seu ZEC.
A oferta máxima é de 21 milhões de ZEC (tal como no Bitcoin). Um ZEC pode ser dividido em 100 milhões de unidades mais pequenas, chamadas zatoshi.
Pontos principais
- A Zcash é uma blockchain pública e uma criptomoeda com ZEC como token próprio.
- Pode enviar ZEC de forma transparente ou protegida.
- Os pagamentos protegidos utilizam zk-SNARKs para manter os dados ocultos.
- Os pagamentos transparentes tornam os endereços e os montantes visíveis ao público.
- Podem existir no máximo 21 milhões de ZEC.
Como funciona a Zcash?
A Zcash funciona porque as transações são registadas numa blockchain pública e verificadas segundo regras fixas. A rede verifica sempre se um pagamento é válido e se o mesmo ZEC não é gasto duas vezes.
Num pagamento transparente, isto é relativamente fácil de acompanhar. Os endereços e os montantes estão visíveis na blockchain. Num pagamento protegido, os nodes, os computadores que verificam a rede, têm de continuar a conseguir confirmar que tudo está correto. Só que não veem os dados sensíveis do pagamento.
Como funciona isso, então? O remetente cria um zk-SNARK, uma espécie de prova matemática. Com isso, o remetente demonstra, por exemplo, que tem autorização para gastar ZEC suficiente e que cumpre as regras. A prova não mostra publicamente de que endereço protegido vem o pagamento, para que endereço o dinheiro vai ou quanto ZEC é enviado.
Os montantes protegidos são registados como commitments criptográficos. Pode ver um commitment como um registo digital selado de valor: a rede pode utilizá-lo para calcular e verificar, mas não vê de imediato qual é o montante que contém.
Quando esse valor é gasto mais tarde, aparece um nullifier. Trata-se de uma marcação única que só pode ser válida uma vez. Se a rede vir o mesmo nullifier novamente, sabe que alguém está a tentar gastar de novo o mesmo valor protegido. Assim, a Zcash evita o gasto duplo.
A Zcash tem várias gerações de tecnologia protegida. Desde a Network Upgrade 5, em maio de 2022, existe também a Orchard. A Orchard utiliza Halo 2 e não precisa de trusted setup. Um trusted setup é uma etapa anterior em que são criados parâmetros criptográficos especiais. Os sistemas mais antigos, Sprout e Sapling, utilizavam esses parâmetros através de cerimónias com vários participantes.
Em resumo: a Zcash tenta fazer duas coisas ao mesmo tempo. Os pagamentos têm de continuar a ser verificáveis, mas os detalhes sensíveis não precisam de estar visíveis para toda a gente na blockchain.
Como é que a Zcash protege a privacidade das transações?
A Zcash pode ocultar o endereço do remetente, o endereço do destinatário, o montante e uma eventual memo ao público, num pagamento totalmente protegido. Uma memo é uma mensagem adicional que pode acrescentar a esse pagamento e que é transmitida de forma encriptada.
O zk-SNARK prova que o pagamento é válido sem mostrar publicamente qual pagamento protegido anterior está exatamente a ser gasto. Assim, a rede pode aplicar as regras sem expor toda a informação de pagamento publicamente.
Exemplo: Imagine que envia ZEC a alguém através de um pagamento totalmente protegido. A blockchain mostra então que existe uma transação e que foi paga uma fee. Mas, publicamente, o montante e os endereços protegidos envolvidos não são legíveis.
A Zcash também tem viewing keys. Com uma chave destas, pode dar a alguém direitos de leitura sobre dados relevantes de transações, sem que essa pessoa possa gastar o seu ZEC. Isto pode ser útil se quiser dar acesso voluntário, por exemplo, para a sua contabilidade, uma auditoria ou a declaração fiscal.
É importante saber, no entanto, que privacidade não significa que uma transação seja totalmente invisível. A própria transação continua na blockchain pública e a fee é visível. Além disso, a Zcash não oculta o seu endereço IP por defeito. Quem observar o tráfego da rede pode, possivelmente, associar o timing e outros metadados de rede às transações.
O seu próprio comportamento também conta. Se movimentar montantes pela parte transparente, partilhar informação ou criar padrões reconhecíveis, isso pode reduzir a privacidade.
Qual é a diferença entre transações transparentes e protegidas?
A maior diferença está nos dados que ficam visíveis ao público. As transações transparentes são semelhantes às transações normais de Bitcoin: os endereços e os montantes na parte transparente podem ser vistos por toda a gente na blockchain.
Um pagamento totalmente protegido vai de um endereço protegido para outro endereço protegido. Nesse caso, o endereço do remetente, o endereço do destinatário, o montante e uma memo opcional não são legíveis publicamente.
Também pode mover ZEC da parte transparente para a parte protegida. Isto chama-se shielding. Nesse processo, a entrada transparente e o montante que sai dessa parte visível continuam a ser públicos.
O passo inverso chama-se deshielding: move ZEC da parte protegida para a parte transparente. Nesse caso, a saída transparente e o montante que aí chega ficam visíveis.
Portanto, protegido não é um botão mágico que apaga todos os vestígios de todo o histórico de pagamentos. Na transição entre as duas partes, os montantes e o timing continuam visíveis na parte transparente. Além disso, a existência da transação e a fee permanecem observáveis publicamente.
Para que é utilizada a Zcash?
A Zcash é utilizada para guardar, receber e enviar ZEC diretamente a outras pessoas. Isso pode ser feito através de uma carteira de criptomoedas que suporte Zcash.
Uma utilização possível é um pagamento em que não quer que o montante e os endereços envolvidos apareçam publicamente na blockchain. Para isso, tanto a sua carteira de criptomoedas como a rota do pagamento têm de suportar transações protegidas. Isso não é garantido em todos os serviços.
A memo encriptada também pode ser útil. Pode enviar informação adicional com um pagamento protegido, sem que essa memo seja legível publicamente.
Se quiser dar acesso voluntário, pode utilizar uma viewing key. Quem tiver essa chave pode ver dados relevantes de transações protegidas, mas não obtém automaticamente a possibilidade de gastar o seu ZEC.
Tecnicamente, pode utilizar ZEC para pagamentos a pessoas, prestadores de serviços, lojas ou donativos. Na prática, a aceitação varia consoante a região, o comerciante, a carteira e o serviço de pagamento. Também um pagamento através de uma exchange de criptomoedas ou de outro serviço de custódia não é automaticamente protegido. Por isso, verifique antecipadamente quais os tipos de transação que são realmente suportados.
Qual é a diferença entre Zcash e Bitcoin?
A Zcash baseia-se numa forma de pagamento semelhante à do Bitcoin, mas acrescenta transações protegidas com zero-knowledge proofs. O Bitcoin e a Zcash utilizam ambos uma blockchain pública, mas a Zcash oferece, além dos pagamentos transparentes, uma opção integrada para ocultar dados sensíveis do pagamento.
As transações de Bitcoin funcionam com UTXOs publicamente rastreáveis. Um UTXO pode ser visto como uma parte de valor em bitcoin ainda não gasta que utiliza como entrada para um novo pagamento. Na Zcash, existem também shielded notes: partes de valor protegidas que são verificadas com commitments e nullifiers.
A Zcash surgiu em 2016 a partir do código-fonte aberto do Bitcoin, com criptografia adicional para transações protegidas. O Bitcoin não oferece ao nível do protocolo a mesma proteção baseada em zk-SNARKs para o remetente, o destinatário e o montante.
Também existem semelhanças. Segundo as respetivas regras, ambos os protocolos têm uma oferta máxima de 21 milhões de unidades monetárias. Isso não significa, porém, que a tecnologia, a utilização ou os riscos sejam os mesmos.
A Zcash tem ainda funções que o Bitcoin não tem da mesma forma no protocolo, como memos encriptadas e viewing keys. Os endereços de Bitcoin são, aliás, pseudónimos: não mostram automaticamente um nome real, mas as transações confirmadas e os montantes são visíveis publicamente.
Quais são as vantagens da Zcash?
A principal vantagem da Zcash é poder oferecer forte confidencialidade on-chain em pagamentos totalmente protegidos. Os observadores públicos não veem automaticamente quem paga, quem recebe, qual o montante enviado ou que memo foi incluída.
Outras vantagens são:
- Verificação sem mostrar todos os detalhes: os zk-SNARKs permitem que a rede verifique se um pagamento é válido, sem publicar dados sensíveis do pagamento.
- Liberdade de escolha: pode escolher entre transações transparentes e protegidas, consoante o seu objetivo e o suporte da sua carteira.
- Acesso seletivo: com viewing keys, pode permitir que alguém veja dados relevantes sem entregar a possibilidade de gastar os seus fundos.
- Memos encriptadas: pode enviar informação adicional com um pagamento protegido.
- Oferta máxima fixa: o protocolo define um máximo de 21 milhões de ZEC.
Estas vantagens são sobretudo técnicas. Não garantem que cada pagamento permaneça privado na prática. O grau de privacidade também depende do comportamento da sua carteira, das transições visíveis e dos metadados de rede.
Quais são as desvantagens da Zcash?
A Zcash também tem limitações claras. A privacidade é opcional, pelo que uma transação transparente não oculta de todo os endereços e os montantes na parte transparente.
A transição entre transparente e protegido também pode revelar informação. Em shielding e deshielding, os montantes visíveis e o timing podem ser associados. Se utilizar padrões reconhecíveis, esses dados podem reduzir a sua privacidade.
Análises históricas de transações Zcash mostraram que uma utilização reconhecível pode reduzir o conjunto de anonimato. O conjunto de anonimato é, de forma simples, o grupo de possíveis transações ou utilizadores dentro do qual é mais difícil distingui-lo. Isso não significa que cada pagamento protegido atual seja rastreável, mas significa que a privacidade exige uma utilização cuidadosa.
Outro ponto a ter em atenção: a Zcash não oculta o seu endereço IP por defeito. Um observador da rede pode, possivelmente, associar dados de IP e metadados de transação. Só os dados de pagamento protegidos não resolvem isso automaticamente.
Além disso, nem todas as carteiras de criptomoedas, exchanges de criptomoedas ou serviços de pagamento suportam transações protegidas. Tem de verificar antecipadamente se pode realmente receber, guardar e enviar ZEC de forma protegida através do serviço que pretende utilizar.
Por fim, a tecnologia é bastante complexa. A Zcash tem várias gerações de protocolos protegidos. Os sistemas mais antigos utilizavam um trusted setup, enquanto a Orchard, com Halo 2, elimina esse requisito. Estas diferentes tecnologias tornam o protocolo mais difícil de compreender do que um sistema de pagamento totalmente transparente.
Conclusão
A Zcash é uma criptomoeda que lhe dá a escolha entre pagamentos transparentes e protegidos. O token ZEC funciona numa blockchain pública, mas os zk-SNARKs tornam possível provar um pagamento válido sem mostrar publicamente o remetente, o destinatário e o montante em transações totalmente protegidas.
Isto torna a Zcash interessante para quem quer mais privacidade nos pagamentos, mas essa privacidade não surge automaticamente. As transações transparentes continuam visíveis, as transições entre as duas partes podem revelar informação e os metadados de rede também podem denunciar algo. Por isso, verifique sempre se a sua carteira de criptomoedas ou a sua rota de pagamento suportam transações protegidas e tenha em conta o que está a tornar visível por sua própria iniciativa.