Greetings! New to Zcash?
The Zcash network is young, but evolving quickly! Sign up and we'll be in touch with more information about how you can get started with Zcash!

Idioma

Atualizado em: 26-09-2016

Documentos relacionados:

Resumo

A Zcash é baseada no Bitcoin, e tem um superconjunto de funcionalidade, tanto no protocolo quanto na interface RPC. Este documento descreve a integração da Zcash para serviços e produtos. Para ajudar a construir e testar a Zcash, consulte o Guia Zcash 1.0.

Tipos de Endereço

O endereços transparentes da Zcash, conhecidos como T-addrs, são muito semelhantes aos endereços do Bitcoin. A Zcash também fornece Z-addrs que são usados para enviar e receber fundos privados, com transações criptograficamente protegidas com provas de conhecimento-nulo. T-addrs começam com um prefixo T… [1] enquanto Z-addrs sempre começa com um prefixo Z….

API Bitcoin

O daemon da zcash, zcashd, apresenta o mesmo tipo de interface RPC que o Bitcoin Core, e esta interface (veja Bitcoin RPC reference) fornece uma similar Bitcoin API calls, que chamamos de Bitcoin API . As transações que não envolvem Z-addrs (e, portanto, a camada de privacidade de conhecimento-nulo) podem ser criadas com esta API, assim como para o Bitcoin.

Esta API pode ser usada para transações Bitcoin avançadas, assim como no Bitcoin Core, como por exemplo as transações multisig.

API de Pagamento da Zcash

Além disso, zcashd adiciona o API de Pagamento (ver em referência da API de Pagamento da Zcash), que é documentado em nosso repositório junto com cada release. Esta é uma API de alto nível que simplifica os casos de uso comum de transferências. Esta API pode enviar de ou para (alguns) T-addrs e Z-addrs através da chamada z_sendmany.

Esta API ainda não suporta os tipos avançados de transações do Bitcoin, como o multisig.

Caminho de Integração

Existem duas abordagens para integrar um serviço ou produto com a Zcash: a abordagem Bitcoin-compatível e a abordagem Zcash API. A abordagem de compatibilidade com Bitcoin é conveniente para implementações que já utilizam o Bitcoin Core, porque a API é (quase) idêntica. Alternativamente, se novas integrações estiverem sendo desenvolvidas, o uso da Zcash API pode ser mais simples para a maioria dos casos de uso.

Os serviços que usam a API da Zcash podem enviar e receber de Z-addrs e T-addrs. Um inconveniente é que esta API não suporta transações multisig. Os serviços que utilizam a abordagem de compatibilidade com o Bitcoin só podem enviar ou receber de/para T-addrs. Os usuários podem ainda manter a privacidade mesmo neste caso, assim que o drawback preliminar é uma da usabilidade.

Um serviço que suporta Z-addrs e multisig usará a Zcash API para todas as transações, exceto o multisig, caso em que usará a Bitcoin API.

Designation Features To Support
Level Description Transparent Transactions Transparent Multi-Sig Private Transactions Encrypted Memo
1 Bitcoin-compatible Bitcoin API Bitcoin API    
2 Zcash Bitcoin API / Zcash Payment API Bitcoin API Zcash Payment API Zcash Payment API

Bitcoin API (JSON-RPC)

  • Compatível com o Bitcoin-Core 0.11.2. Pequenas modificações à saída JSON, vjoinsplit.
  • Recomendado para: Tempo para o mercado com aplicações existentes do Bitcoin, familiaridade com Bitcoin, multi-sig

API de Pagamento da Zcash

  • Para o envio de pagamentos transparentes e privados. Amplia a Bitcoin API existente com novos comandos.
  • Recomendado para: novas aplicações que não necessitam de suporte multisig, transações privadas, campo memo criptografado.

Performance das Transações Privadas

Em um benchmark de um servidor de quad-core, a geração de uma transação privada consome ~ 3,2 GB de memória e ~ 50 segundos de tempo de computação. Em um servidor Amazon EC2 de 32 núcleos, o tempo de computação é de cerca de 30 segundos.

Estes números mudaram durante o desenvolvimento. Gráficos de desempenho recente estão disponíveis no Zcash site de benchmarking: tempo benchmark e RAM benchmark.

Contato

Uma API JSON-RPC de baixo nível para suportar as primitivas da Zcash é esperada no primeiro trimestre de 2017. Se você atualmente usa a transação Bitcoin ou os formatos/protocolo de blockchain diretamente em vez de bitcoind, ou se você usa um node/biblioteca bitcoin diferente, como Bitcore, por favor entre em contato com nossa equipe de engenharia para obter assistência técnica.

[1]Nota: o T… para prefixos T-addrs ainda não está implementado e está planejado para lançamento.