In this bi-weekly update, we introduce the ‘Relay-mesh network’ concept. This network differentiates Loopring from all other DEX protocols via automatic liquidity sharing utilizing the consortium blockchain. Loopring’s orders carry value on public blockchains while concurrently the orders also aggregate on the consortium blockchain.
In the last two weeks, we focused on the implementation of protocol v1.1, the design of Loopr wallet beta2, and our re-architecture of the relay network.
Protocol Smart Contracts
- The protocol now supports cancellation of orders based on two criterias: 1) the
validSincetimestamp (in milliseconds) and 2) the trading pair. Previously only
validSincewas respected. This gives users finer control over their cancellation operation.
- We also removed the
saltfield from order structure to reduce gas usage. Wallets can take advantage of the
validSincefield and the
validUntilfield (both in milliseconds) by manipulating the millisecond part to make orders generate a different hashes when all of the other fields are the same.
- We also evaluated the work we need to do for supporting ERC223. Based on what we learned, if an ERC223 token is backward compatible with ERC20 and is a superset of ERC20, the Loopring Protocol will automatically support ERC223 token trading as well as hybrid trading between ERC20 and ERC223.
We have fixed a number overflow issue and made Loopr show markets that are not supported by selected relay in a disabled state.
We have also added a feature in our wallet that allows binding a NEO/Qtum address to your Ethereum wallet. LRC token holders can use it to receive LRN and LRQ airdrop in the near future. Please help us test this little tool and report any issues. Note that this feature is on the Settings page once you’ve unlocked your wallet.
We have finished our first round of invitation-only testing and received tons of feedbacks. This feedback has been considered and evaluated for adoption into the design of beta2. As previously stated, we are not developing the wallet based on the current codebase, instead, we have started a new project called Loopr2 for beta2. Loopr2 is a ReactJS based web application designed from scratch with cross-browser support. We strive to make Loopr2 a much better and simpler user experience.
While we are developing Loopr2, the current MVP version, beta1, will still be available as https://loopring.io for people to try.
Today we dropped address-whitelisting, so now https://loopring.io is accessible to everyone.
We will share Loopr2’s wireframe and some UI pages with selected community members for additional feedback. Stay tuned.
Relay-Mesh and Relay
One of Loopring’s core ideology is order/liquidity sharing. We truly want to make order sharing enabled by default. We have tried IPFS’s pubsub feature to give relays the ability to talk to each other, to broadcast and receive orders. But, we found there are many problems with this solution (Daniel is considering to write a dedicated blog post on this topic). Now we have decided to build a relay-mesh network that leverages consortium blockchain technology.
https://github.com/Loopring/relay-mesh was created for such an effort. Currently Hyperledger Fabric is used to build the mesh network (in the dev branch), but we’ll also consider NEO’s DAN technology in the near future.
We have also successfully run the relay-mesh network locally, even though work on this project has just begun. In the future we will make sure orders are mined into blocks every 1 or 2 seconds, and we will trim off orders in older blocks to make syncing of block data faster for newly joined relays.
Nodes in such a relay-mesh network are consumers of orders(miners) and/or producers of orders (wallet backends). We haven’t figure out a way to incentivize producers and tax consumers yet, this remains a challenge for us. We are open to solutions from the community. If you know of any academic papers that may enlighten us, please feel free to drop us a line.
In the future, we will refer to relay-mesh as the consortium blockchain and its nodes for order sharing. We will refer to relay as the server that talks to the relay-mesh to receive or send orders, that builds a local order-book and optionally mine order-rings.
Last week we added support for relay to access more than one Ethereum node and also tried to refactor the code to handle orders for different blockchains. We’ve encountered some issues here and we look forward to get some of them resolved in the weeks to come. We also have some other challenges, such as the maintenance/updating of the nonce value for each address; and transaction fails on chain while simulation showed no issue during ring-mining locally.
We didn’t update this library much these past 2 weeks; but, it will be updated along the development of Loopr2.
Operation and Marketing
- Jan 11, 2018: We announced our partnership with Blockchain at Berkeley. The initial focus of this collaboration will involve researching and testing more robust Loopring relay infrastructures.
- Jan 06, 2018–Jan 14, 2018: Our #1month10cities blockchain city tour visited Hangzhou, Shanghai, Nanjing, Hefei, Changsha, Wuhan, and Nanchang in China. Loopring’s team had face-to-face discussions with our community and elaborated our City Partner Program. We believe over the next 6 months, we may build outposts in at least 30 cities in China to help promote the Loopring Protocol and our wallet apps.
- Jan 13, 2018–Jan 16, 2018: Loopring sponsored the World Crypto Economic Forum (WCEF) in South San Francisco and hosted our first hackathon. Our CMO, Jay Zhou, delivered a keynote speech entitled “ Loopring Protocol: Powering Cyber-Economy of the Future”.
- Jan 15, 2018: Loopring Foundation and UC Berkeley have agreed to research cross-blockchain transfer and trading protocols led by Professor Alessandro Chiesa, a co-inventor of Zerocash and co-founder of Zcash, as well as one of the lead developers of the libsnark library.
For more up-to-date information, join us on social media:
⭑ Twitter: twitter.com/loopring.org
⭑ Rocket Chat: loopring.rocket.chat
⭑ Reddit: reddit.com/r/loopringorg/
⭑ Official Telegram: t.me/loopringfans & t.me/loopring_en
⭑ Unofficial Telegram: t.me/loopringinternational