From 6f94cb6b70e2c07a87dd98804cb4e49924d099ae Mon Sep 17 00:00:00 2001
From: Daira Hopwood
The term "block subsidy" in this document is to be interpreted as described in section 3.9 of the Zcash Protocol Specification 4.
The term "halving" in this document are to be interpreted as described in sections 7.7 of the Zcash Protocol Specification 5.
-The terms "Electric Coin Company" (or "ECC"), "Zcash Foundation" (or "ZF"), "Major Grants", "ECC slice", "ZF slice", and "MG slice" in this document are to be interpreted as described in ZIP 1014 12.
+The terms "Bootstrap Project" (or "BP"), "Electric Coin Company" (or "ECC"), "Zcash Foundation" (or "ZF"), "Major Grants", "BP slice", "ZF slice", and "MG slice" in this document are to be interpreted as described in ZIP 1014 12.
The terms "Testnet" and "Mainnet" are to be interpreted as described in section 3.11 of the Zcash Protocol Specification 3.
"Canopy" is the code-name for the fifth Zcash network upgrade, also known as Network Upgrade 4.
@@ -59,7 +59,7 @@ Discussions-To: <FS_ZIP214_ECC
FS_ZIP214_BP
For each of Testnet and Mainnet, before deploying this ZIP in a node implementation with the activation height set for that network, each of the parties (ECC and ZF) SHALL generate sequences of recipient addresses to be used for each stream in each funding period:
FS_ECC
funding stream, which on Mainnet corresponds to the ECC slice;FS_BP
funding stream, which on Mainnet corresponds to the BP slice;FS_ZF
and FS_MG
funding streams, which on Mainnet correspond to the ZF slice and MG slice respectively.Within each stream, the addresses MAY be independent, or MAY be repeated between funding periods. Each party SHOULD take account of operational security issues associated with potential compromise of the associated spending keys.
@@ -141,14 +141,63 @@ Discussions-To: <FS_ECC_Addresses[0..47] = TODO +FS_BP_Addresses[0..47] = [ + "t3LmX1cxWPPPqL4TZHx42HU3U5ghbFjRiif", + "t3Toxk1vJQ6UjWQ42tUJz2rV2feUWkpbTDs", + "t3ZBdBe4iokmsjdhMuwkxEdqMCFN16YxKe6", + "t3ZuaJziLM8xZ32rjDUzVjVtyYdDSz8GLWB", + "t3bAtYWa4bi8VrtvqySxnbr5uqcG9czQGTZ", + "t3dktADfb5Rmxncpe1HS5BRS5Gcj7MZWYBi", + "t3hgskquvKKoCtvxw86yN7q8bzwRxNgUZmc", + "t3R1VrLzwcxAZzkX4mX3KGbWpNsgtYtMntj", + "t3ff6fhemqPMVujD3AQurxRxTdvS1pPSaa2", + "t3cEUQFG3KYnFG6qYhPxSNgGi3HDjUPwC3J", + "t3WR9F5U4QvUFqqx9zFmwT6xFqduqRRXnaa", + "t3PYc1LWngrdUrJJbHkYPCKvJuvJjcm85Ch", + "t3bgkjiUeatWNkhxY3cWyLbTxKksAfk561R", + "t3Z5rrR8zahxUpZ8itmCKhMSfxiKjUp5Dk5", + "t3PU1j7YW3fJ67jUbkGhSRto8qK2qXCUiW3", + "t3S3yaT7EwNLaFZCamfsxxKwamQW2aRGEkh", + "t3eutXKJ9tEaPSxZpmowhzKhPfJvmtwTEZK", + "t3gbTb7brxLdVVghSPSd3ycGxzHbUpukeDm", + "t3UCKW2LrHFqPMQFEbZn6FpjqnhAAbfpMYR", + "t3NyHsrnYbqaySoQqEQRyTWkjvM2PLkU7Uu", + "t3QEFL6acxuZwiXtW3YvV6njDVGjJ1qeaRo", + "t3PdBRr2S1XTDzrV8bnZkXF3SJcrzHWe1wj", + "t3ZWyRPpWRo23pKxTLtWsnfEKeq9T4XPxKM", + "t3he6QytKCTydhpztykFsSsb9PmBT5JBZLi", + "t3VWxWDsLb2TURNEP6tA1ZSeQzUmPKFNxRY", + "t3NmWLvZkbciNAipauzsFRMxoZGqmtJksbz", + "t3cKr4YxVPvPBG1mCvzaoTTdBNokohsRJ8n", + "t3T3smGZn6BoSFXWWXa1RaoQdcyaFjMfuYK", + "t3gkDUe9Gm4GGpjMk86TiJZqhztBVMiUSSA", + "t3eretuBeBXFHe5jAqeSpUS1cpxVh51fAeb", + "t3dN8g9zi2UGJdixGe9txeSxeofLS9t3yFQ", + "t3S799pq9sYBFwccRecoTJ3SvQXRHPrHqvx", + "t3fhYnv1S5dXwau7GED3c1XErzt4n4vDxmf", + "t3cmE3vsBc5xfDJKXXZdpydCPSdZqt6AcNi", + "t3h5fPdjJVHaH4HwynYDM5BB3J7uQaoUwKi", + "t3Ma35c68BgRX8sdLDJ6WR1PCrKiWHG4Da9", + "t3LokMKPL1J8rkJZvVpfuH7dLu6oUWqZKQK", + "t3WFFGbEbhJWnASZxVLw2iTJBZfJGGX73mM", + "t3L8GLEsUn4QHNaRYcX3EGyXmQ8kjpT1zTa", + "t3PgfByBhaBSkH8uq4nYJ9ZBX4NhGCJBVYm", + "t3WecsqKDhWXD4JAgBVcnaCC2itzyNZhJrv", + "t3ZG9cSfopnsMQupKW5v9sTotjcP5P6RTbn", + "t3hC1Ywb5zDwUYYV8LwhvF5rZ6m49jxXSG5", + "t3VgMqDL15ZcyQDeqBsBW3W6rzfftrWP2yB", + "t3LC94Y6BwLoDtBoK2NuewaEbnko1zvR9rm", + "t3cWCUZJR3GtALaTcatrrpNJ3MGbMFVLRwQ", + "t3YYF4rPLVxDcF9hHFsXyc5Yq1TFfbojCY6", + "t3XHAGxRP2FNfhAjxGjxbrQPYtQQjc3RCQD" +] -FS_ZF_Addresses[0..47] = TODO +FS_ZF_Addresses[0..47] = ["t3dvVE3SQEi7kqNzwrfNePxZ1d4hUyztBA1"] * 48 -FS_MG_Addresses[0..47] = TODO+FS_MG_Addresses[0..47] = ["t3XyYW8yBFRuMnfvm5KLGFbEVz25kckZXym"] * 48
FS_ECC_Addresses[0..50] = [ +FS_BP_Addresses[0..50] = [ "t26ovBdKAJLtrvBsE2QGF4nqBkEuptuPFZz", "t26ovBdKAJLtrvBsE2QGF4nqBkEuptuPFZz", "t26ovBdKAJLtrvBsE2QGF4nqBkEuptuPFZz", diff --git a/zip-0214.rst b/zip-0214.rst index 82e2d36b..ad7c069b 100644 --- a/zip-0214.rst +++ b/zip-0214.rst @@ -30,9 +30,10 @@ section 3.9 of the Zcash Protocol Specification [#protocol-subsidyconcepts]_. The term "halving" in this document are to be interpreted as described in sections 7.7 of the Zcash Protocol Specification [#protocol-subsidies]_. -The terms "Electric Coin Company" (or "ECC"), "Zcash Foundation" (or "ZF"), -"Major Grants", "ECC slice", "ZF slice", and "MG slice" in this document are to -be interpreted as described in ZIP 1014 [#zip-1014]_. +The terms "Bootstrap Project" (or "BP"), "Electric Coin Company" (or "ECC"), +"Zcash Foundation" (or "ZF"), "Major Grants", "BP slice", "ZF slice", and +"MG slice" in this document are to be interpreted as described in ZIP 1014 +[#zip-1014]_. The terms "Testnet" and "Mainnet" are to be interpreted as described in section 3.11 of the Zcash Protocol Specification [#protocol-networks]_. @@ -105,7 +106,7 @@ The following funding streams are defined for Mainnet: ================= =========== ============= ============== ============ Stream Numerator Denominator Start height End height ================= =========== ============= ============== ============ - ``FS_ZIP214_ECC`` 7 100 1046400 2726400 + ``FS_ZIP214_BP`` 7 100 1046400 2726400 ``FS_ZIP214_ZF`` 5 100 1046400 2726400 ``FS_ZIP214_MG`` 8 100 1046400 2726400 ================= =========== ============= ============== ============ @@ -119,7 +120,7 @@ The following funding streams are defined for Testnet: ================= =========== ============= ============== ============ Stream Numerator Denominator Start height End height ================= =========== ============= ============== ============ - ``FS_ZIP214_ECC`` 7 100 1028500 2796000 + ``FS_ZIP214_BP`` 7 100 1028500 2796000 ``FS_ZIP214_ZF`` 5 100 1028500 2796000 ``FS_ZIP214_MG`` 8 100 1028500 2796000 ================= =========== ============= ============== ============ @@ -146,8 +147,8 @@ with the activation height set for that network, each of the parties (ECC and ZF SHALL generate sequences of recipient addresses to be used for each stream in each funding period: -* ECC SHALL generate the addresses for the ``FS_ECC`` funding stream, which on - Mainnet corresponds to the **ECC slice**; +* ECC SHALL generate the addresses for the ``FS_BP`` funding stream, which on + Mainnet corresponds to the **BP slice**; * ZF SHALL generate the addresses for the ``FS_ZF`` and ``FS_MG`` funding streams, which on Mainnet correspond to the **ZF slice** and **MG slice** respectively. @@ -183,11 +184,60 @@ Mainnet Recipient Addresses :: - FS_ECC_Addresses[0..47] = TODO + FS_BP_Addresses[0..47] = [ + "t3LmX1cxWPPPqL4TZHx42HU3U5ghbFjRiif", + "t3Toxk1vJQ6UjWQ42tUJz2rV2feUWkpbTDs", + "t3ZBdBe4iokmsjdhMuwkxEdqMCFN16YxKe6", + "t3ZuaJziLM8xZ32rjDUzVjVtyYdDSz8GLWB", + "t3bAtYWa4bi8VrtvqySxnbr5uqcG9czQGTZ", + "t3dktADfb5Rmxncpe1HS5BRS5Gcj7MZWYBi", + "t3hgskquvKKoCtvxw86yN7q8bzwRxNgUZmc", + "t3R1VrLzwcxAZzkX4mX3KGbWpNsgtYtMntj", + "t3ff6fhemqPMVujD3AQurxRxTdvS1pPSaa2", + "t3cEUQFG3KYnFG6qYhPxSNgGi3HDjUPwC3J", + "t3WR9F5U4QvUFqqx9zFmwT6xFqduqRRXnaa", + "t3PYc1LWngrdUrJJbHkYPCKvJuvJjcm85Ch", + "t3bgkjiUeatWNkhxY3cWyLbTxKksAfk561R", + "t3Z5rrR8zahxUpZ8itmCKhMSfxiKjUp5Dk5", + "t3PU1j7YW3fJ67jUbkGhSRto8qK2qXCUiW3", + "t3S3yaT7EwNLaFZCamfsxxKwamQW2aRGEkh", + "t3eutXKJ9tEaPSxZpmowhzKhPfJvmtwTEZK", + "t3gbTb7brxLdVVghSPSd3ycGxzHbUpukeDm", + "t3UCKW2LrHFqPMQFEbZn6FpjqnhAAbfpMYR", + "t3NyHsrnYbqaySoQqEQRyTWkjvM2PLkU7Uu", + "t3QEFL6acxuZwiXtW3YvV6njDVGjJ1qeaRo", + "t3PdBRr2S1XTDzrV8bnZkXF3SJcrzHWe1wj", + "t3ZWyRPpWRo23pKxTLtWsnfEKeq9T4XPxKM", + "t3he6QytKCTydhpztykFsSsb9PmBT5JBZLi", + "t3VWxWDsLb2TURNEP6tA1ZSeQzUmPKFNxRY", + "t3NmWLvZkbciNAipauzsFRMxoZGqmtJksbz", + "t3cKr4YxVPvPBG1mCvzaoTTdBNokohsRJ8n", + "t3T3smGZn6BoSFXWWXa1RaoQdcyaFjMfuYK", + "t3gkDUe9Gm4GGpjMk86TiJZqhztBVMiUSSA", + "t3eretuBeBXFHe5jAqeSpUS1cpxVh51fAeb", + "t3dN8g9zi2UGJdixGe9txeSxeofLS9t3yFQ", + "t3S799pq9sYBFwccRecoTJ3SvQXRHPrHqvx", + "t3fhYnv1S5dXwau7GED3c1XErzt4n4vDxmf", + "t3cmE3vsBc5xfDJKXXZdpydCPSdZqt6AcNi", + "t3h5fPdjJVHaH4HwynYDM5BB3J7uQaoUwKi", + "t3Ma35c68BgRX8sdLDJ6WR1PCrKiWHG4Da9", + "t3LokMKPL1J8rkJZvVpfuH7dLu6oUWqZKQK", + "t3WFFGbEbhJWnASZxVLw2iTJBZfJGGX73mM", + "t3L8GLEsUn4QHNaRYcX3EGyXmQ8kjpT1zTa", + "t3PgfByBhaBSkH8uq4nYJ9ZBX4NhGCJBVYm", + "t3WecsqKDhWXD4JAgBVcnaCC2itzyNZhJrv", + "t3ZG9cSfopnsMQupKW5v9sTotjcP5P6RTbn", + "t3hC1Ywb5zDwUYYV8LwhvF5rZ6m49jxXSG5", + "t3VgMqDL15ZcyQDeqBsBW3W6rzfftrWP2yB", + "t3LC94Y6BwLoDtBoK2NuewaEbnko1zvR9rm", + "t3cWCUZJR3GtALaTcatrrpNJ3MGbMFVLRwQ", + "t3YYF4rPLVxDcF9hHFsXyc5Yq1TFfbojCY6", + "t3XHAGxRP2FNfhAjxGjxbrQPYtQQjc3RCQD" + ] - FS_ZF_Addresses[0..47] = TODO + FS_ZF_Addresses[0..47] = ["t3dvVE3SQEi7kqNzwrfNePxZ1d4hUyztBA1"] * 48 - FS_MG_Addresses[0..47] = TODO + FS_MG_Addresses[0..47] = ["t3XyYW8yBFRuMnfvm5KLGFbEVz25kckZXym"] * 48 Testnet Recipient Addresses @@ -195,7 +245,7 @@ Testnet Recipient Addresses :: - FS_ECC_Addresses[0..50] = [ + FS_BP_Addresses[0..50] = [ "t26ovBdKAJLtrvBsE2QGF4nqBkEuptuPFZz", "t26ovBdKAJLtrvBsE2QGF4nqBkEuptuPFZz", "t26ovBdKAJLtrvBsE2QGF4nqBkEuptuPFZz", From 8095727eaf016f3b9ddccde149cfd549cc512cfc Mon Sep 17 00:00:00 2001 From: Daira HopwoodDate: Tue, 27 Oct 2020 13:23:51 +0000 Subject: [PATCH 2/3] ZIP 214: wording changes to take account of the role of Bootstrap Project. Signed-off-by: Daira Hopwood --- zip-0214.html | 2 +- zip-0214.rst | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/zip-0214.html b/zip-0214.html index e4d0f3ee..ec03fa3e 100644 --- a/zip-0214.html +++ b/zip-0214.html @@ -126,7 +126,7 @@ Discussions-To: < Dev Fund Recipient Addresses
-For each of Testnet and Mainnet, before deploying this ZIP in a node implementation with the activation height set for that network, each of the parties (ECC and ZF) SHALL generate sequences of recipient addresses to be used for each stream in each funding period:
+For each of Testnet and Mainnet, before deploying this ZIP in a node implementation with the activation height set for that network, each of the parties (ECC on behalf of BP; and ZF) SHALL generate sequences of recipient addresses to be used for each stream in each funding period:
- ECC SHALL generate the addresses for the
FS_BP
funding stream, which on Mainnet corresponds to the BP slice;- ZF SHALL generate the addresses for the
diff --git a/zip-0214.rst b/zip-0214.rst index ad7c069b..3540d28f 100644 --- a/zip-0214.rst +++ b/zip-0214.rst @@ -143,9 +143,9 @@ Dev Fund Recipient Addresses ---------------------------- For each of Testnet and Mainnet, before deploying this ZIP in a node implementation -with the activation height set for that network, each of the parties (ECC and ZF) -SHALL generate sequences of recipient addresses to be used for each stream in each -funding period: +with the activation height set for that network, each of the parties (ECC on behalf +of BP; and ZF) SHALL generate sequences of recipient addresses to be used for each +stream in each funding period: * ECC SHALL generate the addresses for the ``FS_BP`` funding stream, which on Mainnet corresponds to the **BP slice**; From ff8d70ae6f66c88ee103f823d1b7aee6c2018964 Mon Sep 17 00:00:00 2001 From: Daira HopwoodFS_ZF
andFS_MG
funding streams, which on Mainnet correspond to the ZF slice and MG slice respectively.Date: Tue, 27 Oct 2020 13:30:48 +0000 Subject: [PATCH 3/3] ZIP 214: ensure consistent naming of funding streams. Signed-off-by: Daira Hopwood --- zip-0214.html | 21 +++++++++++---------- zip-0214.rst | 28 ++++++++++++++++------------ 2 files changed, 27 insertions(+), 22 deletions(-) diff --git a/zip-0214.html b/zip-0214.html index ec03fa3e..ac40c80d 100644 --- a/zip-0214.html +++ b/zip-0214.html @@ -128,8 +128,8 @@ Discussions-To: < Dev Fund Recipient Addresses
For each of Testnet and Mainnet, before deploying this ZIP in a node implementation with the activation height set for that network, each of the parties (ECC on behalf of BP; and ZF) SHALL generate sequences of recipient addresses to be used for each stream in each funding period:
-
- ECC SHALL generate the addresses for the
-FS_BP
funding stream, which on Mainnet corresponds to the BP slice;- ZF SHALL generate the addresses for the
+FS_ZF
andFS_MG
funding streams, which on Mainnet correspond to the ZF slice and MG slice respectively.- ECC SHALL generate the addresses for the
+FS_ZIP214_BP
funding stream, which on Mainnet corresponds to the BP slice;- ZF SHALL generate the addresses for the
FS_ZIP214_ZF
andFS_ZIP214_MG
funding streams, which on Mainnet correspond to the ZF slice and MG slice respectively.Within each stream, the addresses MAY be independent, or MAY be repeated between funding periods. Each party SHOULD take account of operational security issues associated with potential compromise of the associated spending keys.
Funds sent to each Mainnet funding stream SHALL be governed by all requirements on the corresponding slice specified in ZIP 1014 12.
@@ -141,7 +141,7 @@ Discussions-To: <Mainnet Recipient Addresses
-FS_BP_Addresses[0..47] = [ +FS_ZIP214_BP.AddressList[0..47] = [ "t3LmX1cxWPPPqL4TZHx42HU3U5ghbFjRiif", "t3Toxk1vJQ6UjWQ42tUJz2rV2feUWkpbTDs", "t3ZBdBe4iokmsjdhMuwkxEdqMCFN16YxKe6", @@ -192,12 +192,13 @@ Discussions-To: < +FS_ZIP214_MG.AddressList[0..47] = ["t3XyYW8yBFRuMnfvm5KLGFbEVz25kckZXym"] * 48+(i.e.
FS_ZIP214_ZF.AddressList
andFS_ZIP214_MG.AddressList
for Mainnet each consist of 48 repetitions of the same address).
FS_BP_Addresses[0..50] = [ +-FS_ZIP214_BP.AddressList[0..50] = [ "t26ovBdKAJLtrvBsE2QGF4nqBkEuptuPFZz", "t26ovBdKAJLtrvBsE2QGF4nqBkEuptuPFZz", "t26ovBdKAJLtrvBsE2QGF4nqBkEuptuPFZz", @@ -251,14 +252,14 @@ FS_MG_Addresses[0..47] = ["t3XyYW8yBFRuMnfvm5KLGFbEVz25kckZXym"] * 48"t2L15TkDYum7dnQRBqfvWdRe8Yw3jVy9z7g" ] -FS_ZF_Addresses[0..50] = ["t27eWDgjFYJGVXmzrXeVjnb5J3uXDM9xH9v"] * 51 +FS_ZIP214_ZF.AddressList[0..50] = ["t27eWDgjFYJGVXmzrXeVjnb5J3uXDM9xH9v"] * 51 -FS_MG_Addresses[0..50] = ["t2Gvxv2uNM7hbbACjNox4H6DjByoKZ2Fa3P"] * 51
(i.e. FS_ZF_Addresses
and FS_MG_Addresses
each consist of 51 repetitions of the same address).
(i.e. FS_ZIP214_ZF.AddressList
and FS_ZIP214_MG.AddressList
for Testnet each consist of 51 repetitions of the same address).
The rationale for ZF generating the addresses for the ZF_MG
funding stream is that ZF is the financial recipient of the MG slice as specified in ZIP 1014. 12
The rationale for ZF generating the addresses for the FS_ZIP214_MG
funding stream is that ZF is the financial recipient of the MG slice as specified in ZIP 1014. 12
Generation of recipient addresses for Testnet is specified to be done by the same parties as on Mainnet, in order to allow practicing each party's security procedures.
It was judged to be unnecessary to have a mechanism to update funding stream definitions (in case of security breach or changes to direct grant recipients) other than at network upgrades.