Bem vindo! Novo em Zcash?
The Zcash network is young, but evolving quickly! Sign up and we'll be in touch with monthly highlights on ecosystem growth, network development and how to get started with Zcash!

Idioma

Auditoria Zcash

Nathan Wilcox | Aug 17, 2016

Nossa missão é ser a primeira tecnologia financeira aberta com a privacidade de conhecimento zero, para cada pessoa no mundo a usar. Para isso estamos reunindo várias auditorias de segurança de design, e avaliações onde os resultados serão publicados na íntegra.

Estratégia de Auditoria:

Zcash combina uma criptografia inovadora com o consenso blockchain, e a nossa referência para implementação é um aplicativo de rede escrito em C ++. A nossa estratégia de auditoria é envolver especialistas com diferentes especializações para se concentrar em diferentes aspectos do sistema, incluindo: criptografia, criptomoeda (Bitcoin), C ++, redes e segurança de aplicação tradicional.

Auditores e Consultores:

Dada a nossa estratégia, já iniciamos duas auditorias e uma análise do projeto com os principais especialistas em diferentes áreas. Cada consultor terá seu escopo e foco que serão delineados em seus respectivo relatórios.

NCC Group - Trabalhando ao lado da equipe de auditoria do Grupo NCC ficamos impressionados com suas habilidades como auditores de segurança qualificados para software criptográfico.

Coinspect - Quando pensamos em encontrar especialistas em criptomoeda, a Coinspect rapidamente nos veio à mente. Eles já publicaram diversos modelos de protocolos inovadores, bem como análises criteriosas.

Solar Designer - Nós escolhemos Solar Designer, porque ele é um famoso hacker da velha escola, retorno desenvolvido para libc (ret2libc), que iniciou o movimento de código injetado (shellcode) ao código emprestado, e desenvolveu a primeira pilha genérico técnica de exploração baseado buffer overflow .

Estamos orgulhosos de trabalhar com equipes que, como nós, valorizam o open source e têm como objetivo criar sistemas acessíveis e seguros para todos.

Escopo

Estamos focando nossas auditorias em componentes específicos:

  • Criptografia ZkSNARK (por exemplo: libsnark)
  • Construção de Criptografia Zcash (nosso "circuito zk-SNARK")
  • Prova de algoritmo de Trabalho - Equihash
  • Mudanças de consenso (do Bitcoin)
  • Adesão da Especificação
  • C ++, condições de corrida, networking, estouros de buffer, gerenciamento de dependência

Temos um orçamento e cronograma limitados então devemos ser seletivos em nosso foco. Ao selecionar o âmbito da auditoria, estamos contando com algumas suposições que acreditamos mitigar o risco de segurança:

  • Bitcoin Core sobreviveu por 7 anos, controlando milhares de milhões de dólares de fundos e é, portanto, bem testado em estado selvagem. Vamos nos concentrar principalmente sobre as nossas mudanças de Bitcoin, embora estejamos fazendo alguma auditoria de problemas de segurança de memória em código que não mudou de Bitcoin Core e suas dependências.
  • A técnica criptográfica zkSNARK é revisada em pares, por isso não vamos olhar para descobertas lá.
  • Nós usamos apenas um subconjunto de libsnark, por isso vamos ignorar as partes que não usamos [1].
  • O circuito Zcash é modificado a partir do revisão em pares do circuito Zerocash, por isso vamos nos concentrar mais nas mudanças do que toda a construção.

Cronograma

As primeiras auditorias já começaram e nós podemos agendar auditorias futuras para ganhar ainda mais confiança em nossa segurança no lançamento. Com a auditoria adequada e completa o objetivo é mitigar todas as vulnerabilidades e diminuir o risco - este rigor é uma das razões para o nosso atraso do lançamento. Descrevemos essa mudança de cronograma em nosso post de lançamento Zcash Sprout.

Compreensão do Risco

Para um sistema aberto ser viável, os usuários devem ser capazes de confiar justificadamente na sua segurança e robustez. Assegurando que esta é uma tarefa difícil, o melhor serviço que podemos oferecer para os potenciais utilizadores de Zcash é garantir que eles compreendam os riscos associados, dentro do possível.

As auditorias de segurança e análises de algoritmos não são garantias de segurança ou do funcionamento correto. Cada consultor é focado em um tipo específico de análise e não em atestar todo o sistema, nem necessariamente endossar o Zcash como um todo.

Conclusão

Zcash é baseada na pesquisa de criptografia revisada em pares, e construído por uma equipe de engenharia especializada em segurança em uma plataforma de código aberto baseado na base de código testadas em batalhas do Bitcoin Core. A publicação de várias auditorias de segurança é ainda outro exemplo do nosso melhor esforço para a implantação de um sistema projetado para suportar as exigências de infra-estrutura financeira mundial.

— Nathan Wilcox, 17-08-2016.

[1]Nós criamos um fork da libsnark na qual removemos partes não utilizadas por Zcash.