Solving the hard fork dilemma

twirlingspaghettiforka__88861_zoom

We’re adding hard fork helper functionality to the server core, the crap we are now experiencing has annoyed us long enough and has to end now.

From this coming release we will do things slightly different which will lead to faster iteration times and more streamlined hard forks over our beloved decentralized peer 2 peer network.

Hard forks are unpleasant but inevitable with a young and fast developing crypto currency like FIMK. We have tons of ideas for new features but are always severely limited by how difficult it is to get our software installed on all peers out there.

There already is a sophisticated database versioning mechanism in FIMK core which basically allows anyone running any version to simply install a newer version and have the complete blockchain/db structure dynamically updated to that newest version. With this mechanism already in place requiring peers to periodically update their software is in my view very reasonable.

We all want FIMK to develop further don’t we?

Starting with this coming release FIMK will periodically check if your version is either OUTDATED is being PHASED OUT or has an UPDATE AVAILABLE. This version information is distributed over the blockchain through aliases controlled by the non profit association who makes FIMK – Krypto Fin ry – http://fimk.fi.

These three levels of software version status will allow us to quickly move through new versions (and through hard forks).

We will still announce new versions on the forum and our website but you no longer have to track that, the software will from now on warn you if you need to update. These warnings are clearly visible from either the console logs or from the desktop client, these warnings contain details on how to update.

No more forks after updates.

To prevent forking the network after updates peers will from now on actively start blacklisting nodes that run a version up or below the current OUTDATED version.

To prevent peers from not noticing that their version has expired which will undoubtedly put them on either a fork or disconnect them from the network (since no one will connect to them) we will actively shutdown the FIMK server and print a big fat notification to the logs that your version is outdated and that you need to update.

This way third party software which builds on FIMK (currency exchanges, merchants etc) will immediately be able to notify their operators through the FIMK log what has happened and that they should update their versions.

How hard is updating?

Now for the million dollar question, how difficult is it to update? How bad is it what we would be putting all you users out there through.

Luckily not difficult at all. I had something like this in mind for an update notification (you will find this in the FIMK console log).
Instructions apply to a Linux server, probably most servers running FIMK are Linux servers.

###############################################################
WARNING!!
YOU ARE RUNNING OUTDATED SOFTWARE
FOLLOW INSTRUCTIONS BELOW TO UPDATE

YOUR CURRENT VERSION IS 0.6.2
THE LATEST VERSION IS 0.7.0
################################################################
FOR LINUX USERS RUN THE FOLLOWING COMMAND
(requires `curl` and `zip` packages to be installed)

$ FIMK_VERSION=0.7.0 sh update_fimk

USERS ON OTHER PLATFORMS SHOULD DOWNLOAD THEIR UPDATE HERE..
https://github.com/fimkrypto/fimk/releases/download/v0.7.0/fim-0.7.0.zip 
#################################################################

Hopefully this way we can finally start to streamline the whole versioning and more important update process which will lead to a more stable and more frequently updated network.

Share Your Thoughts

Leave a Reply