From 128aa34da636e0328a03398e0d5839692fe95d12 Mon Sep 17 00:00:00 2001 From: Daira-Emma Hopwood Date: Sat, 23 Aug 2025 19:10:14 +0100 Subject: [PATCH 1/2] Update for changes in ZIP 234. In particular, according to ZIP 234 the deployment occurs only once the NSM subsidy would drop below the legacy subsidy, and so the four-year periods used for comparison no longer line up with halving periods. Occurrences of ZSF have also been changed to NSM. The README has been updated with the new output, and a disclaimer added. Signed-off-by: Daira-Emma Hopwood --- README.md | 272 +++++++++++++++++++----------------- plots/nsm_balance.png | Bin 0 -> 102504 bytes plots/nsm_block_subsidy.png | Bin 0 -> 111697 bytes plots/zsf_balance.png | Bin 102102 -> 0 bytes plots/zsf_block_subsidy.png | Bin 112788 -> 0 bytes src/main.rs | 229 ++++++++++++++++++------------ src/plots.rs | 38 ++--- 7 files changed, 301 insertions(+), 238 deletions(-) create mode 100644 plots/nsm_balance.png create mode 100644 plots/nsm_block_subsidy.png delete mode 100644 plots/zsf_balance.png delete mode 100644 plots/zsf_block_subsidy.png diff --git a/README.md b/README.md index 2170507..88bfb2a 100644 --- a/README.md +++ b/README.md @@ -1,167 +1,179 @@ -# Zcash Sustainaiblity Fund simulator +# Network Sustainability Mechanism simulator -This short Rust program simulates Zcash Block Rewards (aka Block Subsidies) assuming Zcash Sustainability Fund backed smoothing out of the issuance curve will be implemented (https://github.com/zcash/zips/pull/706). +This short Rust program simulates Zcash Block Subsidies, assuming that smoothing of the +issuance curve in line with the Network Sustainability Mechanism will be implemented as +specified in [ZIP 234](https://zips.z.cash/zip-0234). ## Running -### Devenv -You can use [devenv.sh](https://devenv.sh/) to setup a development environment. Otherwise follow the instructions below. - ### Manual setup -To run the program, you need to have Rust installed. You'll also need some extra libraries to enable plotting, on Ubuntu do: +To run the program, you need to have Rust installed. You'll also need some extra libraries +to enable plotting, on Ubuntu do: ``` sudo apt install pkg-config libfreetype6-dev libfontconfig1-dev ``` - Then, clone this repository and run: +Then, clone this repository and run: ``` cargo run ``` +## Disclaimer + +This fork of Eiger's "[ZSF simulator](https://github.com/eigerco/zsf-simulator)" has been +significantly modified by me, Daira-Emma Hopwood. Any errors in the interpretation of +ZIP 234 are my own. + ## Output -The program will output the final block that subsidies will be paid out from: +The program will output the final block that subsidies would be paid out from +according to ZIP 234: ``` -Last block is 47917869 in ~113.88 years -Final block subsidy: 1 (~0 ZEC) -Final ZSF balance: 0 (~0 ZEC) +DEPLOYMENT_BLOCK_HEIGHT = 3662980 (2.23 years after 2nd halving) +Last block with non-zero subsidy is at height 50788958 in ~114.23 years after the 2nd halving. +Final block subsidy: 1 (~0.00000001 ZEC) +Final NSM balance: 0 (~0 ZEC) ``` -As well as a summary of subsidies paid out during 4 year periods in between halvings in comparison with the current -issuance scheme: +It also gives a summary of subsidies that would be paid out during 4-year periods +after NSM deployment in comparison with the current issuance scheme. (Note that +these periods do not line up with halving periods under the current scheme.) ``` -Halvings: -Halving 1 at block 1680000: - ZSF subsidies: 262523884819889 (~ 2625238.848 ZEC, 1.563 ZEC per block) - legacy subsidies: 262500000000000 (~ 2625000.000 ZEC, 1.562 ZEC per block) - difference: 23884819889 (~ 238 ZEC), ZSF/legacy: 1.0001 -Halving 2 at block 3360000: - ZSF subsidies: 131259082555273 (~ 1312590.826 ZEC, 0.781 ZEC per block) - legacy subsidies: 131250000000000 (~ 1312500.000 ZEC, 0.781 ZEC per block) - difference: 9082555273 (~ 90 ZEC), ZSF/legacy: 1.0001 -Halving 3 at block 5040000: - ZSF subsidies: 65628165536456 (~ 656281.655 ZEC, 0.391 ZEC per block) - legacy subsidies: 65625000000000 (~ 656250.000 ZEC, 0.391 ZEC per block) - difference: 3165536456 (~ 31 ZEC), ZSF/legacy: 1.0000 -Halving 4 at block 6720000: - ZSF subsidies: 32813394913130 (~ 328133.949 ZEC, 0.195 ZEC per block) - legacy subsidies: 32812500000000 (~ 328125.000 ZEC, 0.195 ZEC per block) - difference: 894913130 (~ 8 ZEC), ZSF/legacy: 1.0000 -Halving 5 at block 8400000: - ZSF subsidies: 16406353535358 (~ 164063.535 ZEC, 0.098 ZEC per block) - legacy subsidies: 16406250000000 (~ 164062.500 ZEC, 0.098 ZEC per block) - difference: 103535358 (~ 1 ZEC), ZSF/legacy: 1.0000 -Halving 6 at block 10080000: - ZSF subsidies: 8203004810267 (~ 82030.048 ZEC, 0.049 ZEC per block) - legacy subsidies: 8203124160000 (~ 82031.242 ZEC, 0.049 ZEC per block) - difference: -119349733 (~ -1 ZEC), ZSF/legacy: 1.0000 -Halving 7 at block 11760000: - ZSF subsidies: 4101416429306 (~ 41014.164 ZEC, 0.024 ZEC per block) - legacy subsidies: 4101562080000 (~ 41015.621 ZEC, 0.024 ZEC per block) - difference: -145650694 (~ -1 ZEC), ZSF/legacy: 1.0000 -Halving 8 at block 13440000: - ZSF subsidies: 2050665226986 (~ 20506.652 ZEC, 0.012 ZEC per block) - legacy subsidies: 2050781040000 (~ 20507.810 ZEC, 0.012 ZEC per block) - difference: -115813014 (~ -1 ZEC), ZSF/legacy: 0.9999 -Halving 9 at block 15120000: - ZSF subsidies: 1025311119937 (~ 10253.111 ZEC, 0.006 ZEC per block) - legacy subsidies: 1025389680000 (~ 10253.897 ZEC, 0.006 ZEC per block) - difference: -78560063 (~ 0 ZEC), ZSF/legacy: 0.9999 -Halving 10 at block 16800000: - ZSF subsidies: 512644813724 (~ 5126.448 ZEC, 0.003 ZEC per block) - legacy subsidies: 512694000000 (~ 5126.940 ZEC, 0.003 ZEC per block) - difference: -49186276 (~ 0 ZEC), ZSF/legacy: 0.9999 -Halving 11 at block 18480000: - ZSF subsidies: 256317033772 (~ 2563.170 ZEC, 0.002 ZEC per block) - legacy subsidies: 256346160000 (~ 2563.462 ZEC, 0.002 ZEC per block) - difference: -29126228 (~ 0 ZEC), ZSF/legacy: 0.9999 -Halving 12 at block 20160000: - ZSF subsidies: 128155830300 (~ 1281.558 ZEC, 0.001 ZEC per block) - legacy subsidies: 128172240000 (~ 1281.722 ZEC, 0.001 ZEC per block) - difference: -16409700 (~ 0 ZEC), ZSF/legacy: 0.9999 -Halving 13 at block 21840000: - ZSF subsidies: 64076572065 (~ 640.766 ZEC, 0.000 ZEC per block) - legacy subsidies: 64085280000 (~ 640.853 ZEC, 0.000 ZEC per block) - difference: -8707935 (~ 0 ZEC), ZSF/legacy: 0.9999 -Halving 14 at block 23520000: - ZSF subsidies: 32037614417 (~ 320.376 ZEC, 0.000 ZEC per block) - legacy subsidies: 32042640000 (~ 320.426 ZEC, 0.000 ZEC per block) - difference: -5025583 (~ 0 ZEC), ZSF/legacy: 0.9998 -Halving 15 at block 25200000: - ZSF subsidies: 16018471375 (~ 160.185 ZEC, 0.000 ZEC per block) - legacy subsidies: 16020480000 (~ 160.205 ZEC, 0.000 ZEC per block) - difference: -2008625 (~ 0 ZEC), ZSF/legacy: 0.9999 -Halving 16 at block 26880000: - ZSF subsidies: 8009067846 (~ 80.091 ZEC, 0.000 ZEC per block) - legacy subsidies: 8010240000 (~ 80.102 ZEC, 0.000 ZEC per block) - difference: -1172154 (~ 0 ZEC), ZSF/legacy: 0.9999 -Halving 17 at block 28560000: - ZSF subsidies: 4004449844 (~ 40.044 ZEC, 0.000 ZEC per block) - legacy subsidies: 4005120000 (~ 40.051 ZEC, 0.000 ZEC per block) - difference: -670156 (~ 0 ZEC), ZSF/legacy: 0.9998 -Halving 18 at block 30240000: - ZSF subsidies: 2002182886 (~ 20.022 ZEC, 0.000 ZEC per block) - legacy subsidies: 2002560000 (~ 20.026 ZEC, 0.000 ZEC per block) - difference: -377114 (~ 0 ZEC), ZSF/legacy: 0.9998 -Halving 19 at block 31920000: - ZSF subsidies: 1001070275 (~ 10.011 ZEC, 0.000 ZEC per block) - legacy subsidies: 1001280000 (~ 10.013 ZEC, 0.000 ZEC per block) - difference: -209725 (~ 0 ZEC), ZSF/legacy: 0.9998 -Halving 20 at block 33600000: - ZSF subsidies: 500525701 (~ 5.005 ZEC, 0.000 ZEC per block) - legacy subsidies: 500640000 (~ 5.006 ZEC, 0.000 ZEC per block) - difference: -114299 (~ 0 ZEC), ZSF/legacy: 0.9998 -Halving 21 at block 35280000: - ZSF subsidies: 250255480 (~ 2.503 ZEC, 0.000 ZEC per block) - legacy subsidies: 250320000 (~ 2.503 ZEC, 0.000 ZEC per block) - difference: -64520 (~ 0 ZEC), ZSF/legacy: 0.9997 -Halving 22 at block 36960000: - ZSF subsidies: 125126575 (~ 1.251 ZEC, 0.000 ZEC per block) - legacy subsidies: 124320000 (~ 1.243 ZEC, 0.000 ZEC per block) - difference: 806575 (~ 0 ZEC), ZSF/legacy: 1.0065 -Halving 23 at block 38640000: - ZSF subsidies: 62556140 (~ 0.626 ZEC, 0.000 ZEC per block) - legacy subsidies: 62160000 (~ 0.622 ZEC, 0.000 ZEC per block) - difference: 396140 (~ 0 ZEC), ZSF/legacy: 1.0064 -Halving 24 at block 40320000: - ZSF subsidies: 31271589 (~ 0.313 ZEC, 0.000 ZEC per block) - legacy subsidies: 30240000 (~ 0.302 ZEC, 0.000 ZEC per block) - difference: 1031589 (~ 0 ZEC), ZSF/legacy: 1.0341 -Halving 25 at block 42000000: - ZSF subsidies: 15660304 (~ 0.157 ZEC, 0.000 ZEC per block) - legacy subsidies: 15120000 (~ 0.151 ZEC, 0.000 ZEC per block) - difference: 540304 (~ 0 ZEC), ZSF/legacy: 1.0357 -Halving 26 at block 43680000: - ZSF subsidies: 7766952 (~ 0.078 ZEC, 0.000 ZEC per block) - legacy subsidies: 6720000 (~ 0.067 ZEC, 0.000 ZEC per block) - difference: 1046952 (~ 0 ZEC), ZSF/legacy: 1.1558 -Halving 27 at block 45360000: - ZSF subsidies: 3962388 (~ 0.040 ZEC, 0.000 ZEC per block) - legacy subsidies: 3360000 (~ 0.034 ZEC, 0.000 ZEC per block) - difference: 602388 (~ 0 ZEC), ZSF/legacy: 1.1793 -Halving 28 at block 47040000: - ZSF subsidies: 1814216 (~ 0.018 ZEC, 0.000 ZEC per block) - legacy subsidies: 1680000 (~ 0.017 ZEC, 0.000 ZEC per block) - difference: 134216 (~ 0 ZEC), ZSF/legacy: 1.0799 +Four-year periods: +Years 0.. 4 at heights 3662980.. 5342980: + NSM subsidies: 189352008318309 (~ 1893520.083 ZEC, 1.12709529 ZEC per block) + no-NSM subsidies: 189329765625000 (~ 1893297.656 ZEC, 1.12696289 ZEC per block) + difference: 22242693309 (~ 222.427 ZEC), NSM/no-NSM: 1.0001 +Years 4.. 8 at heights 5342980.. 7022980: + NSM subsidies: 94673941416154 (~ 946739.414 ZEC, 0.56353537 ZEC per block) + no-NSM subsidies: 94664804687500 (~ 946648.047 ZEC, 0.56348098 ZEC per block) + difference: 9136728654 (~ 91.367 ZEC), NSM/no-NSM: 1.0001 +Years 8.. 12 at heights 7022980.. 8702980: + NSM subsidies: 47335978420161 (~ 473359.784 ZEC, 0.28176178 ZEC per block) + no-NSM subsidies: 47332402343750 (~ 473324.023 ZEC, 0.28174049 ZEC per block) + difference: 3576076411 (~ 35.761 ZEC), NSM/no-NSM: 1.0001 +Years 12.. 16 at heights 8702980..10382980: + NSM subsidies: 23667493076937 (~ 236674.931 ZEC, 0.14087793 ZEC per block) + no-NSM subsidies: 23666201171875 (~ 236662.012 ZEC, 0.14087025 ZEC per block) + difference: 1291905062 (~ 12.919 ZEC), NSM/no-NSM: 1.0001 +Years 16.. 20 at heights 10382980..12062980: + NSM subsidies: 11833498476344 (~ 118334.985 ZEC, 0.07043749 ZEC per block) + no-NSM subsidies: 11833100117647 (~ 118331.001 ZEC, 0.07043512 ZEC per block) + difference: 398358697 (~ 3.984 ZEC), NSM/no-NSM: 1.0000 +Years 20.. 24 at heights 12062980..13742980: + NSM subsidies: 5916625209792 (~ 59166.252 ZEC, 0.03521801 ZEC per block) + no-NSM subsidies: 5916549687114 (~ 59165.497 ZEC, 0.03521756 ZEC per block) + difference: 75522678 (~ 0.755 ZEC), NSM/no-NSM: 1.0000 +Years 24.. 28 at heights 13742980..15422980: + NSM subsidies: 2958250592564 (~ 29582.506 ZEC, 0.01760863 ZEC per block) + no-NSM subsidies: 2958274843557 (~ 29582.748 ZEC, 0.01760878 ZEC per block) + difference: -24250993 (~ -0.243 ZEC), NSM/no-NSM: 1.0000 +Years 28.. 32 at heights 15422980..17102980: + NSM subsidies: 1479094290332 (~ 14790.943 ZEC, 0.00880413 ZEC per block) + no-NSM subsidies: 1479136953488 (~ 14791.370 ZEC, 0.00880439 ZEC per block) + difference: -42663156 (~ -0.427 ZEC), NSM/no-NSM: 1.0000 +Years 32.. 36 at heights 17102980..18782980: + NSM subsidies: 739531642726 (~ 7395.316 ZEC, 0.00440197 ZEC per block) + no-NSM subsidies: 739567636744 (~ 7395.676 ZEC, 0.00440219 ZEC per block) + difference: -35994018 (~ -0.360 ZEC), NSM/no-NSM: 1.0000 +Years 36.. 40 at heights 18782980..20462980: + NSM subsidies: 369758070192 (~ 3697.581 ZEC, 0.00220094 ZEC per block) + no-NSM subsidies: 369782978372 (~ 3697.830 ZEC, 0.00220109 ZEC per block) + difference: -24908180 (~ -0.249 ZEC), NSM/no-NSM: 0.9999 +Years 40.. 44 at heights 20462980..22142980: + NSM subsidies: 184875159489 (~ 1848.752 ZEC, 0.00110045 ZEC per block) + no-NSM subsidies: 184890649186 (~ 1848.906 ZEC, 0.00110054 ZEC per block) + difference: -15489697 (~ -0.155 ZEC), NSM/no-NSM: 0.9999 +Years 44.. 48 at heights 22142980..23822980: + NSM subsidies: 92435642203 (~ 924.356 ZEC, 0.00055021 ZEC per block) + no-NSM subsidies: 92444484593 (~ 924.445 ZEC, 0.00055026 ZEC per block) + difference: -8842390 (~ -0.088 ZEC), NSM/no-NSM: 0.9999 +Years 48.. 52 at heights 23822980..25502980: + NSM subsidies: 46216852296 (~ 462.169 ZEC, 0.00027510 ZEC per block) + no-NSM subsidies: 46221870587 (~ 462.219 ZEC, 0.00027513 ZEC per block) + difference: -5018291 (~ -0.050 ZEC), NSM/no-NSM: 0.9999 +Years 52.. 56 at heights 25502980..27182980: + NSM subsidies: 23107941672 (~ 231.079 ZEC, 0.00013755 ZEC per block) + no-NSM subsidies: 23110467003 (~ 231.105 ZEC, 0.00013756 ZEC per block) + difference: -2525331 (~ -0.025 ZEC), NSM/no-NSM: 0.9999 +Years 56.. 60 at heights 27182980..28862980: + NSM subsidies: 11553728655 (~ 115.537 ZEC, 0.00006877 ZEC per block) + no-NSM subsidies: 11554861792 (~ 115.549 ZEC, 0.00006878 ZEC per block) + difference: -1133137 (~ -0.011 ZEC), NSM/no-NSM: 0.9999 +Years 60.. 64 at heights 28862980..30542980: + NSM subsidies: 5776743256 (~ 57.767 ZEC, 0.00003439 ZEC per block) + no-NSM subsidies: 5777430896 (~ 57.774 ZEC, 0.00003439 ZEC per block) + difference: -687640 (~ -0.007 ZEC), NSM/no-NSM: 0.9999 +Years 64.. 68 at heights 30542980..32222980: + NSM subsidies: 2888311019 (~ 28.883 ZEC, 0.00001719 ZEC per block) + no-NSM subsidies: 2888715448 (~ 28.887 ZEC, 0.00001719 ZEC per block) + difference: -404429 (~ -0.004 ZEC), NSM/no-NSM: 0.9999 +Years 68.. 72 at heights 32222980..33902980: + NSM subsidies: 1444125052 (~ 14.441 ZEC, 0.00000860 ZEC per block) + no-NSM subsidies: 1444357724 (~ 14.444 ZEC, 0.00000860 ZEC per block) + difference: -232672 (~ -0.002 ZEC), NSM/no-NSM: 0.9998 +Years 72.. 76 at heights 33902980..35582980: + NSM subsidies: 722047128 (~ 7.220 ZEC, 0.00000430 ZEC per block) + no-NSM subsidies: 722178862 (~ 7.222 ZEC, 0.00000430 ZEC per block) + difference: -131734 (~ -0.001 ZEC), NSM/no-NSM: 0.9998 +Years 76.. 80 at heights 35582980..37262980: + NSM subsidies: 361015488 (~ 3.610 ZEC, 0.00000215 ZEC per block) + no-NSM subsidies: 361089431 (~ 3.611 ZEC, 0.00000215 ZEC per block) + difference: -73943 (~ -0.001 ZEC), NSM/no-NSM: 0.9998 +Years 80.. 84 at heights 37262980..38942980: + NSM subsidies: 180506560 (~ 1.805 ZEC, 0.00000107 ZEC per block) + no-NSM subsidies: 180076425 (~ 1.801 ZEC, 0.00000107 ZEC per block) + difference: 430135 (~ 0.004 ZEC), NSM/no-NSM: 1.0024 +Years 84.. 88 at heights 38942980..40622980: + NSM subsidies: 90245698 (~ 0.902 ZEC, 0.00000054 ZEC per block) + no-NSM subsidies: 89666503 (~ 0.897 ZEC, 0.00000053 ZEC per block) + difference: 579195 (~ 0.006 ZEC), NSM/no-NSM: 1.0065 +Years 88.. 92 at heights 40622980..42302980: + NSM subsidies: 45126662 (~ 0.451 ZEC, 0.00000027 ZEC per block) + no-NSM subsidies: 44364961 (~ 0.444 ZEC, 0.00000026 ZEC per block) + difference: 761701 (~ 0.008 ZEC), NSM/no-NSM: 1.0172 +Years 92.. 96 at heights 42302980..43982980: + NSM subsidies: 22552905 (~ 0.226 ZEC, 0.00000013 ZEC per block) + no-NSM subsidies: 21810771 (~ 0.218 ZEC, 0.00000013 ZEC per block) + difference: 742134 (~ 0.007 ZEC), NSM/no-NSM: 1.0340 +Years 96..100 at heights 43982980..45662980: + NSM subsidies: 11280615 (~ 0.113 ZEC, 0.00000007 ZEC per block) + no-NSM subsidies: 10437095 (~ 0.104 ZEC, 0.00000006 ZEC per block) + difference: 843520 (~ 0.008 ZEC), NSM/no-NSM: 1.0808 +Years 100..104 at heights 45662980..47342980: + NSM subsidies: 5609808 (~ 0.056 ZEC, 0.00000003 ZEC per block) + no-NSM subsidies: 4846838 (~ 0.048 ZEC, 0.00000003 ZEC per block) + difference: 762970 (~ 0.008 ZEC), NSM/no-NSM: 1.1574 +Years 104..108 at heights 47342980..49022980: + NSM subsidies: 2702325 (~ 0.027 ZEC, 0.00000002 ZEC per block) + no-NSM subsidies: 2423419 (~ 0.024 ZEC, 0.00000001 ZEC per block) + difference: 278906 (~ 0.003 ZEC), NSM/no-NSM: 1.1151 +Years 108..112 at heights 49022980..50702980: + NSM subsidies: 1680000 (~ 0.017 ZEC, 0.00000001 ZEC per block) + no-NSM subsidies: 743419 (~ 0.007 ZEC, 0.00000000 ZEC per block) + difference: 936581 (~ 0.009 ZEC), NSM/no-NSM: 2.2598 ``` The program will also output PNG files with plots of the issuance curve in `plots/`: -![ZSF balance simulation](plots/zsf_balance.png) -![ZSF block subsidy simulation](plots/zsf_block_subsidy.png) +![NSM balance simulation](plots/nsm_balance.png) +![NSM block subsidy simulation](plots/nsm_block_subsidy.png) ## About this repo -This simulator is part of our larger efforts to implement the Zcash Sustainability Fund, watch the presentation [here](https://www.youtube.com/watch?v=_QSYgvDV33k) +This simulator is part of our larger efforts to implement the Network Sustainability Mechanism. +They are described in a ZconV presentation by Eiger and Shielded Labs (from when it was called the +Zcash Sustainability Fund) that is available [here](https://www.youtube.com/watch?v=_QSYgvDV33k). ## About [Eiger](https://www.eiger.co) -We are engineers. We contribute to various ecosystems by building low level implementations and core components. We believe in Zcash because privacy is critical to a well functioning society. +We are engineers. We contribute to various ecosystems by building low level implementations and +core components. We believe in Zcash because privacy is critical to a well functioning society. Contact us at hello@eiger.co Follow us on [X/Twitter](https://x.com/eiger_co) diff --git a/plots/nsm_balance.png b/plots/nsm_balance.png new file mode 100644 index 0000000000000000000000000000000000000000..287295c5299a26fac3280ada4b5b40496f09c475 GIT binary patch literal 102504 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 literal 0 HcmV?d00001 diff --git a/plots/zsf_balance.png b/plots/zsf_balance.png deleted file mode 100644 index 9f0e8e5a756e2ed3c6cfe0e0e40434906530ad7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102102 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 diff --git a/plots/zsf_block_subsidy.png b/plots/zsf_block_subsidy.png deleted file mode 100644 index 435d8fcd46df207865e645dee765afa47c9c2949..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112788 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 LeEq=er5pYae`U0l diff --git a/src/main.rs b/src/main.rs index e81c687..1d6cb6b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,134 +1,185 @@ use crate::plots::{generate_plots, PLOT_SAMPLING}; -pub const MAX_MONEY: i64 = 21_000_000; -const BLOCKS_PER_YEAR: u32 = 420_768; -const ZATOSHIS_PER_ZEC: i64 = 100_000_000; -// predicted ZEC supply at the next halving (block 2726400) -const INITIAL_SUPPLY: i64 = 1_574_963_454_129_680; -const INITIAL_SUBSIDIES: i64 = MAX_MONEY * ZATOSHIS_PER_ZEC - INITIAL_SUPPLY; +mod plots; -const BLOCK_SUBSIDY_NUMERATOR: i64 = 4126; -const BLOCK_SUBSIDY_DENOMINATOR: i64 = 10_000_000_000; +type Height = i64; // or height interval +type Zats = i64; -const POST_BLOSSOM_HALVING_INTERVAL: u32 = 1_680_000; -// block subsidy starting at the next halving (block 2726400) -const INITIAL_LEGACY_BLOCK_SUBSIDY: i64 = 50 * ZATOSHIS_PER_ZEC / 32; +pub const MAX_MONEY: Zats = 21_000_000; +const BLOCKS_PER_YEAR: i64 = 420_768; +const ZATOSHIS_PER_ZEC: Zats = 1_0000_0000; +const INITIAL_HALVING: usize = 2; +const INITIAL_HALVING_HEIGHT: Height = 2726400; +// Predicted ZEC supply at INITIAL_HALVING. TODO: check this. +const INITIAL_SUPPLY: Zats = 1_574_963_454_129_680; +const INITIAL_SUBSIDIES: Zats = MAX_MONEY * ZATOSHIS_PER_ZEC - INITIAL_SUPPLY; -mod plots; +const NSM_BLOCK_SUBSIDY_NUMERATOR: i64 = 4126; +const NSM_BLOCK_SUBSIDY_DENOMINATOR: i64 = 10_000_000_000; -fn main() { - let (block, balance_points, zsf_reward_points, legacy_reward_points, halvings) = simulate(); +const POST_BLOSSOM_HALVING_INTERVAL: Height = 1_680_000; +// Block subsidy at INITIAL_HALVING_HEIGHT. +const INITIAL_NO_NSM_BLOCK_SUBSIDY: Zats = 12_5000_0000 / 8; + +fn to_zec(zatoshis: Zats) -> f64 { + zatoshis as f64 / ZATOSHIS_PER_ZEC as f64 +} + +fn years_after_initial(height: Height) -> f64 { + (height - INITIAL_HALVING_HEIGHT) as f64 / BLOCKS_PER_YEAR as f64 +} + +fn no_nsm_block_subsidy_for_height(height: Height) -> Zats { + assert!(height >= INITIAL_HALVING_HEIGHT); + let halving_after_initial = (height - INITIAL_HALVING_HEIGHT) / POST_BLOSSOM_HALVING_INTERVAL; + INITIAL_NO_NSM_BLOCK_SUBSIDY >> std::cmp::min(halving_after_initial, 63) +} + +struct Stats { + pub index: i64, + pub end_height: i64, + pub nsm_subsidies: i64, + pub no_nsm_subsidies: i64, +} + +impl Stats { + fn summary(self: &Stats) -> String { + let difference = self.nsm_subsidies - self.no_nsm_subsidies; + let ratio = self.nsm_subsidies as f64 / self.no_nsm_subsidies as f64; + let end_year = self.index * 4; + format!( + "Years {:>3}..{:>3} at heights {:>8}..{:>8}:\n \ + NSM subsidies: {:>15} (~{:>12.3} ZEC, {:>12.8} ZEC per block)\n \ + no-NSM subsidies: {:>15} (~{:>12.3} ZEC, {:>12.8} ZEC per block)\n \ + difference: {:>15} (~{:>12.3} ZEC), NSM/no-NSM: {:.4}", + end_year - 4, + end_year, + self.end_height - POST_BLOSSOM_HALVING_INTERVAL, + self.end_height, + self.nsm_subsidies, + to_zec(self.nsm_subsidies), + self.nsm_subsidies as f64 + / POST_BLOSSOM_HALVING_INTERVAL as f64 + / ZATOSHIS_PER_ZEC as f64, + self.no_nsm_subsidies, + to_zec(self.no_nsm_subsidies), + self.no_nsm_subsidies as f64 + / POST_BLOSSOM_HALVING_INTERVAL as f64 + / ZATOSHIS_PER_ZEC as f64, + difference, + to_zec(difference), + ratio + ) + } +} - print_halving(halvings); +fn main() { + let (end_height, balance_points, nsm_reward_points, no_nsm_reward_points, four_year_stats) = + simulate(); - let years = block as f64 / BLOCKS_PER_YEAR as f64; + print_four_year_stats(&four_year_stats); generate_plots( balance_points, - zsf_reward_points, - legacy_reward_points, - years, + nsm_reward_points, + no_nsm_reward_points, + years_after_initial(end_height), ); } +#[allow(clippy::type_complexity)] fn simulate() -> ( - u32, + Height, Vec<(f64, f64)>, Vec<(f64, f64)>, Vec<(f64, f64)>, - Vec, + Vec, ) { - let mut available_subsidies: i64 = INITIAL_SUBSIDIES; - let mut block: u32 = 0; + let mut available_subsidies: Zats = INITIAL_SUBSIDIES; + let mut height: Height = INITIAL_HALVING_HEIGHT; let mut balance_points: Vec<(f64, f64)> = Vec::new(); - let mut zsf_reward_points: Vec<(f64, f64)> = Vec::new(); - let mut legacy_reward_points: Vec<(f64, f64)> = Vec::new(); - let mut halvings: Vec = Vec::new(); - let mut halving_subsidies: i64 = 0; + let mut nsm_reward_points: Vec<(f64, f64)> = Vec::new(); + let mut no_nsm_reward_points: Vec<(f64, f64)> = Vec::new(); + let mut four_year_stats: Vec = Vec::new(); + let mut four_year_nsm_subsidies: Zats = 0; + let mut four_year_no_nsm_subsidies: Zats = 0; + let mut nsm_deployment_height: Option = None; while available_subsidies > 0 { - let block_subsidy = (available_subsidies * BLOCK_SUBSIDY_NUMERATOR - + (BLOCK_SUBSIDY_DENOMINATOR - 1)) - / BLOCK_SUBSIDY_DENOMINATOR; + let years = years_after_initial(height); + let nsm_block_subsidy = (available_subsidies * NSM_BLOCK_SUBSIDY_NUMERATOR + + (NSM_BLOCK_SUBSIDY_DENOMINATOR - 1)) + / NSM_BLOCK_SUBSIDY_DENOMINATOR; + + let no_nsm_block_subsidy = no_nsm_block_subsidy_for_height(height); + + if nsm_deployment_height.is_none() && nsm_block_subsidy < no_nsm_block_subsidy { + nsm_deployment_height = Some(height); + println!("DEPLOYMENT_BLOCK_HEIGHT = {height} ({years:.2} years after {INITIAL_HALVING}nd halving)"); + } + + let block_subsidy = if nsm_deployment_height.is_some() { + four_year_nsm_subsidies += nsm_block_subsidy; + four_year_no_nsm_subsidies += no_nsm_block_subsidy; + nsm_block_subsidy + } else { + no_nsm_block_subsidy + }; available_subsidies -= block_subsidy; - halving_subsidies += block_subsidy; if available_subsidies == 0 { println!( - "Last block is {} in ~{:.2} years\nFinal block subsidy: {} (~{} ZEC)\nFinal ZSF balance: {} (~{} ZEC)", - block, // current block - block as f64 / BLOCKS_PER_YEAR as f64, // ~ current year - block_subsidy, // block subsidy in zatoshis - block_subsidy / ZATOSHIS_PER_ZEC, // block subsidy in ZEC - available_subsidies, // available subsidies in zatoshis - available_subsidies / ZATOSHIS_PER_ZEC // available subsidies in ZEC + "Last block with non-zero subsidy is at height {} in ~{:.2} years after the {}nd halving.\n\ + Final block subsidy: {} (~{} ZEC)\n\ + Final NSM balance: {} (~{} ZEC)", + height, // current height + years, // ~ current year after initial halving + INITIAL_HALVING, // initial halving ordinal + block_subsidy, // block subsidy in zatoshis + to_zec(block_subsidy), // block subsidy in ZEC + available_subsidies, // available subsidies in zatoshis + to_zec(available_subsidies) // available subsidies in ZEC ); } - if block % PLOT_SAMPLING == 0 { - let block_float = block as f64 / BLOCKS_PER_YEAR as f64; - balance_points.push(( - block_float, - available_subsidies as f64 / ZATOSHIS_PER_ZEC as f64, - )); - - zsf_reward_points.push((block_float, block_subsidy as f64 / ZATOSHIS_PER_ZEC as f64)); - - legacy_reward_points.push(( - block_float, - ((INITIAL_LEGACY_BLOCK_SUBSIDY / 2_i64.pow(block / POST_BLOSSOM_HALVING_INTERVAL)) - as f64) - / ZATOSHIS_PER_ZEC as f64, - )); + if ((height - INITIAL_HALVING_HEIGHT) as u32) % PLOT_SAMPLING == 0 { + balance_points.push((years, to_zec(available_subsidies))); + nsm_reward_points.push((years, to_zec(block_subsidy))); + no_nsm_reward_points.push((years, to_zec(no_nsm_block_subsidy))); } - if block > 0 && block % POST_BLOSSOM_HALVING_INTERVAL == 0 { - halvings.push(halving_subsidies); - halving_subsidies = 0; + if let Some(h) = nsm_deployment_height { + if height > h && (height - h) % POST_BLOSSOM_HALVING_INTERVAL == 0 { + four_year_stats.push(Stats { + index: (height - h) / POST_BLOSSOM_HALVING_INTERVAL, + end_height: height, + nsm_subsidies: four_year_nsm_subsidies, + no_nsm_subsidies: four_year_no_nsm_subsidies, + }); + four_year_nsm_subsidies = 0; + four_year_no_nsm_subsidies = 0; + } } - block += 1; + height += 1; } ( - block, + height, balance_points, - zsf_reward_points, - legacy_reward_points, - halvings, + nsm_reward_points, + no_nsm_reward_points, + four_year_stats, ) } -fn print_halving(halvings: Vec) { +fn print_four_year_stats(four_year_stats: &Vec) { println!("#############################################"); - println!("Halvings:"); - - for (i, zsf_halving_subsidies) in halvings.iter().enumerate() { - let legacy_subsidy_per_block = INITIAL_LEGACY_BLOCK_SUBSIDY / 2_i64.pow(i as u32); - let legacy_halving_subsidies = legacy_subsidies_for_halving(i as u32); - let difference = zsf_halving_subsidies - legacy_halving_subsidies; - let ratio = *zsf_halving_subsidies as f64 / legacy_halving_subsidies as f64; - - println!( - "Halving {:>2} at block {:>8}:\n ZSF subsidies: {:>15} (~{:>12.3} ZEC, {:>12.3} ZEC per block)\n legacy subsidies: {:>15} (~{:>12.3} ZEC, {:>12.3} ZEC per block)\n difference: {:>15} (~{:>12.3} ZEC), ZSF/legacy: {:.4}", - i + 1, - (i + 1) as u32 * POST_BLOSSOM_HALVING_INTERVAL, - zsf_halving_subsidies, - *zsf_halving_subsidies as f64 / ZATOSHIS_PER_ZEC as f64, - *zsf_halving_subsidies as f64 / POST_BLOSSOM_HALVING_INTERVAL as f64 / ZATOSHIS_PER_ZEC as f64, - legacy_halving_subsidies, - legacy_halving_subsidies as f64 / ZATOSHIS_PER_ZEC as f64, - legacy_subsidy_per_block as f64 / ZATOSHIS_PER_ZEC as f64, - difference, - difference / ZATOSHIS_PER_ZEC, - ratio - ); + println!("Four-year periods:"); + + for stats in four_year_stats { + println!("{}", stats.summary()); } println!("#############################################"); } - -fn legacy_subsidies_for_halving(halving: u32) -> i64 { - let subsidy_for_halving = INITIAL_LEGACY_BLOCK_SUBSIDY / 2_i64.pow(halving); - POST_BLOSSOM_HALVING_INTERVAL as i64 * subsidy_for_halving -} diff --git a/src/plots.rs b/src/plots.rs index de08381..6af423b 100644 --- a/src/plots.rs +++ b/src/plots.rs @@ -4,17 +4,17 @@ use plotters::{ style::*, }; -use crate::MAX_MONEY; +use crate::{INITIAL_HALVING, MAX_MONEY}; -const BALANCE_PLOT_PATH: &str = "plots/zsf_balance.png"; -const BLOCK_SUBSIDY_PLOT_PATH: &str = "plots/zsf_block_subsidy.png"; +const BALANCE_PLOT_PATH: &str = "plots/nsm_balance.png"; +const BLOCK_SUBSIDY_PLOT_PATH: &str = "plots/nsm_block_subsidy.png"; const PLOT_ZOOM: usize = 5; pub const PLOT_SAMPLING: u32 = 1000; pub fn generate_plots( balance_points: Vec<(f64, f64)>, - zsf_reward_points: Vec<(f64, f64)>, - legacy_reward_points: Vec<(f64, f64)>, + nsm_reward_points: Vec<(f64, f64)>, + no_nsm_reward_points: Vec<(f64, f64)>, years: f64, ) { balance_plot( @@ -23,8 +23,8 @@ pub fn generate_plots( ); block_subsidy_plot( - &zsf_reward_points[0..(balance_points.len() / PLOT_ZOOM)], - &legacy_reward_points[0..(balance_points.len() / PLOT_ZOOM)], + &nsm_reward_points[0..(balance_points.len() / PLOT_ZOOM)], + &no_nsm_reward_points[0..(balance_points.len() / PLOT_ZOOM)], years / PLOT_ZOOM as f64, ); } @@ -35,7 +35,7 @@ fn balance_plot(points: &[(f64, f64)], years: f64) { root.fill(&WHITE).unwrap(); let mut chart = ChartBuilder::on(&root) - .caption("ZSF balance", ("sans-serif", 50).into_font()) + .caption("NSM balance", ("sans-serif", 50).into_font()) .margin(50) .x_label_area_size(50) .y_label_area_size(50) @@ -45,8 +45,8 @@ fn balance_plot(points: &[(f64, f64)], years: f64) { chart .configure_mesh() .bold_line_style(WHITE.mix(0.3)) - .y_desc("ZSF balance in ZEC") - .x_desc("Years from activation") + .y_desc("NSM balance in ZEC") + .x_desc(format!("Years from {INITIAL_HALVING}nd halving")) .axis_desc_style(("sans-serif", 15)) .y_label_formatter(&|x| format!("{}M", x / 1_000_000_f64)) .draw() @@ -62,8 +62,8 @@ fn balance_plot(points: &[(f64, f64)], years: f64) { } fn block_subsidy_plot( - zsf_reward_points: &[(f64, f64)], - legacy_reward_points: &[(f64, f64)], + nsm_reward_points: &[(f64, f64)], + no_nsm_reward_points: &[(f64, f64)], years: f64, ) { let root = BitMapBackend::new(BLOCK_SUBSIDY_PLOT_PATH, (1024, 768)).into_drawing_area(); @@ -72,7 +72,7 @@ fn block_subsidy_plot( let mut chart = ChartBuilder::on(&root) .caption( - "Block subsidies - ZSF vs current", + "Block subsidies - NSM vs current", ("sans-serif", 50).into_font(), ) .margin(50) @@ -85,22 +85,22 @@ fn block_subsidy_plot( .configure_mesh() .bold_line_style(WHITE.mix(0.3)) .y_desc("Block subsidy in ZEC") - .x_desc("Years from activation") + .x_desc(format!("Years from {INITIAL_HALVING}nd halving")) .axis_desc_style(("sans-serif", 15)) .draw() .unwrap(); - let zsf_series = LineSeries::new(zsf_reward_points.to_owned(), &RED); - let legacy_series = LineSeries::new(legacy_reward_points.to_owned(), &BLUE); + let nsm_series = LineSeries::new(nsm_reward_points.to_owned(), &RED); + let no_nsm_series = LineSeries::new(no_nsm_reward_points.to_owned(), &BLUE); chart - .draw_series(zsf_series) + .draw_series(nsm_series) .unwrap() - .label("ZSF Smooth Issuance") + .label("NSM Smooth Issuance") .legend(|(x, y)| PathElement::new(vec![(x, y), (x + 20, y)], RED)); chart - .draw_series(legacy_series) + .draw_series(no_nsm_series) .unwrap() .label("Current issuance") .legend(|(x, y)| PathElement::new(vec![(x, y), (x + 20, y)], BLUE)); From 7b937cbfb85600ae801b167b4e9cf81eaeb48d66 Mon Sep 17 00:00:00 2001 From: Daira-Emma Hopwood Date: Sat, 23 Aug 2025 19:55:05 +0100 Subject: [PATCH 2/2] Adjust vertical graph scaling. Signed-off-by: Daira-Emma Hopwood --- plots/nsm_balance.png | Bin 102504 -> 71930 bytes plots/nsm_block_subsidy.png | Bin 111697 -> 112422 bytes src/plots.rs | 6 +++--- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plots/nsm_balance.png b/plots/nsm_balance.png index 287295c5299a26fac3280ada4b5b40496f09c475..1f6f28169b5326d319d418d60d418123d0e475fc 100644 GIT binary patch delta 21435 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 delta 20095 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

