KomodoOcean
KomodoOcean copied to clipboard
Remove libsnark, libgmp, mini-gmp
- The old
mini-gmp
C-library has been removed, and the functionsbitcoin_base58{en,de}code
have been replaced with internal{En,De}codeBase58
from the Bitcoin codebase. - GMP functions are no longer used in
rewards CC
; the same results can be achieved more efficiently using the internalarith_uint256
type. - GMP functions are no longer used in
payments CC
; refactoring has been done to work with large numbers in calculations usingarith_uint256
. -
Dilithium
andmusig
have been removed from the CC in preparation for the upcoming update to thesecp256k1
codebase. - Old pre-sapling Sprout (PHGRProof) proofs validation has been removed.
komodod
will no longer verify old Sprout proofs and will assume they are valid. This change is safe forKMD
and ACs, as transactions involving Sprout afterKOMODO_SAPLING_DEADLINE
(February 15, 2019) were prohibited at the consensus level. -
libnsnark
andlibgmp
have been removed from dependencies and build systems. - KMD and dPoW-protected AC checkpoints have been updated.
These changes will result in faster Initial Block Download (IBD) due to saving CPU time on verifying old Sprout transactions and disabling scripts and other resource-intensive checks during IBD. Additionally, with the removal of old pre-sapling Sprout, the need for sprout-proving.key
and sprout-verifying.key
files in .zcash-params
(~910 Mb) is eliminated.