Graphcoin v3 Upgrade

JD
Graphcoin
Published in
3 min readFeb 21, 2019

I’ve been working non-stop behind the scenes to bring Graphcoin v3 to production. The upgrade includes a number of fixes, improvements, hacker countermeasures, UI/UX upgrades, and a new economic model.

Fixes

  1. “Fake-stake” patches.
  2. Enabling Masternode Payment Enforcement.

Improvements

3. Added additional DNS seed nodes for faster wallet syncing to the network.

4. Changed the default banscore to 10000 and bantime to 60 to reduce the number of falsely banned peers.

5. Added a primary BURN address to the source code. Tracked here: https://explorer.graphcoin.net/address/gLu4TowZD92dMG7UHL6kwN2Pa1EnzZpmp6

UI/UX

6. Created all new wallet graphics, icons, color scheme and buttons to improve usability and aesthetic appeal.

Hacker Countermeasures

7. We have been subject to a Proof-of-stake attack since September of 2018 where the entire block reward, 20 Graphcoins, has been going to a user or users who found an exploit in our wallet code. This is NOT the recently discovered “Fake-stake” vulnerability that was recently published by Decentralized Systems Labs.

I’ve run an analysis on our transaction data and found 80 addresses that were involved in this attack. 8% of all block rewards since September would amount to approximately 441,000 GRPH. The v3 upgrade will block all 80 addresses from being able to move more than 350,000 coins. The attackers are likely escaping with 75–80k GRPH but since the attacker(s) were legitimately staking their coins and securing the network since last fall, this amount seems fair enough.

After I began working on this counter-measure, I began staking a large part of the pre-mine to prevent hyper-inflation during this process. The earnings from the staking will be sent to the burn address after the upgrade. We’ll continue to monitor the chain for this vulnerability after the new protocol is enforced.

New Economic Model

8. We’re increasing the masternode collateral requirements to 50,000 GRPH. The primary reason for this is to realign the profitability of running a masternode with the cost of operating one. The bear market conditions have driven the profitability of a masternode (less than $5/month) below what it costs to run one ($5 month). Continuing to spend money in hosting fees at a loss doesn’t make sense and we expect this course correction to offset the fixed VPS cost.

Q. Doesn’t this increase in requirements make owning a masternode less affordable?
A. Yes, but the main goal of Graphcoin was never to provide affordable masternode ownership. For those who cannot afford a masternode, staking Graphcoin to earn rewards is always an option.

Q. Won’t the number of masternodes be reduced from this new requirement? Will our network continue to be secure with fewer masternodes?
A. The security of the Graphcoin network is not based on the number of masternodes. It’s actually based on the number of people staking the coin, hence the protocol PROOF-OF-STAKE. Losing masternodes from our pool will only reduce the capabilities of our zGRPH privacy and SwiftX instant send. As our network is nowhere near the upper limit of what our masternodes can deliver here, I’m confident our network security will only increase as a result of the v3 upgrade.

9. We’re reducing the total block reward by 50% starting at block 525,650 as a way to combat hyper-inflation. The ratio that goes to masternodes versus staking remains the same. We have a few months before this change and I expect the masternode count and demand for the coin to rise ahead of the block reward reduction. The new reward schedule will benefit existing holders of Graphcoin due to the inflation slow-down.

Upgrade Schedule

  • Withdrawals/deposits on both exchanges closed on 02/20/19.
  • New Windows, Linux wallets released 02/22/19. OS X to follow shortly thereafter.
  • New Protocol 70915 will be enforced on 03/1/19 enabling the MN collateral change.
  • Withdrawals/deposits on both exchanges to re-open the week of 3/4/19.

Special Thanks

HUGE thank you to Tfinch and zaWasp for their help in this upgrade. They were very responsive in helping me with questions I had re: the upgrade process and they were able to deliver some expertise based on their recent experience patching code bases for other projects.

--

--