e>TEq*Y`OY!t{y0n&xA6c!nyfwmPh)A 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%0AK+EL&#OMX629IPR{qcP2L@y$W%Y9Y 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�|Ftg?x#BaDn5!Kc3fg_2vgEPT(6o$ymhazO&6VIG1ValAVLk--+q`Pr76*S@EIXn z_yO?-tWQX;|_#L4KofL<^m&+Nsipl zIACjo8bVVZwut;>`n3%mr#=^_MnJ^f8csB!~<^Q+eB0%yxRey~MBv zHml2yKY>Pq_nPP0Fw1)Y_CFcR_J=8DN3pFzBmLGh&4=i+7Aq0EI8o%$p#zHd zTKJ^j-iqkOc0Wb<22egliz&&~K=5n*=(od&q5V1WZRa|(>fkAAz9+K`+=jc-Q`+5h zr>sI+z>o?)Zb*m`tRih#kuPZrR@5WDlRD5y7oazDqDx$efoyOaWagXio{5gMXOS@9 z-EALreNg~4{gFAfYF9Fqb7FYEFt|%_YMl5F#l%4qVzb@_eEX7o!pMIyGcd?qW6pZl z2^um0=op=Q(w4mx#;5!7;(v-NMvdpK?l+ak9&-BL=Y%=^-9oUEss6>i+z{}wzSqo$ zzSx)0(IN9;J&!BhEY_IS-?E(w|kcsf*kEI;3VIiaFTJQ*XP~?_k%%{b$?C zC1UtAHuUOncB#n&;75rrHz^Hmd*(>)u&#@3XY3IA(vN!){izeD`V9r$9u$tNVD0Ah zXag0usIt#zBwm7MO3 z-Sr3ZKKo474~o zU<_jLe801~l2cTuawP21#V-<`W}2|#4;Qi|-}h|i8}lsMm}3dmarvDn zjTwpo73?;AGny3V#XGFPeA#wq8gnmr=Jqf+A9UzyB4DsvLrPcJA4 z3IFTK3&u1~?erWh9s>H3@xVa$xSwJr!ZH-k^B+UXsAWrfgd|rA6 z@BJ4Scu%s3fJN7UCu|t@dRPf@(i_E?Gp5foO zWdYb*q-PdDCl(aXqXek7zP7QP zf)ZVrNrh|~1agT%J)jY#B-Dm_+%Ry!pa`#%02=P-4*{=6&kz#RI(qJCg^=J*gY+{9 zU>ApN1bUI}+(x{b-nf4KdT4E|#JV#+X*`e6I~|D$X>#I3!0>m* zAq$0GM`V=P2ge7rQGcUV(70X?9Nzbc*Y%DF%q0KerW}V&{ZL5sM1iarRP;jCnRCP@ zjLE|W+rXLBv(CaA;be~xYDUo^795QE$^wg0bB0cO1D8{AFg|b$8<#_Bi3sYt_!ilA z$YM1voAF>uH+Q&nW&j(V5tsObH{JqY<58#Dk(e-_wVh}L7**>gOt8M!5hM&>VsJs| zA=%7Y1ZcYS479v-Fi4gjZTXcx|5uE2 z=ww#gn@M;8|zYxlI63}hpLMGqju88M+gfl`Se8g*D`NrmP^uR4d zG`*2a^!gGL^gr)rR5zr8b)Lla?Lh9NLr0^Qa{mj*6W`zV>o6lAgxYgQ0P2A@Lx#}q z*(U9NSjiiVQSpyaVXq;6qd)hD>JFQpL8l8kPjzDaCgO8~BEtrnhvfR5L}QDj2e?5& zn+oOs!Pk3<13iWeX+`>AU3*5Ralu5L{ZN)#h)k8YTSMpd^7?o5vS_$}Rs}9y;%M7` zT%Z}PBNi~<*h}d>R?_hHg|;1pR~tVzp%zNm9)-Fc5Chwuk^4BsZ4I~5C4F~D@yr|^av{Mm)3PR6@X7pnVE!sVaPqJI&+N${>w zUU&p#eyU>3?ApKD?#-bsxFeQL^p3Rcd!*XeiY{O;UeEumV+mZHEWowmmlhU+JrtcA zr-?d_II+!oeiaAK2eXRmFgb=0q1}il0At+h07||~>^Fu#3~TT%jqryqicxCy?n93J#o zGh+HFcV`m9sx1T}vo^S>9ESv08wF`FO>HwdusZw#6pUZL4V~mNuH7>zKL<{Ny$v`z z+d)>3UoCgcEaE#}-S#&u^0)XqzeXF*61l?&@B+*!Bo2<`#8&h|@*p6T<{l$PQ}fP- zyw__y+|uJydsS-tm=jpK4?V_6o`G~$x)~16bu(fk*~t>XOFO=NSl0$v*7yr|j=B8K z`e5_3Zv+lrx+K4GoR|&!?#9pgUk`0}_7$EJ#x`>D8*SMm2P%V3;+7dU!aMS5$BHjl z;>gQyT!1FRti!F1Z!eh*oQNG8p4sgPUXrP^{K29Qb~v^|2Gd*Mo2MKs)`My+oJ{#V zT1=OI2l;OMP!nsDDFsE;m|B}LQu?-p%54TT&@LY>?of)38iHyH`il>VY2-VD!`l_v z+rH?$JoftH5Z>FqJD*r}G87i1almY(d-L71!5g@?J2n27Z20Bvd)EN4jDabYgcOH^k1|K&9{|bHNK} zul<+DA9UspB92mQn@Y_)IETLAP4uD6*PHf@CyXZKkR5kmv7r3N+K0@ifTX6T`ddtgr7)1PZV3T-_oYkY3p@O0TOeC^4@NA};pd@uT`@bVc{ZY2tW%5(Kp_%h z)b&$`yG=Y&y{CJ{+;d!C5MT8K)?3Y#VVf~jRFmrz3ZLs=`xF2k3jjB~yP&MB3f=yc6IEipk?4GOZTr)p z18?5H6bC!$Yya^Z<1n_+P5JA|Zy+vd@~MCNX5jxykG)BZ9onPo)Rgw=GIo7_!U}cO zH4C~mim)QDRafIAAROrfdQbPiu5ZaslEDgsUMkM33iOg-Jk@v}>f~}hpKk(%bnNJh zJbT3@s){vdkXJa_fix7ZzE}==%mSHAR#MWNZLEU=H_A#sw1T!4EoeJ%PEpXek!HY1j5yU9( zc+}lV@=kWkK)DiJF$ilU>CZJNK!MHjgT6m(Ftjomv(>ZF#W{^V(JP;z}9%N{S2g4 zI5a9CAfWY~)C}P@oX5C?4CqZ5K~IB|3lgze(0zd9Xa0K6x;q|6qYeHGZzk8M)pX`X z;*xpMQ4Y?$;QRqIFQ!1ap8c+Ti9L74Fy#qcxR+5u8*&k; z3uLC|9GpIMXY1Jl=o@*q-Zgp{VDMkqxnwwx3~KDD4WO6>(UP4i=V69C`QOh|*2g5( zkk@ip&$Ae&1v!I?a-y9!qx#1BTGVU8MMdVY7X=mqWRh7&=E(sK0A`+b?T(NrZF7Wh zEmylIqavKV11ig$t#GVBI2aupBx*0ITW|)NlQ`Gt-LMSKXm(fz-Z%(Dpb21D0CWJ{ zKkWSWVv)R?*UekQj)`HF8X#izwvXsGa>EAaK_EJ|0X4fD_;sbk^41#LO!UEQgA?>b zxzN1JglS)$@wknT`oRC#f-K!AB!=~pu5nH0;2e%&eKXr%mvLq^@qsm%j1(uHV8d?+ z3OfSows6hr+Wz4 z78n@kKNos;P}+{d7PhGohlTy!3(y3%{Lg05frT`kIQ;LmUrzbkk7gTzI|k>#B)hH` z2A``EKq(r;#vy+*hK$|^gQC_AV+AT5y%26K3wduBMxj~+`_(Zhqc%abfYkaI=p=A1OzXpbYr_G`xOwfl z2pNqMJUs{-=QgN7Vz&Wxb-Cnzteyu#%ZbKAuJk|)yhHv6JNHnb+=~5Mpcs>Ve0;p^ zIdcs(1(6`Gv5tHS>aPpX#t?3CtK+BYONfcYqUyE|e;6x+(oJa8a|s50`79=80ye6VPo6&?-nIlz z9ciyVQG@-}Y>5lsl%+XPUKS7n|Yxa&nmuAc8Icv z#Gn3b7Q5MCq!z-V86Z;(z#!N^33}w;UjUUBM?2s^GiMm(0ZoYPU;^l}%YOcR?T(mQ zG6g=CD}oLX3L{nqFjMfcC9iRaWwH!+3;X8VdJ^@}sRM&;+J;R4CE0Gdi8Uz=Y>OSt zE8LmvCW6rKIo{hsi8-d(RTM9)~MbV)sU9mwWBF)kY4$ z4IbNl&mk2koWnEuY;Q4kHhHG(=^OA*pPf_(J?bVPe9QQ~O+SRj$Ig3W-Gg2d;@!^u zky8rUE^BCgMQg)>JMyH8<5+2yz%MYNZ)t%V6?qQ3U!Z@YNRBdm_QG)CLqTSVy~W(d z!CZoENyd(8oTKpw_#bHn_Fk1>$89?F9flac74G8@RI&PJ?5Os@mO>e{E}8`($j1%|A@(9gW50|t zL03|n{D%>CaEtPZZ*YER2{!aVCrCd9_R~UxE-aZfy|t=7Q6_@@Va2tmal~19Ff=aa zlLpndFiF9!WfA}FBDR|fW*_R(Nx)s0;c0OAO)uyI6xi9oL{DoKD5*Akc^%I2z@|e) z%gJ@u!-Z2h(7L9>b{rhew3#HMs%P}iDoo2QWM>WGlJ1t!L09SW8_?bZ-AF9*d^Mh% zoSvS$6+KCAb2E19bJ}K%IFY3Yxmj5}<|cdItln|Vlx-u$`GhEd(_#w|`WjRd9H@Sa zEnIH<*a;<0tb!hpf7hn4%siUarV%i$(4(QWG{nLi^tpfpVH!b^ z9NGcEE4x7hv}(#_#r|Uztq>meVecI_Hr;oe2Mt7-!Oq<5liGym0itikBh3|PHf*1(8qTO%8=>x3rDv7@s=0n(X7#hKK#oifsyP&nR|It$u*rgiX4C=kH*_4T;INI@kbB@5d}|;W!k` za!}sf7YGfw@~B{tW?LCPx$7I8nkYzR73RN4)uVwZ!2_avz5zuhJ)q(N#0GggtQ6fD z+aV3!Z`kt5cv}ye15oFW@20~(9GnGI_L&0hfJ}tg3QdULY)p1Dz;lCH|Ic`Ka6shG zU_>}VBoIFxd(mSOATMQi3;P!_wu(?4>^mBVN39zot*{W4S-@~FXY3k#2*Msc%J^_I zABAo7^J7P2U>vW(G&PcZ``e`SO6<>rAt{QuMx2+z7JBeh;TS{{4*uJWWjpAYgW!Uy z8SFVt$8Iy=Oi`(Q#Nrk>ryaLo$FV1bOJPU z&-)9eiut_x>oSbb8i~Bo`W=I3L`effIxZ#TzyXt`5fKqEUK6uYpa-#l;Fjc5_Ub;B zDO8cg{xC{;Y38k4^LNyP&2oI8$Z&qP-=e>ew{L$c^tasH71$(|3O9`U%rtNX6)Y_T zjgOXXCZhs2rh{L$WA*unTn0Dd)Jz-`&hj7cMkX<;Hg0|#lJg`xIshfPAMS+dOn6Sl zbJa`Qe2FKuV?hKx<|d(_cs(7&^N2%)MJbn91~s0Wf7l%4z}M2xR(=}0VB`M(1BT&I A`2YX_ diff --git a/src/plots.rs b/src/plots.rs index 6af423b..2d2c33a 100644 --- a/src/plots.rs +++ b/src/plots.rs @@ -4,7 +4,7 @@ use plotters::{ style::*, }; -use crate::{INITIAL_HALVING, MAX_MONEY}; +use crate::INITIAL_HALVING; const BALANCE_PLOT_PATH: &str = "plots/nsm_balance.png"; const BLOCK_SUBSIDY_PLOT_PATH: &str = "plots/nsm_block_subsidy.png"; @@ -39,7 +39,7 @@ fn balance_plot(points: &[(f64, f64)], years: f64) { .margin(50) .x_label_area_size(50) .y_label_area_size(50) - .build_cartesian_2d(0f64..years, 0f64..(MAX_MONEY as f64)) + .build_cartesian_2d(0f64..years, 0f64..6_000_000_f64) .unwrap(); chart @@ -78,7 +78,7 @@ fn block_subsidy_plot( .margin(50) .x_label_area_size(50) .y_label_area_size(50) - .build_cartesian_2d(0f64..years, 0f64..5f64) + .build_cartesian_2d(0f64..years, 0f64..2f64) .unwrap(); chart