diff --git a/zcash-zf-dag.html b/zcash-zf-dag.html index d6c51118..66ec9dbb 100644 --- a/zcash-zf-dag.html +++ b/zcash-zf-dag.html @@ -22,25 +22,25 @@ +cluster_2 + +Tracking: Zebra as a Full-Node Wallet + + cluster_5 Epic: Zebra as a lightwalletd backend - + cluster_4 Epic: Zebra Stable Release Candidate - + cluster_3 Epic: Breaking Changes before the Stable Release - -cluster_2 - -Tracking: Zebra as a Full-Node Wallet - cluster_1 @@ -56,10 +56,242 @@ NU5 Tracking Epic - + +ZcashFoundation/zebra#271 + + +ZcashFoundation/zebra#271 +Sapling Key Agreement and +KDF + + + + + +ZcashFoundation/zebra#269 + + +ZcashFoundation/zebra#269 +Sapling note encryption +implementation. + + + + + +ZcashFoundation/zebra#271->ZcashFoundation/zebra#269 + + + + + +ZcashFoundation/zebra#3002 + + +ZcashFoundation/zebra#3002 +Sapling note decryption +implementation. + + + + + +ZcashFoundation/zebra#271->ZcashFoundation/zebra#3002 + + + + + +ZcashFoundation/zebra#325 + + +ZcashFoundation/zebra#325 +Block Chain Scanning + + + + + +ZcashFoundation/zebra#267 + + +ZcashFoundation/zebra#267 +Implement ZIP-32 Sapling +and Orchard key +derivation + + + + + +ZcashFoundation/zebra#2064 + + +ZcashFoundation/zebra#2064 +Import Poseidon hash into +Zebra + + + + + +ZcashFoundation/zebra#2192 + + +ZcashFoundation/zebra#2192 +Implement +`EphemeralPrivateKey`'s +for Orchard, Sapling, +Sprout + + + + + +ZcashFoundation/zebra#181 + + +ZcashFoundation/zebra#181 +Sprout note +encryption/decryption +implementation. + + + + + +ZcashFoundation/zebra#785 + + +ZcashFoundation/zebra#785 +Implement ZIP 212: Allow +Recipient to Derive +Sapling Ephemeral Secret +from Note Plaintext + + + + + +ZcashFoundation/zebra#321 + + +ZcashFoundation/zebra#321 +Create Output Proof + + + + + +ZcashFoundation/zebra#272 + + +ZcashFoundation/zebra#272 +Sprout Key Agreement and +KDF + + + + + +ZcashFoundation/zebra#2496 + + +ZcashFoundation/zebra#2496 +Handle a ivk == ⊥ +(KA^Orchard private key) +when generating an +Orchard Spending Key + + + + + +ZcashFoundation/zebra#3869 + + +ZcashFoundation/zebra#3869 +Orchard: ensure that ivk += 0 is rejected if that +negligible case occurs + + + + + +ZcashFoundation/zebra#278 + + +ZcashFoundation/zebra#278 +Sapling Note Builder + + + + + +ZcashFoundation/zebra#2447 + + +ZcashFoundation/zebra#2447 +Define a new `Amount` +`Constraint` for Note +values w/ [0..2^64) as +`valid_range()` + + + + + +ZcashFoundation/zebra#2041 + + +ZcashFoundation/zebra#2041 +Orchard: derive +OutgoingCipherKey + + + + + +ZcashFoundation/zebra#320 + + +ZcashFoundation/zebra#320 +Create a Spend Proof + + + + + +ZcashFoundation/zebra#2080 + + +ZcashFoundation/zebra#2080 +Replace`redpallas` module +with `reddsa`/`redpallas` +crate + + + + + +ZcashFoundation/zebra#2095 + + +ZcashFoundation/zebra#2095 +Orchard: update +note/action generation to +include input note +nullifier in the +PRF^expand invocations + + + + + ZcashFoundation/zebra#3511 - + ZcashFoundation/zebra#3511 Add lightwalletd full @@ -68,9 +300,9 @@ - + ZcashFoundation/zebra#3926 - + ZcashFoundation/zebra#3926 ci: run a full @@ -80,15 +312,15 @@ - + ZcashFoundation/zebra#3511->ZcashFoundation/zebra#3926 - + ZcashFoundation/zebra#4165 - + ZcashFoundation/zebra#4165 Store lightwalletd state @@ -98,15 +330,15 @@ - + ZcashFoundation/zebra#3926->ZcashFoundation/zebra#4165 - + ZcashFoundation/zebra#3512 - + ZcashFoundation/zebra#3512 Send transactions in @@ -116,15 +348,15 @@ - + ZcashFoundation/zebra#4165->ZcashFoundation/zebra#3512 - + ZcashFoundation/zebra#3655 - + ZcashFoundation/zebra#3655 Integration tests for @@ -135,15 +367,15 @@ - + ZcashFoundation/zebra#4165->ZcashFoundation/zebra#3655 - + ZcashFoundation/zebra#4166 - + ZcashFoundation/zebra#4166 Add lightwalletd quick @@ -152,15 +384,15 @@ - + ZcashFoundation/zebra#4165->ZcashFoundation/zebra#4166 - + ZcashFoundation/zebra#4168 - + ZcashFoundation/zebra#4168 ci: call lightwalletd @@ -169,21 +401,21 @@ - + ZcashFoundation/zebra#3512->ZcashFoundation/zebra#4168 - + ZcashFoundation/zebra#3655->ZcashFoundation/zebra#4168 - + ZcashFoundation/zebra#4167 - + ZcashFoundation/zebra#4167 ci: call lightwalletd @@ -192,15 +424,15 @@ - + ZcashFoundation/zebra#4166->ZcashFoundation/zebra#4167 - + ZcashFoundation/zebra#3156 - + ZcashFoundation/zebra#3156 z_gettreestate JSON-RPC @@ -209,15 +441,15 @@ - + ZcashFoundation/zebra#3156->ZcashFoundation/zebra#3655 - + ZcashFoundation/zebra#4169 - + ZcashFoundation/zebra#4169 ci: call RPC test with @@ -226,27 +458,27 @@ - + ZcashFoundation/zebra#4169->ZcashFoundation/zebra#3926 - + ZcashFoundation/zebra#4169->ZcashFoundation/zebra#4168 - + ZcashFoundation/zebra#4169->ZcashFoundation/zebra#4167 - + ZcashFoundation/zebra#4220 - + ZcashFoundation/zebra#4220 getaddressutxos RPC is @@ -256,15 +488,15 @@ - + ZcashFoundation/zebra#4220->ZcashFoundation/zebra#3655 - + ZcashFoundation/zebra#4181 - + ZcashFoundation/zebra#4181 Research a possible @@ -275,9 +507,9 @@ - + ZcashFoundation/zebra#4060 - + ZcashFoundation/zebra#4060 Report better @@ -287,9 +519,9 @@ - + ZcashFoundation/zebra#4130 - + ZcashFoundation/zebra#4130 Script that shows the @@ -299,9 +531,9 @@ - + ZcashFoundation/zebra#3050 - + ZcashFoundation/zebra#3050 Tag Zebra v1.0.0-rc1 @@ -310,9 +542,9 @@ - + ZcashFoundation/zebra#2995 - + ZcashFoundation/zebra#2995 Speed up Zebra's CI @@ -320,9 +552,9 @@ - + ZcashFoundation/zebra#1894 - + ZcashFoundation/zebra#1894 Zebra should follow OS @@ -332,9 +564,9 @@ - + ZcashFoundation/zebra#3432 - + ZcashFoundation/zebra#3432 Use the Filesystem @@ -345,15 +577,15 @@ - + ZcashFoundation/zebra#1894->ZcashFoundation/zebra#3432 - + ZcashFoundation/zebra#2631 - + ZcashFoundation/zebra#2631 Send committed spent @@ -363,9 +595,9 @@ - + ZcashFoundation/zebra#950 - + ZcashFoundation/zebra#950 Demo: compare zcashd vs @@ -375,9 +607,9 @@ - + ZcashFoundation/zebra#1904 - + ZcashFoundation/zebra#1904 Some DNS seeders and @@ -404,9 +636,9 @@ - + ZcashFoundation/zebra#1615 - + ZcashFoundation/zebra#1615 Zebra stable download @@ -416,9 +648,9 @@ - + ZcashFoundation/zebra#1213 - + ZcashFoundation/zebra#1213 Detect when an older @@ -428,9 +660,9 @@ - + ZcashFoundation/zebra#1621 - + ZcashFoundation/zebra#1621 Run `zebrad start` by @@ -440,9 +672,9 @@ - + ZcashFoundation/zebra#1617 - + ZcashFoundation/zebra#1617 Restructure and clean up @@ -453,9 +685,9 @@ - + ZcashFoundation/zebra#1638 - + ZcashFoundation/zebra#1638 Create PGP keys amongst @@ -464,9 +696,9 @@ - + ZcashFoundation/zebra#1870 - + ZcashFoundation/zebra#1870 Decide if old Zebra @@ -475,238 +707,6 @@ - - -ZcashFoundation/zebra#271 - - -ZcashFoundation/zebra#271 -Sapling Key Agreement and -KDF - - - - - -ZcashFoundation/zebra#269 - - -ZcashFoundation/zebra#269 -Sapling note encryption -implementation. - - - - - -ZcashFoundation/zebra#271->ZcashFoundation/zebra#269 - - - - - -ZcashFoundation/zebra#3002 - - -ZcashFoundation/zebra#3002 -Sapling note decryption -implementation. - - - - - -ZcashFoundation/zebra#271->ZcashFoundation/zebra#3002 - - - - - -ZcashFoundation/zebra#325 - - -ZcashFoundation/zebra#325 -Block Chain Scanning - - - - - -ZcashFoundation/zebra#267 - - -ZcashFoundation/zebra#267 -Implement ZIP-32 Sapling -and Orchard key -derivation - - - - - -ZcashFoundation/zebra#2064 - - -ZcashFoundation/zebra#2064 -Import Poseidon hash into -Zebra - - - - - -ZcashFoundation/zebra#2192 - - -ZcashFoundation/zebra#2192 -Implement -`EphemeralPrivateKey`'s -for Orchard, Sapling, -Sprout - - - - - -ZcashFoundation/zebra#181 - - -ZcashFoundation/zebra#181 -Sprout note -encryption/decryption -implementation. - - - - - -ZcashFoundation/zebra#785 - - -ZcashFoundation/zebra#785 -Implement ZIP 212: Allow -Recipient to Derive -Sapling Ephemeral Secret -from Note Plaintext - - - - - -ZcashFoundation/zebra#321 - - -ZcashFoundation/zebra#321 -Create Output Proof - - - - - -ZcashFoundation/zebra#272 - - -ZcashFoundation/zebra#272 -Sprout Key Agreement and -KDF - - - - - -ZcashFoundation/zebra#2496 - - -ZcashFoundation/zebra#2496 -Handle a ivk == ⊥ -(KA^Orchard private key) -when generating an -Orchard Spending Key - - - - - -ZcashFoundation/zebra#3869 - - -ZcashFoundation/zebra#3869 -Orchard: ensure that ivk -= 0 is rejected if that -negligible case occurs - - - - - -ZcashFoundation/zebra#278 - - -ZcashFoundation/zebra#278 -Sapling Note Builder - - - - - -ZcashFoundation/zebra#2447 - - -ZcashFoundation/zebra#2447 -Define a new `Amount` -`Constraint` for Note -values w/ [0..2^64) as -`valid_range()` - - - - - -ZcashFoundation/zebra#2041 - - -ZcashFoundation/zebra#2041 -Orchard: derive -OutgoingCipherKey - - - - - -ZcashFoundation/zebra#320 - - -ZcashFoundation/zebra#320 -Create a Spend Proof - - - - - -ZcashFoundation/zebra#2080 - - -ZcashFoundation/zebra#2080 -Replace`redpallas` module -with `reddsa`/`redpallas` -crate - - - - - -ZcashFoundation/zebra#2095 - - -ZcashFoundation/zebra#2095 -Orchard: update -note/action generation to -include input note -nullifier in the -PRF^expand invocations - - - ZcashFoundation/zebra#2971 diff --git a/zcash-zf-dag.svg b/zcash-zf-dag.svg index ee4e51b2..e0a1888d 100644 --- a/zcash-zf-dag.svg +++ b/zcash-zf-dag.svg @@ -10,25 +10,25 @@ +cluster_2 + +Tracking: Zebra as a Full-Node Wallet + + cluster_5 Epic: Zebra as a lightwalletd backend - + cluster_4 Epic: Zebra Stable Release Candidate - + cluster_3 Epic: Breaking Changes before the Stable Release - -cluster_2 - -Tracking: Zebra as a Full-Node Wallet - cluster_1 @@ -44,10 +44,242 @@ NU5 Tracking Epic - + +ZcashFoundation/zebra#271 + + +ZcashFoundation/zebra#271 +Sapling Key Agreement and +KDF + + + + + +ZcashFoundation/zebra#269 + + +ZcashFoundation/zebra#269 +Sapling note encryption +implementation. + + + + + +ZcashFoundation/zebra#271->ZcashFoundation/zebra#269 + + + + + +ZcashFoundation/zebra#3002 + + +ZcashFoundation/zebra#3002 +Sapling note decryption +implementation. + + + + + +ZcashFoundation/zebra#271->ZcashFoundation/zebra#3002 + + + + + +ZcashFoundation/zebra#325 + + +ZcashFoundation/zebra#325 +Block Chain Scanning + + + + + +ZcashFoundation/zebra#267 + + +ZcashFoundation/zebra#267 +Implement ZIP-32 Sapling +and Orchard key +derivation + + + + + +ZcashFoundation/zebra#2064 + + +ZcashFoundation/zebra#2064 +Import Poseidon hash into +Zebra + + + + + +ZcashFoundation/zebra#2192 + + +ZcashFoundation/zebra#2192 +Implement +`EphemeralPrivateKey`'s +for Orchard, Sapling, +Sprout + + + + + +ZcashFoundation/zebra#181 + + +ZcashFoundation/zebra#181 +Sprout note +encryption/decryption +implementation. + + + + + +ZcashFoundation/zebra#785 + + +ZcashFoundation/zebra#785 +Implement ZIP 212: Allow +Recipient to Derive +Sapling Ephemeral Secret +from Note Plaintext + + + + + +ZcashFoundation/zebra#321 + + +ZcashFoundation/zebra#321 +Create Output Proof + + + + + +ZcashFoundation/zebra#272 + + +ZcashFoundation/zebra#272 +Sprout Key Agreement and +KDF + + + + + +ZcashFoundation/zebra#2496 + + +ZcashFoundation/zebra#2496 +Handle a ivk == ⊥ +(KA^Orchard private key) +when generating an +Orchard Spending Key + + + + + +ZcashFoundation/zebra#3869 + + +ZcashFoundation/zebra#3869 +Orchard: ensure that ivk += 0 is rejected if that +negligible case occurs + + + + + +ZcashFoundation/zebra#278 + + +ZcashFoundation/zebra#278 +Sapling Note Builder + + + + + +ZcashFoundation/zebra#2447 + + +ZcashFoundation/zebra#2447 +Define a new `Amount` +`Constraint` for Note +values w/ [0..2^64) as +`valid_range()` + + + + + +ZcashFoundation/zebra#2041 + + +ZcashFoundation/zebra#2041 +Orchard: derive +OutgoingCipherKey + + + + + +ZcashFoundation/zebra#320 + + +ZcashFoundation/zebra#320 +Create a Spend Proof + + + + + +ZcashFoundation/zebra#2080 + + +ZcashFoundation/zebra#2080 +Replace`redpallas` module +with `reddsa`/`redpallas` +crate + + + + + +ZcashFoundation/zebra#2095 + + +ZcashFoundation/zebra#2095 +Orchard: update +note/action generation to +include input note +nullifier in the +PRF^expand invocations + + + + + ZcashFoundation/zebra#3511 - + ZcashFoundation/zebra#3511 Add lightwalletd full @@ -56,9 +288,9 @@ - + ZcashFoundation/zebra#3926 - + ZcashFoundation/zebra#3926 ci: run a full @@ -68,15 +300,15 @@ - + ZcashFoundation/zebra#3511->ZcashFoundation/zebra#3926 - + ZcashFoundation/zebra#4165 - + ZcashFoundation/zebra#4165 Store lightwalletd state @@ -86,15 +318,15 @@ - + ZcashFoundation/zebra#3926->ZcashFoundation/zebra#4165 - + ZcashFoundation/zebra#3512 - + ZcashFoundation/zebra#3512 Send transactions in @@ -104,15 +336,15 @@ - + ZcashFoundation/zebra#4165->ZcashFoundation/zebra#3512 - + ZcashFoundation/zebra#3655 - + ZcashFoundation/zebra#3655 Integration tests for @@ -123,15 +355,15 @@ - + ZcashFoundation/zebra#4165->ZcashFoundation/zebra#3655 - + ZcashFoundation/zebra#4166 - + ZcashFoundation/zebra#4166 Add lightwalletd quick @@ -140,15 +372,15 @@ - + ZcashFoundation/zebra#4165->ZcashFoundation/zebra#4166 - + ZcashFoundation/zebra#4168 - + ZcashFoundation/zebra#4168 ci: call lightwalletd @@ -157,21 +389,21 @@ - + ZcashFoundation/zebra#3512->ZcashFoundation/zebra#4168 - + ZcashFoundation/zebra#3655->ZcashFoundation/zebra#4168 - + ZcashFoundation/zebra#4167 - + ZcashFoundation/zebra#4167 ci: call lightwalletd @@ -180,15 +412,15 @@ - + ZcashFoundation/zebra#4166->ZcashFoundation/zebra#4167 - + ZcashFoundation/zebra#3156 - + ZcashFoundation/zebra#3156 z_gettreestate JSON-RPC @@ -197,15 +429,15 @@ - + ZcashFoundation/zebra#3156->ZcashFoundation/zebra#3655 - + ZcashFoundation/zebra#4169 - + ZcashFoundation/zebra#4169 ci: call RPC test with @@ -214,27 +446,27 @@ - + ZcashFoundation/zebra#4169->ZcashFoundation/zebra#3926 - + ZcashFoundation/zebra#4169->ZcashFoundation/zebra#4168 - + ZcashFoundation/zebra#4169->ZcashFoundation/zebra#4167 - + ZcashFoundation/zebra#4220 - + ZcashFoundation/zebra#4220 getaddressutxos RPC is @@ -244,15 +476,15 @@ - + ZcashFoundation/zebra#4220->ZcashFoundation/zebra#3655 - + ZcashFoundation/zebra#4181 - + ZcashFoundation/zebra#4181 Research a possible @@ -263,9 +495,9 @@ - + ZcashFoundation/zebra#4060 - + ZcashFoundation/zebra#4060 Report better @@ -275,9 +507,9 @@ - + ZcashFoundation/zebra#4130 - + ZcashFoundation/zebra#4130 Script that shows the @@ -287,9 +519,9 @@ - + ZcashFoundation/zebra#3050 - + ZcashFoundation/zebra#3050 Tag Zebra v1.0.0-rc1 @@ -298,9 +530,9 @@ - + ZcashFoundation/zebra#2995 - + ZcashFoundation/zebra#2995 Speed up Zebra's CI @@ -308,9 +540,9 @@ - + ZcashFoundation/zebra#1894 - + ZcashFoundation/zebra#1894 Zebra should follow OS @@ -320,9 +552,9 @@ - + ZcashFoundation/zebra#3432 - + ZcashFoundation/zebra#3432 Use the Filesystem @@ -333,15 +565,15 @@ - + ZcashFoundation/zebra#1894->ZcashFoundation/zebra#3432 - + ZcashFoundation/zebra#2631 - + ZcashFoundation/zebra#2631 Send committed spent @@ -351,9 +583,9 @@ - + ZcashFoundation/zebra#950 - + ZcashFoundation/zebra#950 Demo: compare zcashd vs @@ -363,9 +595,9 @@ - + ZcashFoundation/zebra#1904 - + ZcashFoundation/zebra#1904 Some DNS seeders and @@ -392,9 +624,9 @@ - + ZcashFoundation/zebra#1615 - + ZcashFoundation/zebra#1615 Zebra stable download @@ -404,9 +636,9 @@ - + ZcashFoundation/zebra#1213 - + ZcashFoundation/zebra#1213 Detect when an older @@ -416,9 +648,9 @@ - + ZcashFoundation/zebra#1621 - + ZcashFoundation/zebra#1621 Run `zebrad start` by @@ -428,9 +660,9 @@ - + ZcashFoundation/zebra#1617 - + ZcashFoundation/zebra#1617 Restructure and clean up @@ -441,9 +673,9 @@ - + ZcashFoundation/zebra#1638 - + ZcashFoundation/zebra#1638 Create PGP keys amongst @@ -452,9 +684,9 @@ - + ZcashFoundation/zebra#1870 - + ZcashFoundation/zebra#1870 Decide if old Zebra @@ -463,238 +695,6 @@ - - -ZcashFoundation/zebra#271 - - -ZcashFoundation/zebra#271 -Sapling Key Agreement and -KDF - - - - - -ZcashFoundation/zebra#269 - - -ZcashFoundation/zebra#269 -Sapling note encryption -implementation. - - - - - -ZcashFoundation/zebra#271->ZcashFoundation/zebra#269 - - - - - -ZcashFoundation/zebra#3002 - - -ZcashFoundation/zebra#3002 -Sapling note decryption -implementation. - - - - - -ZcashFoundation/zebra#271->ZcashFoundation/zebra#3002 - - - - - -ZcashFoundation/zebra#325 - - -ZcashFoundation/zebra#325 -Block Chain Scanning - - - - - -ZcashFoundation/zebra#267 - - -ZcashFoundation/zebra#267 -Implement ZIP-32 Sapling -and Orchard key -derivation - - - - - -ZcashFoundation/zebra#2064 - - -ZcashFoundation/zebra#2064 -Import Poseidon hash into -Zebra - - - - - -ZcashFoundation/zebra#2192 - - -ZcashFoundation/zebra#2192 -Implement -`EphemeralPrivateKey`'s -for Orchard, Sapling, -Sprout - - - - - -ZcashFoundation/zebra#181 - - -ZcashFoundation/zebra#181 -Sprout note -encryption/decryption -implementation. - - - - - -ZcashFoundation/zebra#785 - - -ZcashFoundation/zebra#785 -Implement ZIP 212: Allow -Recipient to Derive -Sapling Ephemeral Secret -from Note Plaintext - - - - - -ZcashFoundation/zebra#321 - - -ZcashFoundation/zebra#321 -Create Output Proof - - - - - -ZcashFoundation/zebra#272 - - -ZcashFoundation/zebra#272 -Sprout Key Agreement and -KDF - - - - - -ZcashFoundation/zebra#2496 - - -ZcashFoundation/zebra#2496 -Handle a ivk == ⊥ -(KA^Orchard private key) -when generating an -Orchard Spending Key - - - - - -ZcashFoundation/zebra#3869 - - -ZcashFoundation/zebra#3869 -Orchard: ensure that ivk -= 0 is rejected if that -negligible case occurs - - - - - -ZcashFoundation/zebra#278 - - -ZcashFoundation/zebra#278 -Sapling Note Builder - - - - - -ZcashFoundation/zebra#2447 - - -ZcashFoundation/zebra#2447 -Define a new `Amount` -`Constraint` for Note -values w/ [0..2^64) as -`valid_range()` - - - - - -ZcashFoundation/zebra#2041 - - -ZcashFoundation/zebra#2041 -Orchard: derive -OutgoingCipherKey - - - - - -ZcashFoundation/zebra#320 - - -ZcashFoundation/zebra#320 -Create a Spend Proof - - - - - -ZcashFoundation/zebra#2080 - - -ZcashFoundation/zebra#2080 -Replace`redpallas` module -with `reddsa`/`redpallas` -crate - - - - - -ZcashFoundation/zebra#2095 - - -ZcashFoundation/zebra#2095 -Orchard: update -note/action generation to -include input note -nullifier in the -PRF^expand invocations - - - ZcashFoundation/zebra#2971