Requirements

Scaling Challenge Requirements

The challenge outlines a number of requirements for successful implementation. Here we address each topic and include pointers as necessary.

Scaling

This PoC should scale with minimal costs (both on & off-chain). In addition, a clear path to supporting hundreds of millions of users.

We performed the challenge transactions on the xDai chain with 25x efficiency* relative to the 5 day requirement. See the results page for more information.

Whitelisting contracts on the xDai chain allowed us process Reddit transactions with 0 gas fees. This includes MOON token transfers from xDai to Rinkeby where transfers are subsidized by bridge validators. For more details on costs, please see the cost estimates section.

*Note: xDai is a production chain with a 12.5M gas/block limit (which mirrors Ethereum - maintaining 100% compatibility). We were limited by this boundary in the challenge, and increasing the block gas limit would improve speed.

Future Scaling

To demonstrate scaling capacity to support hundreds of millions of users, we have deployed an experimental high-performant network called qDai with 1 second block times and 74m gas capacity-per-block. We completed all transactions in 29 minutes, besting the challenge requirement by 220X. The network protocol is not yet in production, we will commit resources to further development. qDai BlockScout instance

Decentralization

Solutions should not depend on any single third-party provider

The xDai Network is decentralized with no single point of control for the network. Currently, xDai is supported by a group of selected validators consisting of well known Ethereum organizations. We are actively transitioning to a Proof-of-Stake protocol with a permissionless validator set called POSDAO. The xDai TokenBridge is also maintained by a select group of validators.

We recognize our solution is not the most decentralized or fastest in terms of TPS. However, as an EVM-based chain it is fully compatible and interoperable with Ethereum. One option to explore is leveraging xDai in a transitional capacity, scaling Reddit now while Ethereum transitions to Ethereum 2.0. Data & historical transactions can then be easily migrated to a shard on Ethereum 2.0.

All tools are open-source, including TokenBridge and BlockScout Explorer. Additional documentation and links are available at https://xdaichain.com

Usability

Scaling solutions should have a simple end user experience.

Solutions are easy-to-use and 100% compatible with Ethereum. For cross-chain transfers we demonstrate a simple UI built with the existing Burner Factory.

Claims, subscriptions and other transactions on xDai are completed in 5 seconds, bridging operations are typically executed in less than 1 minute.

Free transactions for users are supported by whitelisted contracts. The solution also supports Meta Transactions, which we do not demonstrate in the challenge but may be implemented if desired.

BlockScout explorer is available to view all transactions, and a Bridge monitor is available to view bridge transaction status.

Interoperability

Compatibility with third party apps (wallets/contracts/etc) is necessary.

Applications deployed to Ethereum can also be deployed to xDai with few modifications (for example, a Uniswap fork is deployed to xDai which allows users to exchange xMoons). xDai is developer friendly and completely compatible with common tools such as MetaMask, Truffle, OpenZeppelin SDK etc. All deployments are permissionless, and cross-chain interoperability is achieved through the TokenBridge implementation.

Solution Documentation

Security

Users have full ownership & control of their community points.

Users control points ownership and can bridge, claim and transfer their assets at will. Should the xDai chain suffer some sort of catastrophic failure, it is possible to activate an upgradeability option to recover all lost assets.

Additional validators can be added to increase decentralization. Connecting MetaMask to a Ledger or Trezor wallet allows users to access xDai with a hardware wallet.

Security Audits for xDai chain and TokenBridge: https://www.xdaichain.com/for-developers/security-audits

In addition, Splunk monitoring helps identify any potential security issues and threats as they arise.