用語集
#
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に送信されるトランザクション(メッセージを参照)。
イシュアンス(issuance)
報酬ブロックの提案、アテステーション、不正の告発に対して新しく Ether を発行すること。
K
鍵導出関数(KDF)
「パスワード伸長アルゴリズム」としても知られる。キーストア形式で使われており、パスフレーズによる暗号化において、パスフレーズを繰り返しハッシュ化することで総当たり攻撃や辞書攻撃、レインボー攻撃から保護することができる。
キーストア(keystore)
イーサリアムクライアント内に存在する、すべてのアカウントの秘密鍵とアドレスのペアを保存した単一のファイル。 アカウント作成時に入力したパスワードで復号可能な、暗号化されたアカウントの秘密鍵を含む JSON 形式のテキストファイル。
keccak-256
イーサリアムで利用されている暗号論的ハッシュ関数。 Keccak-256 はSHA-3 として標準化されている。
L
レイヤー 2
イーサリアムのプロトコル上で、レイヤーによる改善に焦点を当てた開発分野。 トランザクションの速度、トランザクションフィーの低減、トランザクションのプライバシーに関して改善を図るもの。
LevelDB
オープンソースのオンディスクなキーバリューストアで、軽量かつ単一目的的なライブラリとして実装されており、多くのプラットフォーム向けバインディングが存在している。
ライブラリ(library)
payable 関数、フォールバック関数、データストレージを持たない特殊なコントラクト。 つまり、ETH を受け取ったり、保持したり、データを保存することはできない。 ライブラリは以前にデプロイされたコードとして機能し、他のコントラクトから読み取り専用の計算を呼び出すことができる。
ライトクライアント(light client)
ブロックチェーンのコピーをローカルに保存したり、ブロックやトランザクションを検証したりしないイーサリアムのクライアント。 ウォレットとしての機能を提供し、トランザクションの作成やブロードキャストができる。
LMD_GHOST
イーサリアムのコンセンサスクライアントがチェーンのヘッドを特定するために使用するフォーク選択アルゴリズム。 LMD-GHOST は、「Latest Message Driven Greediest Heaviest Observed SubTree」の頭字語であり、チェーンの先頭がその歴史の中でアテステーションの最大の蓄積を持つブロックであることを意味する。
M
メインネット
「メインネットワーク」の略で、メインの公開イーサリアム ブロックチェーンを指す。 本物の ETH であり、実質的な価値を持ち、そして実際に起きている結果。 レイヤー 2スケーリングソリューションについて議論するときには、レイヤー 1 とも呼ばれる (テストネットも参照のこと)。
メモリハード(memory-hard)
メモリハード関数とは、使用可能メモリ量が少しでも減少した場合に、速度や実行可能性が大幅に低下するプロセスのこと。 たとえば、イーサリアムのマイニングアルゴリズムEthashが挙げられる。
マークルパトリシア木(Merkle Patricia trie)
キーバリューペアを効率的に格納するため、イーサリアムで利用されているデータ構造。
メッセージ(message)
EVMの内部でだけ送信され、シリアライズされることのない内部トランザクション。
メッセージ呼び出し(message call)
あるアカウントから別のアカウントにメッセージを伝えること。 宛先アカウントがEVMコー ドと関連付けられている場合、VM はそのオブジェクトの状態で起動され、メッセージが作動する。
メトロポリス(Metropolis)
2017 年 10 月にローンチした、イーサリアムの開発第 3 段階。
マイニング(mining)
先頭の任意の数のバイナリゼロが結果に含まれるまで、ノンスをインクリメントしながらブロックヘッダーを繰り返しハッシュするプロセス。 新しいブロックがプルーフ・オブ・ワーク(PoW)ブロックチェーンに追加される。 プルーフ・オブ・ステーク(PoS)に移行する前まで、イーサリアムはこの方法で保護されていた。
マイナー(miner)
新しいブロックに対して有効なプルーフ・オブ・ワーク(PoW)を見つけるために繰り返しパスハッシュを計算するネットワークノードの一種(Ethashを参照)。 マイナーはもはやイーサリアムの一部ではなく、プルーフ・オブ・ステーク(PoS)への移行に伴い、バリデータに置き換えられた。
ミント (mint)
ミント(Minting)は、新しいトークンを作成し、流通させて使用できるようにするプロセス。 中央当局の関与なしに新しいトークンを作成するための分散型メカニズム。
N
ネットワーク(network)
イーサリアムネットワークのこと。トランザクションやブロックをすべてのイーサリアムノード(ネットワーク参加者)に伝播していくピアツーピアネットワーク。
ネットワークハッシュレート(network hashrate)
マイニングネットワーク全体によって生成された集合的なハッシュレート。 プルーフ・オブ・ステーク(PoS)への移行に伴い、イーサリアムでのマイニングはオフになった。
非代替性トークン(NFT)
「deed」としても知られる ERC-721 で導入されたトークンの標準。 NFT は追跡可能かつ取引可能だが、それぞれのトークンは一意で区別があり、ETH やERC-20 トークンのように相互に取引することはできない。 NFT はデジタル資産や物理的な資産の所有権を表すことができる。
ノード(node)
ネットワークに参加するソフトウェアクライアントのこと。
ノンス(nonce)
暗号技術において、一度しか使われない値のこと。 アカウントのノンスは、各アカウントのトランザクションカウンターであり、リプレイ攻撃を防ぐために使用される。
O
オマー(アンクル)ブロック(ommer (uncle) block)
プルーフ・オブ・ワークのマイナーが有効なブロックを見つけたとき、先に他のマイナーが競合するブロックを公開し、これがブロックチェーンの先端に追加されること。 古くあっても有効なブロックはオマーとして新しいブロックに含めることができ、ブロック報酬の一部を受け取ることができる。 オマーとは、親の同生を示すジェンダーニュートラルで好ましい用語であるが、「アンクル」と呼ばれることもある。 これは、プルーフ・オブ・ワーク(PoW)ネットワーク時代のイーサリアムに関連していたものであり、プルーフ・オブ・ステーク(PoS) のイーサリアムの機能ではない。プルーフ・オブ・ステーク(PoS)では、各スロットでブロック提案者 1 人が的確に選ばれる。
オプティミスティック・ロールアップ(optimistic rollup)
レイヤー 2によってトランザクションのスループットを上げ、メインネット(レイヤー 1)によってセキュリティを提供する、不正証明を用いたトランザクションのロールアップ。 プラズマという類似のレイヤー 2 ソリューションとは異なり、オプティミスティック・ロールアップではより複雑なトランザクションのタイプ、つまりEVMで実行できるすべてを処理できる。 ゼロ知識ロールアップとは異なり、不正証明を用いるためレイテンシの問題がない。
オラクル(Oracle)
オラクルとは、ブロックチェーンと現実世界を繋ぐブリッジであり、 情報を参照してスマートコントラクトで利用できるオンチェーンAPIとして機能する。
P
パリティ(parity)
イーサリアムのクライアントソフトウェアの中で最も優れた相互運用可能な実装の 1 つ。
ピア(peer)
イーサリアムのクライアントソフトウェアを実行して接続しているコンピューターで、同一のブロックチェーンのコピーを持っている。
P2P(Peert To Peer)ネットワーク
コンピューター(ピア)のネットワークで、中央集権的なサーバーベースのサービスを必要とせずに、集合的に機能を実行できる。
プラズマ
オプティミスティック・ロールアップと同様、不正証明を用いたオフチェーンのスケーリングソリューション。 プラズマは基本的なトークンの転送やスワップなどの単純なトランザクションに限って利用可能。
秘密鍵(シークレットキー) (private key (secret key))
イーサリアムのユーザーが、電子署名を生成することでアカウントまたはコントラクトの所有権を証明するための秘密の数字(公開鍵、アドレス、ECDSAを参照)。
プライベートチェーン(private chain)
完全にプライベートなブロックチェーン。許可型のアクセスとなっており、一般公開されていないもの。
プルーフ・オブ・ステーク(PoS)
暗号通貨のブロックチェーンプロトコルによって、分散型コンセンサスを達成する方法。 トランザクションの検証に参加するため、PoS は一定量の暗号通貨(ネットワーク内のステーク)の所有権を証明するようユーザーに要求する。
プルーフ・オブ・ワーク(PoW)
発見するために大量の計算を要するデータ(証明)の一部。
公開鍵(public key)
秘密鍵から一方向関数で導出された数字。公開共有され誰でも使用でき、対応する秘密鍵で作られた電子署名を検証できる。
R
レシート(receipt)
イーサリアムのクライアントから返されるデータで、特定のトランザクションのハッシュ、ブロックナンバー、使用されたガス代およびスマートコントラクトのデプロイにおいてはコントラクトアドレスを含む。
再帰可能攻撃(re-entrancy attack)
被害者のコントラクト関数を呼び出す攻撃者のコントラクトで構成される、被害者のコントラクトの実行中に再帰的に攻撃者のコントラクトを呼び出すような攻撃。 たとえば、被害者のコントラクトの一部をスキップして残高を更新したり、引き出す金額をカウントしたりすることで、資金が盗難される可能性がある。
報酬(reward)
プルーフ・オブ・ワーク(PoW)ソリューションを見つけたマイナーへの報酬として、それぞれの新しいブロックに含まれる ether の量。
再帰長プレフィックス(RLP)
イーサリアムのデベロッパーによって設計された、任意の複雑さと長さを持つオブジェクト(データ構造)をエンコードし、シリアライズする表現形式の標準。
ロールアップ(rollups)
レイヤー 2のスケーリングソリューションの一種で、複数のトランザクションをバッチ処理し、イーサリアムのメインチェーンに 1 つのトランザクションとして送信する。 これにより、ガス代を低減し、トランザクションのスループットを高めることができる。 ロールアップには、スケーラビリティを得るためのセキュリティを保障する方法の違いによってオプティミスティック・ロールアップとゼロ知識ロールアップの 2 つが存在する。
RPC
リモートプロシージャコール (RPC)は、ネットワークの詳細を理解する必要がなく、あるプログラムがネットワーク内の別のコンピューターのプログラムからサービスをリクエストするために使用するプロトコル。
S
セキュアハッシュアルゴリズム(SHA)
米国国立標準技術研究所(NIST)が発表した暗号化ハッシュ関数のファミリー。
セレニティ(Serenity)
以前は「Ethereum 2.0」または「Eth2」として知られていた、スケーリングと持続可能性のためのアップグレードを開始したイーサリアムの開発段階。
シリアライゼーション(serialization)
データ構造をバイト列に変換するプロセス。
シェアード/シェアードチェーン(shard / shard chain)
シェアードチェーンは、ブロックチェーン全体の個別のセクションであり、サブセットにバリデータが割り当てられる。 シェアードチェーンにより、イーサリアムのトランザクションスループットが高まり、オプティミスティック・ロールアップやゼロ知識ロールアップなどのレイヤー 2 ソリューションのデータ可用性が向上する。
サイドチェーン(sidechain)
スケーリングソリューションの 1 つ。独自(かつ通常は高速)のコンセンサスルールに従って別のチェーンを使用したもの。 サイドチェーンをメインネットに接続するためにはブリッジが必要となる。 ロールアップもサイドチェーンを利用するが、こちらはメインネットと連携して動作する。
署名(signing)
特定の秘密鍵の保有者によってトランザクションが承認されたことを暗号によって証明すること。
シングルトン(singleton)
コンピュータプログラミングにおいて、1 つのインスタンスのみが存在できるオブジェクトのこと。
スラッシャー(slasher)
アテステーションをスキャンして、スラッシング可能な違反を検索するエンティティ。 スラッシングは、ネットワークにブロードキャストされ、次のブロック提案者は、ブロックに証拠を追加し、 悪意のあるバリデータをスラッシングすることで報酬を受け取る。
スロット (slot)
プルーフ・オブ・ステーク(PoS)システムにおいて、バリデータが新しいブロックを提案できる一定時間(12 秒)。 スロットが空の場合もある。 32 スロットで 1エポックとなる。
スマートコントラクト(smart contract)
イーサリアムのコンピューティングインフラストラクチャ上で実行するプログラム。
SNARK
「succinct non-interactive argument of knowledge」の略で、ゼロ知識証明の一種。
ソフトフォーク(soft fork)
ブロックチェーンで、コンセンサスルールの変更により発生する分岐のこと。 ハードフォークとは逆に、ソフトフォークには後方互換性がある。新しいコンセンサスルールに従っている限り、アップグレードしたノードは、アップグレードしていないノードが作成したブロックを検証できる。
Solidity
JavaScript、C++、Java に似た構文を持つ手続き型(命令型)のプログラミング言語。 イーサリアムのスマートコントラクト用の言語で、最も広範囲にわたって頻繁に使用されている。 開発者はギャビン・ウッド博士。
Solidity インラインアセンブリ(Solidity inline assembly)
Solidityのなかに埋め込まれたEVMアセンブリ言語。 Solidity は特定の操作を容易に記述するためにインラインアセンブリをサポートしている。
スプリニアスドラゴン(Spurious Dragon)
ブロック 2,675,000 で発生したイーサリアムブロックチェーンのハードフォークで、大量の DoS の攻撃ベクタとクリアな状態に対応(タンジェリンホイッスルを参照)。 また、リプレイ攻撃に対する保護メカニズムも組み込まれた(ノンスを参照)。
ステーブルコイン(stablecoin)
他の資産の価値にペッグされた価値を持つERC-20 トークン。 ドルのような法定通貨や、金のような貴金属、ビットコインのような他の暗号通貨に担保されたステーブルコインがある。
ステーキング
バリデータとなりネットワークを担保するために一定量のETH(ステーク)を預け入れること。 バリデータは、トランザクションを検証し、PoSコンセンサスモデルの下でブロックを提案する。 ステーキングによって、ネットワークの利益を最優先に考えて行動する経済的インセンティブが得られる。 バリデータの職務を遂行すると報酬が得られるが、職務を怠ると大量の ETH を失うことになる。
ステーキングプール(staking pool)
複数のイーサリアムステーカーの ETH を合計し、バリデータキーのセットを有効にするために必要な 32ETH に到達するために使用される。 ノードオペレーターは、これらのキーを使用しコンセンサスに参加する。 ブロック報酬は、貢献しているステーカー間で分配される。 ステーキングプールや委任ステーキングは、イーサリアムプロトコルネイティブではないが、コミュニティによって多数のソリューションが作成されている。
STARK
「scalable transparent argument of knowledge」の略で、ゼロ知識証明の一種。
ステート(state)
ブロックチェーン上の特定の時点における全ての残高とデータのスナップショット。通常は特定のブロックの状態を指す。
ステートチャンネル(state channels)
参加者間でチャンネルが設定され、自由かつ安価に取引できるレイヤー 2のソリューション。 チャンネルを設定、閉じるためのトランザクションだけがメインネットに送信される。 非常に高いトランザクションスループットを実現するものの、事前に参加者の数を把握し、資金をロックアップすることに依存する。
スーパーマジョリティ(supermajority)
スーパーマジョリティとは、イーサリアムを保護するためにステーキングされた ETH の総量の 2/3(66%)を超える量を指す用語。 ビーコンチェーンでブロックを確定するには、スーパーマジョリティの投票が必要となる。
同期(syncing)
最新バージョンのブロックチェーン全体をノードにダウンロードするプロセス。
同期委員会(sync committee)
同期委員会は、バリデータからランダムに選択されたグループで、約 27 時間ごとに更新され、 有効なブロックヘッダに署名を追加することを目的としている。 同期委員会は、ライトクライアントがバリデータセット全体にアクセスせずにブロックチェーンの先頭を追跡できるようにする。
szabo
etherの単位。 1 szabo = 1012 wei、106 szabo = 1 ether。
T
タンジェリンホイッスル(Tangerine Whistle)
ブロック 2,463,000 で発生したイーサリアムブロックチェーンのハードフォークで、特定の I/O 集中型オペレーションのガス計算を変更し、低いガスコストを悪用したサービス拒否攻撃から蓄積した状態を消去するために発生したもの。
最終合計難易度(TTD)
合計難易度は、ブロックチェーンのある特定の時点までのすべてのブロックの Ethash の採掘難易度の合計。 最終合計難易度は、実行クライアントがマイニングとブロックゴシップ機能を停止し、ネットワークがプルーフ・オブ・ステーク(PoS)に移行するきっかけとして使われた合計難易度の特定の値を指す。
テストネット(testnet)
テストネットワークの略で、イーサリアムのメインネットワーク(メインネット参照)の動作をシミュレートするためのネットワーク。
トークン(token)
イーサリアムブロックチェーン上のスマートコントラクトで定義された取引可能な仮想商品。
トークン標準(token standard)
ERC-20 提案によって導入された、これは代替性トークンのための標準化されたスマートコントラクト構造を提供。 NFTとは異なり、同一コントラクトからのトークンであれば、追跡、取引、交換が可能。
トランザクション(transaction)
特定のアドレスを対象に、発信元アカウントによって署名されたイーサリアムブロックチェーンにコミットされたデータ。 トランザクションには、そのトランザクションのガスリミットなどのメタデータが含まれている。
トランザクションフィー(transaction fee)
イーサリアムネットワークを使用するたびに支払う必要がある手数料。 たとえば、トークンの交換や収集品の購入などで、ウォレットから資金を送ったり、Dappとやり取りをすることなどが挙げられる。 これはサービス料のようなものであり、 料金はネットワークの混雑状況によって変動する。 トランザクション処理を担当するバリデータが、より高い手数料のトランザクションを優先する傾向があり、その結果、混雑すると価格が上昇する。
技術的なレベルでは、トランザクションフィーは、トランザクションに必要なガスの量に関係する。
トランザクションフィーの削減が現在注目されているテーマとなっている。 レイヤー 2を参照。
トラストレス(trustlessness)
第三者の信用なしにトランザクションを仲介するネットワークの能力。
チューリング完了(Turing complete)
イギリスの数学者兼コンピュータ科学者であるアラン・チューリングにちなんで名付けられた概念。データ操作規則のシステム(コンピュータの命令セット、プログラミング言語、セル・オートマトンなど)が、あらゆるチューリング機械のシミュレーションに使用できる場合、「チューリング完了」または、「計算普遍」であると呼ばれる。
V
バリデータ(validator)
プルーフ・オブ・ステーク(PoS)システムにおいて、データの保存、トランザクションの処理、ブロックチェーンへの新しいブロックの追加を行うノード。 バリデータを有効にするためには、32ETH をステークできる必要がある。
バリデータのライフサイクル(validator lifecycle)
バリデータが存在できる状態のシーケンス。 たとえば、
- deposited: バリデータが最低 32 ETH をデポジットコントラクトに入金している
- pending: バリデータがアクティブ化キューの中で、既存のバリデータがネットワークに投票するのを待っている
- active: 現在ブロックのアテステーションと提案を行っている
- slashing: バリデータが不正な動作をしており、スラッシングされている
- exiting: 自発的に終了、もしくは追放されたため、バリデータにネットワーク終了のフラグが立てられている。
有効性証明(validity proof)
特定のレイヤー 2におけるセキュリティモデルで、速度を上げるために複数のトランザクションを 1 つのバッチにロールアップし、イーサリアムに 1 つのトランザクションとして送信する。 トランザクションの計算はオフチェーンで行われ、その有効性の証明とともにメインチェーンに公開される。 この方法は、セキュリティを維持しつつ処理可能なトランザクションの量を増加させる。 ロールアップの中には、不正証明を利用するものもある。
Validium
トランザクションのスループットを向上させるために有効性証明を使用するオフチェーンソリューション。 ゼロ知識ロールアップとは異なり、Validium はデータをレイヤー 1 のメインネットに保存しない。
Vyper
Python に似た構文を持つ高水準プログラミング言語。 純粋関数型言語に近づくことを目標としている。 ヴィタリック・ブテリンによって開発された。
W
ウォレット(wallet)
秘密鍵を保持するソフトウェア。 イーサリアムのアカウントへのアクセスおよび操作、またはスマートコントラクトとやり取りするために使用する。 鍵をウォレットに保管する必要はなく、セキュリティを向上させるためにオフラインストレージ(たとえば、メモリーカードや紙)から取得することもできる。 ウォレットという名前ではあるが、実際にコインやトークンを保持することはない。
Web3
Web の 3 番目のバージョン。 ギャビン・ウッド博士によって最初に提案されたもので、中央集権的に所有・管理されるアプリケーションから、分散型プロトコルで構築されたアプリケーションに移行するという Web アプリケーションの新しいビジョンと焦点を示している。 (dappを参照)
wei
イーサの最小単位。 1018 wei = 1 ether.
Z
ゼロアドレス(zero address)
全てがゼロで構成されたイーサリアムアドレスであり、所有された流通トークンを削除するためのアドレスとして頻繁に使用される。 burn()メソッドによってスマートコントラクトのインデックスから形式的に削除されたトークンと、このアドレスに送信されたトークンは区別される。
ゼロ知識証明(zero-knowledge proof)
ゼロ知識証明とは、ある命題が真であることを、追加の情報を伝えることなく証明することができる暗号方式である。
ゼロ知識ロールアップ(zero-knowledge rollup)
レイヤー 2によってトランザクションのスループットを高め、メインネット(レイヤー 1) によってセキュリティを提供する、有効性証明を用いたトランザクションのロールアップ。 オプティミスティック・ロールアップのように複雑なトランザクションを扱うことはできないが、トランザクションは送信された段階で有効であることが確定し、遅延が発生することはない。
出典
『マスタリング・イーサリアム』(opens in a new tab)(アンドレアス・M・ アントノプロス、ギャビン・ウッド(opens in a new tab)著)の一部より CC-BY-SA のもと提供されました。
本ページへの貢献
不足している情報はありませんか? 誤情報はありませんか? GitHub でこちらの用語集に貢献いただき、改善にご協力ください。