Reddcoin Core 2.1 will be an update to the core components of Reddcoin : reddcoin-qt and reddcoind. One of the key improvements is expected to be a speedup for the blockchain synchronization process - something we read a lot of negative comments about - and understandably so. I have a 2011 vintage laptop which I use for testing. It takes more than a few days to chew through the blockchain sync. Old though it may be, it’s my favorite benchmark of acceptable performance.
First let me explain why blockchain sync is slow, then explain what will be done to speed it up.
The Reddcoin blockchain is up to block 1760528 whereas Bitcoin is up to block 472265 (as I write this). That the Reddcoin blockchain is 3.7 times longer despite only having been alive since 21 Jan 2014 versus Bitcoin’s birth in 2009 may come as a surprise, until you remember that Reddcoin’s block time of 60s is one tenth’s of Bitcoin’s 10min block time. Under normal operating conditions on recent hardware you are unlikely to notice any performance hit. But the blockchain synchronization process cruelly throws the spotlight on one of the more CPU intensive aspects of maintaining a blockchain - block validation - something every network node does whether a new block is propagating through the network or an old block is being synced from either a bootstrap file or a network peer. Whatever performance issues Bitcoin 0.9 had during blockchain synchronization, Reddcoin necessarily suffers 10x worse.
Whilst making Bitcoin comparisons, it’s useful to recall the origins of our current Reddcoin Core 2.0.
Reddcoin Core 2.0 is based on Bitcoin 0.9 with the PoSV code from Reddcoin 1.4 reintegrated - work that @Gnasher completed almost a year ago specifically to incorporate the OP_RETURN feature from Bitcoin 0.9 which is a key enabler for Redd-ID. Peering at the Github tea leaves it is evident that synchronization performance was thought to be an issue in Bitcoin 0.9 because there were features introduced in later versions to address specifically this concern. And it is precisely these features we plan to integrate into Reddcoin Core 2.1 as part of the overall strategy of shadowing the Bitcoin code base as and when the need arises to move things forwards. My personal dream is getting SegWit live on Reddcoin, but clearly with rather empty blocks and 10x the capacity of Bitcoin, we’re way off needing something like a Reddcoin Lightening Network yet. But it is good to know we have that option open to us in our future road map.
Therefore the work currently underway for Reddcoin 2.1 is expected to include two features that will accelerate the blockchain synchronization process:
1 - “headers first” synchronization taken from Bitcoin 0.10
2 - Removal of the openssl lib dependency and replacing that very generic and slow elliptic curve crypto code with an optimized internal implementation originally developed for Bitcoin 0.12.
Whether this work will get Reddcoin Core all the way up to Bitcoin 0.12 remains to be seen. The base target is Bitcoin 0.10 with at least one 0.12 feature.
I don’t yet know what kind of speedup we should expect from this, but I am hopeful of something significant. I plan to publish timing comparisons once I have a beta of 2.1 with these features working. Anyone eager to know sooner is welcome to test Bitcoin 0.9 vs. Bitcoin 0.12.
Meanwhile with Redd-ID close to entering beta testing and a great mobile wallet team taking shape off the back of the recent upsurge of interest in Reddcoin, we can expect 2017 to be a good year for Reddcoin.
Keep on staking !