Loopring 3.6 is Code Complete and Security Audit Has Begun

Daniel Wang
Loopring Protocol
Published in
3 min readSep 22, 2020

After four months of intensive research, implementation, and testing, today we made a 3.6 pre-release (3.6.0) and shipped it to Least Authority for audit. This marks a tremendous milestone for the Loopring team.

Loopring 3.6 is a tremendous improvement over the current 3.1 version with many great features, for example:

  • It can mix and batch process different types of layer-2 transactions into the same block, which greatly improved the relayer’s batching efficiency and reduced the ZKP prover cost.
  • Explicit account activation for layer-2 is no longer required. All Ethereum addresses are activated by default thus can receive funds on layer-2.
  • The capacity is now much larger. It supports up to 2³² (~4.3 billion) accounts, 2¹⁶ (65536) tokens, and 2³² (~4.3 billion) order IDs.
  • It supports much flexible deposits and withdrawals. Now a user can deposit to another user’s layer-2 account and can withdraw to any Ethereum address on layer-1.
  • It also supports different layer-2 transaction authentication using ECDSA signature, EdDSA signature, and onchain hash.
  • It supports Agents — an Agent is smart contracts authorized by a user to act on behalf of the user to transact and interact with Loopring. The Agent design enables extensibility.
  • All withdrawals are potentially fast-withdrawals as long as there are liquidity providers willing to “accelerate” these withdrawals —we call it relayer-side speed-up. All fast withdrawal transfers can even be further “sped up” by users while the Ethereum transactions are pending in Ethereum’s mempool (and the original fast withdrawal transfers will be dropped) — we call this client-side speed-up. Fast withdrawal is built using the Agent design.
  • Layer-2 AMM settlement support. Loopring supports the Balancer’s curve: A^a * B^b* … *Z^z = K . Loopring 3.6 allows the very flexible design of the AMM managing contracts on layer-1. These AMM contracts are also Loopring Agents.
  • Layer-2 transfers can be parallel — they can settle “out of order” to enable scenarios such as red-envelope distribution.
  • Maintenance mode is removed and Shutdown mode no longer requires a complete state revert.
  • All fees are “max fees”, which allows the operator to offer users a fee discount.
  • Dual Authoring is back. With Dual Authoring, transfers can omit the recipient address and whoever gets the first Dual Authoring private key can claim the transfer. This enables the payee-scans-payer payment scenario, especially when the payer has no network connection.
  • Orders can specify a target address to match with. This is a protocol-level security guarantee for OTC trades.
  • Deposit fees and token registration fees have been removed.

See here for a more detailed list of changes compared to 3.1:
https://github.com/Loopring/protocols/blob/master/packages/loopring_v3/security_audit/LoopringV3_6_vs_V3_1.pdf

All these features and enhancements are built for the three most important layer-2 use cases: transfers, order-book trading, and AMM swap.

Relayer

Our relayer team started working on a new relayer implementation to support 3.6 two weeks ago. We expect to launch Loopring 3.6 on the Goerli testnet by the end of November without waiting for the security audit report.

We plan to launch a beta version on the Ethereum mainnet in December. This mainnet launch will incorporate all fixes based on the audit report, but it will not depend on a trusted setup. A trusted setup will start only when we have enough confidence that the protocol, especially the circuit codebase, is indeed bug-free and stable.

Bounty

We will start a bounty program in a few days to offer LRC rewards to those who will identify bugs. Stay tuned.

About Our Auditor

Least Authority is a Berlin-based security company that focuses on freedom-compatible technologies and privacy. They have audited many blockchain projects including Zcash, Tezos, Ethereum 2.0 Specs, MetaMask, Nervos, and Cosmos.

About Loopring

Loopring is a layer-2 protocol for scalable transfer, order-book trading, and AMM swap on Ethereum using zkRollup. Loopring.io is the first publicly accessible zkRollup exchange on Ethereum mainnet. It is 100% non-custodial, inheriting Ethereum-level security guarantees while capable to perform at a throughput 1000x greater than the current state-of-the-art layer-1 DEXs.

TwitterDiscordRedditTelegramGitHubDocs YouTube

--

--