
シリーズ: First PrinciplesからのZcash . 記事0 . アンカー 対象読者: 完全な初心者。暗号技術、ブロックチェーンの知識、数学は仮定しない。 得られるもの: Zcashが「誰が誰にいくら支払ったか」を隠しながらも、世界中が金銭の偽造や二重支出がないことを確認できる正しいメンタルモデル。
このシリーズの後のすべての記事では、今から出会う機械の一部に焦点を当てます。ここでの言葉が少し曖昧に感じられても、良いことです。後でしっかり説明するという約束です。
あなたの銀行明細が町の広場に永遠に掲示されていると想像してください。誰でも(家賃を払っている大家、雇用主、見知らぬ人、将来的な雇用主、政府)が、毎月の家賃支払い、医療費、寄付金、コーヒー代、そしてあなたがお金を送った相手や送られた相手を正確に追跡できます。
これはディストピア的な仮定ではありません。それが実際にはビットコインの仕組みです。
ビットコインはしばしば「匿名」と呼ばれることが多いですが、実際にはそうではありません。それは*擬名性(pseudonymous)*であり、あなたの名前が帳簿に載っていないものの、すべての取引、金額、アドレス間の関係は公開され、永久です。"チェーン分析"という分野全体が存在する理由は、その薄い擬名性を剥ぎ取り、アドレスを現実の人間に結びつけるためです。あなたのアドレスの一つがあなたとリンクされたら、あなたの金融履歴はすべて解き放たれます。
Zcashは以下の非常に難しい質問に答えようとして作られました:
私たちは完全なプライバシーを持つお金を持ちながらも、誰でもルールが守られていることを確認できるようにすることは可能でしょうか?
この2つの目標は互いに矛盾しています。公開帳簿は見られるから検証可能です。プライバシーとは誰にも見られないことです。では、公開されたものを見ることを許されていないものがどうして検証できるのでしょうか?
このパラドックスの解決が本シリーズの全編です。始めましょう。
まず最初に、よくある誤解を解消しましょう:Zcashは「プライベートなコイン」ではありません。プライバシーを選択肢として提供するコインです。実際にはビットコインのフォークから始まり、同じブロックチェーン上で2つの並行システムを持っています。
| 透明世界 | シールドされた世界 | |
|---|---|---|
| プライバシー | ビットコインのように公開されている | プライベート |
| アドレスが開始する文字 | t... | z... または u... |
| 送信者/受取人/金額 | 全員に見える | 誰にも見えない |
| 基盤技術 | ビットコインスタイルの公開帳簿 | 暗号化されたコミットメント + 零知識証明 |
お金はそれらの間を越えて移動することもできます:シールドされた世界へ資金を移すことはシールド(shielding)と呼ばれ、逆に外へ戻すことは*デシールド(deshielding)*と呼ばれます。
透明世界は「あなたがすでにほぼ理解しているビットコイン」です。シールドされた世界にはすべての美しい暗号技術が含まれており、このシリーズが唯一関心を持つ世界です。

ここから先の記事を読み通すために持つべき単一のメンタルイメージです。後で何度も戻ってきます。
地球上の誰もがいつでも見られる巨大な公開掲示板を想像してください。
お金を受け取るとは、誰かが封印された不透明な封筒を掲示板にピン留めすることです。その封筒の中には、どのくらいの金額を持っているかと、受け取り手だけが読める秘密があります。それは受け取り手の個人キーでロックされているからです。世界中は封筒が現れたことを見ますが、所有者以外誰も中に何があるのかは見られません。
掲示板は常に大きくなるだけです。封筒は決して破壊されたり削除されることはありません。新しいものは常に上にピン留めされて、永遠に残ります。
お金を使うとは、カーテンの裏側で「この掲示板上の未使用の封筒の一つを所有しており、開けることが許されている」と証明し、その後、ユニークな無効トークン(void token)を公開された「使われた」箱に投入し、あなたが支払っている相手のために新しい封筒をピン留めすることです。
その小さな儀礼(無効トークンをピン留めし、新しい封筒をピン留めする、すべてカーテンの裏側で行われる)それがZcashの支払いです。それ以外は詳細です。
では、それらに本当の名前を付けてみましょう。
これらの5つの用語がシールドされたZcashの全部の語彙です。物語として学ぶことで、辞書のように覚えるよりもずっと覚えられます。
| 物語の中での役割 | 実際のZcash用語 | 実際に何なのか |
|---|---|---|
| 封筒の中身(金額 + 所有者 + 秘密) | ノート | プライベートな「コイン」:誰かが所有する価値の一部 |
| 掲示板上の封印された不透明な封筒 | ノートコミットメント | 封筒が存在することを証明しつつ中身を隠す暗号的なシール |
| 掲示板自体 | ノートコミットメントツリー | これまでに作成されたすべてのノートの追加専用記録 |
| 「使われた」箱の中の無効トークン | ヌリファイア(Nullifier) | 「このノートは今や使われた」という意味を持つユニークなマーカー |
| カーテン裏側の魔法 | ゼロ知識証明 | 全ての支払いが有効であることを証明するが、その内容を一切明らかにしない証明 |
この記事から他のすべてを忘れていても、この表だけは覚えておきましょう。その後のすべてはなぜそれぞれの要素がそのように設計されているのかについてです。
これは多くの説明者が飛ばす部分であり、まさに「いくつかの言葉を覚えた」ことと「デザインを理解した」ことを区別する部分です。この5つの要素はすべて1つの特定の問題を解決するために存在しています。
通常の封筒は蒸して開けることができますが、暗号的なノートコミットメントはそうできません。これは魔法のように完全に不透明な封筒で、2つの超能力を持っています:
このシールが同時に両方のことをどうやって行うのでしょうか?これは本当に答えられる質問です。それが**記事3(コミットメント)**の主題です。今は、封筒を魔法と見なし、進みましょう。
ノートを使い切るときには、そのニュリファイア、つまり「無効トークン」を公開します。このトークンはノート自体とあなたの秘密鍵から計算されます。このレシピにより、同時に3つの性質が得られ、それぞれが重要です:
この第三の性質がZcashプライバシーの心臓であり、以下で独自のセクションを設けます。
すべてはカーテンの裏側で行われ、その後に世界に渡すのはゼロ知識証明という種類の偽造不可能な証明です。それは静かに以下のことを同時に証明します:
奇跡的なのは、この証明がこれらの事実のいずれも明らかにしないことです。金額もアドレスもどの封筒かを示しません。ただあなたに「上記すべての声明が真である」と説得するだけです。それがどうして可能なのかは記事5(ゼロ知識証明)、シリーズのクライマックスです。
ノートは生まれ、掲示板上で生き、やがて死ぬ。そして重要に、その出生と死亡は見ている誰にも関係ないように見える。

アリスがボブに支払う様子を、すべての公開およびプライベートなステップをラベル付きで見ていきましょう。

プライバシーが機能するための非対称性に注目してください:
では、ボブが実際に支払われたことをどうやって知っているのか? そのノートは彼の鍵に暗号化されている。彼は掲示板を継続的にスキャンし、自分のだけの封筒が開くように設計されています。この仕組みの背後にあるのは**ビュイングキー(viewing key)**で、後の話題です。
| 支払いに関する事実 | 公共に見えるか? |
|---|---|
| シールドされた取引が行われたという事実 | はい |
| すべてのルール(偽造なし、二重支出なし)を遵守したという事実 | はい(証明を通じて) |
| 誰が送金したか | 隠されている |
| 誰が受け取ったか | 隠されている |
| いくら送金されたか | 隠されている |
| どの以前のノートが使われたか | 隠されている |
これはセクション1で提示されたパラドックスの解決です。公開はルールを検証し、内容は検証しません。ゼロ知識証明により、検証とプライバシーが互いに争うことがなくなります。
この1つのアイデアを理解すれば、Zcashがなぜプライベートなのかを理解できます。ゆっくり読むように。
したがって、外部の観察者は封筒が現れる流れと無効トークンが現れる流れを見ているものの、それらをマッチングすることはできない。今日に投入された無効トークンが3月にピン留めされた封筒に対応するとは言えない。「リンク」はノートの所有者の秘密知識の中だけ存在し、ゼロ知識証明によりそのリンクが有効であることを確認しつつもそれを明らかにしない。
この切断されたリンクは、ビットコインではチェーン分析会社が大いに利用するものであり、Zcashでは意図的に断ち切られています。
**あなたの直感をテストしてください:**もしヌリファイアがノートからだけ計算され(秘密鍵は関与しない)、セクション5の3つの性質のうちどれが破れ、その結果プライバシーが静かに破壊されるのでしょうか?(答えは最後に。)
これはメンタルモデルであり、仕様ではありません。初心者向けにするために、いくつかの実際のことを静かに単純化しています:Zcashには複数のシールドされたデザイン(Sprout、Sapling、Orchard)がありました;実際の取引では一度に複数のノートを支出し、新規作成することもできます;「掲示板」は技術的には特定の種類のツリーであり、文字通りのピンボードではありません;価値のバランスはいくつか追加の暗号的な記帳によって強制されています。これらの詳細はあなたが学んだストーリーを変えることはありませんが、それを精緻化します。1記事ずつ正確性を取り戻し、いつでも明確にマークしていきます。
良い教育コンテンツは、何を省略したかを述べることで信頼を得ます。このセクションがその約束です。
上記のすべての「後で戻ってくる」という言葉は糸です。それぞれがどのように結ばれるか:

