Greetings! New to 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!

言語

Zcashの監査

Nathan Wilcox | Aug 17, 2016

弊社の`ミッション`_ は、世界中のすべての人が利用できる、ゼロ知識プライバシーを使用した最初のオープンな金融技術を築くことです。そのために、複数のセキュリティ監査とデザイン評価を委託し、すべての結果を公表しています。

監査戦略

Zcashは、ブロックチェーンの合意性を新しい暗号化技術と組み合わせたもので、その リファレンス実装 は C++
のネットワーキングアプリケーションです。Zcashの提供する監査戦略は、暗号化および暗号通貨(特にビットコイン)、C++、ネットワーキング、そして従来のアプリケーションセキュリティを含む、システムの異なる要素に注力するために異なる才能を持つエキスパートに参加してもらうことです。

監査者とコンサルタント

戦略に基づき、異なる分野でトップクラスのエキスパートとともに2件の監査と1件の設計分析を開始しました。各コンサルタントには、それぞれの範囲と焦点があり、それぞれがレポートに明確に記述されます。

NCC Group - Least Authority 監査チームとして、NCCグループと協力して作業を行う過程で、暗号化ソフトウェアに対する優れたセキュリティ監査としての能力に感銘しました。

Coinspect - 暗号化の専門家を探していたとき、Coinspectのことをすぐに思いつきました。彼らは多くの革新的なプロトコル設計と洞察力の高い分析を発表しています。

Solar Designer - 有名な 旧派ハッカー 、Solar Designerを選びました。彼は、注入コード(シェルコード)から借用コードへの移行の引き金となったlibc(ret2libc)へのリターンを開発し、最初の一般的なヒープベースのバッファオーバーフローエクスプロイト手法 (割り当てが解放されたときに隣接するチャンクを合体させる操作、 「リンク解除」攻撃によって)を開発しました。

私たちは、私たちと同様にオープンソースを重要と考え、誰にもアクセス可能で安全なシステムを構築することを目指すチームと協力できることを誇りに思っています。

スコープ

私たちは、特定のコンポーネントの監査に力を注いでいます。

  • zkSNARK暗号化(例: libsnark)
  • Zcash暗号化構造(Zcashの"zk-SNARK回路")
  • プルーフ・オブ・ワークアルゴリズム - Equihash
  • コンセンサスの変更(ビットコインから)
  • 仕様の順守
  • C++、レース状況、ネットワーキング、バッファのオーバーフロー、依存関係の管理

予算とスケジュールに制限があるため、何を優先するかをはっきりさせる必要があります。監査範囲の選択にあたっては、セキュリティリスクを軽減すると思われるいくつかの仮定に依存しています。

  • Bitcoin Coreは7年間にわたり数十億ドルの資金を管理してきた実績があるため、十分にテストされていると言えます。現在私たちは、Bitcoin Coreとそれに依存するソフトウェアに見られる、コード内のメモリの安全性の問題について監査中ですが、基本的にはBitcoin Coreからの変更に重点的に取り組んでいます。
  • zkSNARK暗号化技術はピアレビュー済みなので、大きな改善は不要です。
  • libsnarkのサブセットのみを使用します。したがって、使用しない部分は無視します[1]_。
  • Zcash回路はピアレビュー済みのZerocash回路から変更されています。全体の構造より変更点に重点を置きます。

スケジュール

最初の監査は既に始まっていますが、今後も繰り返し監査を実施し、ローンチ時のセキュリティを強化していきます。適切かつ徹底的な監査を通じて、あらゆる脆弱性とリスクを軽減することを目指しています。この徹底した姿勢がローンチの遅延の原因の1つとなっています。スケジュールの変更については、 Zcash Sproutのローンチの記事 を参照してください。

リスクの理解

オープンで許可を必要としないシステムを実行可能にするには、ユーザーがそのセキュリティと安定性を信頼できるようにする必要があります。これを確実なものにする作業は容易ではありません。私たちがZcashのユーザーとなり得る人々に提供できる最善のサービスは、可能な限りリスクを理解してもらうことです。

セキュリティ監査とアルゴリズムの分析は、安全性や正しい操作を保証するものではありません。それぞれのコンサルタントは特定の分析に注力しており、システム全体を保証することや、Zcash全体を推薦することはできません。

結論

Zcashは、ピアレビュー済みの暗号化研究に基づいており、Bitcoin Coreのバトルテスト済みコードベースに基づいたオープンソースのプラットフォームにおいて、セキュリティを専門とするエンジニアリングチームにより構築されています。複数のセキュリティ監査の公開からも、世界的な金融構造の需要に耐えるよう設計されたシステムをデプロイするために最善を尽くして取り組んでいることをお分かりいただけると思います。

— Nathan Wilcox、2016-08-17

[1]Zcashに使用されない部分を削除するlibsnarkフォークを作成しました。