「TezosのProof-of-stake」を編集中

移動先: 案内検索

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
1行目: 1行目:
= Tezosにおけるステークの証拠=
+
= Proof-of-stake in Tezos =
  
このドキュメントでは、Tezos証明証明アルゴリズムの詳細な説明を提供します。 PVSSが導入した変更は含まれていません」と述べています。
+
This document provides an in-depth description of the Tezos proof-of-stake algorithm. '''WORK IN PROGRESS, CONSTANTS STILL SUBJECT TO ADJUSTMENT.''' '''THIS DOES NOT CONTAIN CHANGES INTRODUCED BY PVSS.'''
  
==ブロック==
+
== Blocks ==
  
Tezosブロックチェーンはブロックのリンクされたリストです。ブロックには、ヘッダーと操作のリストが含まれます。ヘッダー自体はシェルヘッダー(すべてのプロトコルに共通)とプロトコル固有のヘッダーに分解されます。
+
The Tezos blockchain is a linked list of blocks. Blocks contain a header, and a list of operations. The header itself decomposes into a shell header (common to all protocols) and a protocol specific header.
  
シェルヘッダ<sub> <sub> <sub> <sub>?</sub> </sub> </sub>?</sub>
+
Shell header <sub><sub><sub><sub>~</sub></sub></sub>~</sub>
  
シェルヘッダーには
+
The shell header contains
  
* <code> level </code>:起点ブロックからのブロックの高さ
+
* <code>level</code>: the height of the block, from the genesis block
* <code> proto </code>:起源以来のプロトコル変更の数(mod 256)
+
* <code>proto</code>: number of protocol changes since genesis (mod 256)
* <code> previous </code>:先行ブロックのハッシュ。
+
* <code>predecessor</code>: the hash of the preceding block.
* <code> timestamp </code>:ブロックが作成されたと主張されているタイムスタンプ。
+
* <code>timestamp</code>: the timestamp at which the block is claimed to have been created.
* <code> validation_pass </code>:検証パス数(操作リストのリスト数)
+
* <code>validation_pass</code>: number of validation passes (also number of lists of lists of operations)
* <code> fitness </code>:符号なしバイト列のシーケンス。長さ順、辞書順。これは、このブロックで終了する連鎖の主張された適合度を表します。
+
* <code>fitness</code>: a sequence of sequences of unsigned bytes, ordered by length and then lexicographically. It represents the claimed fitness of the chain ending in this block.
* <code> operations_hash </code>ブロック内のさまざまな操作セットのMerkleツリーのルートハッシュリストのMerkleツリーのルートハッシュ。
+
* <code>operations_hash</code> The root hash of a merkle tree of a list of root hashes of merkle trees for various sets of operations in the block.
* <code> context </code>このブロックの適用後のコンテキストの状態のハッシュ。軽いクライアントに便利です。
+
* <code>context</code> Hash of the state of the context after application of this block. Useful for light clients.
  
プロトコルヘッダ(tezos.alpha用):<sub> <sub>?</sub> <sub> <sub> <sub> <sub> <sub> <sub> <sub> <sub> <sub> <sub> </sub> </sub> </sub> </sub> </sub> </sub> </sub> </sub> </sub> </sub> > </sub> </sub> ~~
+
Protocol header (for tezos.alpha): <sub><sub>~</sub><sub><sub><sub><sub><sub><sub><sub><sub><sub><sub><sub><sub>~</sub></sub></sub></sub></sub></sub></sub></sub></sub></sub></sub></sub></sub>~~
  
