Tailstorm: Directed Acyclic Graph (DAG) Combined With Traditional Blockchain

A proof-of-work system that can confirm your transactions in 3 seconds was, until recently, just a myth. To this day, Bitcoin’s average block time is 10 minutes. What if that could improve 200 times over, letting you watch your transaction get mined in seconds? It would enable a truly global electronic peer-to-peer cash network.

Nexa is actively working in this field, and this is where the Tailstorm Protocol comes in. On top of improving security and fairness, it also improves transaction speed and introduces subblocks.

Between the traditional summary blocks of a blockchain, and on top of Nexa’s 2-minute blocks, Tailstorm will introduce subblocks, in the planned configuration around 40 of them mined roughly every 3 seconds. These subblocks will benefit from a Directed Acyclic Graph (DAG) architecture that falls back to the traditional summary blocks.

The Balance of Proof-of-Work

Proof-of-work cryptocurrencies rely on a balance of security and fairness in order to maintain a sustainable ecosystem of miners and users. Users demand fast and consistent transaction confirmation, and in exchange drive the adoption and valuation of the cryptocurrency. Miners provide the confirmations, however, they primarily seek rewards. In unfair systems, miners can amplify their rewards by consolidating mining power, and that centralization undermines the security guarantees of the system and might discourage users. Tailstorm is built to strike this balance: it merges multiple recent protocol improvements addressing security, confirmation latency, and throughput with a novel incentive mechanism improving fairness.

Bitcoin’s consensus uses a sequential PoW mechanism where each block references a single parent block. The blocks form a tree and the participants mine new blocks that extend the longest branch according to the longest chain rule, and blocks off the longest branch are discarded. Attackers who possess more than 50% of the hash rate pose a threat to the system: they can execute double-spend attacks by mining their own branch until it eventually becomes the longest. But even less mining power might suffice, since honest participants also discard the blocks of other honest miners if they are not on the same branch. This happens naturally in realistic networks due to propagation delays. Unfairness arises from natural network delays and dishonest behavior.

Summary Blocks and Subblocks

Tailstorm instead implements a parallel PoW consensus mechanism that largely avoids discarding blocks. The Tailstorm blockchain consists of subblocks and summary blocks. Summaries do not require a PoW, but subblocks do. Assembling a new summary requires k subblocks that confirm the same parent summary. To preserve the security properties of parallel PoW, subblocks confirming the same summary are conflict-free, and hence can be mined in parallel. Taking inspiration from Bobtail, subblocks optionally refer to another subblock instead of a summary, and hence form a tree.

Tailstorm addresses the unfairness problem through an innovative reward scheme that punishes withholding. It discounts rewards based on the depth of the subblock tree: mining subblocks in private causes branching of the tree, reduces its depth, and ultimately leads to lower rewards. The idea was originally developed by George Bissias as a way to combat withholding attacks in Bobtail, and Bissias and Nexa’s Gregory Griffith refined it into an early version of Tailstorm.

Tailstorm Implementation

To reap the full consistency guarantees of parallel PoW, prudent users should wait for one summary block confirmation before accepting their transactions as final. Assuming a 2 minute summary block interval and large k, the full confirmation will likely occur in 2 to 4 minutes, depending on whether the transaction was included early in the subblock tree or later. If time is short and the transacted value is low, for example if the user is selling a cup of coffee to go, they can consider waiting for a number of subblock confirmations instead. If the seller waits for a single subblock confirmation, the settlement will take about 3 seconds.

Nexa’s implementation moves from a Satoshi style blockchain to a Tailstorm style DAG in a careful and succinct manner, with respect to source code changes. One simplification stands out: in this implementation the final subblock is the summary block. Subblocks are not stored on disk; they only need to be stored in RAM. And because the design is defined this way, the mining infrastructure does not need to change at all. Miners are just trying to solve easier blocks. Node operators can watch it live with gettailstorminfo, which reports the current summary tip, the best DAG subblock, the number of subblocks in the forest, and how many competing double-spend subblocks exist.

In conclusion

Tailstorm integrates parallel PoW, partial transaction confirmation, and a novel incentive mechanism, reward discounting, into a PoW cryptocurrency that provides fast and secure confirmations for its users and fair rewards for its miners. It thereby solves a long standing issue of longest chain protocols, where the operator has to choose between either a short block interval with fast but less reliable confirmations and unfair rewards, or a long block interval with slow confirmations and more fair but infrequent rewards.

​

Sources

1 Like