As we mentioned in our previous update, and hinted at on social media in recent days, we have an announcement to make this week.
Byzantine Fault Tolerant Consensus
As a short introduction, it’s about decentralised BFT consensus - in other words, the ability for networks without a central authority (decentralised networks) to agree on a state. In practical SAFE Network terms consensus enables the network to confirm a Safecoin transaction for example, or to enable a user to store a piece of data. As you can imagine a consensus algorithm is ubiquitous in any decentralised network and that is why we’re excited to be able to bring you a next generation asynchronous Byzantine Fault Tolerant consensus algorithm that will become a key part of the SAFE Network.
It’s a protocol that enables highly asynchronous* (*assuming random delays with finite expected value) consensus and we believe it is the most elegant solution to the Byzantine Fault Tolerant problem in existence today. It will be fully open source, mathematically more simple than existing solutions and provides probability of one instead of relying on high statistical probability of consensus. And of course, unlike the blockchain, it is efficient and does not sacrifice user’s computing resources on the altar of security.
It’s called PARSEC (Protocol for Asynchronous, Reliable, Secure and Efficient Consensus) and the details of the RFC are available here and today we are also releasing a corresponding Whitepaper. In addition, those looking for a higher level introduction should also check out our Medium article. We hope you enjoy reading them as much as we enjoyed working on them.
As you will find, PARSEC is an effective solution to the difficult challenge of achieving vote ordering in a decentralised network, even if ⅓ of nodes minus one are malicious. This is very interesting in itself, but when we incorporate some of the other deliverables of the Routing library, such as: Add, Remove, Split, Merge and Secure message transfer the functionality this provides is quite revolutionary.
This innovation is not just something that will work well with the SAFE Network. As many of you will be aware some projects and technologies in the cryptocurrency space (such as IOTA, ByteBall, Nano and others) are trying to achieve consensus via a DAG (Directed Acyclic Graph) and we would really hope that these projects also benefit. We will be reaching out to make them aware of PARSEC and we welcome their input. This is the beauty of open source and by working in partnership we will undoubtedly improve on the current state of the art in true decentralisation for use by all. We will never limit progress nor prevent innovation.
The bigger picture
With a highly asynchronous (*assuming random delays with finite expected value) consensus mechanism in place there is much more we can do. In the coming weeks we will release two additional papers. The next will describe PARSEC running inside a dynamic network (add/remove nodes) while the third will detail network sharding (split, merge, secure message relay). The exciting part about these papers is that the code is already written, and some of it is running in Alpha 2!
As many have speculated, this algorithm will reduce significantly the number of testnets and code we write. Instead of huge conditional sets in our codebase, it will be reduced to this algorithm. Then adding features: add, remove, split, merge and secure message relay, Routing will be complete for Alpha 3. This marks the end of the unknowns we have to face before launch. From this point on we will be finalising Vault rules, Safecoin farming, SOLID integration and all of the client APIs and bindings. Much, if not all, of this is now manageable and with some tight project management we will be able to progress with much more velocity and accuracy. To say the team are happy would be an understatement. We felt this last piece of the puzzle was essential and always possible, now it’s behind us, we are very optimistic about SAFE’s future!
That is it for this week’s update, we hope you enjoy reading the paper and pondering its implications. It’s such an important innovation that we wanted to focus the full update on PARSEC so that everyone, technical and otherwise, has the chance to dig into this and understand just how important it is. Please note that we are working on a video that will explain many of the key concepts of PARSEC and we’ll release that next week.
Most within the team have not been involved in PARSEC and have continued with Alpha 3 implementation plans, normal progress reports will resume next week!