* <code> signature </code>:シェルとプロトコルヘッダーのデジタル署名(署名自体を除く)。
+
* <code>signature</code>: a digital signature of the shell and protocol headers (excluding the signature itself).
* <code> priority </code>:tezos.alphaのすべてのブロックの高さは、ベーカーズの順序付けられたリストに関連付けられています。そのリストの最初のパン屋は、前のブロックの1分後にその高さでブロックを焼くことができる最初のパンです。リストの2番目のパン屋はそうすることができるが、3分後に3番目のパン屋は、前のブロックなどの後2分だけである。この整数はブロックの優先順位です。
+
* <code>priority</code>: every block height in tezos.alpha is associated with an ordered list of bakers. The first baker in that list is the first one who can bake a block at that height, one minute after the previous block. The second baker in the list can do so, but only two minutes after the previous block, etc, the third baker three minutes after. This integer is the priority of the block.
* <code> seed_nonce_hash </code>:チェーン上でエントロピーを生成するために使用される乱数へのコミットメント。 (<code> BLOCKS_PER_COMMITMENT </code> = 32)ブロックのうちの1つにのみ存在します。
+
* <code>seed_nonce_hash</code>: a commitment to a random number, used to generate entropy on the chain. Present in only one out of (<code>BLOCKS_PER_COMMITMENT</code> = 32) blocks.
* <code> proof_of_work_nonce </code>:スパム対策として、難易度の低い難解な作業実績をブロックに渡すために使用されるノンスです。
+
* <code>proof_of_work_nonce</code>: a nonce used to pass a low-difficulty proof-of-work for the block, as a spam prevention measure.
  
ブロックサイズ<sub> <sub>?</sub>?</sub> ~~
+
Block size <sub><sub>~</sub>~</sub>~~
  
Tezosは一度にブロックをダウンロードするのではなく、ヘッダーとさまざまな操作のリストを別々に検討します。 Tezos.alphaでは、トランザクションのリスト<code> MAX_TRANSACTION_LIST_SIZE </code> = 500kB(最大でも10MBごとに5MB)に最大サイズのバイトが適用されます。
+
Tezos does not download blocks all at once, but rather considers headers and various lists of operations separately. In Tezos.alpha, a maximum size in bytes is applied to the list of transactions <code>MAX_TRANSACTION_LIST_SIZE</code> = 500kB (that's 5MB every 10 minutes at most).
  
他の操作リスト(支持、宣言、公開)は操作の数の点で制限されています(防御的なプログラミングスタイルでも、予想される操作のサイズに制限があります)。
+
Other lists of operations (endorsements, denounciations, reveals) are limited in terms of number of operations (though the defensive programming style also puts limits on the size of operations it expects).
  
これにより、コンセンサス重大操作がブロック空間のトランザクションと競合しないようにします。
+
This ensure that consensus critical operations do not compete with transactions for block space.
  
==委譲==
+
== Delegation ==
  
Tezos.alphaは委任された証明証明モデルを使用します。 DPOSは、Bitsharesなどで使用される特定のタイプのアルゴリズムを設計するようになりました。これはTezos.alphaで使用されているモデルではありませんが、委任という概念があります。
+
Tezos.alpha uses a delegated proof-of-stake model. DPOS has come to design a specific type of algorithm used, for instance in in Bitshares. This is ''not'' the model used in Tezos.alpha, though there is a concept of delegation.
  
デリゲート<sub>?<sub>?</sub> </sub>?
+
Delegates <sub>~<sub>~</sub></sub>~
  
tezos.alphaでは、トークンは、「マネージャーキー」と呼ばれる私有鍵によって制御される。 Tezos.alphaアカウントは、マネージャがパブリックデリゲートキーを指定できるようにします。このキーは、管理者自身によって、または他の当事者によって制御されてもよい。代表者の責任は、ステークスの合意アルゴリズムとTezosのガバナンスに参加することです。
+
In tezos.alpha, tokens are controlled through a private key called the &quot;manager key&quot;. Tezos.alpha accounts let the manager specify a public delegate key. This key may be controlled by the manager themselves, or by another party. The responsibility of the delegate is to take part in the proof-of-stake consensus algorithm and in the governance of Tezos.
管理者は、いつでもデリゲートを変更することができますが、契約に不変のデリゲートを指定するようにマークすることはできます。委任を動的に変更することはできますが、変更は数サイクル後にのみ有効になります。
 
  
Tezosには、公開鍵のハッシュだけのデフォルトアカウントもあります。これらのアカウントには、代理キーが添付されておらず、ステークの証明アルゴリズムに参加していません。
+
The manager can generally change the delegate at any time, though contract can be marked to specify an immutable delegate. Though delegation can be changed dynamically, the change only becomes effective after a few cycles.
  
最後に、デリゲートアカウント(セーフティデポジットの配置に使用される)はデリゲート自体に自動的に委任されます。
+
There are also default accounts in Tezos, which are just the hash of the public key. These accounts do not have an attached delegate key and do not participate in the proof-of-stake algorithm.
  
アクティブおよびパッシブの代理人<sub> <sub> <sub> <sub> <sub> <sub> <sub> <sub> <sub> <sub> <sub>?</sub> </sub> / sub> </sub>?</sub> </sub> </sub>
+
Finally, delegate accounts (used for placing safety deposits) are automatically delegated to the delegate itself.
  
デリゲートには、アクティブまたはパッシブのいずれかのマークを付けることができます。パッシブデリゲートは、ベーキングまたは承認のために選択することはできません。
+
Active and passive delegates <sub><sub><sub><sub><sub><sub><sub><sub><sub><sub><sub><sub>~</sub></sub></sub></sub></sub></sub></sub></sub></sub></sub></sub>~</sub>
  
過去の<code> CYCLES_BEFORE_DEACTIVATION </code> = 5サイクルでブロックや保証の作成に失敗したり、セキュリティデポジットを変更しなかった場合、デリゲートはサイクル<code> n </code>でパッシブになります。つまり、この場合、<code> n-1 </code>、<code> n-3 </code>、...、<code> n-CYCLES_BEFORE_DEACTIVATION </code>サイクルです。
+
A delegate can be marked as either active or passive. A passive delegate cannot be selected for baking or endorsement.
  
小ブロックまたは保証を作成する機会が与えられていないため、ブロックされていない可能性がある小さなデリゲートは、2サイクルに1回、セキュリティデポジットとの意味のない小さなトランザクションを行うことによって、
+
A delegate becomes passive for cycle <code>n</code> when they fail to create any of the blocks or endorsements in the past <code>CYCLES_BEFORE_DEACTIVATION</code> = 5 cycles, or to change their security deposit. So, in this case, in cycles <code>n-1</code>, <code>n-3</code>, ..., <code>n - CYCLES_BEFORE_DEACTIVATION</code>.
  
ディスカッション:<code> CYCLES_BEFORE_DEACTIVATION </code>に小さな値を指定すると、チェーンが消えていく参加者に素早く適応します。これは、「難易度調整」とは異なります。 Bitcoinのしかし、長い値を指定すると、少数派フォークが大部分のフォークよりも長い時間ゆっくりと進展することが保証されます。 <code> CYCLES_BEFORE_DEACTIVATION </code>は、多数派チェーンに&quot;ヘッドスタート&quot;を与えます。
+
A small delegate who is afraid they might be deactivated because they were not given the opportunity to create any block or endorsement can ensure they do not become deactivated by making small, meaningless transactions with their security deposits once every two cycles.
  
これはプロトコル変更の議決権には影響しません。
+
Discussion: giving <code>CYCLES_BEFORE_DEACTIVATION</code> a small value means the chain adapts more quickly to participants disappearing. It's not unlike the &quot;difficulty adjustment&quot; of Bitcoin. However, a long value would ensure that a minority fork progresses more slowly for a longer period of time than the majority fork. <code>CYCLES_BEFORE_DEACTIVATION</code> gives the majority chain a &quot;headstart&quot;.
  
Rolls <sub>?</sub> ~~
+
This does not affect voting rights for protocol changes.
  
理論的には、各トークンにシリアル番号を指定し、特定の代理人に割り当てられた特定のトークンを追跡することは可能です。しかし、そのような粒度レベルでの割り当てを追跡することは、ノードの要求が高すぎるであろう。ロールの概念を紹介します。ロールとは、指定されたキーに委任されたコインの集合を表します。トークンが移動されるか、契約の代理人が変更されると、ロールは次のアルゴリズムに従ってデリゲートに変更されます。
+
Rolls <sub>~</sub>~~
  
各デリゲートにはロールIDのスタックといくつかの「変更」が加えられています。これは常に<code> TOKENS_PER_ROLLS </code>より小さい量です。トークンが1つのデリゲートから別のデリゲートに移動すると、まずその変更が使用されます。それが十分でない場合、ロールは「壊れている」必要があります。これはデリゲートスタックからグローバルに割り当てられていないロールスタックに移動することを意味します。これは金額がカバーされるまで行われ、若干の変更が残っている可能性があります。
+
In theory, it would be possible to give each token a serial number, and track the specific tokens assigned to specific delegates. However, it would be too demanding of nodes to track assignement at such a granular level. Instead we introduce the concept of rolls. A roll represents a set of coins delegated to a given key. When tokens are moved, or a delegate for a contract is changed, the rolls change delegate according to the following algorithm.
  
次に、もう一方の代理人が入金されます。最初に、量が「変更」に加えられる。それが<code> TOKENS_PER_ROLLS </code>より大きくなると、グローバルな未割り当てロールスタックからデリゲートスタックにロールがアンスタックされます。グローバルスタックが空の場合は、新しいロールが作成されます。
+
Each delegate has a stack of roll ids plus some &quot;change&quot; which is always an amount smaller than <code>TOKENS_PER_ROLLS</code>. When tokens are moved from one delegate to the other, first, the change is used. If it is not enough, rolls need to be &quot;broken&quot; which means that they move from the delegate stack to a global, unallocated, roll stack. This is done until the amount is covered, and some change possibly remains.
  
これにより、デリゲートが複数のトランザクションによって変更された場合、各操作がフルロールよりも少なくてもロールの割り当てが保持されるという特性が維持されます。
+
Then, the other delegate is credited. First the amount is added to the &quot;change&quot;. If it becomes greater than <code>TOKENS_PER_ROLLS</code>, then rolls are unstacked from the global unallocated roll stack onto the delegate stack. If the global stack is empty, a fresh roll is created.
  
このようにトークンを追跡する利点は、悪意のあるフォークを作成するデリゲートが、そのトークンを制御してシャッフルしても、割り当てられた特定のロールを簡単に変更できないことです。
+
This preserves the property that if the delegate is changed through several transactions, the roll assignment is preserved, even if each operation moves less than a full roll.
  
ロールは<code> TOKENS_PER_ROLLS </code> = 10,000のトークンを保持しているため、テゾス基金の計画起源ブロックに約80,000ロールがあるはずですが、ロールアップの回数はインフレーションや委任に伴って増加します。
+
The advantage of tracking tokens in this way is that a delegate creating a malicious fork cannot easily change the specific rolls assigned to them, even if they control the underlying tokens and shuffle them around.
  
ロールスナップショット</sub> </sub> </sub> </sub>
+
Rolls hold <code>TOKENS_PER_ROLLS</code> = 10,000 tokens and thus there should be about 80,000 rolls in the Tezos foundation's planned genesis block, though the number of rolls will increase with inflation and / or participation in the delegation.
ロールスナップショットは、指定されたブロックのロール状態を表します。ロールスナップショットは、<code> BLOCKS_PER_ROLL_SNAPSHOT </code> = 256ブロックごとに、つまり1サイクルにつき16回使用されます。メモリ消費と経済効率の間にはトレードオフがあります。ロールスナップショットが頻繁に発生すると、大量のメモリが消費されます。彼らがあまりにも稀である場合、戦略的参加者はスナップショットを予期して多くのトークンを購入し、直後に再販することができます。
 
  
==サイクル数==
+
Roll snapshots <sub><sub><sub><sub><sub><sub>~</sub></sub></sub></sub></sub></sub>~
  
Tezos.Alphaブロックチェーン内のブロックは、「サイクル」にグループ分けされている。の<code> BLOCKS_PER_CYCLE </code> = 4,096ブロック。ブロックは少なくとも<code> TIME_BETWEEN_BLOCKS </code> = 1分間隔であるため、サイクルは「少なくとも」「2日、20時間、および16分」ということを意味します。以下の説明では、現在のサイクルは<code> n </code>と呼ばれ、チェーンの先頭からn番目のサイクルです。サイクル<code>(n-1)</code>は、前のサイクル<code>(n-2)</code>のサイクル<code>(n + 1) </code>は1つ後などです
+
Roll snapshots represent the state of rolls for a given block. Roll snapshots are taken every <code>BLOCKS_PER_ROLL_SNAPSHOT</code> = 256 blocks, that is 16 times per cycle. There is a tradeoff between memory consumption and economic efficiency. If roll snapshots are too frequent, they will consumme a lot of memory. If they are too rare, strategic participants could purchase many tokens in anticipation of a snapshot and resell them right after.
  
どの時点でも、tezosシェルは、フォークポイントが過去に<code> ALLOWED_FORK </code> = 5サイクル以上のサイクル(つまり、少なくとも「14日5時間以上」であるブランチを暗黙的に受け入れることはありません、および20分)。
+
== Cycles ==
  
セキュリティデポジット<sub>?<sub> <sub> <sub> <sub>?</sub> </sub> </sub> </sub> </sub>?
+
Blocks in the Tezos.Alpha Blockchain are grouped into &quot;cycles&quot; of <code>BLOCKS_PER_CYCLE</code> = 4,096 blocks. Since blocks are at least <code>TIME_BETWEEN_BLOCKS</code> = one minute apart, this means a cycle lasts ''at least'' 2 days, 20 hours, and 16 minutes. In the following description, the current cycle is referred to as <code>n</code>, it is the nth cycle from the beginning of the chain. Cycle <code>(n-1)</code> is the cycle that took place before the current one, cycle <code>(n-2)</code> the one before, cycle <code>(n+1)</code> the one after, etc.
  
保証金の費用はブロックごとに<code> BLOCK_SECURITY_DEPOSIT </code> = 512 XTZ、裏書ごとに<code> ENDORSEMENT_SECURITY_DEPOSIT </code> = 64 XTZです。
+
At any point, the tezos shell will not implicitly accept a branch whose fork point is in a cycle more than <code>ALLOWED_FORK</code> = 5 cycles in the past (that is ''at least'' 14 days, 5 hours, and 20 minutes).
  
各デリゲートキーには、同じ鍵で管理されるセキュリティデポジットアカウントが添付されています。代理人はこの口座に引き出して入金することができますが、「凍結した」口座より引き出せません。量。作成された各ブロック、署名された各裏書きは、固定された量を増加させます。
+
Security deposits <sub>~<sub><sub><sub><sub><sub>~</sub></sub></sub></sub></sub></sub>~
  
この堆積物を必要とするブロックを作る直前に結合物を堆積させることが可能である。サイクル<code> n </code>のブロックと保証の入金は、未凍結です。サイクル<code> n + ALLOWED_FORK </code>の最後に
+
The cost of a security deposit is <code>BLOCK_SECURITY_DEPOSIT</code> = 512 XTZ per block created and <code>ENDORSEMENT_SECURITY_DEPOSIT</code> = 64 XTZ per endorsement.
  
預金は(<code> BLOCK_SECURITY_DEPOSIT </code> + <code> ENDORSEMENT_SECURITY_DEPOSIT </code> * <code> ENDORSERS_PER_BLOCK)いつでも<code> ALLOWED_FORK </code>の期間ロックされているので、 <code> BLOCKS_PER_CYCLE </code>)/ <code> 763e6 </code> =すべてのトークンの8.25%は保証金として保持する必要があります(<code> ALLOWED_FORK </code>また、デリゲートは、ブロックの作成を逃さないために委任されたトークンの量の8.25%以上を所有する必要があることを意味します。
+
Each delegate key has an attached security deposit account controlled by the same key. Delegates can withdraw and deposit in this account, but they cannot withdraw more than the &quot;frozen&quot; amount. Each blocks created, each endorsement signed increases the amount that is frozen.
  
ベイキングの権利<sub> <sub> <sub> <sub>?</sub> </sub> </sub> </sub> ~~
+
It is possible to deposit a bond just prior to creating a block requiring this deposit. Deposits for blocks and endorsements in cycle <code>n</code> are &quot;unfrozen&quot; at the end of cycle <code>n+ALLOWED_FORK</code>.
  
tezos.alphaを焼くことは、ブロックに署名して公開する行為です。 Bitcoinでは、ブロックを公開する権利は、作業証明パズルを解決することに関連しています。 tezos.alphaでは、<code> n </code>サイクルでブロックを公開する権利は、<code> n-ALLOWED_FORK-2 </code>サイクルからランダムに選択されたロールスナップショットのランダムに選択されたロールに割り当てられます。
+
Since deposits are locked for a period of <code>ALLOWED_FORK</code> one can compute that at any given time, about ((<code>BLOCK_SECURITY_DEPOSIT</code> + <code>ENDORSEMENT_SECURITY_DEPOSIT</code> * <code>ENDORSERS_PER_BLOCK</code>) * (<code>ALLOWED_FORK</code> + 1) * <code>BLOCKS_PER_CYCLE</code>) / <code>763e6</code> = 8.25% of all tokens should be held as security deposits. It also means that a delegate should own over 8.25% of the amount of token delegated to them in order to not miss out on creating any block.
  
当面は、プロトコルが各サイクルごとにランダムなシードを生成することを認める。このランダムシードから、サイクルのベーキング権を引き出すために使用されるCSPRNGをシードできます。
+
Baking rights <sub><sub><sub><sub><sub>~</sub></sub></sub></sub></sub>~~
  
サイクル中の各位置またはスロットには、パン製造者の優先順位リストが関連付けられる。これは、アクティブなロールのセットから、置き換えてランダムに描画されます。各ロールはデリゲートの公開鍵に関連付けられているため、サイクルの各スロットに対して、ブロックを作成して署名するための公開鍵の順序付きリストがあります。このリストに同じ公開キーが複数回表示される可能性があります。
+
Baking in tezos.alpha is the action of signing and publishing a block. In Bitcoin, the right to publish a block is associated with solving a proof-of-work puzzle. In tezos.alpha, the right to publish a block in cycle <code>n</code> is assigned to a randomly selected roll in a randomly selected roll snapshot from cycle <code>n-ALLOWED_FORK-2</code>.
  
最も優先度の高いデリゲートは、<code> timestamp_of_previous_block </code>と<code> TIME_BETWEEN_BLOCKS </code> = 1分より大きいタイムスタンプでブロックをベイク処理できます。優先度がk番目に高いものは、<code> TIME_BETWEEN_BLOCKS + k * TIME_DELAY_FOR_PRIORITY </code> =(1 + k)分です。
+
We admit, for the time being, that the protocol generates a random seed for each cycle. From this random seed, we can seed a CSPRNG which is used to draw baking rights for a cycle.
  
将来のバージョンでは、<code> TIME_DELAY_FOR_PRIORITY </code>は<code> TIME_BETWEEN_BLOCKS </code>よりも低い値に設定されます。
+
To each position, or slot, in the cycle, is associated a priority list of bakers. This is drawn randomly, with replacement, from the set of active rolls. Each roll is associated with the public key of a delegate, therefore, for each slot in the cycle, we have an ordered list of public keys which may create and sign a block. It is possible that the same public key appears multiple times in this list.
  
ブロックをベイク処理すると、<code> BLOCK_REWARD </code> = 16 XTZにブロック内のトランザクションによって支払われたすべての手数料のブロック報酬が与えられます。
+
The delegate with the highest priority can bake a block with a timestamp greater than <code>timestamp_of_previous_block</code> plus <code>TIME_BETWEEN_BLOCKS</code> = one minute. The one with the kth highest priority, <code>TIME_BETWEEN_BLOCKS + k * TIME_DELAY_FOR_PRIORITY</code> = (1 + k) minutes.
  
支持語<sub> <sub> <sub> <sub>?</sub> </sub> </sub>?</sub>
+
In future versions, <code>TIME_DELAY_FOR_PRIORITY</code> may be set to a lower value than <code>TIME_BETWEEN_BLOCKS</code>.
  
各ベーキングスロットに、<code> ENDORSERS_PER_BLOCK </code> = 32 "endorsers"のリストを関連付ける。エンドーサは、置き換えて32個のロールをランダムに選択することにより、デリゲートのセットから引き出されます。
+
Baking a block gives a block reward of <code>BLOCK_REWARD</code> = 16 XTZ plus all fees paid by transactions inside the block.
  
エンドースヤーは報酬を受け取る(ブロッククリエイターと同じように)。報酬はブロック優先度が1から始まる<code> ENDORSEMENT_REWARD </code> = 2 / <code> BLOCK_PRIORITY </code>です。したがって、特定スロットの優先度2のブロックが承認されている場合、
+
Endorsements <sub><sub><sub><sub>~</sub></sub></sub>~</sub>
  
インフレ<sub>?<sub>?</sub> </sub>?
+
To each baking slot, we associate a list of <code>ENDORSERS_PER_BLOCK</code> = 32 &quot;endorsers&quot;. Endorsers are drawn from the set of delegates, by randomly selecting 32 rolls with replacement.
  
ブロック報酬と裏書報酬からのインフレは、多くとも<code> ENDORSERS_PER_BLOCK </code> * <code> ENDORSEMENT_REWARD </code> + <code> BLOCK_REWARD </code> = 80 XTZです。これは、最大5.51%の年間インフレを意味します。
+
Endorsers receive a reward (at the same time as block creators do). The reward is <code>ENDORSEMENT_REWARD</code> = 2 / <code>BLOCK_PRIORITY</code> where block priority starts at 1. So the endorsement reward is only half if the block of priority 2 for a given slot is being endorsed.
  
ランダムシード<sub> <sub>?</sub> </sub> </sub>?<sub>?</sub>
+
Inflation <sub>~<sub>~</sub></sub>~
  
Cycle <code> n </code>はサイクル<code>(n(n-ALLOWED_FORK-1))のコミットを使用してサイクル<code> -ALLOWED_FORK-2)</code>をすべての<code> BLOCKS_PER_COMMITMENT </code> = 32ブロックのうちの1つに含めます。
+
Inflation from block rewards and endorsement reward is at most <code>ENDORSERS_PER_BLOCK</code> * <code>ENDORSEMENT_REWARD</code> + <code>BLOCK_REWARD</code> = 80 XTZ. This means at most 5.51% annual inflation.
  
