-
Notifications
You must be signed in to change notification settings - Fork 718
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Completely remove Zerocoin parameters #2902
Comments
Another thought: Rebasing to latest version of Bitcoin Core would implement Taproot to PIVX. |
Furthermore, we’re still using the old version of BerkeleyDB making running a node painful to do on most modern Linux distributions. |
Neither of these option are realistically viable. The zerocoin params are needed in order to validate existing transactions that took place during it's time. Rebasing on the latest Bitcoin codebase is also not practical. PIVX is it's own entity, and features implemented upstream don't always align with what we want or even need. We pull from upstream what is needed/desired already, but in a methodical way so to retain understanding of such changes rather than blindly following. BDB 4.8 is a non-issue; release binaries are statically linked to it and require no further input from users in order to run the PIVX wallet. Developers/tinkeres have the option to install this dependency either from the well maintained Ubuntu PPA, or compile it from source via the included script file (https://github.com/PIVX-Project/PIVX/blob/master/contrib/install_db4.sh). |
Indeed as @Fuzzbawls says there are reasons behind the way things are done. For our chain zerocoin is necessary because it was active on this chain. For other chains that is true it’s not necessary for them. Portions have been removed and cleaned up, but in order to sync the chain and validate properly we need these things to remain in this slimmed down form. For Bitcoin, we do selectively bring in changes that make sense for us and in the direction we are going. Mainly this is why we forked off, is because we have a different vision. Granted Bitcoin makes many good things, not all of those are relevant to us. Dependency wise for libdb, if it’s compiled with them statically linked the users will not need these files installed on their host system to run the daemon/qt. To which our releases are, and has not reached a compatibility issue. |
@cillian-osullivan removing zerocoin params could mean that someone would not be able to download the blockchain from 0 this is what @Fuzzbawls refering to as "zerocoin params are needed in order to validate existing transactions that took place during it's time" The only way to potentially overcome this is to hardcode, last valid block hash past all of those event's and, and let pivx to not validate any blocks, before block number X with hash Y. I think for now it has no value to do that. Keeping all the source code gives context to the time line, and testnet could be affected when run from 0 on local machine. There is a lot to it. |
I think that the zero coin parameters should be removed to clean up the code, the developers have been doing an absolutely incredible job so far working around it but I believe it would be of benefit to all to remove these unused features entirely, short of this, a rebase to the latest 0.24 of Bitcoin core may be in order, this of course would be a more challenging task, however it’d be much cleaner and more streamlined going forward. Any thoughts?
I’d be happy to assist in whichever direction the team decides to take.
The text was updated successfully, but these errors were encountered: