ロールスナップショットの選択
-
-
`n + 5`と`n + 6`の両方で `n + 5`のシードを使用する場合、`n + 7`には何を使用しますか?いつも同じ種を使うようです...If you use the seed of `n+5` at both `n+5` and `n+6`, what would you use for `n+7` ? Looks like you are going to always use the same seed...
- 0
- 2019-02-11
- lefessan
-
`n + 5`のシードを使用して`n + 6`のスナップショット(および `n + 5`のベーキング/承認権)を選択することを提案していると思います.次に、 `n + 6`のシードを使用して、`n + 7`のスナップショットを選択します.同じシードが同じ目的(スナップショットの選択など)で2回使用されることはありません.I think I'm suggesting to use the seed of `n+5` to select the snapshot of `n+6` (and the baking/endorsments rights of `n+5`); then the seed of `n+6` to select the snaphsot of `n+7` and so on. The same seed would not be used twice for the same purpose (like selecting a snapshot).
- 0
- 2019-02-12
- Eugen
-
1 回答
- 投票
-
- 2019-02-12
これは、シードが利用可能になる時期が原因です.サイクルnの間に、ナンスのハッシュを提供する必要がある128のコミットメントブロックがあります.これらは、n +1が終了する前に明らかにする必要があります.ナンスが明らかになったら、それらを使用してシードを構築します.シードは、n +7のスナップショットを決定するために使用されます.
したがって、すべてのナンスが明らかにされたことが確実な場合、nの終わりにn +6が計算されます.n + 6のすべてのスナップショットは、明らかにされたナンスを使用してシードを計算できる最後まで保持されます.最適化は、すべてのナンスが明らかになるとすぐに、またはサイクルの終わり(どちらか早い方)にこのシードを計算することかもしれないと思います.
This is because of when the seed is available. During cycle n, there are 128 commitment blocks where a hash of a nonce must be provided. These must then be revealed before the end of n+1. Once the nonces are revealed, we use them to construct the seed, which is used to determine the snapshot for n+7.
So, n+6 is calculated at the end of n when we are sure all of the nonces have been revealed. All snapshots for n+6 are held until the end as that's when we can use the revealed nonces to calculate the seed. I guess an optimization could be to calculate this seed as soon as all the nonces are revealed, or at the end of the cycle (which ever comes first).
-
はい.ただし、スナップショットを選択するために、 `n + 5`のシード(サイクル`n-1`の終わりに、そのサイクル中に明らかにされ、サイクル `n-2`中にコミットされたノンスから計算されます)を使用してみませんか`n + 6`(すでに利用可能です)で?このように、これらの16個のスナップショットは、サイクル `n`が終了するまで保存する必要はありません.シードが複数のサイクルで使用されるようになったため、「サイクルのシード」について話すことができないという意味で、用語に問題があるだけです(ただし、目的は異なります).しかし、多分私は何かが欠けています.Yes, but why not use the seed for `n+5` (computed as you say at the end of cycle `n-1` from the nonces revealed during that cycle and committed during cycle `n-2`) to select the snapshots at `n+6` (which are already available)? In this way, those 16 snapshots need not to be stored until the end of a cycle `n`. I only see a problem in terminology, in the sense that one cannot talk about the "seed for a cycle" because the seed would now be used for more than one cycle (but again, for different purposes). But maybe I'm missing something.
- 1
- 2019-02-12
- Eugen
-
そのためには機能しません-サイクルn + 6でn + 5のシードを再利用している場合、次のサイクルが来るとn +6はn + 5になり、同じシードをn + 6(n + 7でした).It doesn't work for that - if you're reusing seed for n+5 for cycle n+6, then when the next cycle comes along n+6 becomes n+5, and then you're reusing the same seed for the n+6 (which was n+7).
- 0
- 2019-02-12
- Stephen Andrews
-
`n + 6`に`n + 5`を使用し、次に `n + 7`に`n + 6`を使用するなど、シードを再利用しません(スナップショットの選択に).さて、私が考えていなかったブートストラップの瞬間(この変更が実装される瞬間)があり、慎重に対処する必要があります...One could use `n+5` for `n+6`, then `n+6` for `n+7`, and so on, thus not reusing the seed (for snapshot selection). Well, there is a bootstrap moment (the one when this change would be implemented), which I haven't thought about and one would have to deal with carefully...
- 0
- 2019-02-12
- Eugen
サイクル
n
で、コンテキストはn-5
とn + 5 <の間のサイクルごとに1つの選択されたスナップショット(16個中)を保存しているようです./code>、およびサイクル
n + 6
の16のスナップショット、およびサイクルn + 7
の0〜16の数値(サイクルnのどこにいるかによって異なります).これは正解?はいの場合、サイクル
n + 5のシードを使用して、サイクル
(n + 6
のスナップショットを(n
で)選択できませんでしたn + 6
用のものはまだ利用できないため)?このようにして、コンテキストは15個のスナップショットをより少なく保存できます.または、スナップショットの選択に使用されるシードとスナップショットが選択されるサイクルの間に特定の相関関係が必要ですか?(ベーキング/承認の権利についても同じ質問をすることができます.)同じ目的でシードを再利用しないだけで十分だと思います.