What is Compound Finance? A Detailed Beginner's Guide
Compound Finance is an algorithmic, open-source protocol that allows for the creation of money markets on the Ethereum blockchain. Individuals and institutions are able to earn interest on digital assets that they supply to the protocol. Whilst those that are seeking to borrow digital assets can do so directly from the protocol itself, without having to negotiate with a counterparty or peer. The Compound Finance protocol can also be thought of as being a DeFi (decentralized finance) project, because the protocol seeks to innovate upon existing financial money markets, by constructing a novel market model that is frictionless, efficient and decentralized.
A core objective of the Compound Finance protocol is to provide individuals with the ability to ‘trade the time value’ of a digital asset. This derives from the financial concept, ‘the time value of money’, which stipulates that money in the present is worth more than the identical sum of money that is received in the future. This is due to the earning capacity of money received in the present; money received in the present can be invested, thus, enabling that money to earn a return and generate a larger sum of money in the future. One way to generate such a return is by lending a given amount of money, upon which the lender can then earn a return in the form of an interest rate that is attached to the loan.
It is by innovating on the lending and borrowing process that Compound Finance seeks to address a problem found with holding digital assets, which is financial yield. Yield is the income that is returned on an investment. For example, yield for traditional assets would be the dividends that are received from holding shares in a company, coupon payments on a bond, or rental income from a leased property. Yield is separate to investment return (also known as total return), which is the financial gain or loss on an investment over time. Yield that is generated from an investment does not require one to sell in order to unlock the underlying value of an asset. According to the Compound Finance whitepaper, one major flaw that exists with blockchain assets is that:
‘Blockchain assets have negative yield, resulting from significant storage costs and risks (both on-exchange and off-exchange), without natural interest rates to offset those costs. This contributes to volatility, as holding is disincentivized.’
The Compound Finance protocol seeks to address this problem by attempting to bridge the gap between lenders that are seeking to earn a return on non-yielding digital assets, and borrowers that are seeking to use borrowed assets for productive or investment use.
Compound Finance Protocol
Compound is the protocol that establishes money markets on the Ethereum blockchain. In traditional finance, money markets are where financial instruments with high liquidity and short maturities are traded. Money markets are primarily used by large institutions and corporates as a means for borrowing and lending in the short term. In the context of the Compound Finance protocol, money markets are pools of tokens with algorithmically determined interest rates that are based on the supply and demand of the token in a given money market. Money markets on the Compound protocol also contain a transparent and public balance sheet that keeps a record of all transactions and historical interest rates.
Participants of the protocol can largely be placed into two groups, suppliers and borrowers. Suppliers will supply (or lend) their funds to the protocol, and in return, be rewarded in the form of interest rate payments. Whilst those who wish to borrow can do so from the digital assets that have been supplied to the protocol. Participants can choose to supply or borrow from any money market that is supported by the protocol, which at the time of writing is: BAT, DAI, REP (Augur), WETH (Wrapped Ether) and ZRX (0x).
Compound Finance: Supplying Tokens
The lending mechanism for the Compound Finance protocol differs to other peer-to-peer platforms in that, with the Compound Finance protocol, a user’s token is not matched and lent to another user. Instead, those wishing to lend, will lend to the protocol itself. The compound protocol then aggregates the supply of lent funds, resulting in a high level of liquidity for that money market. This lending mechanism also means that users that do decide to supply funds to the protocol are able to withdraw their tokens at any time. They do not have to wait for a specific loan to mature in order to recover their lent funds. Assets that are supplied to the protocol will accrue interest based on the supply interest rate that is unique to that particular asset.
Compound Finance: Borrowing Tokens
The borrowing mechanism implemented by Compound differs to alternative peer-to-peer platforms. In these platforms, borrowing will often be accompanied by negotiation with the counterparty. For example, negotiating the maturity date or funding period. With the Compound Finance protocol, users are able to borrow an asset directly from the protocol by simply specifying the asset that they wish to borrow. Each money market will also have a floating interest rate that determines the cost of borrowing an asset.
The Compound Finance protocol also enforces a rule that stipulates that a user’s account must have a balance that more than covers the amount of borrowed funds. This rule is known as the collateral ratio, and a user cannot initiate action, for example borrowing or withdrawing assets, that would bring a user’s account value below the collateral ratio.
The Compound Finance protocol also utilizes a ‘Price Oracle’, which keeps track of the current exchange rate of each supported digital asset on the protocol. The responsibility of setting the value of assets on the protocol is delegated to a committee, which pools the prices of supported assets from the top 10 exchanges in the cryptocurrency space. These exchange rates are used by the protocol to determine the borrowing capacity and collateral requirements for an account, and any other function that requires calculating the value equivalent of an account on the protocol.
Interest Rates
The interest rate that is set when a user supplies the protocol, or when a user borrows from the protocol, is one that is determined algorithmically, which is based on the supply and demand of the asset in a given money market. As a result, when there is a lot of liquidity in a particular money market (high supply and low borrowing demand), then interest rates in that market will be low. Conversely, when there is a shortage of liquidity (low supply and high borrowing demand), then interest rates will likely be high. This interest rate mechanism differs to alternative peer-to-peer lending platforms, where individual suppliers or borrowers usually have to negotiate over terms and rates of loans.
Liquidation
If the total value of a user’s supplied assets, divided by the value of their outstanding borrowing, declines below the collateral ratio, then the user’s account is subject to liquidation by other users of the protocol. If liquidation occurs, then the liquidator may repay some or all of an outstanding borrow on behalf of the individual that is being liquidated (also known as the liquidatee). This has the effect of bringing the liquidatee’s borrow balance back in line with the collateral ratio. In return for initiating a liquidation, the liquidator receives a discount that is known as the ‘Liquidation Discount’. This discount represents the percent value that a user receives when initiating a liquidation.
Money Market Smart Contract
Money markets on the Compound Finance protocol are underpinned by the Money Market smart contract. It is by use of this smart contract that one is able to interact with the Compound protocol. The Money Market smart contract possesses the following functionalities that enable the lending and borrowing process on the protocol:
Supply
The supply function allows a supplier to transfer an asset into the money market. That asset then begins to accumulate interest based on the current supply interest rate for the asset.
Withdraw
The withdraw function transfers a user’s asset from the money market back to the user, which has the effect of reducing the user’s supply balance in the protocol.
Borrow
The borrow function transfers an asset from the money market to the user, which has the effect of commencing the accumulation of interest based on the current borrow rate for the borrowed asset.
Repay Borrow
The repay borrow function transfers a borrowed asset into the money market, which has the effect of reducing the user’s borrow balance.
Account Liquidity
Account liquidity is the total value of a user’s supply balance subtracted by the total value of that user’s borrow balanced, multiplied by the protocol collateral ratio. Users who possess a negative account liquidity will not be able to withdraw or borrow any assets until their account liquidity is brought back to positive. This can be achieved by either supplying more assets to the protocol or paying back any outstanding borrowed assets. A negative account liquidity also means that the user’s account is subject to liquidation.
Further information regarding the functionality of the Money Market smart contract.
Market Status and Governance
Each money market on the Compound Finance protocol can be in one of three states:
- Unsupported
- Supported
- Suspended
Each new money market will begin in the unsupported state and, depending on the actions of the administrator, may then transition to the supported state. Once a market is in the supported state, any user wishing to supply or borrow from the market may do so. However, if a money market must be closed for any reason, as determined by the administrator, then that market will become suspended. If a market becomes suspended indefinitely, then all borrows of that asset can be liquidated.
The governance model for Compound is to start off as being under centralized control. However, it is intended that, over time, control of the protocol will transition to the community. The rights that are capable of being exercised by the administrator or governance committee include:
- The ability to choose a new administrator, such as a DAO
- The ability to set the interest rate model per market
- The ability to support, suspend or unsuspend a market
- The ability to delegate which entity may set oracle prices
- The ability to withdraw the equity (earned income) of the protocol
It Is expected that, at some point in the future, these rights will be moved to a DAO (Decentralized Autonomous Organization) that is controlled by the community.