Web3の基礎をざっくり理解する
2025/08/03 公開
千葉工大の「Web3概論」という講義を YouTube で観て、Web3 の基礎知識がかなりわかりやすく解説されていました。
そこで色々学んだキーワードを辞書的な感じで一つの場所にまとめたかったので書きました。
記事は随時追記・修正予定でいこうと思っています。
Web3について
Web3
- 一言で言うと、ブロックチェーン技術を基盤とした分散的思想や仕組みの総称
- Web1: 情報の一方通行 ユーザーはWebサイトから情報を読むが主
- Web2: 現在のインターネット Google, X, Amazonなどプラットフォームを介してお互いにやりとりをする
- Web3: ユーザーがそのデータや価値を誰かプラットフォームに預けるのではなく、自分自身で所有してコントロールする GAFAMなどの巨大プラットフォームが個人情報の収集や利用に関する懸念が高まってきたことがWeb3の生まれた背景にある
中央集権型
- 企業がサーバーを保有し、そこに情報や個人データを集中して保存・管理している状態
- 現在のWeb2サービスがこれにあたる
分散型
- 中央集権とは逆に特定の企業がサーバーにデータを保持したりせず、データがブロックチェーン上にあること
ブロックチェーンについて
ブロックチェーン
- 総務省の定義では、 ブロックチェーン技術とは情報通信ネットワーク上にある端末同士を直接接続して、取引記録を暗号技術を用いて分散的に処理・記録するデータベースの一種
- ブロックチェーンの特徴
- 一度台帳に記録された情報は改ざんが極めて困難(ネットワークの合意形成と暗号的整合性により保証される)。
- 透明性と信頼性の両立 (従来は全取引が公開され誰でも検証できたが、最近は必要最小限の証拠だけをオンチェーンに置き、中身を隠しつつ正当性を示す技術も出てきている。例: INTMAX)。
- 高い可用性と耐障害性(分散されたネットワーク構造により単一障害点がなく、全体の停止に至りにくい)。ただし、混雑時の手数料上昇や取引確定の遅延はある。
- 取引コストは文脈依存: 従来の銀行送金と比べて仲介を挟まない分、特に金融サービスが届かない層には低コストに感じられる一方、ネットワーク混雑時の取引手数料(ガス代)などで高くなることもある。
- ブロックチェーンの主なユースケース
- デジタル通貨: 仲介者なしで価値を移動できる分散型の通貨(例:ビットコイン)
- スマートコントラクト / dApps: 条件をコード化して自動実行する仕組みを使った分散型アプリ
- デジタルアセット発行・管理:トークンやNFTを使って所有権や希少性をチェーン上で表現・追跡。
- 分散型自律組織(DAO): ルールをスマートコントラクトで運用し、参加者で意思決定を分散化した組織。
P2P(ピアツーピア)
- ネットワーク上のすべての参加者(ノード)が互いに直接通信し、協力する形式を指す。
- ブロックチェーンではこのP2Pが使用されており、各個人が情報をやり取りし、データもそれぞれ個人が持つような形になる。
参加者
- ビットコインネットワークでの参加者は、ユーザー(ビットコインを送金したり、利用したりする人)とマイナー(新しいブロックを生成して、その報酬としてビットコインを受け取る人)がいる。
- イーサリアムでは、マイナーではなく、バリデータと呼ばれる
トランザクション
- ブロックチェーンネットワーク上で実行される取引の命令
ガス代
- トランザクションの手数料
- ガス代の目的
- ビットコインではマイナーに対して支払われるインセンティブで使われる
- イーサリアムではバリデータへのインセンティブとしても使うが、無料で大量にトランザクションを作って、ネットワークに負荷をかけさせないためにも利用する
- トランザクションが複雑だったり、ネットワークの混雑状況によって価格がかなり変わる (イーサリアムだとEthereum Gas Trackerでガス代が安い時がわかる)
- ユーザーが自由にガス代を設定でき、ガス代を高く設定するとトランザクションが優先的に行われる可能性がある
ブロック
- 複数のトランザクションが格納されたデータのまとまり
- ブロックはヘッダー部とボディ部から構成されており、ヘッダー部には直前ブロックのハッシュ値が含まれている。この構造が改ざんをほぼ不可能にする主要な理由
マイニング
- 新しいブロックを生成する行為そのもの
- ブロックの生成権を得るには、ビットコインの場合、非常に難しい数学的パズルを解く必要があり、多くのマシンパワーを必要とする 一番最初に解いた人がブロックの作成権を得て、新規発行されたコインとトランザクションの手数料を報酬として受け取る
PoW(Proof of Work)
- マイナーが大量の計算(特定のナンスと呼ばれる数字を見つけることを解く競争)を競って解いてブロックを作る
- 莫大な計算資源と電力を消費する
- 代表例: ビットコイン。イーサリアムは以前PoWだったが、2022年にThe Mergeという大規模アップデートによってPoSに移行済み
PoS(Proof of Stake)
- コインを預け入れ(ステーク)しているバリデータがランダムに選ばれてブロックを作る。
- 選ばれる確率はステーク量(と場合によっては経歴やランダム性)の比率に依存
- PoWに比べてエネルギー効率が良い
- 代表例: イーサリアム
nonce(ナンス)
- PoW (ビットコイン): ブロックを生成するために“条件を満たすまで総当たりで探す数値”を指し、マイニングのパズルを解く際に使われる。
- イーサリアムのアカウント nonce: PoS移行後も使われており、アカウントから実行されたトランザクション数を示す単なるカウンター。PoS特有の概念ではないので混同注意。
UTXO(Unspent Transaction Output)
- ビットコインの残高管理は、UTXOという概念を用いて行われるであり、Unspent Transaction Output(未使用トランザクション)の略
- 銀行口座のように直接的な残高情報を保持するのではなく、ユーザーが保有している全てのUTXOをかき集めることで、その時点での残高を確認できるようになっている
- イメージ例
- 100円1枚500円1枚が財布にある(合計600円分のUTXOが2つある)
- 550円のものを買う時は、100円と500円を使って600円分のUTXOをを消費(入力)
- 出力はお店に渡す 550円 のUTXO(対価) 自分に返ってくる お釣りの50円 を新しく作るUTXO(change)(+もし手数料があれば、入力総額 − 出力合計 = 手数料として差し引かれる)
- 長所
- 並行処理やスケーラビリティの工夫(複数のUTXOが独立に使える)
- 二重支払いの防止がシンプル
- 短所
- 小分けのUTXOが増えて管理がやや複雑
- 単純な残高参照がアカウントモデルより直感的ではない
半減期
- ビットコインのマイニング報酬は、約4年ごとに半減期を迎えるように設定されている
- 当初50BTCだった報酬は、現在3.125 BTC(レートを 1 BTC ≈ 1,750 万円とすると約 5500万円相当)
- 半減期の目的は、ビットコインの需要と供給のバランスを取り、急激なインフレーションを抑えるため
ブロックチェーン基礎技術
ハッシュ関数
- 入力された値に対して別の値を出力する関数
- 主な特徴
- 同じ入力値には同じ出力値を返す(「あいうえお」をハッシュ化すると何回やっても同じ値を返す)
- ハッシュ値から元の値への復元が計算上困難(一方向性) この一方向性がデータの改ざんん防止に置いて重要になる
- 出力値が固定長
- 異なる入力値にはほぼ異なる出力値を返す
- ハッシュ関数の種類
- SHA-256 米国の標準技術局(NIST)によって標準化されたハッシュ関数で、256ビットのハッシュ値を生成する ビットコインで利用される
- RIPEMD-160 SHA-256と同様に、データのハッシュ化に用いられるハッシュ関数の一種で、160ビットのハッシュを生成する アドレスの設定に利用される
- Keccak‑256 (SHA‑3派生) イーサリアムで利用されるハッシュ関数
公開鍵暗号方式
- 公開鍵と秘密鍵のペアを用いて、情報を安全にやり取りする方法
- 公開鍵で暗号化したデータは対応する秘密鍵でしか復号できない
- 送信者がデータをハッシュ化し、そのハッシュ値を自身の秘密鍵で暗号化してデジタル署名を作成する。受信者は送信者の公開鍵を使って署名を復号し、データから生成したハッシュ値と比較することで、データが改ざんされていないことと、本人(秘密鍵の所有者)によって送られたことの両方を証明できる
- 楕円曲線暗号など、軽量で暗号強度の高い方式がビットコインやイーサリアムで利用されている
アドレス
- 暗号資産を送金するために利用するための宛先であり、メールアドレスのようなもの
- ハッシュ関数と、公開鍵・秘密鍵のペアを用いて生成される
ウォレット
- 秘密鍵を保管しており、それで署名することによって所有権や認証を示すツール なのでウォレット自体にビットコインやイーサリアムが入っているわけではない
- ウォレットの種類
- ホットウォレット: 密鍵をユーザー自身が管理するノンカストディアルウォレット(例: MetaMask)や取引所などが管理するカストディアルウォレット
- コールドウォレット: ペーパーウォレットやハードウェアウォレット
- ニーモニックコードは、秘密鍵を人間が覚えやすい12個や24個の単語の羅列で表現したもので、ウォレットの復元などに利用されますが、漏洩すると秘密鍵を再現できてしまうため、厳重な管理が必要 シードフレーズやリカバリーフレーズとも呼ばれる
イーサリアムについて
イーサリアムとは
- イーサリアムは、ビットコインに次いで広く利用されているブロックチェーンネットワークの一つ
- ビットコインは主に基本的な送金機能に特化しているのに対し、イーサリアムは、スマートコントラクトによって柔軟性と拡張性が特徴
スマートコントラクト
- イーサリアムの最も重要な概念であり、賢い契約と訳される
- よく自動販売機が例として挙げられており、お金を入れて商品を選択すると、第三者を介さずに商品が出てくるように、スマートコントラクトも全ての要件が満たされた場合にのみ、契約が自動的に実行される
- 主な特徴
- ソースコードの公開と透明性: スマートコントラクトはブロックチェーン上に配置(デプロイ)されるため、誰でもそのソースコードを参照できる。これにより契約の透明性が保たれ、不正行為が防がれる
- 変更・削除の原則不可: ****一度ブロックチェーン上にデプロイすると**基本的には変更や削除ができない。**デプロイ前の設計が重要であり、設計段階で削除やアップデートを可能にすることはできる
- 実行にガス代がかかる: スマートコントラクトの実行にはガス代がかかる。計算リソースの量によってガス代が変動し、プログラムのバグによる無限ループなどを防ぐための「ガスリミット」という最大値の概念も存在する
スマートコントラクト開発言語
- 主にSolidityという言語で開発が行われる、JavaScriptに構文が似ており、コントラクトのデプロイや実行に必要なガス代を抑える仕組みも備わっている
- Pythonに似たViperもあるが採用例は少なめ
EVM(Ethereum Virtual Machine)
- スマートコントラクトを実行するためのバイトコード実行環境
- EVMはコンピューターのように機能し、イーサリアムネットワーク上でスマートコントラクトを実行するための機能を提供している(ワールドコンピュータとも呼ばれる)
- SolidityのソースはコンパイルされEVMバイトコードとなり、各ノードで実行される。
DApps(Decentralized Application)
- DAppsは**Decentralized Application(分散型アプリケーション)**の略で、ブロックチェーン技術を活用し、サーバーや管理者が存在しない分散型P2Pネットワーク上で動作するアプリケーション
- 主な特徴
- 分散性: DAppsは複数ノードつまり世界中のパソコン上で分散して動作する。これにより、単一障害点のリスクが軽減される
- 決定論的実行: DAppsは、スマートフォンやPCなど様々なOSや環境に関わらず同じ機能を実行することができる
- **チューリング完全(**どんな計算も理論上は書ける): EVMがチューリング完全であるため、スマートコントラクトを通じて複雑なロジックをDAppsに組み込むことが可能
- 隔離性: 一つのDAppsに使われるスマートコントラクトに何かバグがあったとしても、そこだけがバグでブロックチェーン全体には全く影響しない
- 具体例
アカウントモデル
- イーサリアムの残高管理はビットコインのようにUTXOではなく、アカウントベースのモデルを採用している
- アカウントは通帳のようなもので、残高が直接書き換えられる。
EOA (Externally Owned Account:外部所有アカウント)
- EOAは、ユーザーが使用するMetaMaskのようなウォレットと考えることができる。通帳のようにETH(イーサリアムのネイティブトークン)の残高が保管される場所
- 自分自身からトランザクションを開始できるという特徴を持つ
- このアカウントは秘密鍵を保有している。MetaMaskのアドレス(0x….から始まる42文字のアドレス)は、EOAのアドレスの一例
- EOAの状態(ステート)は主にNonceとBalanceの2つの要素から構成される
- NonceはEOAによって実行されたトランザクションの数
- Balanceはアカウントが所有するETHの残高
CA (Contract Account:コントラクトアカウント)
- CAは、スマートコントラクトを管理するアカウント
- CAはEOAとは異なり、自分自身からトランザクションを開始することはできない。EOAからのトランザクションを受信した時にのみトランザクションを送信できる
- 秘密鍵は保有していない
- CAにはスマートコントラクトの情報が含まれるため、EOAのNonceとBalanceに加えて、2つの要素もアカウントのステートに含まれる
- Code Hash: スマートコントラクトの現在の状態を示す
- Storage Root: スマートコントラクト上に保存されているデータの状態を示す
アカウントアブストラクション(Account Abstraction)
- EOAを除いて、全てのアカウントをCAにまとめようという提案
- 具体的な内容
- EOAの廃止/統合: 現在、イーサリアムにはユーザーが使うMetaMaskのようなEOAと、スマートコントラクトを管理するCAの2種類のアカウントが存在する。アカウントアブストラクションは、このEOAという概念をなくし、すべてをCAに統合することを目指している
- CAによるトランザクション開始・料金支払い: 現在のCAは、EOAからトランザクションを受信した時にのみトランザクションを開始でき、自分自身からトランザクションを送信することはできません。また、秘密鍵も持ちません。しかし、アカウントアブストラクションの提案では、CAでもトランザクションを作成したり、ガス代などの料金を支払ったりできるようにすることを目指している
- 現在(2025/8月時点)では少なくともユーザーがスマートウォレット(コントラクトアカウント(CA)として実装された次世代ウォレット)を使える形ではすでに本番稼働している。ただし 「EOA を完全になくすレベルまではまだ至っていない。
状態遷移
- イーサリアムは単なる分散型台帳ではなく、分散型ステートマシン(状態マシン)として機能する
- 状態(State)とは、その時点でのアカウントの状態を指す(イーサリアム全体の状態は、ワールドステートとも呼ばれる)
- ワールドステート
- 概念: イーサリアムネットワーク上の全てのアカウント(EOAとCA)の情報と、そのアカウントに紐づくアカウントステートを保持し、管理する
- 中身: アカウントのアドレス(例: 0xから始まる42文字のアドレス)と、そのアドレスに一対一で紐づくアカウントステートのマッピング
- アカウントステートは、イーサリアム上のアカウントが持っている以下の4つの状態を指す
- Nonce: EOAによって実行されたトランザクションの数、またはCAによって作成されたコントラクトの数を表す。トランザクションごとに1つずつ増えていく数値である
- Balance: アカウントが所有しているETHの残高
- Code Hash: アカウントに紐づくスマートコントラクトのハッシュ値が格納される。
- Storage Root: スマートコントラクト上に保存されているデータのマークルルートハッシュ。スマートコントラクトのコード自体の容量や、スマートコントラクトに保存されるデータに関する状態情報が含まれる。マークルルートハッシュは、マークルツリーというツリー構造を用いて、大きなデータを要約し、データの整合性を効率的に検証するために使用される技術
- イーサリアムでは、トランザクションが含まれたブロックの中で各トランザクションを順に EVM が実行し、それに伴ってワールドステートが逐次更新されていく
- ブロック全体の適用後のワールドステートは要約され、その結果のルートハッシュがブロックヘッダーに含まれる。これにより、状態の一貫性を軽量に検証できる
スケーリングソリューション
- イーサリアムの性能向上、特に処理速度とコスト効率の改善を目指す技術のこと
- レイヤー2とサイドチェーンはスケーリングソリューションの実例
レイヤー2(L2)
- メインチェーン (L1) の安全性を借りつつ、トランザクションを一時的にオフチェーンで処理し、結果を L1 に戻す
- Rollup系が主流。
- Optimistic Rollup: 不正がある前提で後からチャレンジする方式 (Arbitrum, Optimism)
- ZK Rollup: 事前にゼロ知識証明で正当性を示す方式 (zkSync Era, StarkNet)
- メリット: 高速・低コスト・L1 セキュリティ継承
- デメリット: 技術的複雑性が高く、L1↔L2 資産移動ブリッジが攻撃対象になりやすい。例: Ronin Bridge (2022), Multichain (2023) ハッキング
サイドチェーン
- L1 とは独立した別チェーンとして稼働し、トランザクション高速化とガス代削減を狙う
- セキュリティは自前バリデータに依存するため、L1 ほどは強固でない
- 代表例
- Polygon PoS: 最も利用される EVM 互換サイドチェーン
- Gnosis Chain : xDai ベースでガス代がほぼ固定
ブロックチェーンのトリレンマと相互運用性
- ブロックチェーンのトリレンマ: ブロックチェーン技術においてスケーラビリティ、セキュリティ、分散性という3つの概念が存在し、このうち2つを重視すると、残りの1つが犠牲になってしまうという現象
- スケーラビリティ: 大量のトランザクションを効率的に処理できる能力
- セキュリティ: 外部からの攻撃や悪意のある参加者からシステムが守られる能力
- 分散性: 中央集権化を避け、ネットワークが分散された仕組みや構造を持つこと
ブリッジ
- ブリッジは、異なるブロックチェーン間でトークンやデータをやり取りするための仲介役
- ブロックチェーンは、元来閉じたもので異なるブロックチェーン同士で接続することはできない課題があり、これを解決するためにブリッジが生まれた
- スマートコントラクトによって動作する
今後追加予定
- トークンについて
- NFTについて
- DeFi,DaOについて