ChainX Review: Building Cross-Chain Interoperability

Last updated: Mar 30, 2023
21 Min Read
AI Generated Summary
Summary
Summary

In the short time the blockchain has been in existence there have literally been hundreds of new solutions to older problems created as innovative developers and entrepreneurs use the new technology in unexpected ways. While this has been great for solving problems, it’s also led to the existence of many unlinked systems that could benefit from connections.

For example, while Bitcoin may be an excellent store of value it suffers from slow transaction speeds. With Monero we get privacy, but smart contracts are lacking. Ethereum gives us smart contracts, but so far continues to struggle with scalability.

While these individual projects work on their weaknesses new projects have emerged that are trying to address the issue of how we can reliably and securely share data and information between blockchains in order to address the network shortcomings that are specific to each. There are many facets of this avenue of research, and one of the most difficult thus far has been the issue of sharing native tokens between different chains.

One project that’s addressing this issue head-on is ChainX as it’s focusing on the cross-chain interaction of blockchain assets. Let’s look deeper into the project to see how it is accomplishing this, and how we can all benefit.

ChainX Background

The ChainX project has roots stretching back to 2016, when the founders came across the work of the Parity team and began to look into the Polkadot whitepaper. Work on substrate began in 2018, and by May 25, 2019 the first ChainX mainnet version was launched.

The project itself is addressing the need to make native blockchain assets interoperable with other blockchains. As a distributed system the ChainX network has made it possible to exchange assets cross-chain in a peer-to-peer manner. This eliminates most human error and the opportunity for fraud.

Digital Asset Gateway
The Digital Asset Gateway as envisaged by ChainX. Image via ChainX whitepaper

While ChainX did follow Bitcoin in many respects, the team noticed early on that the Proof-of-Work consensus mechanism decentralization suffers from the centralization of miners. Currently the large mining operations get to sit at the top of the pyramid and the only way for new entrants to access block rewards is through large investments in powerful mining rigs.

Unfortunately Proof-of-Stake can be little better at times when a large chunk of tokens are held by the early investors, or by the development team. This leaves just crumbs for the newcomers, who are left at the mercy of the open market, and have no real power in the governance of the network. In essence it makes these networks subject to centralization due to the large coin holdings of the early investors in the network.

ChainX has gone with a Proof-of-Stake consensus, however it has been implemented in a different manner that makes it fair for all the network users. Throughout this review you will get to see how this differentiates ChainX from other projects, and how it improves the governance of the network.

What is ChainX

Most simply, ChainX is a blockchain system that allows for the sharing of native assets from other blockchain systems. It does this through the use of parachains, and uses a Proof-of-Stake consensus mechanism to reach consensus.

This also allows for the staking of coins that typically don’t support native staking, such as Bitcoin. ChainX initially launched as a single-system chain, was later upgraded to a dual-chain network, and as of 2021 is operating as a multi-chain system supporting a number of other blockchains.

ChainX Structure
The complex structure of ChainX - built on Substrate 2.0. Image via ChainX whitepaper. 

In the current multi-chain version of ChainX it is running as a layer 2 relay network on the Polkadot blockchain. It currently operates with four major modules:

  • PCX Module - The module is based on the native token PCX. For the most part, it includes functions performed by PCX such as staking, paying fees, on-chain governance, distributing inter-chain mining rewards, and backing Bitcoin financial derivatives. PCX is related to most programs running on ChainX.
  • DEX Module - A cross-asset transaction module, it promotes circulation of assets on different chains while minimizing transaction costs.
  • Inter-chain Module - This is an ‘entering or exiting’ module for different chain assets and the X-Tokens. It includes an inter-chain transaction verification system, on-chain mintage program, trusteeship program, and a deposit and withdrawal program for the X-Tokens.
  • Relay Module - A window for information exchange and verification between ChainX and outside chains, it is primarily comprised of a chain information update program, a chain monitor program, and an inter-chain information collection and transmission program.

The platform uses a form of staking it refers to as asset mining. While ChainX can accept assets from a variety of different decentralized blockchains using any number of consensus algorithms, which introduces a good deal of complexity in the background, at its heart the concept of asset mining remains quite simple.

It begins with the notion that each asset deposited to the platform will carry just one vote. This allows for staking any asset supported by the ChainX platform. Users can deposit BTC or ETH, and many other cryptocurrencies as well, receiving PCX in return. Because there was no pre-mine or ICO distributing large amounts of PCX to early investors this system keeps staking and governance fair, even and balanced.

In the ChainX protocol, computing power is created through votes. This means users are rewarded based on the number of votes they have in the system. A greater number of votes means greater computing power, and that leads to greater staking rewards.

ChainX Mining

