📘 Academy原文準拠 | Phase 1 · Unit 2 · Lesson 2.1 Cryptography 内容に忠実な日本語版です。図・原文(英語)・動画は公式 Academy(外部リンク・別タブで開きます) を正本に。
暗号(cryptography)は、ブロックチェーンの安全のいちばん下の土台です。これが無いと、貴重品を置いた家の玄関を開けっぱなしにするようなものです。
特に大事な土台が3つあります:ハッシュ / 公開鍵暗号 / デジタル署名。順に、やさしく・正確に見ていきます。
① ハッシュ(hashing)


ハッシュは「データの指紋」です。どんな入力(1単語でも映画1本でも)を入れても、決まった長さの・ランダムに見える文字列が出てきます。
特徴をおさえましょう。
- 一方向:入力 → ハッシュは簡単。でもハッシュ → 元の入力は復元できない(総当たりで当てにいく以外は)。
- だから入力が予測できる(例:
password123)と、攻撃者は「よくある候補」を片っぱしから試して一致を探せます。 - 対策が salt(ソルト):データにランダムなゴミを足してからハッシュする。すると
password123でも当てにくくなります。 - 同じ発想が nonce(ナンス):取引ごとに1回だけ使う数を混ぜて、取引をユニークにし、あとからコピーして再送(リプレイ)されるのを防ぎます。
- 入力を1文字変えるだけでハッシュは全く別物になる。
Hello WorldとHello World!で全然ちがうハッシュ。これが改ざん検知の仕組みです。
ブロックチェーンでは、各ブロックが前のブロックのハッシュを含みます。古い取引を書きかえると、そのハッシュが変わり、次のブロックとのつながりが壊れ、その先も全部壊れる。だから全ノードがすぐ不正に気づくわけです。
Midnight での使われ方:センシティブな書類の「ハッシュだけ」をチェーンに置けば、書類そのものを見せずに「ある時点で存在した」ことを証明できます。チェーンが見るのは指紋だけ。中身は端末から出ません。
(→ やさしい版:ブロックチェーンってなに? / ハッシュの応用は ZKの部品箱)
② 公開鍵暗号(Public-Key Cryptography)

2つで1組の鍵を使います。
- 秘密鍵(private key)=パスワードのように絶対に守るもの
- 公開鍵(public key)=メールアドレスのようにみんなに教えてよいもの
この2つは数学的に結びついています。
- Midnight では、公開鍵(またはそこから作るアドレス)があなたの口座のIDになり、秘密鍵がその口座を操作できる唯一のカギです。
- ⚠️ 秘密鍵を無くしたら、資産は永久に戻りません。パスワード再発行も窓口もありません(“not your keys, not your coins”)。
③ 認証と完全性(署名のはたらき)
送金とは、実は「コインを動かす」ことではなく、秘密鍵でメッセージに署名することです。
「私は、自分のアドレスから Bob のアドレスへ X トークン動かすことを承認します」に署名する。
ネットワークはその署名を公開鍵で照合します。一致すれば、次の2つが分かります。
- 認証(authentication):その取引は本当にあなたから出た(なりすませない)
- 完全性(integrity):途中で改ざんされていない
④ 暗号化と秘匿(confidentiality)
公開鍵暗号は暗号化にも使えます。
- Midnight では、受信者の公開鍵で機密データ(受信者のID・取引の詳細など)を暗号化できます。
- 受信者だけが自分の秘密鍵で復号できる。だから公開台帳に記録されても、中身は当事者以外には秘密のままです。
Midnight はこの上に、さらにゼロ知識証明などのプライバシー機能を重ねます(後の Phase)。でもこの公開鍵暗号の土台が、それら全部を可能にしています。
⑤ デジタル署名(digital signatures)

デジタル署名は「この内容が、特定の人(の秘密鍵)によって作られ、改ざんされていない」ことを示す仕組み。Midnight の全ノードが、あなたの公開鍵で署名を検証します。
署名がもたらす3つ:
開発者として押さえる点
- ハッシュ=一方向・改ざん検知。
salt/nonceで予測・リプレイを防ぐ - 秘密鍵=全権。鍵管理が最重要(紛失=終わり)
- 送金=署名。認証・完全性・否認防止は署名から来る
- Midnight 固有:ハッシュで「見せずに証明」、公開鍵暗号で「公開台帳でも中身は秘密」。ZK はこの土台の上に乗る
- 実装では、ハッシュは Compact の
persistentHash、コミットメントやマークル木として現れる(→ ZKの部品箱・Compactの書きかた)
やさしい版・公式へ
- やさしい版:ブロックチェーンってなに? / ZKの部品箱
- 公式:Academy Courses(外部リンク・別タブで開きます)(Phase 1 / Unit 2 / 2.1)
つぎに読むページ
➡️ 開発系の見本へ。1.2 Compact の基礎