What is zkLink?

zkLink is a trading-focused multi-chain L2 network with unified liquidity secured by ZK-Rollups.

zkLink ecosystem connects various L1 chains and L2 networks that enables developers and traders to leverage unified liquidity from isolated chains with a secure and seamless user experience, contributing to a more accessible and efficient DeFi ecosystem for everyone.

🥇 zkLink innovatively applies zero-knowledge technology to multi-chain interoperability with a trustless and decentralized separation of powers design that safeguards the security of assets and trades as well as multi-chain data transits. Moreover, zkLink eliminates the disparity among stablecoins from different blockchains and of different types, achieving multi-chain liquidity aggregation to form a massive stablecoin liquidity pool via a unique protocol-controlled-debt (PCD) mechanism, delivering a capital efficient, cost-friendly, and easy-to-access infrastructure.

Introducing Zklink 2.0-alpha

At the end of 2021 zkLink went through a major update on the L2 network. Generally speaking, zkLink 2.0-alpha is 10X faster, more stable, and more efficient with lighter infrastructure.

V0.1.0 Issues

  • lack of coping mechanism in in case of reserve deficiency on L1 contract;

  • inconsistent decimal problem of tokens from different chain, e.g., USDC in Ethereum is accurate to 6 decimal places but 18 in BSC;

  • unclear rate model;

  • FullExit and ForcedExit in global account;

  • some major performance problems: massive account update data in get_account when blocks lag behind; state tree is cached in database after a block is packed;

  • Inaccurate estimation of gas consumption when uploading data to L1s;

  • Unstable testnet.

V0.2.0 Improvements

Clean up the logical relations

  • reconstruction on list structure, database tables are reduced by half;

  • clean up data structure attributes list;

  • redefine block cycle;

  • reorganize configuration file;

  • redesign some APIs for the need of ZKEX.

Minimize underlying structure

  • delete some supporting functions such as docker, prometheus ;

  • delete unused operations;

  • delete test code, non-core business code, unmaintained code.

Structural adjustment

  • No interaction between modules; modules are decoupled via the database;

  • Support both integration deployment and separate deployment;

  • Some modules like API support decentralized deployment;

  • The fail of a module will not cause the fail of the whole system.

Modular development

  • reduce code conflicts;

  • debug in local environment;

  • easy to run unit test.

Code quality inspection

  • overall code review;

  • cover more code in integration testing;

  • code specification to minimize dependence on packages and parameters

Website: zk.linkDocsBlogTwitterDiscord