As alluded to above ChainX uses a “One Asset One Vote” model for mining. It splits that into two different forms as well: Voting mining and interchain asset mining. PCX is used as the computing power unit in the system.

Voting mining is quite simply the actual staking of real PCX to participate in mining. Interchain asset mining is quite different however as it involves depositing or mapping various other assets such as BTC or ETH to participate in mining. These assets have a virtual computing power calculated based on a number of factors such as fixed computing power calculation, market price discount calculation and others which are described in more detail in the ChainX whitepaper.

ChainX Mining
Mining power in ChainX illustrated. Image via ChainX whitepaper. 

The ChainX platform uses Proof-of-Stake consensus that combines the computing power of PCX voting/mining power, and the added voting/mining power of interchain assets. The security of the network is guaranteed by PCX, with more staked PCX increasing the overall security of the network.

Since ChainX also acts as a gateway for inter-chain assets it connects assets from other blockchains, and increases in value as more assets are connected. Both the PCX and inter-chain assets participate in the mining process.

To avoid a massive surge in inter-chain assets overwhelming the system in the early days a dynamic mining model has been adopted to offset any sudden influx of inter-chain assets. This also comes with a fixed computing power ratio between the two that can be adjusted through a chain governance referendum.

Computing Power

Inter-chain assets are discounted when participating in mining. The current ratio of interchain assets to PCX in terms of mining power is set at 1:9 which can be adjusted through community voting, which means the maximum mining power of all interchain assets is set to 10% to ensure PCX voting mining power greater than or equal to 90%.

ChainX Consensus

ChainX uses a hybrid Proof-of-Stake consensus mechanism known as “Babe + Grandpa”, whose most notable feature is the block generation and confirmation are now separate. The Babe module handles block generation, with new blocks being created every 6 seconds, while the Grandpa module handles block confirmations.

The ChainX team has determined that the traditional Proof-of-Work consensus model features weak individual nodes that are unable to forge blocks on their own. This necessitates creating or joining mining pools, with the result being a small number of mining pool nodes on each chain.

In PoS the initial chain might have roughly 7 nodes, and later follow-up chains might grow to dozens of nodes. All this does is block the decentralized nature of the blockchain by keeping ordinary users from becoming nodes and assuring that large organizations can take control of the blockchain.

Consensus
Grandpa block confirmation. Image via Polkadot Wiki 

With the Babe + Grandpa consensus mechanism there are already several dozen consensus nodes when the blockchain was launched. That number is gradually growing as the ChainX community grows and evolves. While it’s true the cloud servers were required to build the initial nodes, later nodes can be created through the desktop wallet.

However these nodes do still need a persistent internet connection and sufficient computing power, otherwise blocks could be delayed, resulting in punishment for the node. If a punishment is incurred the funds are delivered to the Treasury where later referendums can decide how those funds should be used.

There is an incentive for running a node as the node has a profit model that includes obtaining 10% mining income from users, although that proportion can be modified at any time by a referendum. Any dropping nodes or malicious behaviors will be punished through the reduction of rewards. Verification nodes follow an election cycle that is just 1 hour long, with nodes being ranked by the number of votes they receive.

Any node that fails to receive enough votes to become a verification node will become a synchronizing node instead. Votes of both consensus nodes and synchronizing nodes participate in the mining reward distribution with the same benefit rate so that the advancement of synchronizing nodes will not be compromised.

ChainX and Polkadot

If an interconnection between blockchain projects is to be achieved it is critical to have interaction between ChainX and Polkadot and this occurs in a number of ways. Primarily however we see that ChainX handles the interaction of blockchain assets, while Polkadot handles the exchange of data between the various blockchains.

ChainX Polkadot
ChainX and Polkadot are a powerful combination. Image via ChainX blog. 

In bringing these two systems together ChainX works as a secondary layer relay on Polkadot. The two are brought together via a parachain system that includes the following modules:

  • ChainX Relay Chain – Responsible for securing the entire second layer network
  • Bridge Para-chains – Splits the responsibilities of various transfer bridges to different parachains to improve on throughput and enhance scalability.
  • Trade Para-chain (DEX Module) – Provides a matching service for assets on the platform, increasing throughput along the way.
  • Dapp Para-chains – This handles decentralized applications (Dapps) developed by the ChainX community.

ChainX Bridge vs. Polkadot Bridge

The ChainX Bitcoin transfer bridge provides transparent operations via a one-way light node relay mode. This is possible by hosting user funds on multiple trust nodes. Additionally there are two hot and cold public multi-sig addresses.

ChainX Polkadot Compared
The main differences between the ChainX and Polkadot bridges. Image via ChainX blog. 

