From 4445978091c9206749f4d78ea1c5d481bc1126d9 Mon Sep 17 00:00:00 2001 From: str4d Date: Tue, 15 Jun 2021 16:47:10 +0000 Subject: [PATCH] deploy: a6c1b06c9da5e6026852c418c8b83b68be97cf3b --- zcash-zf-dag.svg | 1597 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1597 insertions(+) create mode 100644 zcash-zf-dag.svg diff --git a/zcash-zf-dag.svg b/zcash-zf-dag.svg new file mode 100644 index 00000000..2d472b01 --- /dev/null +++ b/zcash-zf-dag.svg @@ -0,0 +1,1597 @@ + + + + + + + + + +ZcashFoundation/zebra#1135 + + +ZcashFoundation/zebra#1135 +Refactor Network and +NetworkUpgrade enums into +structs and a trait + + + + + +ZcashFoundation/zebra#1011 + + +ZcashFoundation/zebra#1011 +Re-enable the +BlockVerifier continuous_ +blockchain_test + + + + + +ZcashFoundation/zebra#1135->ZcashFoundation/zebra#1011 + + + + + +ZcashFoundation/zebra#271 + + +ZcashFoundation/zebra#271 +Sapling Key Agreement and +KDF + + + + + +ZcashFoundation/zebra#269 + + +ZcashFoundation/zebra#269 +Sapling note +encryption/decryption +implementation. + + + + + +ZcashFoundation/zebra#271->ZcashFoundation/zebra#269 + + + + + +ZcashFoundation/zebra#325 + + +ZcashFoundation/zebra#325 +Block Chain Scanning + + + + + +ZcashFoundation/zebra#619 + + +ZcashFoundation/zebra#619 +Tracking: sync and +validate mainnet + + + + + +ZcashFoundation/zebra#466 + + +ZcashFoundation/zebra#466 +Design network +integration test +framework for Zebra + + + + + +ZcashFoundation/zebra#619->ZcashFoundation/zebra#466 + + + + + +ZcashFoundation/zebra#884 + + +ZcashFoundation/zebra#884 +Tracking: sync +correctness + + + + + +ZcashFoundation/zebra#899 + + +ZcashFoundation/zebra#899 +Retcon new sync logic +into RFC1 + + + + + +ZcashFoundation/zebra#884->ZcashFoundation/zebra#899 + + + + + +ZcashFoundation/zebra#919 + + +ZcashFoundation/zebra#919 +Rewrite +`block::tests::generate` +as proptest strategies. + + + + + +ZcashFoundation/zebra#1021 + + +ZcashFoundation/zebra#1021 +Combine proptests and +transcripts to perform +top-level integration +tests + + + + + +ZcashFoundation/zebra#919->ZcashFoundation/zebra#1021 + + + + + +ZcashFoundation/zebra#889 + + +ZcashFoundation/zebra#889 +Tracking: inbound message +handling. + + + + + +ZcashFoundation/zebra#1077 + + +ZcashFoundation/zebra#1077 +Handle TransactionsByHash +in the Inbound service + + + + + +ZcashFoundation/zebra#889->ZcashFoundation/zebra#1077 + + + + + +ZcashFoundation/zebra#1048 + + +ZcashFoundation/zebra#1048 +Test translation for +zebra-network::{Request, +Response} protocol + + + + + +ZcashFoundation/zebra#1048->ZcashFoundation/zebra#889 + + + + + +ZcashFoundation/zebra#1080 + + +ZcashFoundation/zebra#1080 +Handle `PushTransaction` +in the Inbound service. + + + + + +ZcashFoundation/zebra#1081 + + +ZcashFoundation/zebra#1081 +Handle +`AdvertiseTransaction` in +the Inbound service. + + + + + +ZcashFoundation/zebra#1320 + + +ZcashFoundation/zebra#1320 +Add sprout and sapling +and orchard anchors to +`zebra-state` + + + + + +ZcashFoundation/zebra#1486 + + +ZcashFoundation/zebra#1486 +Tune RocksDB memory usage + + + + + +ZcashFoundation/zebra#1320->ZcashFoundation/zebra#1486 + + + + + +ZcashFoundation/zebra#1400 + + +ZcashFoundation/zebra#1400 +Test that zcashd and +Zebra can sync from Zebra + + + + + +ZcashFoundation/zebra#1287 + + +ZcashFoundation/zebra#1287 +Implement incremental, +sparse note commitment +trees for Sapling, Sprout +and Orchard + + + + + +ZcashFoundation/zebra#1287->ZcashFoundation/zebra#1320 + + + + + +ZcashFoundation/zebra#2092 + + +ZcashFoundation/zebra#2092 +Implement Block Header +FinalSaplingRoot + + + + + +ZcashFoundation/zebra#1287->ZcashFoundation/zebra#2092 + + + + + +ZcashFoundation/zebra#2134 + + +ZcashFoundation/zebra#2134 +ZIP-221: Validate chain +history commitments in +the finalized state + + + + + +ZcashFoundation/zebra#1287->ZcashFoundation/zebra#2134 + + + + + +ZcashFoundation/zebra#2135 + + +ZcashFoundation/zebra#2135 +ZIP-221: Validate chain +history commitments in +the non-finalized state + + + + + +ZcashFoundation/zebra#1287->ZcashFoundation/zebra#2135 + + + + + +ZcashFoundation/zebra#2132 + + +ZcashFoundation/zebra#2132 +ZIP-221: Integrate +history merkle mountain +range from librustzcash + + + + + +ZcashFoundation/zebra#1287->ZcashFoundation/zebra#2132 + + + + + +ZcashFoundation/zebra#2048 + + +ZcashFoundation/zebra#2048 +ZIP-244: Implement +transaction authorization +hashes + + + + + +ZcashFoundation/zebra#2134->ZcashFoundation/zebra#2048 + + + + + +ZcashFoundation/zebra#2135->ZcashFoundation/zebra#2048 + + + + + +ZcashFoundation/zebra#2132->ZcashFoundation/zebra#2134 + + + + + +ZcashFoundation/zebra#2132->ZcashFoundation/zebra#2135 + + + + + +ZcashFoundation/zebra#2132->ZcashFoundation/zebra#2048 + + + + + +ZcashFoundation/zebra#1311 + + +ZcashFoundation/zebra#1311 +Create function for post- +blossom height +adjustments + + + + + +ZcashFoundation/zebra#1170 + + + + +ZcashFoundation/zebra#1170 +Calculate and validate +founders reward addresses + + + + + +ZcashFoundation/zebra#1311->ZcashFoundation/zebra#1170 + + + + + +ZcashFoundation/zebra#936 + + +ZcashFoundation/zebra#936 +Design: mempool +transaction handling + + + + + +ZcashFoundation/zebra#936->ZcashFoundation/zebra#1077 + + + + + +ZcashFoundation/zebra#936->ZcashFoundation/zebra#1080 + + + + + +ZcashFoundation/zebra#936->ZcashFoundation/zebra#1081 + + + + + +ZcashFoundation/zebra#1083 + + +ZcashFoundation/zebra#1083 +Handle +`MempoolTransactions` in +the Inbound service + + + + + +ZcashFoundation/zebra#936->ZcashFoundation/zebra#1083 + + + + + +ZcashFoundation/zebra#571 + + +ZcashFoundation/zebra#571 +Create large transaction +test cases for mempool +testing + + + + + +ZcashFoundation/zebra#936->ZcashFoundation/zebra#571 + + + + + +ZcashFoundation/zebra#484 + + +ZcashFoundation/zebra#484 +Limit transaction size in +the mempool + + + + + +ZcashFoundation/zebra#936->ZcashFoundation/zebra#484 + + + + + +ZcashFoundation/zebra#1683 + + +ZcashFoundation/zebra#1683 +Verify mempool +transactions using a +block height + + + + + +ZcashFoundation/zebra#936->ZcashFoundation/zebra#1683 + + + + + +ZcashFoundation/zebra#196 + + +ZcashFoundation/zebra#196 +Tracking: transaction +validation + + + + + +ZcashFoundation/zebra#196->ZcashFoundation/zebra#1486 + + + + + +ZcashFoundation/zebra#1086 + + +ZcashFoundation/zebra#1086 +Remove git dependencies +on Hyper, Metrics, Tower, +ed25519-zebra, lexical- +core + + + + + +ZcashFoundation/zebra#1686 + + +ZcashFoundation/zebra#1686 +Delete isolated::Wrapper + + + + + +ZcashFoundation/zebra#1086->ZcashFoundation/zebra#1686 + + + + + +ZcashFoundation/zebra#2112 + + +ZcashFoundation/zebra#2112 +Integrate +TurboWish/tokio-console + + + + + +ZcashFoundation/zebra#1086->ZcashFoundation/zebra#2112 + + + + + +ZcashFoundation/zebra#2200 + + +ZcashFoundation/zebra#2200 +Upgrade to latest tokio + + + + + +ZcashFoundation/zebra#1086->ZcashFoundation/zebra#2200 + + + + + +ZcashFoundation/zebra#2202 + + +ZcashFoundation/zebra#2202 +Move batch cryptography +flushes to a blocking +thread + + + + + +ZcashFoundation/zebra#2200->ZcashFoundation/zebra#2202 + + + + + +ZcashFoundation/zebra#2201 + + +ZcashFoundation/zebra#2201 +Move the metrics recorder +to a blocking thread + + + + + +ZcashFoundation/zebra#2200->ZcashFoundation/zebra#2201 + + + + + +ZcashFoundation/zebra#2268 + + +ZcashFoundation/zebra#2268 +Replace atomics with +watch or oneshot channels + + + + + +ZcashFoundation/zebra#2200->ZcashFoundation/zebra#2268 + + + + + +ZcashFoundation/zebra#950 + + +ZcashFoundation/zebra#950 +Demo: compare zcashd vs +zebrad ludicrous speed on +syncing + + + + + +ZcashFoundation/zebra#692 + + +ZcashFoundation/zebra#692 +Use git metadata and +platform info in Zebra + + + + + +ZcashFoundation/zebra#1753 + + +ZcashFoundation/zebra#1753 +Re-deploy the Foundation +DNS Seeders + + + + + +ZcashFoundation/zebra#1791 + + +ZcashFoundation/zebra#1791 +Re-enable `sync_large_che +ckpoints_testnet` test + + + + + +ZcashFoundation/zebra#1753->ZcashFoundation/zebra#1791 + + + + + +ZcashFoundation/zebra#1007 + + + + +ZcashFoundation/zebra#1007 +Draft RFC: Initial draft +for basic network +integration testing + + + + + +ZcashFoundation/zebra#1791->ZcashFoundation/zebra#1007 + + + + + +ZcashFoundation/zebra#1827 + + +ZcashFoundation/zebra#1827 +Split `WrongVersion` +errors into +`OutdatedVersion` and +`PreActivationVersion` + + + + + +ZcashFoundation/zebra#1828 + + +ZcashFoundation/zebra#1828 +Move duplicate +`Transaction` code into +methods + + + + + +ZcashFoundation/zebra#1592 + + +ZcashFoundation/zebra#1592 +Write tests for sync +hangs + + + + + +ZcashFoundation/zebra#1817 + + + + +ZcashFoundation/zebra#1817 +Re-Apply "Refactor +`connection.rs` to make +`fail_with` errors +impossible" (double +revert) + + + + + +ZcashFoundation/zebra#1592->ZcashFoundation/zebra#1817 + + + + + +ZcashFoundation/zebra#1841 + + +ZcashFoundation/zebra#1841 +ZIP-252: Update Zebra and +DNS Seeders with NU5 +activation heights + + + + + +ZcashFoundation/zebra#1849 + + +ZcashFoundation/zebra#1849 +Refactor MetaAddr fields +to enable security fixes + + + + + +ZcashFoundation/zebra#1848 + + +ZcashFoundation/zebra#1848 +Security: Limit +reconnection rate to each +individual peer address + + + + + +ZcashFoundation/zebra#1849->ZcashFoundation/zebra#1848 + + + + + +ZcashFoundation/zebra#1865 + + +ZcashFoundation/zebra#1865 +Security: Running Zebra +nodes should eventually +stop trying to contact +peers that always fail + + + + + +ZcashFoundation/zebra#1849->ZcashFoundation/zebra#1865 + + + + + +ZcashFoundation/zebra#1867 + + +ZcashFoundation/zebra#1867 +Security: Zebra should +stop gossiping +unreachable addresses to +other nodes, Action: re- +deploy all nodes + + + + + +ZcashFoundation/zebra#1849->ZcashFoundation/zebra#1867 + + + + + +ZcashFoundation/zebra#1868 + + +ZcashFoundation/zebra#1868 +Security: Zebra should +stop gossiping failure +times as last_seen times + + + + + +ZcashFoundation/zebra#1849->ZcashFoundation/zebra#1868 + + + + + +ZcashFoundation/zebra#1873 + + +ZcashFoundation/zebra#1873 +Zebra's address book can +use all available memory + + + + + +ZcashFoundation/zebra#1849->ZcashFoundation/zebra#1873 + + + + + +ZcashFoundation/zebra#1875 + + +ZcashFoundation/zebra#1875 +Zebra attempts new peer +connections in a fixed, +predictable order + + + + + +ZcashFoundation/zebra#1849->ZcashFoundation/zebra#1875 + + + + + +ZcashFoundation/zebra#1876 + + +ZcashFoundation/zebra#1876 +Security: Retry +previously successful +peers before peers that +have always failed + + + + + +ZcashFoundation/zebra#1849->ZcashFoundation/zebra#1876 + + + + + +ZcashFoundation/zebra#1848->ZcashFoundation/zebra#1875 + + + + + +ZcashFoundation/zebra#1956 + + +ZcashFoundation/zebra#1956 +Zebra should store a +persistent list of recent +successful peers + + + + + +ZcashFoundation/zebra#1865->ZcashFoundation/zebra#1956 + + + + + +ZcashFoundation/zebra#1867->ZcashFoundation/zebra#1791 + + + + + +ZcashFoundation/zebra#1867->ZcashFoundation/zebra#1865 + + + + + +ZcashFoundation/zebra#1867->ZcashFoundation/zebra#1956 + + + + + +ZcashFoundation/zebra#1876->ZcashFoundation/zebra#1875 + + + + + +ZcashFoundation/zebra#1869 + + +ZcashFoundation/zebra#1869 +Zebra should limit the +number of addresses it +uses from a single Addrs +response + + + + + +ZcashFoundation/zebra#1869->ZcashFoundation/zebra#1791 + + + + + +ZcashFoundation/zebra#1869->ZcashFoundation/zebra#1873 + + + + + +ZcashFoundation/zebra#1890 + + +ZcashFoundation/zebra#1890 +Zebra should support +separate local bind and +external advertise +addresses + + + + + +ZcashFoundation/zebra#1893 + + +ZcashFoundation/zebra#1893 +Zebra should auto- +discover its own external +IP address + + + + + +ZcashFoundation/zebra#1890->ZcashFoundation/zebra#1893 + + + + + +ZcashFoundation/zebra#1904 + + +ZcashFoundation/zebra#1904 +Testnet DNS seeders don't +show the Foundation's new +zcashd nodes + + + + + +ZcashFoundation/zebra#1904->ZcashFoundation/zebra#1791 + + + + + +ZcashFoundation/zebra#1917 + + +ZcashFoundation/zebra#1917 +Check Transaction +cardinality at parse +time, to limit memory +usage + + + + + +ZcashFoundation/zebra#1851 + + +ZcashFoundation/zebra#1851 +Limit the number of +connected peers in the +PeerSet + + + + + +ZcashFoundation/zebra#1850 + + +ZcashFoundation/zebra#1850 +Security: Limit the +number of outbound peer +connections when dialing +new peers + + + + + +ZcashFoundation/zebra#1334 + + +ZcashFoundation/zebra#1334 +After network upgrade +activation, reject new +connections from outdated +peers + + + + + +ZcashFoundation/zebra#706 + + +ZcashFoundation/zebra#706 +Do we need to prefer +evicting pre-upgrade +peers from the peer set +across a network upgrade? + + + + + +ZcashFoundation/zebra#1334->ZcashFoundation/zebra#706 + + + + + +ZcashFoundation/zebra#1894 + + +ZcashFoundation/zebra#1894 +Zebra should follow OS +directory conventions +better + + + + + +ZcashFoundation/zebra#1894->ZcashFoundation/zebra#1956 + + + + + +ZcashFoundation/zebra#1874 + + +ZcashFoundation/zebra#1874 +ZIP 244: Transaction +Identifier Non- +Malleability + + + + + +ZcashFoundation/zebra#1567 + + +ZcashFoundation/zebra#1567 +ZIP-221: Block Header +Chain History Commitment + + + + + +ZcashFoundation/zebra#2015 + + +ZcashFoundation/zebra#2015 +Run coverage on the +latest nightly + + + + + +ZcashFoundation/zebra#2028 + + +ZcashFoundation/zebra#2028 +Use the AtLeastOne +generic type to enforce +field counts + + + + + +ZcashFoundation/zebra#1774 + + +ZcashFoundation/zebra#1774 +Add a size estimator to +the message encoder and +serializers + + + + + +ZcashFoundation/zebra#2035 + + + + +ZcashFoundation/zebra#2035 +Add external_addr to +config (network section) + + + + + +ZcashFoundation/zebra#2052 + + +ZcashFoundation/zebra#2052 +Use default port for +initial peers and +external addresses + + + + + +ZcashFoundation/zebra#2035->ZcashFoundation/zebra#2052 + + + + + +ZcashFoundation/zebra#2050 + + +ZcashFoundation/zebra#2050 +ZIP-244: Implement Non- +Malleable transaction ids + + + + + +ZcashFoundation/zebra#2051 + + +ZcashFoundation/zebra#2051 +ZIP-244: Implement +sighash for Non-Malleable +Transaction Ids + + + + + +ZcashFoundation/zebra#2050->ZcashFoundation/zebra#2051 + + + + + +ZcashFoundation/zebra#2165 + + + + +ZcashFoundation/zebra#2165 +Add ZIP-244 signature +hash support + + + + + +ZcashFoundation/zebra#2050->ZcashFoundation/zebra#2165 + + + + + +ZcashFoundation/zebra#2115 + + +ZcashFoundation/zebra#2115 +RFC for ZIP-213: Shielded +Coinbase rules for +Heartwood + + + + + +ZcashFoundation/zebra#608 + + +ZcashFoundation/zebra#608 +ZIP-213: Shielded +Coinbase rules for +Heartwood + + + + + +ZcashFoundation/zebra#2115->ZcashFoundation/zebra#608 + + + + + +ZcashFoundation/zebra#2152 + + +ZcashFoundation/zebra#2152 +ZIP-209 RFC: Value Pools +Implementation + + + + + +ZcashFoundation/zebra#1895 + + +ZcashFoundation/zebra#1895 +ZIP-209: Prohibit +Negative Shielded Chain +Value Pool Balances - +Implementation + + + + + +ZcashFoundation/zebra#2152->ZcashFoundation/zebra#1895 + + + + + +ZcashFoundation/zebra#1973 + + +ZcashFoundation/zebra#1973 +Automatically invalidate +preselected peers + + + + + +ZcashFoundation/zebra#2156 + + +ZcashFoundation/zebra#2156 +Security: Send notfound +inv items to the inv +collector, Credit: +Equilibrium + + + + + +ZcashFoundation/zebra#1973->ZcashFoundation/zebra#2156 + + + + + +ZcashFoundation/zebra#2160 + + + + +ZcashFoundation/zebra#2160 +Security: MetaAddr +refactor, gossip time, +connection order, +reconnection rate fixes +(see tickets) + + + + + +ZcashFoundation/zebra#829 + + +ZcashFoundation/zebra#829 +Replace `primitive_types` +with `bigint` + + + + + +ZcashFoundation/zebra#829->ZcashFoundation/zebra#2050 + + + + + +ZcashFoundation/zebra#2129 + + + + +ZcashFoundation/zebra#2129 +Add ZIP-0244 TxId Digest +support + + + + + +ZcashFoundation/zebra#829->ZcashFoundation/zebra#2129 + + + + + +ZcashFoundation/zebra#2292 + + +ZcashFoundation/zebra#2292 +Cleanup MetaAddr after +security fixes + + + + + +ZcashFoundation/zebra#2275 + + + + +ZcashFoundation/zebra#2275 +Security: Limit +reconnection rate to +individual peers + + + + + +ZcashFoundation/zebra#2275->ZcashFoundation/zebra#2292 + + + + + +ZcashFoundation/zebra#2293 + + +ZcashFoundation/zebra#2293 +Batch MetaAddrChanges and +remove identical changes + + + + + +ZcashFoundation/zebra#2275->ZcashFoundation/zebra#2293 + + + + + +ZcashFoundation/zebra#2276 + + + + +ZcashFoundation/zebra#2276 +Always send our local +listener with the latest +time + + + + + +ZcashFoundation/zebra#2276->ZcashFoundation/zebra#2292 + + + + + +ZcashFoundation/zebra#2277 + + + + +ZcashFoundation/zebra#2277 +Gossip dynamic local +listener ports to peers + + + + + +ZcashFoundation/zebra#2277->ZcashFoundation/zebra#2292 + + + + + +ZcashFoundation/zebra#2262 + + +ZcashFoundation/zebra#2262 +After network upgrade +activation, close +existing connections to +outdated peers + + + + + +ZcashFoundation/zebra#2262->ZcashFoundation/zebra#1334 + + + + + +ZcashFoundation/zebra#2262->ZcashFoundation/zebra#706 + + + + + +ZcashFoundation/zebra#2261 + + +ZcashFoundation/zebra#2261 +Stop sending addresses of +outdated peers to other +peers + + + + + +ZcashFoundation/zebra#2262->ZcashFoundation/zebra#2261 + + + + + +ZcashFoundation/zebra#2107 + + +ZcashFoundation/zebra#2107 +Security: Stop +immediately disconnecting +from nodes that send +unexpected messages, +Credit: Equilibrium + + + + + +ZcashFoundation/zebra#2262->ZcashFoundation/zebra#2107 + + + + + +ZcashFoundation/zebra#2107->ZcashFoundation/zebra#706 + + + + +