Namefi

すべてのブロックチェーンを支える主要な暗号プリミティブ

ハッシュ関数、デジタル署名、マークルツリー、楕円曲線暗号、コミットメント方式など、ブロックチェーンを動かす中核的な暗号プリミティブを解説します。

Aileen WrightAileen Wright著者Victor ZhouVictor Zhou編集者Chie KudōChie Kudō翻訳者2026年7月2日約 21 分で読了
  • guide
Xでシェア

「このトランザクションは確定している」「このアドレスがこの資産を所有している」「この履歴は改ざんされていない」。ブロックチェーンに関するあらゆる主張は、最終的には、狭く明確に定義された役割を果たす少数の暗号プリミティブへ行き着きます。どれもブロックチェーンが発明したものではありません。ハッシュ関数、デジタル署名、マークルツリーは、Bitcoinより数十年も前から存在します。ブロックチェーンが行ったのは、それらの主張を成立させるために単一の主体を信頼する必要がないシステムへ、これらの技術を組み合わせることでした。

この記事では、実際に中核を担うプリミティブを解説します。データの指紋を作るハッシュ関数、トランザクションを承認するデジタル署名、巨大なデータセットを部分ごとに検証できるようにするマークルツリー、署名の基盤となる楕円曲線の数学、そしてゼロ知識証明へつながる構成要素であるコミットメント方式です。それぞれを理解することが、ブロックチェーンの内部で実際に何が起きているかを理解する最短経路です。


暗号学的ハッシュ関数(SHA-256、Keccak)

文書をハッシュ関数の機械へ入力すると固定長の指紋となるダイジェストが生成され、入力の1文字を変えただけでまったく異なるダイジェストになり、雪崩効果を示している

ハッシュ関数は、任意の大きさの入力から、決定論的に固定サイズの出力、つまり「ダイジェスト」を生成します。入力の1ビットを反転させるだけで出力全体が大きく変化し、同じ出力へハッシュされる異なる二つの入力を見つけることは計算上困難です。この性質である衝突耐性により、ハッシュは、任意の大きさのデータを小さく表す、改ざん検知可能な指紋として機能します。

Bitcoinは全体でSHA-256を使います。各ブロックヘッダーに一つ前のヘッダーのSHA256(SHA256())ハッシュを埋め込んで連結するため、過去のブロックを一つでも変更すると、そのハッシュが変わり、後続するすべてのヘッダーとのつながりが壊れます(Bitcoin開発者ガイド)。同じ二重SHA-256構成で、トランザクションをブロックのマークルツリーへハッシュ化します(Bitcoin.orgリファレンス)。

一方、Ethereumは汎用ハッシュとしてKeccak-256を標準化しています。これは元のKeccak提案であり、後に制定されたNIST SHA-3標準とは異なります。各アカウントのアドレスは、そのアカウントの公開鍵をKeccak-256でハッシュ化し、最後の20バイトを取ることで導出されます(ethereum.org)。同じ関数は、Ethereumの状態を保存するマークル・パトリシア・トライ全体で使われる、キー/値のコンテンツアドレッシングの基盤でもあります。

ハッシュ化は、ブロックヘッダーをばらばらな記録の集まりではなく、一つのチェーンとして連結する仕組みでもあります。あるヘッダーを変更すると、そのハッシュが変わり、後続ヘッダー内の参照が壊れます。その後の作業をやり直して誠実なネットワークへ追いつく必要があるのは、Bitcoinのプルーフ・オブ・ワーク・コンセンサスに固有の要件です。過去のブロックを変更する攻撃者は、そのブロックのプルーフ・オブ・ワークと、それ以降のすべての作業をやり直したうえで、誠実なチェーンへ追いつかなければなりません(Bitcoinホワイトペーパー、§4)。他のブロックチェーンは異なるコンセンサスルールに基づいて履歴を認証し、ファイナライズします。そのため、ハッシュによる連結だけでは、このプルーフ・オブ・ワークのコストは生じません。連結されたヘッダーハッシュこそ、このデータ構造が文字どおりブロックチェーンと呼ばれる理由です。


公開鍵暗号とデジタル署名(ECDSA、EdDSA、BLS)

秘密鍵でトランザクションへ署名してデジタル署名を生成し、対応する公開鍵では緑のチェックマーク付きで有効と検証され、一致しない公開鍵では赤いX印付きで拒否されている

ブロックチェーンにはログインフォームがないため、「このトランザクションが本当にこのアカウントの所有者から送られた」ことを別の方法で証明する必要があります。公開鍵を使う暗号方式は、秘密に保持する秘密鍵と、自由に共有できる公開鍵のペアで、この問題を解決します。秘密鍵でトランザクションへ署名すると、誰でも公開鍵と照合して検証できるデジタル署名が生成されます。秘密鍵自体を一切公開せずに、承認を証明できます。