Polkadot is used for communication of data between parachains, however at any time a chain under it needs to communicate outside the ecosystem the transfer bridge must be used. With the parallel chain bridge is is possible to realize one or more transfers in this way. It’s important to note that because Polkadot allows communication between parachains any bridge implementation serves all other parachains and creates a network effect.

Besides being a parachain the Polkadot chain is also a complete main chain. That allows for secondary slots and because slots on the main chain are limited and parallel chains can be expensive the secondary Polkadot chains provide an affordable solution.

It has already been foreseen by the ChainX team that as the number of bridges connected to the Polkadot ecosystem increases there will come a time when the first layer of parachains is insufficient to handle the needs, and at that time the secondary relay chain will provide a way to develop additional bridges.

With the addition of the ChainX transfer bridge to Polkadot that provides trading services for all the assets on the relay chain ChainX has the advantage of access to all the assets connected to the network.

This will allow ChainX to provide for any financial services desired by the network, including stablecoins, private trading based on ZEC, betting with BTC, and anti-risk tools such as insurance, loans, indices, options, futures, and other DeFi tools. ChainX is also divided into multi-chain frameworks to improve throughput, and as a whole Polkadot’s second-level relay network.

The ChainX token (PCX)

ChainX was created with a total of 21 million PCX tokens and an initial emission of 50 PCX per block. Halving is done every 2 years and the founding team will hold 20% of the total coins after the initial two years of operation.

PCX Token Emission
PCX emission slows by half every two years. Image via ChainX whitepaper.

Uses of the PCX token

  • To pay miner fees
  • Acts as the market capitalization unit
  • As collateral for both consensus and trustee nodes
  • As a standard during PoS consensus election
  • Forms the base currency and exchange medium

ChainX was created with a transaction fee of 0.0001 PCX, but as the throughput and performance of the network improves the fees are designed to decrease to the point they will become irrelevant. As the network evolves into its later stages the issuance of new parachains will slow, and the mining income will primarily come from these small transaction fees and from network punishment fees.

There is a gas fee associated with PCX as well, which is necessary in order to avoid DDOS attacks. The gas fees are based on the complexity of the operations being performed. Users also have the option to accelerate transactions based on network congestion.

While this may make it appear that users are paying fees to use the network, this can be offset by the mining income generated by holding and staking PCX. So, most users will still be able to use the network at no net cost, although heavy users of the network will likely end up paying net fees due to the number of transactions.

ChainX Price Performance

In the roughly 18 months since the PCX token has been publicly trading it has seen quite a bit of volatility, with an all-time high of $19.73 notched on August 27, 2020 and an all-time low of $0.5446 hit on March 13,2020. There have been a number of other spikes higher for the token as can be seen from the chart below.

PCX Price Performance
ChainX has seen some volatile behavior. Image via Coinmarketcap.com 

In terms of market capitalization ChainX is hovering around #300 in terms of market cap, at roughly $120 million. With the relatively large emission of PCX tokens occurring at the start of the network it is expected that PCX will quickly climb in terms of market capitalization, presuming the price does not crash back towards its all-time low.

How to Stake PCX

Staking and unstaking PCX is not complicated, and the short guide below will help anyone who wishes to create a wallet and stake PCX tokens. Any additional question can be directed to the ChainX Telegram group.

Step 1: Create a Wallet

Go to dapp.chainx.org and click ‘Add account’. In that window, name your wallet, save your mnemonic. Give your wallet a password and repeat it. Then click ‘Next’.

Add Wallet
Adding a wallet account is your first step in staking PCX. Image via ChainX blog

In the window that follows, Click save and save the backup file to your PC. This is a JSON file that has your password encrypted private key within and can be used to restore your wallet in case something goes wrong.

Wallet Backup
Don't forget to backup your wallet. Image via ChainX blog. 

Step 2: Staking your PCX

Click on ‘Staking’ then ‘Stak. Over.’.

Staking
Here's where you decide how much PCX to stake. Image via ChainX blog. 

Find a node you want to stake with and click ‘Vote’. In the voting window, fill in the amount you would like to stake and click ‘Vote’ to confirm. Make sure you leave 0.01 for Tx fees. Enter your wallet’s password and submit it.

Voting
Don't forget to vote for validator nodes. Image via ChainX blog. 

Step 3: Claim your interest

On the top of your screen, click on ‘My staking’ (Alternatively, click on ‘Staking — My Staking’). Here you can view your current staking with the nodes you chose. Clicking on ‘Claim Interest’ and confirming with your password, sends your Unclaimed Interest stored in the node to your wallet.

Claim Interest
Go back from time to time to either claim or re-stake your staking rewards. Image via ChainX blog. 

Clicking on ‘Vote’ allows you to re-stake the interest you’ve claimed. It works the same as voting for a node the first time and simply adds it on top of the existing stake.

Step 4: Unstaking (Unbound)

