Lamden Weekly Digest [May 5]

Glen
Lamden
Published in
4 min readMay 5, 2023

# NEWS

The team has been heads down building. There’s been a ton of progress and so let’s take a moment to share the recent work. 🔥

  • Implemented a scalable, file-based block storage solution that can deterministically pull next and previous blocks from the filesystem without relying on directory listings. This is crucial for scaling the number of blocks.
  • Developed a scalable block alias (hash) and transaction storage that operates similarly but is simpler since it does not require next or previous functionality in its structures.
  • Created a migration script and process to transition from the old storage to the new hierarchical storage structure. The node will attempt to migrate the old structure to the new one upon startup if the old structure is detected.
  • Enhanced block height tracking on the current state. The node now accurately saves the block height for each state change, preventing state overwrites if a previous block with the same state key is processed. This new functionality is called “safe_set.”
  • Simplified catchup process. The new catchup starts at the highest block and processes blocks in reverse order. With the new “safe_set” functionality, this allows nodes to obtain a more recent current state faster, enabling them to participate in consensus more quickly.
  • Made the genesis block a requirement for new nodes and discontinued its provision by other nodes. Due to its large size, the block is no longer sent across the network. Added a block downloader to the Lamden node package repository for new nodes to use before joining.
  • Streamlined the joining and starting processes. Both are essentially the same routine, with joining having one extra step before starting. Both processes now attempt catchup.
  • Introduced a new “new block” gossip network for nodes to detect synchronization discrepancies. This adds some extra overhead to the networking layer but is necessary to keep nodes in sync. The system is basic and could be expanded in the future.
  • Added missing block processing. If a node is found to be missing a block, the node owner can notify the node to fetch the block from other nodes and process it. During this process, the node will repair its hashes to re-synchronize with the network. The new gossip layer should reduce the need for this functionality, but it will be relied upon initially to re-synchronize mainnet.
  • Improved the upgrade process via smart contract governance, which previously caused numerous issues. The new stability brought by the upgrades has significantly enhanced the process.

What’s next? Here’s what the team has on their plate:

  • Address the issue of nodes getting stuck in an infinite loop if they don’t receive enough results from the network for consensus. This problem caused much of the early downtime. Although a bug fix improved node result consistency, the potential for nodes getting stuck still exists and could pose a problem. Implementing an escape hatch during the process to discard the consensus attempt might resolve this issue.
  • Test upgrading mainnet from Lamden v2.0.15 to Lamden v2.0.21. Ideally, the upgrade should be direct, with all migrations happening automatically. This process should leave mainnet migrated and updated. To ensure a smooth transition, recover all mainnet data to local instances and run the upgrade multiple times.
  • After updating mainnet, utilize the new missing blocks process to re-synchronize the network. Test this process locally before going live to ensure its efficacy.

We’ll continue to keep you updated on the latest. Thanks again for the team’s hard work and the community’s continued support!

# AMA

Each week the Lamden team will answer questions from the community. Please submit your questions to the community manager (deadline is each Wednesday to give us sufficient time to answer).

No submissions this week but we look forward to answering your questions next week!

Why Lamden?

It’s fast, with tiny transaction fees, and a developer-focus. Built from the ground up to remove technical hurdles and empower developers. Choose to program in Python, or your preferred language, and significantly reduce the time to produce your dApps. Developers are further incentivized since 90% of each transaction fee is returned to the dApp creator. $TAU has a maximum supply of 248 million and is deflationary with 1% of each transaction fee burned. Lamden is paving its own path as the premier Python-based layer-1 blockchain platform. With access to a potential developer base of over 10 million, the sky is the limit. Welcome to Lamden — let’s build together!

--

--