ページの最終更新日時: 2023年9月21日
用語集
#
51%攻撃
分散型ネットワークに対する攻撃の一種で、ある 1 つのグループが過半数のノードを支配すること。 その結果、トランザクションを巻き戻したり、イーサやその他のトークン消費を 2 倍にしたりすることでブロックチェーンの不正が可能となる。
A
アカウント(account)
アドレス、残高、 ノンス、任意のストレージとコードを含むオブジェクト。 アカウントには、コントラクトアカウントと外部所有口座(EOA)の 2 種類がある。
アドレス (address)
通常、アドレスはブロックチェーン上でEOAまたはコントラクトを表すものであり、 ブロックチェーン上でトランザクションを受信(宛先アドレスの場合)または送信(送信元アドレスの場合)できる。 より具体的に言うと、ECDSA公開鍵のKeccak ハッシュの最も右側にある 160 ビットがアドレスである。
アプリケーション・バイナリ・インターフェイス(ABI)
イーサリアムのエコシステムにおいて、 ブロックチェーンの外から、そしてコントラクト間の相互作用でアカウントとやり取りを行う標準的な方法。
アプリケーション・プログラミング・インターフェイス(API)
アプリケーション・プログラミング・インターフェイス(API) は、ソフトウェアの使用方法に関する一連の定義。 API は、アプリケーションと Web サーバの間でデータの転送を行う。
ASIC
特定用途向け集積回路。 通常、暗号通貨マイニング等用のカスタムメイドの集 積回路のことを指す。
アサート(assert)
Solidityでは、assert(false)
は無効なオペコード0xfe
にコンパイルされ、残りのガスを使い切って全ての変更が巻き戻される。 assert()
ステートメントでエラーが発生したときは、大きな間違いがあって、予期せぬことが起こっているため、コードを修正する必要がある。 assert()
を使って、絶対に発生してはいけない条件を避けることが必要。
アテステーション(attestation)
あることが真実であるというエンティティによる主張。 イーサリアムのコンテキストでは、コンセンサスバリデータは、チェーンのあるべき状態について主張しなければならない。 指定された時間に、各バリデータは、このバリデータのチェーンの状態の見解を正式に宣言するさまざまなアテステーションを発行する責任がある。アテステーションには、最後に確定されたチェックポイントとチェーンの現在のヘッドが含まれている。
B
ベースフィー(Base Fee)
すべてのブロックには「ベースフィー」と呼ばれるリザーブ価格がある。 ユーザーが次のブロックにトランザクションを含めるために支払わなければならない最低限のガス代のこと。
ビーコンチェーン(Beacon Chain)
ビーコンチェーンは、イーサリアムにプルーフ・オブ・ステーク(PoS)とバリデータを導入したブロックチェーン。 2020 年 12 月から、2 つのチェーンが 2022 年 9 月にマージされ今日のイーサリアムを形成するまで、プルーフ・オブ・ワーク(PoW)のイーサリアムメインネットと並行して実行された。
ビッグエンディアン(big-endian)
最上位の桁がメモリ上で最初に位置する方式の数値表現のこと。 対義語のリトルエンディアン(little-endian)では最下位の桁がメモリ上の最初に位置する。
ブロック(block)
ブロックは、トランザクションの順序リストとコンセンサス関連情報を含む、バンドルされた情報の単位。 プルーフ・オブ・ステーク(PoS)のバリデータによって提案され、その時点ですべてのピアツーピアネットワーク全体で共有される。ここでは、他のすべてのノードによって容易に独立検証できる。 コンセンサスルールは、ブロック のどのコンテンツが有効かを決定し、無効なブロックはネットワークによって無視される。 これらのブロックとその中のトランザクションの順序付けにより、ネットワークの現在の状態を表す先端を持つ決定論的な一連のイベントが作成される。
ブロックエクスプロー ラ(block explorer)
ブロックチェーンに関する情報をユーザーが検索するためのインターフェイス。 これには、個々のトランザクションや特定のアドレスに関連する状況、およびネットワーク情報の取得が含まれる。
ブロックヘッダ(block header)
ブロックヘッダは、ブロックに関するメタデータと、実行ペイロードに含まれるトランザクションの概要をまとめたもの。
ブロック伝播(block propagation)
検証済みのブロックをネットワーク上の他のすべてのノードに送信するプロセス。
ブロックプロポーザ(block proposer)
特定のスロットにブロックを作成するために選ばれた特殊なバリデータ。
ブロック報酬(block reward)
新たな有効ブロック提案者に報酬として支払われるイーサの量。
ブロックステータス(block status)
ブロックが存在できる状態。 可能な状態の一例を以下にご紹介します。
- 提案済み: ブロックがバリデータによって提案された
- スケジュール済み: バリデータが現在データを送信中
- 失敗した/スキップした: 提案者が指定時間内にブロックを提案できなかった
- 孤立した: ブロックがフォーク選択アルゴリズムによって再編成された
ブロックタイム(block time)
ブロックがブロックチェーンに追加される時間間隔。
ブロックバリデーション(block validation)
新しいブロックに有効なトランザクションと署名が含まれていることを確認するプロセス。最も重く履歴のあるチェーン上に構築され、他のすべてのコンセンサスルールに従う。 有効なブロックはチェーンの末尾に追加され、ネットワーク上の他のブロックに伝播し、 無効なブロックは無視される。
ブロックチェーン(blockchain)
ブロックの連鎖。どのブロックも、前のブロックのハッシュを参照することによって始まりのブロックまで繋がっている。 ブロックチェーンの整合性は、プルーフ・オブ・ステーク(PoS)に基づく合意メカニズムによって暗号資産エコシステム内で確保されている。
ブートノード(bootnode)
あるノードを実行するとき、ディスカバリープロセスを開始するために使用できるノード。 これらのノードのエンドポイントは、イーサリアムのソースコードに記録される。
バイトコード(bytecode)
ソフトウェアのインタープリタや仮想マシンで効率的に実行できるように設計された抽象的な命令セット。 ヒューマンリーダブルソースコードとは異なり、バイトコードは数値で表現される。
ビザンチウムフォーク(Byzantium fork)
2 段階に分かれたメトロポリス(Metropolis)開発のハードフォークの最初の段階。 これには、EIP-649 のメトロポリス難点爆弾遅延とブロック報酬の減額が含まれており、氷河期は 1 年延期になり、ブロック報酬は 5 ether から 3 ether に減少した。
C
キャスパー FFG(Casper-FFG)
キャスパー FFG は、LMD-GHOSTフォーク・チョイス・アルゴリズムと組み合わせて実行されるプルーフ・オブ・ステーク(PoS)コンセンサスプロトコル。コンセンサスクライアントによるビーコンチェーン先頭への合意を完了させる。
チェックポイント(checkpoint)
ビーコンチェーンには、スロット(12 秒)とエポック(32 スロット)に分かれたテンポがあり、 各エポックの最初のスロットはチェックポイントとなる。 バリデータのスーパーマジョリティが 2 つのチェックポイント間のリンクを証明すると、それらは正当となり、その上に別のチェックポイントが正当化されると、確定となる。
コンパイル(compiling)
高レベルのプログラミング言語(Solidityなど)で書かれたコードを低レベルの言語(EVM のバイトコードなど)に変換すること。
委員会(committee)
最低 128 人のバリデータからなる、各スロットのブロックを検証するために集められたグループ。 バリデータの中から 1 人が集計者となって、委員会内の他のバリデータの同意署名をまとめる責任を負う。 同期委員会と混同しないこと。
計算不可能(computational infeasibility)
あるプロセスを実行しようと思った人たちにとって、非現実的にとても長い時間(たとえば数十億年)かかる場合、計算不可能となる。
コンセンサス
ネットワーク上のスーパーマジョリティのノードすべてが、ローカルで検証された最良のブロックチェーンに同一のブロックを持っている状態。 コンセンサスルールと混同しないこと。
コンセンサスクライアント
コンセンサスクライアント(Prysm、Teku、Nimbus、Lighthouse、Lodestar など)は、イーサリアムのプルーフ・オブ・ステーク(PoS)コンセンサスアルゴリズムを実行して、ビーコンチェーンの先頭でのネットワークの合意を得ることができる。 コンセンサスクライアントは、トランザクションの検証/ブロードキャスト、状態遷移の実行には参加しない。 実行クライアントによって行われる。
コンセンサスレイヤー
イーサリアムのコンセンサスレイヤーは、コンセンサスクライアントのネットワークです。
コンセンサスルール(consensus rules)
他のノードとのコンセンサスを維持するために、フルノードが従うべきブロックの検証ルール。 コンセンサスと混同しないこと。
アップデートに含めるために検討(CFI: Considered for Inclusion)
メインネットではまだアクティブになっていないコアEIPであり、通常クライアントデベロッパーは、このアイデアに対して肯定的。 メインネットに含めるためのすべての要件を満たしていると仮定すると、ネットワークのアップグレードに含まれる可能性がある(必ずしも次回のアップグレードとは限らない) 。
コンスタンティノープルフォーク
メトロポリスステージの第 2 段階で、当初は 2018 年の半ばに計画されていた。 コンセンサスアルゴリズムをプルーフ・オブ・ワーク(PoW)とプルーフ・オブ・ステーク(PoS)のハイブリッドへと切り替えることも期待されていた。
コントラクトアカウント
他のアカウント(EOAまたはコントラクト)からトランザクションを受け取るたびに実行されるコードを含むアカウント。
コントラクト作成トランザクション
コントラクトの初期化コードを含む特別なトランザクション。 受取人は、null
に設定され、コントラクトはユーザーアドレスとnonce
から生成されたアドレスにデプロイされる。 コントラクトを登録し、イーサリアムブロックチェーンに記録するために使用される。
クリプトエコノミクス
暗号通貨の経済学。
D
Đ
Đ(ストローク付の D)は、は、古英語、中英語、アイスランド語、フェロー語で、大文字の「Eth」の略として使われている。 ĐEV や Đapp(分散アプリケーション)などの単語で使用される。この「Đ」は北欧文字の「eth」。 大文字の eth(Ð)は、暗号通貨のドージコインのシンボルとしても使用される。 古いイーサリアムの文献でよく見られますが、今日ではあまり使用されていない。
DAG
DAG は、Directed Acyclic Graph(有向非巡回グラフ)の略であり、 ノードとノード間のリンクで構成されるデータ構造。 マージ以前のイーサリアムでは、プルーフ・オブ・ワーク(PoW)アルゴリズムのEthashで DAG を使用していたが、現在のプルーフ・オブ・ステーク(PoS)では使用していない。
分散型アプリケーション(Dapp)
分散型アプリケーション。 最小の構成は、スマートコントラクトとウェブユーザーインターフェイス。 広義では、オープンな分散型の P2P インフラストラクチャサービス上に構築されている Web アプリケーション。 さらに、多くの Dapp には、分散型ストレージや、メッセージプロトコル、プラットフォームが含まれる。
データの可用性(data availability)
ネットワーク 上のどのノードでも、任意の部分データをダウンロードできる状態。
分散化(decentralization)
プロセスの制御と実行を中央組織から移行するという概念です。
自律分散型組織(DAO)
階層的な管理をせずに運営されている会社やその他の組織のこと。 2016 年 4 月 30 日に立ち上げられた「The DAO」という名のコントラクトを指す場合もある。「The DAO」は 2016 年 6 月にハッキングされ、最終的にブロック 1,192,000 でハードフォーク(コードネーム: DAO)を実行させることとなり、ハッキングされた DAO コントラクトを巻き戻すことにした。これをきっかけに、イーサリアムとイーサリアムクラシックは競合する 2 つのシステムとして分裂。
分散型取引所(DEX)
ネットワーク上のピアとトークンを取引できるdappの一種。 使用するには、(トランザクションフィーを支払うため)イーサリアムが必要となるが、中央集権型取引所のような地理的制限はなく、誰でも使用可能。
deed
デポジットコントラクト(deposit contract)
イーサリアムのステーキングの入り口。 デポジットコントラクトは、ETH のデポジットを受け入れ、バリデータの残高を管理するイーサリアム上のスマートコントラクト。 コントラクトに ETH を入金しないと、バリデータを有効にすることはできない。 コントラクトには、ETH と入力データが必要。 この入力データには、バリデータの公開鍵と、バリデータの秘密鍵によって署名された出金用の公開鍵が含まれる。 このデータは、バリデータがプルーフ・オブ・ステーク(PoS)ネットワークによって識別、承認されるために必要となる。
分散型金融(DeFi)
「非中央集権型金融」の略で、ブロックチェーン上の金融サービスDappsのより広義なカテゴリー。仲介業者を介さないため、インターネット環境があれば誰でも利用可能。
難易度(difficulty)
プルーフ・オブ・ワーク(PoW)ネットワークにおけるネットワーク全体の設定で、有効なノンスを見つけるために必要な平均計算量を制御。 難易度は、有効であると見なされるために得られたブロックハッシュに必要な先頭のゼロの数で表される。 このコンセプトは、プルーフ・オブ・ステークへの移行に伴いイーサリアムでは廃止。
ディフィカルティボム(difficulty bomb)
計画的にプルーフ・オブ・ワーク(PoW)の難易度設定を急激に上げた。プルーフ・オブ・ステーク(PoS)への移行を促す目的で、フォークの機会を減らすために設計されたもの。 ディフィカルティボムは、プルーフ・オブ・ステーク(PoS)への移行に伴い廃止。
電子署名(digital signature)
ユーザーが秘密鍵を利用してドキュメントを生成する短い文字列で、対応する公開鍵を利用して、誰でも(1)秘密鍵の所有者によってドキュメントに署名がなされたこと、(2) 署名後にドキュメントが変更されていないことを検証できる。
ディスカバリー(Discovery)
イーサリアムノードが接続する他のノードを見つけるプロセス。
分散ハッシュテーブル(DHT)
(key, value)
ペアを含むデータ構造で、イーサリアムノードが接続するピアの特定と、通信に使用するプロトコルを決定するために使用される。
二重支払(double spend)
意図的なブロックチェーンフォークで、十分な量のマイニングパワーまたはステークを持つユーザーが、ある通貨をオフチェーンに移動するトランザクションを送信し (例: 不換紙幣に交換する、オフチェーンで購入するなど)、そのトランザクションを削除するためにブロックチェーンを再編成すること。 二重支払に成功すると、攻撃者はオンチェーンとオフチェーンの両方の資産を手に入れることができる。
E
楕 円曲線 DSA(ECDSA)
所有者以外はその資金を使うことができないようにするイーサリアムの暗号論的アルゴリズム。 秘密鍵と公開鍵を作成するための好ましい方法。 アカウントアドレスの生成や、トランザクションの検証に関連している。
暗号化(encryption)
暗号化とは、正しい復号化キーを持つ所有者以外は読めない形式に電子データを変換すること。
エントロピー(entropy)
暗号技術のコンテクストにおいては、予測可能性やランダム性の度合いを指す。 秘密鍵のような機密情報を生成する際、アルゴリズムは通常、出力結果を予測不可能とするために高エントロピー源に依存する。
エポック(epoch)
32スロットの期間で、各スロットは 12 秒、合計 6.4 分。 バリデータ委員会はセキュリティ上の理由からエポックごとにシャッフルされる。 各エポックには、チェーンを確定する機会があり、 各バリデータには、各エポックの開始時に新しい役割が割り当てられる。
曖昧度(equivocation)
お互いに矛盾する 2 つのメッセージを送信するバリデータ。 シンプルな一例として挙げられるのは、トランザクション送信者が、同じノンスで 2 つのトランザクションを送信する場合。 もう一つの例としては、2 つのブロックを同じブロック高(または同じスロット)で提案するブロック 提案者。
Eth1
「Eth1」は、既存のプルーフ・オブ・ワーク(PoW)ブロックチェーンであるメインネットのイーサリアムを指す用語。 この用語は廃止予定となっており、「実行レイヤー」という用語を使用する。 この名前の変更についての詳細は、こちら(opens in a new tab)を参照のこと。
Eth2
「Eth2」は、イーサリアムのプルーフ・オブ・ステーク(PoS)への移行を含む一連のイーサリアムプロトコルのアップグレードのこと。 この用語は廃止予定となっており、「コンセンサスレイヤー」 という用語を使います。 この名前の変更(opens in a new tab) についてもっと詳しく。
イーサリアム改善提案(EIP)
イーサリアムコミュニティに情報を提供するための設計文書。提案された新機能やプロセス、環境について説明している(ERCを参照のこと)。
イーサリアム名サービス(ENS)
ENS レジストリは、単一の中央コントラクトで、EIP137 に記述されているような、 ドメイン名と所有者やリゾルバとの対応付けを提供。
詳細は ens.domains を参照のこと。(opens in a new tab)
実行クライアント
ベス (Besu) 、エリゴン (Erigon) 、Geth(Go-ethereum) 、ネザーマインド(Nethermind)などの実行クライアント(以前は「Eth1 クライアント」と呼ばれていた)のタスクは、トランザクションの処理とブロードキャスト、イーサリアムのステート(状態) の管理。 プロトコルのルールが守られていることを確認するために、イーサリアム仮想マシンを使用して各トランザクションの計算を実行する。
実行レイヤー
イーサリアムの実行レイヤーは、実行クライアントのネットワーク。
外部所有アカウント(EOA)
秘密鍵によって制御されるアカウントのこと。通常は、シードフレーズを使用して生成される。 外部所有アカウントは、スマートコントラクトと違いコードが関連付けられていない。 通常、これらのアカウントはウォレットで管理される。
コメントを求めるイーサリアムリクエスト(ERC)
一定のEIPに付与されるラベルで、イーサリアムの使用に関する特定の基準を定めたもの。
Ethash
プルーフ・オブ・ステーク(PoS)に移行する前にイーサリアムで使用されていたプルーフ・オブ・ワーク(PoW)のアルゴリズム。
イーサ(ether)
イーサリアムエコシステムによって使用されるネイティブ暗号通貨で、トランザクションの実行にはガス代がかかる。 ETH またはその記号をギリシャ文字の大文字で「Ξ」と表すこともできる。
イベント (Event)
EVMロギング機能を利用できる。 Dappはイベントをリッスンし、ユーザーインタフェイス内の JavaScript で記述されたコールバックをト リガするために利用可能。
イーサリアム仮想マシン(EVM)
バイトコードを実行するスタックベースの仮想マシン。 イーサリアムでは、一連のバイトコード命令と環境データの小さなタプルを与えられた場合に、システムの状態をどのように変化するかを実行モデルが指定する。 これは、仮想状態マシンの正則モデルによって指定されている。
EVM アセンブリ言語(EVM assembly language)
EVM のバイトコードをヒューマンリーダブル形式にしたもの。
F
フォールバック関数 (fallback function)
データや宣言された関数名がない場合に呼び出されるデフォルトの関数のこと。
フォーセット(faucet)
スマートコントラクトを介して実行されるサービスで、テストネットで使用できる無料のテスト用イーサの形で資金を分配する。
ファイナリティ(finality)
ファイナリティとは、ある時点以前の一連のトランザクションが変更または撤回できないことを保証するもの。
finney
etherの単位。 1 finney = 1015 wei。 103 finney = 1 ether。
フォーク(fork)
プロトコルを変更することで、代替チェーンが生成されたり、一時的な分岐によって 2 つの潜在的なブロックパスが生成されたりする。
フォーク選択アルゴリズム(fork-choice algorithm)
ブロックチェーンの先頭を特定するために使用されるアルゴリズム。 実行レイヤーでは、チェーンのヘッドは最大の難易度を持つものとして識別される。 つまり、チェーンの真のヘッドが、マイニングに最も多くの作業を要することを意味する。 コンセンサスレイヤーでは、アルゴリズムはバリデータ(LMD_GHOST)から蓄積されたアテステーションを監視。
不正証明(fraud proof)
特定のレイヤー 2ソリューションに対するセキュリティモデルで、スピードを上げるために複数のトランザクションを 1 つのバッチにロールアップして、1 つのトランザクションとしてイーサリアムに送信。 これらのトランザクションは有効とみなされるが、不正が疑われる場合にはチャレンジを受けることもある。 不正証明は、不正が疑われるときトランザクションを実行し、不正が行われたかどうかを検証する。 この方法は、セキュリティを保持しながら、可能なトランザクションの量を増やすことができる。 ロールアップの方法の中には、有効性証明を利用しているものもある。
フロンティア(Frontier)
2015 年 7 月から 2016 年 3 月までの間のイーサリアムの最初のテスト開発段階。
G
ガス
イーサリアムでスマートコントラクトを実行するための仮想燃料。 EVMは、ガスの消費量を測定し、コンピューティングリソースの消費を制限する会計メカニズムを使用している。(チューリング完了参照)
ガスリミット(gas limit)
ガス代(gas price)
所定トランザクション 1 回につきかかる価格(Ether)。
始まりのブロック(genesis block)
ブロックチェーンの最初のブロックで、特定のネットワークとその暗号通貨を初期化するために使用される。
geth
Go Ethereum。 Go で書かれたイーサリアムプロトコルの最も優れた実装の 1 つ。
詳細は geth.ethereum.org を参照。(opens in a new tab)
gwei
Gigawei の略称で、通常ガスの価格に使われるイーサの呼称。 1 gwei = 109 wei。 109 gwei = 1 ether。
H
ハードフォーク(hard fork)
ブロックチェーンの恒久的な分岐。変更ハードフォークとしても知られる。 アップグレードされていないノードが、新しいコンセンサスルールに遵守するアップグレードされたノードによって作成されたブロックを検証できない場合、このような状況が頻繁に発生。 フォーク、ソフトフォーク、ソフトウェアフォーク、Git フォークと混同しないこと。
ハッシュ(hash)
可変長サイズ入力の固定長フィンガープリントで、ハッシュ関数によって生成される (keccak-256を参照)。
ハッシュレート(hashrate)
マイニングソフトを実行しているコンピュータが、1 秒当たりに計算するハッシュの数。
HD ウォレット(HD wallet)
階層的決定性(HD)キーの作成と転送プロトコルを使用したウォレット。
詳細は github.com を参照。(opens in a new tab)
HD ウォレットシード(HD wallet seed)
マスター秘密鍵と HDウォレットのマスターチェーンコードの生成に使用される値。 ウォレットシードはニーモニックと呼ばれる単語の羅列で表すことができるため、秘密鍵のコピー、バックアップ、復元が容易になる。
ホームステッド(homestead)
2016 年 3 月に、ブロック 1,150,000 でローンチされたイーサリアムの開発第 2 段階。
I
インデックス
ストレージソースへの効率的なパスを最強することによってブロックチェーン全体からの情報のクエリを最適化するためのネットワーク構造。
取引所間クライアントアドレスプロトコル(ICAP)
国際銀行口座番号(IBAN)形式と部分的に互換性のあるイーサリアムアドレスの形式で、汎用的でチェックサムの付与された、相互運用可能なイーサリアムアドレスの形式を提供する。 ICAP アドレスは、(たとえば XBT、XRP、XCP のような)非管轄通貨で利用される疑似国家コードとして、「eXtended Ethereum」を意味する XE を使用する。
氷河期(Ice Age)
ブロック 200,000 で発生したイーサリアムのハードフォークで、PoSへの移行を促すために指数関数的なディフィカルティの増加(ディフィカルティボムとも呼ばれる)を導入した。
統合開発環境(IDE)
一般的にはコードエディタ、コンパイラ、ランタイム、デバッガを統合したユーザーインターフェイス。
不変のデプロイコード問題(immutable deployed code problem)
コントラクト(またはライブラリ)のコードは一度デプロイすると変更が不可能となる。 標準的なソフトウェア開発の手法では、起こりうるバグの修正や新機能を追加が可能であることを前提としているため、スマートコントラクトの開発における代表的な課題となっている。
内部取引(internal transaction)
コントラクトアカウントから別のコントラクトアカウントまたはEOAに送信されるトランザクション(メッセージを参照)。