By: Geeq on Sep 28, 2024
In August, the team worked on the environment for the Stacks App. They released:
- The Stacks App v1.0
- Two chains for VIP pass holders, and a
- Block Explorer App for each chain.
Most of the team’s effort was devoting to improving the performance of the blockchains to support the Stacks. Here are a few highlights and lessons learned. They:
- Reduced the block interval.
- According to protocol, Stacks and NFTs are carried forward in application ledgers.
- Running chains, even with low activity, results in the accumulation of large application records in the Application Layer Ledger (ALL).
- When these ledgers get large, the time required to calculate Merkle roots increases. This spurred the team to start optimizing the handling of large ledgers.
- With large ledgers the setup time for generating the next block is taking about a second. This is targeted for future optimization.
- Items 2 and 3 above constituted over 90% of the time used in generating new blocks.
- Storage solutions continue to be investigated.
Geeq Stacks
The Stacks App introduced a Stack as a new, intuitive on-chain record. When a user creates a Stack as an authenticated collection, it’s like creating an on-chain file folder that includes its first piece of paper, similar to the top page of a medical record. As needs evolve, users can continue adding layers to these collections, like doctors adding notes to a medical history.
Stacks are ideal for preserving the sequence of events, tracking progress, or capturing a story over time. Due to blockchain’s append-only nature, the order of additions is securely maintained. Stacks enable users to define and group items together as they see fit, building a richer narrative with every addition. The metadata and descriptions in a Stack are automatically organized to read, ingest, display, and search according to the apps’ instructions.
Most importantly, the protocol’s tokenization process makes it easy to verify the authenticity and provenance of each layer in the Stack as well as the Stack itself. Like a Geeq NFT, a Stack refers to a single asset in your coin account and does not depend on smart contracts, their dependencies, or states calculated off-chain. Geeq proofs are definitive.
Block interval
During testing, the initial performance of the blockchain was sluggish and inconsistent. The time between writing blocks increased as the ledger expanded. In early August, as the number of Stack records increased, the block interval exceeded 30 seconds regularly.
The team reduced the block interval to a consistent ~10 seconds under the expected load. This goal was achieved as shown by the orange line below, taken in September after v1.0 was released.
The screenshot above shows performance of a test chain with 621 coin asset accounts and 2392 layers of Stacks created, recorded in the Validation Layer Ledger (VLL) and Application Layer Ledger (ALL) respectively.
Merkle Roots and Proofs
Following Geeq’s protocol, each active node calculates four merkle roots (MRs) after it calculates a block. The node submits these MRs in its Chain State View when it sends its Node Content Statement for the next block. Any disagreement over a Chain State View (CSV) triggers an automatic audit in the next block, leading to the automatic ejection of any node that has deviated from protocol.
The CSV and automatic audit enable a user to obtain immediate proofs for validity and inclusion of their specific transaction. The Merkle paths are standardized, making transactions computationally simple and efficient. To verify a proof independently, only the Merkle roots, the user’s data, and the hashing function are required, which can be easily done on a phone.
The on-chain data includes everything needed to verify provenance, authenticity, and chain of custody. There is no need to depend on a trusted party, wait for a fraud proof, or worry about dependencies in smart contracts. Data availability is never a concern. However, as the application layer ledger grows due to added Stacks, the Merkle tree expands, causing longer Merkle root calculation times.
Calculating the CSV took just over 4 seconds of the 10-second block interval. Setup costs for each block required slightly over 1 second.
Other tasks were completed quickly. However, to secure on-chain activity with the highest degree of certainty, there is a limit to how fast a chain should operate.
Conclusion
The focus of this quarter was to introduce user-generated, multi-layered Stacks as a new tokenized asset. The multi-chain repeatability of Geeq’s protocol is well-suited to support user-friendly apps developed to work with any chain. The blockchain provided data when the user wanted to check it, otherwise it was invisible.
Users can easily organize, verify authenticity, and build Stacks. The ease of using a standard, no-smart contract solution introduces new possibilities for using blockchain authentication and provenance across environments.
For example, in a gaming context, if a user tries to transfer a Stack from a smurf account, the game can verify the Stack’s provenance and prevent the new owner from accessing any benefits linked to that Stack. This is just one example of the many types of business logic that can be enforced off-chain, while still leveraging the integrity of on-chain data.
We hope you found this update valuable. As always, thank you for your continued support.
– The Geeq Team
To learn more about Geeq, follow us and join the conversation.
@GeeqOfficial