Ethereumアカウントは、Bitcoinと同じsecp256k1曲線上の楕円曲線デジタル署名アルゴリズム、ECDSAを使い、秘密鍵から公開鍵を導出します(ethereum.orgのアカウント解説EIP-2:secp256k1署名の展性に関する修正)。ECDSAは検証が速く、数十年にわたり精査されてきました。しかし、新しい設計に関係する運用上の弱点が一つあります。個々のECDSA署名は効率よく集約できないため、数千個の署名を検証するには、数千回の個別チェックが必要です。

この課題を埋めるのが、EdDSAとBLS署名です。SolanaやStellarなどのチェーンで使われるEdDSAは、決定論的に動作する別の曲線構成を採用しており、過去にECDSAのnonce再利用バグを引き起こしてきた一部の実装上の落とし穴に強い方式です。BLS署名はさらに先へ進みます。使用する曲線の数学的なペアリング特性により、多数のBLS署名を一つの集約署名へまとめ、一度にすべてを検証できます。Ethereumのプルーフ・オブ・ステークのコンセンサス層は、まさにこの仕組みに依存しています。バリデーターはBLS鍵でアテステーションへ署名するため、ビーコンチェーンは数十万のバリデーターによる投票を、迅速に検証できるほど小さな署名へ集約できます。これにより、大規模なプルーフ・オブ・ステークを実用化できます(ethereum.org『The Beacon Chain』)。Ethereumは、スマートコントラクトでのBLS署名検証を支援するため、BLS12-381曲線演算をEVMプリコンパイルとして提供しています(EIP-2537)。


マークルツリー

マークルツリーのハッシュノードがピラミッド状に二つずつ結合されて一つのルートへ集約され、葉からルートまでの一つの証明経路がオレンジ色で強調され、ライトクライアント向けマークル証明を示している

マークルツリーを使うと、すべての参加者へ全トランザクションの保存を強制することなく、数千件のトランザクションを一つの32バイトハッシュへ要約できます。葉は個々のデータ項目、たとえばトランザクションやアカウント状態のハッシュです。ハッシュを二つずつ連結して再びハッシュ化し、一つのハッシュであるルートが残るまで繰り返します(Bitcoin開発者ガイド)。ルートはブロックヘッダーへ直接保存されるため、フルノードは、ほとんど追加容量を使わずにブロックの内容全体へコミットできます。

利点は証明サイズです。一つのトランザクションがブロックに含まれていると示すために、ブロック全体は必要ありません。必要なのは、そのトランザクションと、葉からルートまでの経路に沿った兄弟ハッシュで構成される「マークルブランチ」だけです。n件のトランザクションに対し、通常はおよそlog₂(n)個のハッシュで済みます。これが簡易決済検証(SPV)の基盤です。ブロックヘッダーだけを持つ軽量クライアントでも、ブロックチェーン全体をダウンロードせず、マークルブランチをヘッダーのルートと照合することで、特定のトランザクションが発生したことを検証できます(Bitcoin開発者ガイド)。

Ethereumは、マークルツリーとプレフィックス(基数)トライを組み合わせたマークル・パトリシア・トライへ、この考え方を拡張しています。トランザクションの一覧だけでなく、アカウント状態全体の保存に使います。各ブロックヘッダーには、stateRoottransactionsRootreceiptsRootという三つの異なるトライルートが格納され、それぞれを個別に証明できます(ethereum.org)。そのため、スマートコントラクトや軽量クライアントは、チェーン全体を再実行せず、一つのアカウント残高や一つのストレージスロットを検証できます。


楕円曲線暗号

楕円曲線暗号(ECC)は、ECDSA、EdDSA、BLSすべての数学的基盤です。古典的なRSAのように大きな数の素因数分解の難しさへ依存する代わりに、ECCは楕円曲線離散対数問題の難しさへ依存します。基点を何度も加算して得られた曲線上の点が与えられても、何回加算したかを復元することは計算上困難です。一方、順方向に点を計算するのは簡単です。この非対称性、つまり一方向は簡単で逆方向は難しいという性質により、導出した公開鍵を安全に公開しながら、秘密鍵を署名に安全に使用できます。