コミットメントは、保証金を没収する罰則の対象となる<code>(n-ALLOWED_FORK-1)</code>サイクル中に元のパン屋によって明らかにされなければなりません。
+
Random seed <sub><sub><sub>~</sub></sub></sub>~<sub>~</sub>
  
「啓示」とは、操作であり、複数の啓示をブロックに含めることができます。この啓示はサイクル<code>(n-ALLOWED_FORK-1)</code>の最後にランダムシードを生成するために一緒にハッシュされます。
+
Cycle <code>n</code> is associated with a random seed, a 256 bit number generated at the end of cycle <code>(n-ALLOWED_FORK-1)</code> using commitments made during cycle <code>(n-ALLOWED_FORK-2)</code>, in one out of every <code>BLOCKS_PER_COMMITMENT</code> = 32 blocks.
  
啓示は、ブロック空間のトランザクションと競合しない自由な操作です。 <code> MAX_REVELATIONS_PER_BLOCK </code> = 32までの啓示を任意のブロックに含めることができます。したがって、1 /(<code> MAX_REVELATIONS_PER_BLOCK </code> * <code> BLOCKS_PER_COMMITMENT </code>)=サイクル内のブロックの1/1024は、すべての啓示を含めるには十分です。
+
The commitment must be revealed by the original baker during cycle <code>(n-ALLOWED_FORK-1)</code> under penalty of forfeiting the security deposit.
  
