As you may know, we have the annual hard fork of 2017 coming up soon. The hard fork will be version 0.17. Here’s what node operators need to know.
Activation Block: 488500
The hard fork will activate at block height 488500. At this point, 0.17 nodes will disagree with 0.16 and previous, and will produce different consensus hashes. This will cause them to ignore one another’s transactions, leading to a permanent network fork. To remain on the same network, you will need to upgrade to 0.17. Block 488500 should be mined on or about October 5 2017.
The 0.17 hard fork release candidate is available here on Github, where you can follow the code development. You can help test it by starting up your own 0.17 node from the genesis block by installing the code from the above code branch, and running your own node locally with
blockstack-core --debug start.
We will provide links to the release shortly, once we have confirmed that a 0.17 node will reach the same consensus as 0.14-0.16 nodes. It should only take a couple days for a 0.17 node to do a full sync (assuming the computer is left on the whole time).
The hard fork activates the following features:
Support for Segwit transactions embedded in pay-to-script-hash transactions. This reduces transaction fees by up to 50%.
Option to combine
NAME_UPDATEoperations into one transaction. Registering a name will only take two transactions instead of three, saving about 20 minutes and about $5 in transaction fees (at current rates).
Option to combine
NAME_UPDATEoperations into one transaction. This makes it so users (particularly name sellers and registrars) can transfer names and profiles to new owners more easily, since the sender can include the receiver’s desired zone file instead of forcing the receiver to have to issue a subsequent
NAME_UPDATEof their own.
Addition of a 5000-block renewal grace period for names after they expire. This is similar to how ICANN DNS names work. If your name expires, it’ll stop resolving. However, you’ll have 5000 blocks to send a
NAME_RENEWtransaction to keep it. No other operations will be allowed during the grace period. At the end of the grace period, anyone can re-register the name.
A 10x BTC cost reduction. This is a planned yearly adjustment that, in this case, drops BTC cost by a factor of 10. This is to compensate for the rise the BTC/USD exchange rate over this past year.
Option to create namespaces where name fees go to the namespace creator, instead of being sent to the burn address. This helps pave the way for self-funding decentralized applications. For example, someone could build a decentralized coin-operated file viewer by creating a
.filesnamespace, and sharing encrypted files with everyone who had a name ending in
.files. Users could only decrypt the data if they had a name in the
.filesnamespace, and would have to renew their names periodically by paying a fee to the namespace creator to continue receiving files (thereby funding the application).