具体的な曲線と署名方式の両方が重要です。BitcoinとEthereumはいずれも、Standards for Efficient Cryptography Groupが標準化し、十分に研究された256ビットのパラメータを持つKoblitz曲線、secp256k1を使います(SEC 2:推奨楕円曲線ドメインパラメータ)。他のエコシステムは異なるトレードオフを選びます。Ed25519は、Edwards25519曲線上に実装された具体的なEdDSA署名方式です(RFC 8032、§5.1)。RFC 8032では、その古典計算機に対するセキュリティ水準を約128ビットとしています(§8.5)。BLS12-381はペアリングに適した曲線で、BLS署名の集約などの演算に選ばれており、EIP-2537では120ビット超のセキュリティが説明されています(EIP-2537)。これらの見積もりは、各方式が同じ「鍵1ビット当たりのセキュリティ」を提供するという意味ではありません。方式ごとに群、符号化、前提が異なり、公称鍵長そのものがセキュリティ強度を表すわけでもありません。たとえばNISTは、128ビットの古典的セキュリティに対し、通常のECC鍵では256〜383ビット、RSA鍵では3072ビットを対応付けています(NIST SP 800-57 Part 1 Rev. 5、表2)。これは、楕円曲線方式がブロックチェーンアカウントの標準となった理由を理解する助けになります。


コミットメント方式(ゼロ知識への橋渡し)

コミットメント方式を使うと、値を「確定」できます。特定のデータに自分を拘束する情報を公開しながら、データ自体は明かさず、後からコミットメントを「開示」して、その内容を証明できます。日常的なたとえは、封をした封筒です。今日、封をした封筒を誰かに渡せば、後から開封するまで中身を見せずに、すでに答えを決めていたことを示せます。一度封をすれば、中の答えを入れ替えることはできません。

小さなプリミティブに見えますが、ほとんどのゼロ知識証明システムを支える中核要素です。たとえば、Ethereumのblobベースのデータ可用性設計では、KZG多項式コミットメントを使い、各blobを小さな暗号学的コミットメントへ縮約します。KZG証明は、そのコミットメントに対する評価値やサンプリングしたセルの正当性を確認できますが、それだけでblob全体が利用可能だとは証明しません。可用性はコンセンサス層の配布とサンプリングのルールによって確保され、KZGは受信したデータの完全性を検証します(EIP-4844EIP-7594:PeerDAS)。この分離により、検証者は、コンパクトな評価証明をblobの全データが公開された証明と取り違えることなく、blobの小さな一部分を確認できます。実際、マークルルート自体も単純なコミットメント方式です。ルートハッシュを通じてデータセット全体へコミットし、マークルブランチが、その一部を明かす「開示」となります。ZK-rollupは、より高度なコミットメント方式である多項式コミットメントとベクトルコミットメントを基盤に、トランザクション実行のバッチ全体を、オンチェーンで安価に検証できる一つの証明へ圧縮します。このテーマは完全ゼロ知識と計算量的ゼロ知識で詳しく解説しています。


比較:ブロックチェーンの暗号プリミティブ

プリミティブ提供する性質オンチェーンでの用途古典計算機での安全性 / 耐量子リスク
ハッシュ関数(SHA-256、Keccak-256)衝突耐性のある指紋生成、ブロックの連結ブロックのハッシュ化、アドレス導出、マークルルート現在の出力サイズでは古典計算機に対して強固。ハッシュベースの方式は一般に、現在の楕円曲線署名より量子攻撃への耐性が高いと考えられる
デジタル署名 — ECDSA秘密鍵と公開鍵のペアによるトランザクション承認BitcoinとEthereumのアカウント署名古典計算機に対して安全。十分な能力を持つ大規模量子コンピューターは、楕円曲線ベースの方式を破れると予想されるため、NISTは耐量子代替方式を標準化している(NIST、2024年
デジタル署名 — EdDSA / BLS決定論的署名(EdDSA)、効率的な署名集約(BLS)Solana / Stellarの署名(EdDSA)、Ethereumバリデーターのアテステーション(BLS)ECDSAと同じ楕円曲線の仮定に基づくため、長期的には同じ量子リスクがある
マークルツリー大規模データセットへのコンパクトなコミットメント、小さな包含証明ブロックヘッダー、軽量クライアント(SPV)による検証、Ethereumの状態 / トランザクション / レシートのトライ基盤となるハッシュ関数の衝突耐性だけに依存するため、新たなリスクを追加するのではなく、そのハッシュの量子攻撃に対する性質を引き継ぐ
楕円曲線暗号コンパクトな鍵と署名の数学的基盤secp256k1(Bitcoin、Ethereum)、Ed25519、BLS12-381将来の大規模量子コンピューターに対し、ECDSA / EdDSA / BLSと同じ形で脆弱。これが耐量子移行研究の主な推進要因となっている
コミットメント方式今すぐ値へ拘束し、事前に内容を公開せず後から開示または証明するEthereumのデータ可用性におけるKZGコミットメント、単純なコミットメントとしてのマークルルート、ZK-rollupの構成要素セキュリティは、方式の構築に使う基盤のハッシュまたは楕円曲線の仮定に依存する

トークン化ドメインとの関係

ドメインをトークン化するとき、これらすべてのプリミティブが直接使われます。所有権を表すNFT(非代替性トークン)は、チェーンのアカウントとトークンに関する認可ルールで保護されます。外部所有アカウント(EOA)が保有している場合、そのアカウントの秘密鍵がアカウント操作を認可します。一方、コントラクトアカウントは秘密鍵を持たず、そのコードによって制御されます(ethereum.org『Ethereumアカウント』)。ERC-721トークンでは、承認済みアドレスやオペレーターも移転を開始できます(ERC-721)。そのため、自分で管理するEOAで所有する場合は、ハードウェアウォレットシードフレーズの慎重な管理が重要です。一方、スマートコントラクトウォレットやカストディアルウォレットでは、認可と信頼の境界が異なります。ドメインの所有権記録は、チェーン上の他のアカウント残高やスマートコントラクトを保護するものと同じ、マークルコミットされた状態に存在します。そのため、トークン化ドメインは、他のオンチェーン資産と同じ改ざん検知性を持ちます。移転可能で、検証可能であり、レジストラのデータベースだけを唯一の正しい情報源とせず、所有権を証明できます。

これらのプリミティブを理解すると、トークン化によって変わることと変わらないことも明確になります。ドメインのDNSレコードとレジストリ上の状態は引き続きICANNのルールに従いますが、所有権の証明には、ログインで保護されたレジストラアカウントではなく、ここで説明した暗号技術を使うようになります。全体像はブロックチェーンのコンセンサスメカニズムブロックチェーンのスケーリング手法で確認できます。トークン化を始めるにはnamefi.ioへアクセスしてください。


出典と参考資料

執筆・編集メンバー

Aileen Wright
美術・歴史ライター • Namefi

Aileen Wrightはニューヨーク市で暮らす20代の学生です。この街では、美術館から 図書館の閲覧室までは歩いてすぐですが、その二つを巡れば午後いっぱいを過ごせます。 彼女が名前について書くようになったきっかけは、美術と歴史でした。一枚の肖像画や 一枚の硬貨、あるいは写本の余白が、一つの名前を何世紀にもわたって伝え、その間に 意味を変えていくことに惹かれたのです。

普段の彼女は、ペーパーバックを手にセントラルパークで過ごしたり、公共の 静かな閲覧室で、名前の一覧に書かれた意味ではなく、その名前が本当はどこから 来たのかを調べたりしています。独学でプログラミングも学んでおり、その影響で、 綴りや並べ方、そして名前が長く愛されるかどうかを左右する細部に、人一倍こだわる ようになりました。

Namefiでは、ドメイン名の背景にある歴史と文化、ブランドが名前を変えるときに背負う 物語、そして魅力的な物語と検証済みの出典との違いについて執筆しています。

Victor Zhou
Victor Zhou編集者
創業者・標準仕様エディター • Namefi

Victor Zhouは、デジタルアイデンティティと信頼を専門とするテクノロジー企業の創業者で、 標準仕様のエディターでもあります。Namefiを創業し、Ethereum Improvement Proposalsの 編集に携わっています。以前はGoogle Labsでスマートコントラクトのアーキテクチャ設計を 率いていました。

彼の仕事は、ネーミング、所有権、そして人々がオンラインで自らのアイデンティティを 確立するために使うシステムが交わる場所にあります。だからこそ、名前が個人的な意味、 社会的な認知、デジタルインフラの間をどのように行き来するのかに強い関心を持っています。

Namefiでは、永続的なデジタルアイデンティティとしてのドメインについて編集・執筆して います。名前が所有可能なオンチェーン資産になる仕組み、トークン化が保管と信頼をどう 変えるのか、そして人々がオンラインでアイデンティティを確立するために使うシステムから ネーミングが何を学べるのかを扱っています。

Chie Kudō
Chie Kudō翻訳者
日本語ローカライゼーション翻訳者 • Namefi

Chie Kudō(工藤 知恵)は、福岡を拠点とする30代の翻訳者です。電機メーカーで ハードウェアQAエンジニアとして製品資料の作成と確認に携わった後、英語と日本語の 間で技術記事や編集記事をローカライズする仕事に転じました。

品質保証で身につけた習慣は、今の仕事にも生きています。用語の一貫性はもちろん、 ブランド名を漢字、かな、ローマ字のどれで表すか、半角と全角をどう使い分けるか、 借用元の英語とは異なる意味を持つ和製英語をどう扱うかといった、日本語組版ならではの 細部を厳しく確認します。小さなベランダ菜園を楽しみ、週末にはボルダリングをします。

Namefiでは、ドメインとネーミングに関する記事を日本語にローカライズしています。 名前がページ上でどう読めるか、そして最初から正しく入力してもらえるかに目を配っています。

関連ガイド

この記事について議論する

Namefi Discussで議論を見る