==デナンシエーション==
+
A &quot;revelation&quot; is an operation, and multiple revelations can thus be included in a block. The revelations are hashed together to generate a random seed at the very end of cycle <code>(n-ALLOWED_FORK-1)</code>.
  
同じスロットに対して2つの裏書きが行われた場合、または同じ高さで2つのブロックが代理人によって作成された場合、これは却下される可能性があります。この区別は、典型的には、それを特別な操作として含むパン屋によって行われる。初めて、告発は二重署名された操作の保証金を没収するだけです。しかし、偶発的な二重署名のリスクが十分に小さくなると、時間の経過とともに、却下は安全預金の全体を没収することになります。半分が焼かれ、半分がブロック報酬に追加されます。
+
Revelations are free operations which do not compete with transactions for block space. Up to <code>MAX_REVELATIONS_PER_BLOCK</code> = 32 revelations can be contained in any given block. Thus, 1 / (<code>MAX_REVELATIONS_PER_BLOCK</code> * <code>BLOCKS_PER_COMMITMENT</code>) = 1/1024 of the blocks in the cycle are sufficient to include all revelations.
 +
 
 +
== Denounciations ==
 +
 
 +
If two endorsements are made for the same slot or two blocks at the same height by a delegate, this can be denounced. The denounciation would be typically be made by the baker, who includes it as a special operation. In a first time, denounciation will only forfeit the security deposit for the doubly signed operation. However, over time, as the risk of accidental double signing becomes small enough, denounciation will forfeit the entirety of the safety deposits. Half is burned, and half is added to the block reward.

tezos-wikiへの投稿はすべて、a Creative Commons Attribution-ShareAlike 3.0 License (詳細はTezos-wiki:著作権を参照)のもとで公開したと見なされることにご注意ください。 自分が書いたものが他の人に容赦なく編集され、自由に配布されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください。 著作権保護されている作品は、許諾なしに投稿しないでください!

取り消し | 編集の仕方 (新しいウィンドウで開きます)