Why we rolled our own Consensus Algorithm
We get asked all the time why we’re taking the risk of rolling out our own consensus algorithm. Especially with the large number of projects and in particular, proof of stake protocols available or in active development. The answer is simple. We believe this is a truly innovative shift in how developers can build with DLT.
To clarify, when we say “rolling our own,” we aren’t reinventing the wheel. We are borrowing all the best parts of existing technology and combining them in a unique and innovative way. Key sources include, BLS Multisignature, Secure Scuttlebutt, Nano, Holochain, Gosig, and Casper FFG. We’re using many of the same building blocks to produce something completely different, novel, and powerful.
At its most basic, our algorithm shards to the ultimate degree where each actor has its own “chain” via the data structure we call a Chain Tree, a Chain Tree is the combination of a merkle-DAG and an ordered log of transactions unique to a single object. Ordering of transactions is much simpler when it does not need to be done universally; every node in the system does not need a full and complete history of everything that has happened to “mine the next block”.
This is important for a few reasons.
First, storage becomes separate from the trust layer at the foundation of the Tupelo platform. Second, the data structure is semi-independent with the ability to move between private, semi-private and fully public networks while maintaining its integrity. Because of this unique structure, the nature of the problem we are trying to solve is ultimately simplified in an elegant and powerful way.
We rolled our own consensus algorithm because we’re redefining the heart of the ledger. Tupelo is different and requires us to think differently about this technology… even if it means taking the road less traveled.