As more code is written and the Monero technology advances (perhaps the pace of development will slow), will the need for biannual hard forks remain? Is there a particular purpose behind this?

up vote 44 down vote accepted

Every single piece of security software you run has to try force security updates, otherwise you could be running a trivially compromised piece of software. Most closed-source software, and even open-source software that isn't as sensitive to tampering as Monero, use things like mailing lists to notify you of a new major version. Lots of them also use in-app notifications, which users have become adept at ignoring or clicking away.

Having regular, timed hard forks forces users to update the very sensitive piece of security software they're running, and benefit from all the patches, bug fixes, and reduced exploit vectors in newer versions. Being able to add functionality, and know that the whole network has access to it in-step with each other, is just icing on the cake.

In future when Monero is more stable we'll go down to annual hard forks, as mentioned elsewhere in these answers. If the core Monero daemon gets to a point where it's particularly secure and particularly stable (eg. the code has been formally verified, and been in production for years with little or no incidences) we can even go stretch them out further.

As I understand it the reason for the scheduled forks is to avoid the plight Bitcoin now experiences, where politics trumps tech, and forks are used as a way of derailing features and progress. It also empowers users and miners to regularly choose rather than continually defer to "smarter" people.

The forks won't go on forever though, the devs have said that they will be around at least for a few years, then probably scaled back to once a year, then probably less still a while later. Right now I think the new clients have the next fork hardcoded into it. There is no fixed schedule beyond that AFAIK, but I could be completely wrong on that.

The hard fork scehedule is intended to allow Monero to evolve in a regular fashion, while still leaving users enough time to update before being forked away from the network.

With scheduled hard forks, there is less friction in deciding whether a change is worth a hard fork or not. There will be a hard fork anyway. The question becomes the simpler one of whether a given change is advantageous enough to make it in.

Ideally, any code introduced which changes consensus rules will not take effect until the second hard fork which follows the introduction. This ensures that if someone updates regularly, they can be certain they will not be kicked out of the network. This will be overridden in the case of an urgent fork (for instance, to fix an exploit that's being used to attack the network).

It is expected that, as Monero matures, the hard fork schedule may change, so less forks are needed, and maybe even stop.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.