To unstake, click on ‘Unbound’ and fill in the amount you wish to unstake. After confirming with your password the amount will be frozen for three days. After this, you can click ‘Redemption’ to unfreeze the PCX to return them to your wallet.

Unstaking
Unstake once you're done voting. Image via ChainX blog. 

ChainX Governance

As of ChainX 2.0 the ChainX network has adopted a tricameral governance structure similar to Polkadot, which includes a Referendum Chamber, Council, and Technical Committee. Additionally, ChainX has also introduced a Treasury and a community organization called the X-Association.

ChainX Governance
On-chain governance that avoids centralization. Image via ChainX blog. 

Referendum Chamber

The Referendum Chamber is composed of all PCX holders and any changes to the blockchain runtime logic needs to go through a democratic referendum voted on by the members of the Referendum Chamber. Any referendum that passes the voting process is sent to the network and automatically gets implemented after a 7 day enactment delay.

Council

Because governance efficiency would suffer under a strictly referendum based approach to governance there is also a Council for the ChainX network to handle the routine affairs. This council has 11 full members and an additional 7 runners-up that are chosen by an on-chain community vote. Council members serve for 24 hours, with a new election being held daily, however Council members only change occasionally under normal circumstances.

How to vote for the ChainX council. Image via ChainX blog.
How to vote for the ChainX council. Image via ChainX blog.

Prospective council members need to pledge 10 PCX when submitting their candidacy application, and if they are not selected to the Council they lose this 10 PCX pledge. If they win the 10 PCX is held and returned whenever they withdraw their candidacy.

The community votes for the Council members, and can choose up to 16 individual members to vote for, locking in the number of tokens, with the weight of the vote equal to the number of tokens locked. The minimum pledge amount is 0.01 PCX which can be withdrawn at any time by deleting the vote.

The Council has a number of responsibilities, which include (but are not limited to) the following:

  • Submitting referendum bills for public voting.
  • Canceling a referendum in an emergency, 2/3 of the members need to agree;
  • Canceling the staking penalty (slashing) caused by network abnormality, at least 1/2 of the board members must agree;
  • Voting on proposals using treasury funds, at least 3/5 of the members are required to pass such a proposal, and more than 1/2 of the members are required to directly reject it.

Technical Committee

The technical committee is formed from members of the ChainX development team. They serve as a supplement to the Council to advise on technical matters and their responsibilities primarily include:

  • Submitting an emergency proposal to fast track changes in a state of emergency;
  • Veto the board’s referendum proposal if it could damage the network, each member has only one opportunity to veto a certain proposal, and it can only last for 7 days.

ChainX Treasury

The ChainX Treasury was created in the same vein as the Polkadot Treasury. It collects fees from the following sources:

  • Node slashing amounts;
  • TR computing power (mining distribution);
  • Deposits of the Council candidates that lost.

Any user can apply to use the Treasury funds in a number of ways that include, but are not limited to the following:

  • Infrastructure deployment, operation, and maintenance;
  • Network security, such as monitoring services or auditing;
  • Ecological support, such as cooperation with third-party blockchains (bridges);
  • Marketing activities, such as advertising or partnerships;
  • Community activities, such as meet-and-greets, ChainX parties, or other forms, whether digital or in-person;
  • Software development category, such as wallets or clients.

X-Association

The X-Association is a non-profit organization that was created to support the development of ChainX and the construction of any related systems. X-Association is composed of experts and enthusiasts who are familiar with ChainX, blockchain community management, technology, development, and are ready to dedicate time to develop ChainX for the long term.

Conclusion

ChainX has many possibilities, but its focus is on the interoperability of all blockchain assets. That also includes making it possible to stake any non-staking assets such as Bitcoin. ChainX has opened up a host of possibilities when it comes to the application and use of digital currencies.

The key to all of this has been the interactions created between ChainX and the Polkadot blockchain. With the new staking and governance models introduced by ChainX both governance and token issuance has become more equitable between early investors and later community members.

Users will have the opportunity to benefit from free exchange transactions, and developers will be able to use the protocol to develop many different economic models and scenarios.

It remains very early in the development of the ChainX protocol, so it is impossible to tell if they will be successful in gaining adoption for their model of decentralized finance or not. As of early 2021 there is a large amount of competition in the space, however ChainX is taking a unique approach that could become favored as the space evolves.

Steve Walters

Steve has been writing for the financial markets for the past 7 years and during that time has developed a growing passion for cryptocurrencies.

Disclaimer: These are the writer’s opinions and should not be considered investment advice. Readers should do their own research.

Previous article
Cartesi Review (CTSI): Scaling Ethereum Smart Contracts
next article
NEAR Protocol Review 2024: Updates You Don't Want to Miss!