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
Extend coin maturation to match Bitcoin wall time #26
Comments
Network forks & orphaned side chains - so far have been only 2 or 3 in size - which translates to about 7.5 mins - way outside the 4 hour maturation time. I'll run some tests and see if there are any issues that crop up just to be sure. Extending the maturation time by 4x to be identical to bitcoin (in a relative sense) doesn't really help solve this problem and keeping some kind of parity to bitcoin with this doesn't really make sense to the litecoin network. |
https://forum.litecoin.net/index.php/topic,4040.0.html |
fe805ea Declare single-argument (non-converting) constructors "explicit" 8a2d6f1 Merge pull request litecoin-project#41 from jgarzik/get-obj-map ba341a2 Add getObjMap() helper method. Also, constify checkObject(). ceb1194 Handle .pushKV() and .checkObject() edge cases. 107db98 Add ::push_back(double) method for feature parity. d415300 Move one-line implementation of UniValue::read() to header. 52e85b3 Move exception-throwing get_* methods into separate implementation module. dac5296 README.md: update code quotes 3e31dcf README.md: close code quote d09b842 Update README.md f1b86ed Convert README to markdown style. 1dfe464 Import UniValue class unit tests from bitcoin project. 0d3e74d operator[] takes size_t index parameter (versus unsigned int) 640158f Private findKey() method becomes size_t clean, and returns bool on failure. 7099135 Merge pull request litecoin-project#36 from ryanofsky/pr/end-str a31231b Version 1.0.3 4fd5444 Reject unterminated strings 81eba33 Merge pull request litecoin-project#26 from isle2983/pushBackHelpers 3640541 Merge PR litecoin-project#32 from branch 'nul-not-special' of git://github.com/ryanofsky/univalue into merge 89bb073 Merge pull request litecoin-project#31 from ryanofsky/raw-literals 511008c Merge pull request litecoin-project#30 from ryanofsky/test-driver 77974f3 Merge pull request litecoin-project#34 from paveljanik/20161116_Wshadow_codepoint a38fcd3 Do not shadow member variable codepoint. fd32d1a Don't require nul-terminated string inputs 0bb1439 Support parsing raw literals in UniValue 28876d0 Merge pull request litecoin-project#29 from btcdrak/exportspace 839ccd7 Add test driver for JSONTestSuite 26ef3ff Remove trailing whitespace from JSON export cfa0384 Convenience wrappers for push_back-ing integer types REVERT: 16a1f7f Merge #3: Pull upstream REVERT: daf1285 Merge pull request #2 from jgarzik/master REVERT: f32df99 Merge branch '2016_04_unicode' into bitcoin REVERT: 280b191 Merge remote-tracking branch 'jgarzik/master' into bitcoin REVERT: 2740c4f Merge branch '2015_11_escape_plan' into bitcoin git-subtree-dir: src/univalue git-subtree-split: fe805ea
Add leveldb: prefix to leveldb debug logging lines. leveldb debug messages come in various scary flavors such as: 2017-11-30 08:26:31 leveldb: Recovering log litecoin-project#26 2017-11-30 08:26:31 leveldb: Level-0 table litecoin-project#28: started 2017-11-30 08:26:31 leveldb: Level-0 table litecoin-project#28: 597 bytes OK 2017-11-30 08:26:31 leveldb: Delete type=0 litecoin-project#26 2017-11-30 08:26:31 leveldb: Delete type=3 litecoin-project#24 so it's reasonably important to mark them as coming from leveldb internals and not from consensus validation wallet or such. (this only affects `-debug=leveldb` or `-debug=1` otherwise you won't see them in the first place)
9b80fc1 Prefix leveldb debug logging (Wladimir J. van der Laan) Pull request description: Add leveldb: prefix to leveldb debug logging lines. leveldb debug messages come in various scary flavors such as: 2017-11-30 08:26:31 leveldb: Recovering log litecoin-project#26 2017-11-30 08:26:31 leveldb: Level-0 table litecoin-project#28: started 2017-11-30 08:26:31 leveldb: Level-0 table litecoin-project#28: 597 bytes OK 2017-11-30 08:26:31 leveldb: Delete type=0 litecoin-project#26 2017-11-30 08:26:31 leveldb: Delete type=3 litecoin-project#24 so it's reasonably important to mark them as coming from leveldb internals and not from consensus validation wallet or such. This is consistent with the `libevent:` prefix for libevent messages. (this only affects `-debug=leveldb` or `-debug=1` otherwise you won't see them in the first place) Tree-SHA512: 074eba00d39c6378b9e14d03aa2c551b4e3fc7bffdd5a1a0ba2498b44bcc77071d47735be09493286056053f0cca625c5cbaad7ad1ddb9d902d30e7cd316d9d2
Use boost::placeholders namespace
For the first 100 blocks after a block is mined, the coinbase output is unspendable. The litecoin client waits an additional 20 blocks after that so an effective 120 block holding period is in effect on newly mined litecoins. This limit is the same as in Bitcoin and due to Litecoin's faster block rate, means new coins mature in ~4 hours vs Bitcoin's 16 hours. This is a problem because in the case of a network fork, coins mined during the fork becoming spendable create transactions that can never be merged back into one chain.
I propose that we make the coin maturation time 4x as long (400 blocks for the protocol/480 for the client) to give more time to fix any forking problems Litecoin may encounter in the future.
The text was updated successfully, but these errors were encountered: