Loopring is an open protocol for building high-performance, order book decentralized exchanges on Ethereum. Their goal is to enable the building of highly scalable decentralized exchanges without compromising Ethereum-level security guarantees through a zkRollup construction.
Loopring’s primary objectives include reducing user reliance on centralized exchanges or other trusted third parties and enabling global liquid markets. Loopring protocol pursues this by incentivizing ecosystem participants to perform exchange functions in a decentralized manner, with trades processed by non-custodial smart contracts.
Although blockchains inherently provide trustless trading, there are problems with building exchanges purely on-chain. Specifically, processing speed, throughput, and computation costs. Performing all exchange steps on-chain can be prohibitively expensive, or impossible to emulate centralized exchange speed and performance. For these reasons, Loopring has moved almost all data and computation off-chain but leverages zero-knowledge proofs to retain trust-minimized properties.
Loopring originally planned to be blockchain agnostic and to operate on all feasible large public blockchains with smart contract capability. Loopring was first deployed on Ethereum to trade ERC20 tokens and uses its LRC token to operate. It has deployed on top of NEO and airdropped a native LRN, however, that effort is paused. There were plans for a similar launch on top of QTUM with an LRQ token but that was scrapped entirely.
LRC tokens are used for protocol pool staking which receives 70% of the fee distribution. Any user can stake for a minimum of 90 days to receive their proportional share of the fees.
Exchange owners also need to stake for reputation and safety. There is a minimum of 250,000 LRC for an exchange with data availability and 1 million LRC for an exchange without data availability. Funds can be withdrawn when the exchange returns funds to users and shuts down, otherwise, they will be slashed. Exchanges can also stake additional tokens to reduce the maker/taker fees.
Consensus & emission
Of the total supply, 50% of the tokens allocated to investors had no lock-up. 30% of tokens were allocated to the Loopring Foundation, with 20% earmarked for the founding team members subject to a 2 year lock-up period. After 2 years, the tokens vest monthly over a 2 year period (1/24 monthly). The remaining 10% of the Foundation’s tokens are used to pay fees to contractors, auditors, exchanges, etc. 3.2% will also be vested into the Loopring Ecosystem Advancement Fund (LEAF). A total of 21.1 million LRC tokens have been burned. LEAF has been set up to reward community contributors and developers. Currently, LEAF holds 16.8% of LRC tokens, and with the above mentioned 3.2% incoming from the Foundation, will hold 20% of token supply. It has already started paying community members for technical and non-technical contributions.
After the token sale, Loopring offered investors the chance to lock-up their LRC in two smart contracts to receive interest (~5%) at a later date: the mid-term incentive contract (6-9 months) and the long-term incentive contract (18-36 months). The mid-term is already unlocked and the long-term contract holds 115.3 million LRC that will unlock in March 2019, and be withdrawn over 18 months from that point.
Loopring uses a traditional order-book exchange model but moves all computation off-chain by using zero-knowledge proofs (zkSNARKs). When a user wants to deposit funds, they send assets to an exchange smart contract. Their balances are stored off-chain in Merkle trees where they are updated based on transfer requests rather than an actual exchange of assets between user wallets. The manner in which orders are matched up is up to the exchange operator but when it comes time for settlement, the protocol will create a ring settlement request by matching two orders and sending the request to the operator who in turn includes it in a block, receives a fee and commits the request on-chain. Users can also withdraw their funds at any time. If a specified amount of time passes since the withdrawal requests and the exchange still has not processed the withdrawal, the protocol will enter an irreversible withdrawal mode that shuts the exchange down enabling only withdrawal functionality.