Uniswap was born out of an idea proposed in 2016 by Vitalik Buterin for a decentralized exchange (DEX) that would employ an on-chain automated market maker with certain unique characteristics. A year later Hayden Adams began working on turning this idea into a functional product. After receiving several grants as well as $100,000 from the Ethereum Foundation, Uniswap launch in November 2018. The protocol quickly gained liquidity and started facilitating meaningful volume. Six months after launching, a fundraising round was completed, led by Paradigm to allow the addition of two more employees.
What makes Uniswap unique is that it solves the problem of high spreads for illiquid assets on order-book exchanges. This problem exists because there is little incentive for professional market makers to provide liquidity on very thinly traded assets. However, with Uniswap, anyone can be a market maker by depositing assets into a pool and earning fees based on the amount of trading activity. One downside to this model is that there is substantial slippage for large orders as the price paid increases as the quantity demanded increases.
UNI holders are responsible for governing the protocol. Their primary concern revolves around voting a set of protocol delegates that can help steer the future direction of Uniswap v2. UNI holders can also vote specific token pools for which can collect fees.
Other responsibilities include:
Managing the funds held in the UNI community treasury
Determine the tokens that belong on the Uniswap default token list (tokens.uniswap.eth)
Ownership of the Uniswap ENS domain name
Uniswap is a protocol that facilitates the exchange of tokens on Ethereum. Unlike most other DEXs, there is no native token and every action occurs on-chain. Typically, exchanges function by using an order-book where market makers set the price at which they are willing to buy and sell an asset. The difference between these prices is how they get paid for this work. Uniswap does away entirely with the order book and instead opts to have market makers deposit assets into a pool that traders can then trade against. The price is determined algorithmically based on the proportion of the two assets being traded.
Uniswap uses what’s known as a Constant Product Market Maker that is designed to always provide liquidity regardless of the order size or amount of funds in the pool. This is achieved by asymptotically increasing the price as the size of the buy order increases, leading to potentially significant slippage on large orders. Trading pools consist of an ERC-20 token and an equivalent amount of ETH, with the product between the two sums remaining constant. Any given transaction increases one sum while decreasing the other and the price changes based on the ratio between the two. Users can also swap between two ERC-20 tokens, however, Uniswap will perform two separate actions with each of their respective pools.
When liquidity providers add to a pool, they receive newly minted liquidity tokens entitling them to their proportion of the total pool as well as the 0.3% fee generated off each trade. These tokens are not speculative and simply keep track of how much of the pool is owed. Liquidity providers need to supply both assets in the same proportion they are currently at, otherwise, they will change the ratio and thus price. This would result in the immediate loss of money as the price change should get arbitraged out by trading bots. Even if providers supply the correct ratio of each asset, large price changes can result in the loss of money. (Details on how this work can be found here). Therefore, providers are hoping for substantial volume of trading around the price they entered such that the fees generated account for any potential losses.
Uniswap does not have a mechanism to modify its existing contracts. If any significant upgrade needs to be made it will require liquidity providers to withdraw their funds and migrate them to a new set of contracts.