| この記事からの未解決の点 | 解決される場所 |
|---|---|
| 封印された封筒が隠蔽性と偽造不可能性を同時に持つのはどうして? | 記事3: コミットメント |
| 鍵や秘密レシピはどこから来るの? | 記事1 & 2: フィールドと曲線 |
| 「掲示板」とは正確には何? | 記事4: メルクルツリー |
| 何かを証明しつつ何も明らかにしないのはどうして? | 記事5: ゼロ知識証明 |
| 実際のZcashでは五つの要素がどのように組み合わさるのか? | 記事6: シールドされたプロトコル |
あなたは今や地図を持っています。シリーズの残りはそれを埋めていきます。
| 項目 | 平易な意味 |
|---|---|
| Note | プライベートな価値単位、Zcashにおけるコインや紙幣に相当するもの |
| Note commitment | ノートが存在することを証明しつつもそれを明らかにしない暗号的なシール |
| Note commitment tree | すべてのノートコミットメントの追加専用記録 |
| Nullifier | 「使われた」箱に公開された、特定のノートがすでに使われたことを示すユニークなマーカー |
| Zero-knowledge proof | ある声明が真であることを証明しつつもそれ以上の情報を明らかにしない証明 |
| Shielding / deshielding | 資金をプライベートなシールドされた世界へ/外へ移動すること |
| Viewing Key | 所有者が自分宛のノートを検出・読むために使用する鍵 |
Zcashは常にプライベートですか?
いいえ。プライバシーはシールドされた世界(z.../u...アドレス)に適用されます。透明な(t...)トランザクションは、ビットコインのように公開されています。
すべてが隠されているなら、誰かが無料のお金を印刷するのを止めるのは何ですか? ゼロ知識証明です。それは数学的にすべてのトランザクションの出力を実在し、未使用な入力によって裏付けていることを強制しますが、金額は秘密に保たれます。
同じノートを2回使うことはできますか? いいえ。ノートを使うとそのヌリファイアが公開され、2度目の試みでは同じヌリファイアが公開されることになり、それはすでに「使われた」箱に存在しているためネットワークはそれを拒否します。
外部の人々は送信者を受取人にリンクできますか? いいえ。コミットメント(ノートの出生)とヌリファイア(ノートの死)は所有者の秘密知識なしではマッチングできません。
もしヌリファイアがノートからだけ計算され、秘密鍵が関与しないなら、誰でもそれを計算でき、性質#1(所有者だけが使うことができる)を破ってしまいます。さらに悪いことに、ヌリファイアは今やノートに関する公開情報から直接導出可能になり、観察者がヌリファイアをコミットメントに戻すことが可能となり、性質#3を破り、全体のプライバシーを静かに崩壊させます。秘密鍵が、無効トークンがあなた専用でありながらリンク不可能である理由です。
記事1 . 有限体: 算術が「巻き戻る」という奇妙で美しい数のシステム。このシリーズに登場するすべての暗号技術が存在する理由。いつも通り、直感から始め、公式はその価値が証明されるまで使わない。
Zcash from First Principles シリーズの一部。ZecHub による。CC BY-SA 4.0 ライセンス。