Technical Updates

So what does v0.6 actually contain? Well, I’m glad you asked. Here’s what one of our developers, hrobeers, gave for a change log:

Changelog:

- Rebase to bitcoin v0.8 codebase (leveldb backend)

- 90% supermajority softfork including:

- BIP34: block height in coinbase

- OP_CHECKLOCKTIMEVERIFY

- Port of peerunity features into reference client

Peercoin v0.6 reworks how keys and values are stored by rebasing to Bitcoin v0.8 with leveldb. Peercoin has always followed the philosophy of adding Proof of Stake on to the existing framework of Proof of Work, trying to keep as much of the Bitcoin code intact as possible. This makes it easier to absorb beneficial performance enhancements that Bitcoin discovers, and that is precisely what was done here.

Because there are no consensus breaking protocol changes, v0.6 is being done as a softfork. This means that clients still running v0.5 will still receive blocks, but will be unable to mint or participate in the network. Still, we want everyone to be on the same page, so it will take a 90% supermajority threshold after the date of Tue 12 Dec 03:40:00 UTC 2017 to trigger the fork. You can watch the fork’s progress here.

In addition to attaching the block height to the coinbase transaction of each block via BIP34, the fork will include OP_CHECKLOCKTIMEVERIFY (CLTV). This opcode allows for the creation of time-dependent contracts. There are a number of instances where this is useful, many of which involve using CLTV as a way of expiring a multiple-signature contract or as part of a pay-to-script-hash output. You can read more about it on the BIP65 proposal page.

And finally, as has already been mentioned, there is a merging of Peercoin-qt and Peerunity. There is one more change that may seem small, both from a development perspective and from a user perspective. In the ‘Settings>Options>Main’ menu there is a little check box to ‘Enforce checkpoints’. Checkpointing, or referring to a central entity for the long term block history, was an area of contention early on in the Peercoin chain because in theory, if the person in control of the checkpoint acted maliciously, they could cause widespread issues with chain stability. With time, however, Peercoin’s distribution has improved and the developers are ready to give the users a direct and easily accessible way to turn off checkpointing. You can feel free to uncheck that box because if there is ever any extreme event that leads to a fork you can always check it again.

New Flow of Development

One of the reasons why Peercoin v0.6 is such a momentous update is because of the changes in the development team behind the update. The Peercoin Team is stronger and more diverse than ever, branching out far beyond the original founder Sunny King (SK), though it is important to note that SK had a very large part in putting forward this update. In fact, SK packaged and presented the work done on Peercoin up until then for an easy transition into publicly commented and implemented pull requests on github. You can keep up to date on the development branch on github.

There are now five people with commit access to the main branch: Sunny King, Sigmike, Peerchemist, Hrobeers, and Backpacker. There are a number of other developers and core team members and the effort to build a better Peercoin is going strong. Peercoin’s client updates always have been and will continue to be high-quality, but opening up the development flow may draw participation from new allies that we might not otherwise have known. The v0.6 update is a powerful token of achievement for a fresh collaboration of minds that believe in the success of Peercoin.