The HelixMesh is based on the double-consensus MeshCash framework and the Snowball protocol of the Avalanche family. The main advantage over existing BFT consensus protocols is a high degree of flexibility: the protocol can be deployed in both permissionless and permissioned environments. Moreover, virtually any BFT consensus is suitable for the off-chain layer of the HelixMesh. As a result, the liveness vs safety tradeoffs are not dictated by the protocol itself but may be adjusted based on the particular use-case requirements. This makes the HelixMesh a robust blueprint for IoT-sourced distributed ledgers.
We adopt the mechanism of two separate processes run in parallel: an off-chain Hare consensus and an on-chain Tortoise consensus. The Hare consensus acts as an oracle telling honest nodes how to consistently vote for the previous blocks. The Tortoise consensus depends only on the local state of the DAG and does not require any additional communication. Thus, it’s well-suited for SPV (Simple Payment Verification). In order to guarantee fast convergence of the Tortoise Protocol it is sufficient that honest nodes vote for each particular bundle in a consistent way.
We further boost the Hare & Tortoise design with a powerful insight – Snowball, used in the Avalanche protocol family, so that random peer gossiping can be turned into a robust consensus protocol stable even under network churn. The Snowball version is suited for the permissionless setting as it is resilient against fullnode churn and incomplete view of the network participants.
The process is described in more details in our HelixMesh Protocol Paper.
The weight of a node in the consensus process is proportional to the contribution of the node to the total network value. The exact meaning of contribution and value depends on the context and the rules of the protocol, and therefore we introduce an abstract notion of Proof-Of-Contribution.
The main purpose of Proof Of Contribution (PoC) in a permissionless setting is to prevent Sybil attacks and represent the weight in the global consensus process. Another crucial feature of PoC, relevant both to permissioned and permissionless settings, is the set of clear economic incentives: it should be irrational in game-theoretic sense to deviate from the honest behaviour.
We will describe a possible such implementation with the game-theoretic aspects in a forthcoming paper covering coin economy and network rewards.
The distributed ledger HelixTangle is maintained by a network of FullNodes continuously running the following processes:
(1) Network broadcasting (gossiping)
(2) Syntactic verification of incoming transactions/bundles (ensuring that transactions are not malformed and correctly signed)
(3) Consensus about the ordered set of transactions
(4) Contextual verification (enforcing validity rules dependant on the history)
Transactions are organised in a directed acyclic graph (DAG) of transaction bundles. Each transaction bundle contains an ordered list of transactions and has height which is the length of the shortest path to the genesis transaction of the bundle DAG.