Geeq’s Durable Proofs. Don’t trust. Verify.

By: Geeq  on Mar 16, 2024

Every block constructed by a Geeq node organizes the data in the same structure. The benefit is to be able to dive into the merkle tree of a block quickly and methodically. At the time of writing, Geeq’s stateless merkle proofs are implemented for the Validation and Application Layer Blocks and the Validation Layer Ledger.

Geeq’s merkle proofs are calculated with full data availability on-chain.

Geeq’s merkle proofs require very few hashes. Hypothetically, if a Geeq block contains 10,000 transactions, it would require 21 hashes or about 1 Kb to get back up to the block’s merkle root.

The user’s merkle proof.

Think of a merkle proof as a way-finding path from their transaction through the leaves and branches of a block’s merkle tree, back to its root.

The schema for the Validation Layer Block’s merkle tree is shown here. Notice the merkle path is summarized in the last column by a sequence of 0’s or 1’s. The actual proof provides the hashes of the leaves in the positions listed in the column directly to its left.

The user’s Merkle proof is available by API and can be calculated once the block is written. Its compact size means users can store it easily on any device.

As long as the blockchain is running, the proof for any transaction in a block can be produced and/or verified. The answer will always be the same. The stability of a transaction’s validity is important for users to be able to count on blockchain technology.

Geeq provides users with durable proofs: users can count on Geeq blockchains to be stable and reliable throughout time. In contrast, when protocols allow blocks to be re-ordered or rolled-back, it is possible for users’ transactions to become invalidated in the future.

At Geeq, re-ordering transactions or rolling back blocks are flagged as deviations from protocol and considered dishonest. All users are warned of the same dishonest nodes. Thus, users at Geeq can continue to synchronize on the same provably valid blockchains.

Verification the transaction is in an honest block.

To prove or verify a user’s transaction (or record) is in the correct block (or ledger), all users need are to agree (a) the block’s merkle root is correct and (b) a chain hash proof is correct for a block committed subsequent to the user’s transaction or record being proved. If users agree they all see the same blockchain at honest node(s), the rest is simple.

Geeq has invented a chain hash proof to make use of its efficient parallel architecture and its chain state view. It proves the correct sequence of blocks through their headers. All the data required for the chain hash proof is available on-chain.

Efficient proofs.

Proof of ancestry requires 32 bytes per block, so proving a 30- day ancestor takes about 6.4 MB of data, requiring only half a second of bandwidth. A full year of Geeq merkle roots would require about 100 MB of storage or bandwidth.

This efficiency makes it practical to have data for chain hash proofs widely distributed and archived.

Durable proofs.

Geeq’s proofs are constructed such that even if a user is not in contact with the chain, all they need are the merkle proof of their transaction (1 Kb) and access to the published merkle roots for blocks on that chain. These merkle roots can be retained at low cost by ordinary users without relying on a live network.

Because of this construction, users can prove inclusion and validity of their transaction in the canonical blockchain even if the Geeq chain instance and all its data disappear.

Conclusion.

Geeq’s blockchains are stable, reliable, provably neutral and correct. These are the desirable properties for the bottom of any blockchain stack. They are a few of the reasons Geeq is built to be a Layer 0 for all blockchains.