From 4533e07cdc6130dd40e1085ef8e26a1e1c9beccb Mon Sep 17 00:00:00 2001 From: Daira Hopwood Date: Sat, 5 Sep 2020 13:23:33 +0100 Subject: [PATCH] ZIP 207: address NCC comment that Address(height) should be scoped to a FundingStream. Signed-off-by: Daira Hopwood --- zip-0207.html | 2 +- zip-0207.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/zip-0207.html b/zip-0207.html index e3fafcf2..d0961c97 100644 --- a/zip-0207.html +++ b/zip-0207.html @@ -91,7 +91,7 @@ License: MIT \right) \\ \mathsf{FundingStream[FUND].AddressIndex}(\mathsf{height}) &=& \mathsf{AddressPeriod}(\mathsf{height}) - \\&&\hspace{2em} \mathsf{AddressPeriod}(\mathsf{FundingStream[FUND].StartHeight}) \\ - \mathsf{Address}(\mathsf{height}) &=& \mathsf{FundingStream[FUND].Addresses[} \\&&\hspace{2em} \mathsf{FundingStream[FUND].AddressIndex}(\mathsf{height})\mathsf{]} + \mathsf{FundingStream[FUND].Address}(\mathsf{height}) &=& \mathsf{FundingStream[FUND].Addresses[} \\&&\hspace{2em} \mathsf{FundingStream[FUND].AddressIndex}(\mathsf{height})\mathsf{]} \end{eqnarray*}\)

This has the property that all active funding streams change the address they are using on the same block height schedule, aligned to the height of the first halving so that 48 funding periods fit cleanly within a halving interval. This can be leveraged to simplify implementations, by batching the necessary outputs for each funding period.

Below is a visual representation of how stream addresses align with funding periods:

diff --git a/zip-0207.rst b/zip-0207.rst index 698b7a1c..56ab6fc1 100644 --- a/zip-0207.rst +++ b/zip-0207.rst @@ -137,7 +137,7 @@ given block height is defined as follows: \right) \\ \mathsf{FundingStream[FUND].AddressIndex}(\mathsf{height}) &=& \mathsf{AddressPeriod}(\mathsf{height}) - \\&&\hspace{2em} \mathsf{AddressPeriod}(\mathsf{FundingStream[FUND].StartHeight}) \\ - \mathsf{Address}(\mathsf{height}) &=& \mathsf{FundingStream[FUND].Addresses[} \\&&\hspace{2em} \mathsf{FundingStream[FUND].AddressIndex}(\mathsf{height})\mathsf{]} + \mathsf{FundingStream[FUND].Address}(\mathsf{height}) &=& \mathsf{FundingStream[FUND].Addresses[} \\&&\hspace{2em} \mathsf{FundingStream[FUND].AddressIndex}(\mathsf{height})\mathsf{]} \end{eqnarray*} This has the property that all active funding streams change the address they