ZIP 308: clarification about notes eligible for migration.

Co-Authored-By: Simon Liu <simon@bitcartel.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Daira Hopwood 2020-01-20 16:10:22 +00:00
parent 20ebcf4a27
commit c01c5defb1
2 changed files with 3 additions and 2 deletions

View File

@ -76,7 +76,7 @@ License: MIT</pre>
<p>When migration is enabled, a node will send up to 5 transactions for inclusion in each block with height a multiple of 500 (that is, they are sent immediately after seeing a block with height 499, modulo 500). Up to the limit of 5, as many transactions are sent as are needed to migrate the remaining funds (possibly with a remainder less than 0.01 ZEC left unmigrated).</p>
<p>Nodes SHOULD NOT send migration transactions during initial block download, or if the timestamp of the triggering block (with height 499, modulo 500) is more than three hours in the past according to the node's adjusted local clock.</p>
<p>Note: the 500-block interval has <em>not</em> been altered as a result of the halving of target block spacing to 75 seconds with the Blossom upgrade. <a href="#zip-0208" id="id4" class="footnote_reference">5</a></p>
<p>The migration transactions to be sent in a particular batch can take significant time to generate, and this time depends on the speed of the user's computer. If they were generated only after a block is seen at the target height minus 1, then this could leak information. Therefore, for target height N, implementations SHOULD start generating the transactions at around height N-5 (provided that block's timestamp is not more than three hours in the past). Each migration transaction SHOULD specify an anchor at height N-10 for each Sprout JoinSplit description.</p>
<p>The migration transactions to be sent in a particular batch can take significant time to generate, and this time depends on the speed of the user's computer. If they were generated only after a block is seen at the target height minus 1, then this could leak information. Therefore, for target height N, implementations SHOULD start generating the transactions at around height N-5 (provided that block's timestamp is not more than three hours in the past). Each migration transaction SHOULD specify an anchor at height N-10 for each Sprout JoinSplit description (and therefore only notes created before this anchor are eligible for migration).</p>
<p>Open questions:</p>
<ul>
<li>does this reliably give sufficient time to generate the transactions?</li>

View File

@ -151,7 +151,8 @@ height minus 1, then this could leak information. Therefore, for target
height N, implementations SHOULD start generating the transactions at around
height N-5 (provided that block's timestamp is not more than three hours in
the past). Each migration transaction SHOULD specify an anchor at height N-10
for each Sprout JoinSplit description.
for each Sprout JoinSplit description (and therefore only notes created before
this anchor are eligible for migration).
Open questions: