-
Notifications
You must be signed in to change notification settings - Fork 4.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #10570 from ethereum/june27Japanese
Update Japanese (ja) Use Ethereum, Docs Proof-of-work, and Docs Proof-of-stake, and add translated images
- Loading branch information
Showing
23 changed files
with
2,157 additions
and
85 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
163 changes: 163 additions & 0 deletions
163
...lations/ja/developers/docs/consensus-mechanisms/pos/attack-and-defense/index.md
Large diffs are not rendered by default.
Oops, something went wrong.
Binary file added
BIN
+13 KB
...developers/docs/consensus-mechanisms/pos/attack-and-defense/reorg-schematic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+148 KB
...developers/docs/consensus-mechanisms/pos/attestations/attestation_schematic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
86 changes: 86 additions & 0 deletions
86
.../translations/ja/developers/docs/consensus-mechanisms/pos/attestations/index.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
--- | ||
title: アテステーション | ||
description: イーサリアムのプルーフ・オブ・ステークにおけるアテステーションについての説明 | ||
lang: ja | ||
--- | ||
|
||
バリデータは、各エポックにおいて、アテステーションを作成、署名し、ブロードキャストする必要があります。 このページでは、アテステーションがどのような内容を持つか、およびどのように処理され、コンセンサスを実現するクライアント間でどのようにやりとりされるかについての概要を説明します。 | ||
|
||
## アテステーションとは何か? {#what-is-an-attestation} | ||
|
||
バリデータは、[エポック](/glossary/#epoch) (6.4 分) ごとに、ネットワークに対するアテステーションを提案します。 アテステーションは、当該エポックにおける特定のスロットのみを対象とします。 アテステーションとは、チェーンに対するバリデータの意見を支持する投票を行うことです。具体的には、最新の正当化されたブロックと、現在のエポックにおける最初のブロック(それぞれ、`ソース`と`ターゲット`のチェックポイントと呼ぶ)を対象とします。 この情報は、参加するすべてのバリデータを対象として結合されるため、ネットワークがブロックチェーンの状態についてコンセンサスに達することが可能になります。 | ||
|
||
アテステーションには、以下の構成要素が含まれます: | ||
|
||
- `aggregation_bits`:バリデータ委員会における当該バリデータのインデックスにポジションがマッピングされたバリデータのビットリスト。この値(0 または 1)は、当該バリデータが当該`データ`を署名したか否か(つまり、当該バリデータがアクティブであり、ブロック提案者に同意するか否か)を示します。 | ||
- `data`:当該アテステーションに関する詳細情報(以下の定義を参照)。 | ||
- `signature`:個々のバリデータの署名を集約した BLS 署名。 | ||
|
||
アテステーションを行うバリデータはまず、`データ<./code>を構築する必要があります。 この<code>データ`には、以下の情報が含まれます: | ||
|
||
- `slot`:当該のアテステーションが参照するスロット番号。 | ||
- `index`:特定のスロットにおいて、当該バリデータが所属する委員会を特定する番号。 | ||
- `beacon_block_root`:当該バリデータが、(フォーク選択アルゴリズムを適用した結果として)チェーンの先頭にあると認識するブロックのルートハッシュ。 | ||
- `source`:ファイナリティ投票の一部であり、当該バリデータがどのブロックを最も最近正当化されたブロックとして認識するかを示す。 | ||
- `target`:ファイナリティ投票の一部であり、当該バリデータがどのブロックを現在のエポックにおける最初のブロックとして認識するかを示します。 | ||
|
||
`data`が構築されると、バリデータは、自分が参加したことを示すために、自身のバリデータ・インデックスに対応した`aggregation_bits`のビットを 0 から 1 に変更することができます。 | ||
|
||
バリデータは最後に、このアテステーションに署名し、ネットワークに送信します。 | ||
|
||
### アテステーションの集約 {#aggregated-attestation} | ||
|
||
このデータを各バリデータに提供する場合、ネットワークに対する負担が大きくなります。 このため、各バリデータからのアテステーションは、より広汎に送信する前にサブネット内で集約されます。 具体的には、各バリデータの署名を集約することで、送信されるアテステーションに当該コンセンサスの`データ`と、この`データ`に同意するすべてのバリデータの署名を結合した単一の署名が含まれるようにします。 これは、`aggregation_bits`を用いて確認することができます。aggregation_bits は、各バリデータが所属する委員会におけるインデックス(バリデータの ID は`データ`に含まれています)であり、個々の署名に対してクエリを実行するために使用できるからです。 | ||
|
||
エポックごとに、各サブネットから 1 名のバリデータが`アグリゲータ`に選定されます。 アグリゲータは、ゴシップネットワーク上において、自身のアテステーションと同等の`データ`を持つすべてのアテステーションを収集します。 データが一致するアテステーションを送信したすべてのユーザーは、`aggregatoin_bits`に記録されます。 アグリゲータは次に、この集約されたアテステーションをより広汎なネットワークに送信します。 | ||
|
||
バリデータがブロック提案者に選定されると、当該の新規ブロックにおける最新のスロットまで、各サブネットからのアテステーションを集約して、パッケージ化します。 | ||
|
||
### アテステーション追加のライフサイクル {#attestation-inclusion-lifecycle} | ||
|
||
1. 生成 | ||
2. 伝播 | ||
3. 集約 | ||
4. 伝播 | ||
5. 追加 | ||
|
||
以下の図は、アテステーションのライフサイクルの概略を示したものです。 | ||
|
||
![アテステーションのライフサイクル](./attestation_schematic.png) | ||
|
||
## 報酬 {#rewards} | ||
|
||
バリデータは、アテステーションを提出することで報酬を得ます。 アテステーション報酬は、`ベース報酬`および`追加の遅延`という 2 つの変数により決定されます。 報酬は、追加の遅延が 1 に等しい場合に最も高額になります。 | ||
|
||
`アテステーション報酬=7/8 x ベース報酬 x (1/追加の遅延)` | ||
|
||
### ベース報酬 {#base-reward} | ||
|
||
ベース報酬は、アテステーションを行うバリデータの数と、彼らの有効なステーク済みイーサ残高により計算されます。 | ||
|
||
`base reward = validator effective balance x 2^6 / SQRT(Effective balance of all active validators)` | ||
|
||
#### 追加の遅延 {#inclusion-delay} | ||
|
||
各バリデータがチェーンの先頭(`ブロック n`)で投票した時点では、`ブロック n+1`はまだ提案されていません。 このため、追加されるアテステーションは当然**1 ブロック後**になり、`ブロック n`がチェーンの先頭である時点で投票したすべてのバリデータのアテステーションは`ブロック n+1`に含まれることになるため、**追加の遅延**は「1」になります。 アテステーション報酬は、ベース報酬に追加遅延の値の逆数を掛け合わせて算出されるため、追加の遅延が「2」スロットに倍増した場合、アテステーション報酬は 2 分の 1 になります。 | ||
|
||
### アテステーションで発生しうるシナリオ {#attestation-scenarios} | ||
|
||
#### 投票を行うバリデータが欠席する場合 {#missing-voting-validator} | ||
|
||
バリデータがアテステーションを提出できるのは、最長で 1 エポックの期間です。 エポック 0 でアテステーションを提出しなかった場合、エポック 1 で提出できますが、追加遅延が発生します。 | ||
|
||
#### アグリゲータが欠席する場合 {#missing-aggregator} | ||
|
||
エポックごとに、合計 16 名のアグリゲータが存在します。 さらに、**256 件のエポックを対象とする 2 つのサブネット**を講読するランダムなバリデータが存在し、アグリゲータが欠席する際のバックアップとして機能します。 | ||
|
||
#### ブロック提案者が欠席する場合 {#missing-block-proposer} | ||
|
||
運が良ければ、アグリゲータがブロック提案者になる場合もあります。 ブロック提案者が欠席したためにアテステーションが追加されなかった場合、次のブロック提案者がこの集約済みのアテステーションを継承して、次のブロックに追加します。 ただし、**追加の遅延**の値が 1 増えます。 | ||
|
||
## 参考文献 {#further-reading} | ||
|
||
- [Vitalik のコンセンサス仕様(注釈付)におけるアテステーションの説明](https://github.com/ethereum/annotated-spec/blob/master/phase0/beacon-chain.md#attestationdata) | ||
- [eth2book.info におけるアテステーションの説明](https://eth2book.info/altair/part3/containers/dependencies#attestationdata) | ||
|
||
_役に立つコミュニティリソースをご存知の場合は、 このページを編集して追加してください。_ |
Oops, something went wrong.