Uniswap is a fully open-source decentralized exchange (DEX) that runs on the Ethereum blockchain. According to data, it is the fifth most used DeFi application.
Uniswap allows exchanging, through “swaps”, Ether and ERC20 tokens, which are currently 200. In addition to the most popular tokens like BAT and SNX, there are also many DeFi tokens like WBTC, CDAI or Aave’s tokens.
Born from a project by Hayden Adams, Uniswap received funding from the Ethereum Foundation in 2018 and Paradigm in the spring of 2019 and quickly began to attract users.
On March 13th, Uniswap reached the highest trading volume in the history of DEXs with $53 million.
What makes Uniswap so attractive to Ethereum traders?
Decentralized and unstoppable
Uniswap is not a normal exchange but a protocol, a series of smart contracts on the Ethereum blockchain (one for each exchanged token) and for this reason, it is practically unstoppable.
Uniswap can be used directly with any client able to interact with the Ethereum blockchain even in the event that the uniswap.exchange website should be inaccessible: which is highly unlikely, considering that last week the team announced that the hosting of the platform is now entrusted to Sia, the storage platform based on blockchains like Storj and Filecoin, thus becoming completely censorship-resistant.
However, the most interesting part of Uniswap is that it doesn’t have an order book like other DEXs but its liquidity is managed through a Liquidity Pool. If a token is not traded on Uniswap yet, it is possible to add it using the Factory Contract, which acts as a public order book, without any listing cost or fee.
Each exchange contract holds reserves in ETH and the related ERC20 token, and anyone can become a liquidity provider by contributing to the reserves.
Trading fees are 0.3% and have a dual function: they ensure that the total size of the reserve increases with each trade, and they reward liquidity providers who receive a portion of the fees generated in proportion to what they contribute when they exit the Pool. In addition, price changes drive continuous arbitrage by fuelling a steady stream of pool inflows.
As for trading prices, these are created by a deterministic algorithm called Automated Market Maker (AMM), capable of providing liquidity at all times. This regardless of the size of the order and its liquidity pool, as the price of the currency increases asymptotically as the desired amount increases.
The AMM works through the formula x * y = k, where k is the liquidity pool and y and x are ETH and the ERC20 token of the pool. If there are 100 ETH and 100 ERC20 tokens in a pool, to buy ETH the trader must supply a number of ERC20 tokens that would increase as the value of the trade increases, with the aim of keeping k constant.
The price is thus directly related to the order quantity, so in case of large orders the pool is not emptied and there are no liquidity problems.
Uniswap V2 incoming
A new version called Uniswap V2 should be released this spring. Among the various improvements, the new release will contain an improvement in the price oracle, which according to Vitalik Buterin should be resistant to attacks involving Flash Loans that occurred last month.
The planned uniswap v2 price oracle design is resistant to the recent flash loan attacks. https://t.co/Qd7Z3Vqgk9
— vitalik.eth (@VitalikButerin) February 18, 2020
The V2 version doesn’t have a roadmap, let alone a list of official content, however, on the project’s GitHub there are no traces of an update for the platform’s scalability, which like all DEXs suffered from Ethereum’s congestion during last week’s market crash.
It’s worth remembering that Uniswap and Plasma Group are working on Optimistic Rollups, a solution that can scale without using sidechains, which are at risk of being centralized, and without sacrificing the ability to create complex applications, an important factor for a protocol like Uniswap that requires many different parties to interact with each other.
Users can test the speed of OVM by going to unipig.exchange.