Introduction to Catalyst Network
In this article we’ll explain what Catalyst Network is and who is behind it, as well as its origins and main features.
All the contents on this post come from the paper Introduction to Catalyst Network, sourced by Atlas City team members. You can read the full paper here.
“In the purest implementation of a distributed ledger with decentralised consensus, no single participant is trusted to govern; the network is neutral and enacts the collective agreement of the network users. All nodes on the network are considered equal.” Dr Pauline Bernat
The idea to develop a new distributed computing technology derived from the lessons, but not the code, of existing blockchain and distributed ledgers. It began in 2012 as part of the Smart Water Utility Project “UrbanWater” with the European Commission (EC) and multiple stakeholders across Europe, including the consultancy company, Red Skies Ltd., a predecessor company to Atlas City.
Red Skies focused on data collection, storage and distribution using a range of technologies from cloud computing to homomorphic cryptography, but certain key challenges proved intractable using these approaches. Work also included looking at early blockchain code bases such as Bitcoin and Ethereum. While these code bases provided benefit around trust, they prove unsuitable for supporting millions of smart meters and other sensors.
The project highlighted the need for a new network that could provide immutable data storage and services at scale without limitations of data types, choice of programming language for running decentralised business logic and applications (smart contracts) and enable seamless integration with industrial and other types of systems. This work sowed the seeds for engineering a new decentralised system and the eventual formation of Atlas City to see this vision through.
Catalyst is an original software engineering project that sets out to provide a stack of technologies on top of the Internet for the purpose of supporting all types of data storage and services.
Catalyst Solves Real-World Problems
Current blockchains like Bitcoin or Ethereum face several problems that have become blockers in the road to adoption.
The main problems are:
- They are too slow.
- They are expensive.
- They get bloated.
- They tend towards centralisation at scale.
Here are the main features that make Catalyst the solution to these challenges:
1.Catalyst Distributed Ledger
“The code base developed by Atlas City engineers, named Catalyst, is original – does not fork from any other code base – and will be made available as open source software. Catalyst is a full-stack distributed network written using the .NET Core framework.” Dr Pauline Bernat
Catalyst Network aims to solve these issues by learning from these previous platforms and starting a new distributed ledger from scratch.
2. Catalyst Ledger Structure
“At Atlas City we believe that anonymity on the network should be neither absent nor enforced. This is reflected in the way that we designed the Catalyst Database structure, allowing users to freely choose whether or not their activity on the ledger is obfuscated or not.” Joseph Kearney
There are different types of accounts on the Catalyst ledger, allowing the users to choose the degree of confidentiality of their data. The accounts can also be based on smart contracts, rather than users.
These are the different types of accounts:
- Non-confidential user-based accounts: with a balance in tokens that is updated via the validation of non-confidential transactions. The account balance is visible to all.
- Confidential user-based accounts: with a balance in tokens that is updated through the validation of confidential transactions. The account balance is hidden, only known to the account holder(s).
- Smart contract-based accounts: a smart contract-based account has an associated code that can be triggered by transactions or messages generated by other codes.
3. Catalyst Peer-to-Peer Network
“Peer discovery on Catalyst Network is performed using a Metropolis-Hastings Random Walk with Delayed Acceptance (MHRWDA). The random walk reduces any communication bias towards nodes which have a large number of peers. Indeed, it is designed to cause a high cost to eclipse attacks from malicious nodes.” James Kirby
There are different types of nodes in the Catalyst Network, the nodes that provide their resources for the maintenance of the network are called worker nodes and producer nodes
Catalyst ledger is managed by worker nodes. These nodes are members of a worker pool (one pool per ledger partition) and are granted a worker pass, valid for a limited period of time.
Users willing to contribute to the management of the ledger database can apply to become worker nodes. By providing proofs of their available computing resource, they register their node(s) in the work queue associated to a specific ledger partition.
As worker nodes leave the worker pool, nodes waiting in a queue join the associated worker pool.
During a ledger cycle, a subset of nodes from the worker pool is randomly selected to generate the state update of a ledger partition, these are called producer nodes.
The producers follow a consensus-based protocol in order to reach consensus on the state update produced at the end of the ledger cycle and used by all nodes to synchronise their local copy of the ledger partition database.
4.Catalyst Distributed File System
“The design of a ledger compartment dedicated to the storage of files and historical ledger state updates is an approach taken to prevent the bloating of the ledger and allow the network to support services at scale. Indeed, this approach allows Catalyst ledger to remain both lean and cryptographically secure.” Dr Pauline Bernat
Once a ledger partition state update is generated by a pool of producers, it is stored on Distributed File System (DFS) and can be accessed by any node to update their local copy of the ledger partition. DFS is built upon the IPFS protocol and is used to store files as well as historical ledger state updates.
This removes the burden on user nodes to maintain the full history of the ledger database while allowing for fast retrieval of files as well as old ledger state updates. DFS is maintained by all nodes on the network. However, DFS is made of a multitude of compartments and each node needn’t hold all compartments.
The design of a ledger compartment dedicated to the storage of files and historical ledger state updates is an approach taken to prevent the bloating of the ledger which allows the network to support services at scale. Indeed, this approach allows Catalyst ledger to remain both lean and secure.
5.Catalyst Consensus Protocol
“Catalyst consensus protocol is a decentralised voting protocol that eliminates the execution of computationally expensive tasks, thus allowing nodes with limited resources to contribute. It is designed to scale while continuously pushing towards network decentralisation.” Dr Pauline Bernat
Catalyst consensus protocol is not based on a competitive process.
Instead, nodes on the Catalyst network collaborate to build the state update of the ledger partitions and get rewarded proportionally to the amount of work they performed, by collecting new tokens injected at the end of every ledger cycle as well as fees paid by the users issuing transactions.
Fees are kept low and estimated based on the amount of work required to process transactions, rather than arbitrarily calculated.
The consensus algorithm designed by the engineers and researchers at Atlas City rests on the principle that every node participating in the network can contribute to maintain the ledger database.
Indeed, Catalyst consensus protocol was conceived based on the observations that:
- Not every node needs to validate every transaction for a network to be secure and a ledger fully decentralised.
- Collectively across a network of nodes there is significant distributed computer resources to securely maintain a ledger. Network performance should as a result improve as the network scales up.
There are many other aspects of Catalyst Network to talk about: smart contract capabilities, user interface, economy, governance…
We look forward to meeting you at Blockchain Live on Tuesday 25th of September at The Olympia, London, UK.