Anchor: Gold Standard for Passive Income on the Blockchain - Anchor ...

Page created by Anne Fuller
 
CONTINUE READING
Anchor:
         Gold Standard for Passive Income
                on the Blockchain
             Nicholas Platias, Eui Joon Lee, Marco Di Maggio

                                     June 2020

                                      Abstract

Despite the proliferation of financial products, DeFi has yet to produce a savings
product simple and safe enough to gain mass adoption. The price volatility of
most cryptoassets makes staking unfit for the vast majority of consumers. On the
other end of the spectrum, the cyclical nature of stablecoin interest rates on DeFi
staples like Maker and Compound makes those protocols ill-suited for a household
savings product. To address this pressing need we introduce Anchor, a savings
protocol on the Terra blockchain that offers yield powered by block rewards of major
Proof-of-Stake blockchains. Anchor offers a principal-protected stablecoin savings
product that pays depositors a stable interest rate. It achieves this by stabilizing
the deposit interest rate with block rewards accruing to assets that are used to borrow
stablecoins. Anchor will thus offer DeFi’s benchmark interest rate, determined by
the yield of the PoS blockchains with highest demand. Ultimately, we envision
Anchor to become the gold standard for passive income on the blockchain.
1    Introduction
In the past few years we have witnessed explosive growth in Decentralized Finance
(DeFi). We have seen the launch of a wide range of financial applications covering a
broad range of use cases, including collateralized lending (Compound), decentralized ex-
changes (Uniswap) and prediction markets (Augur). Despite early success and a robust
influx of brains and capital, DeFi has yet to produce a simple and convenient savings
product with broad appeal outside the world of crypto natives. We believe that the path
to mass adoption for decentralized finance is the savings product.
Anchor is a savings protocol that accepts Terra deposits, allows instant withdrawals and
pays depositors a low-volatility interest rate. To generate yield, Anchor lends out deposits
to borrowers who put down liquid-staked PoS assets from major blockchains as collateral
(bAssets). Anchor stabilizes the deposit interest rate by passing on a variable fraction of
the bAsset yield to the depositor. It guarantees the principal of depositors by liquidating
borrowers’ collateral via liquidation contracts and third-party arbitrageurs.
We believe that the provision of a stable interest rate to depositors is a necessary feature of
a savings product with broad appeal. Anchor thus overcomes one of the key limitations of
Compound and Maker as savings products: the highly cyclical nature of deposit interest
rates. Beyond offering low-volatility yield, Anchor is an attempt to give the main street
investor a single, reliable rate of return across all blockchains. The plethora of staking
products, each with varying terms and yields, makes DeFi inaccessible and unappealing
to average investors. By aggregating block rewards from all major PoS blockchains,
Anchor aspires to set the blockchain economy’s benchmark interest rate.
The rest of the paper is organized as follows. We start by introducing the concept of
a tokenized stake in a PoS blockchain (bAsset). In the following section we cover the
basics of the Anchor money market, which serves as the building block for the savings
protocol. Next we introduce the Anchor Rate as a benchmark interest rate, and propose
a mechanism that stabilizes the deposit interest rate at that benchmark. After that
we cover the liquidation mechanism that implements Anchor’s principal protection. In
the last section we discuss a number of applications of Anchor money markets beyond
savings.

2    Tokenized Stakes (bAssets)
One of Anchor’s core primitives is the bAsset (bonded asset) — a tokenized stake on a
PoS blockchain. A bAsset is a token that represents ownership of a staked PoS asset.
Like the underlying staked asset, a bAsset pays the holder block rewards. Unlike the
staked asset, a bAsset is both transferable and fungible. Users can therefore transact
with bAssets with the same ease as the underlying PoS asset. In summary, a bAsset
allows the holder to earn block rewards while maintaining the liquidity and fungibility
that staked assets forego. bAssets are broadly usable – they can be generated on any PoS

                                              1
blockchain that supports smart contracts. bAssets are a central component of Anchor –
we will soon explain their key role in offering a stable interest rate to Terra deposits.
The precise mechanism of bAssets involves intricacies that are beyond the scope of this
paper. We will be releasing a separate technical specification for bAssets that will cover
the precise mechanics. For the purposes of Anchor we assume the existence of a tokenized
staking smart contract that adheres to the above properties.

3     The Terra Money Market
The core building block of the Anchor savings protocol is the Terra money market – a
WASM (Web Assembly) smart contract on the Terra blockchain that facilitates deposit-
ing and borrowing of Terra stablecoins (TerraUSD, for instance). The money market is
defined by a pool of Terra deposits that earns interest from borrowers. Borrowers put
down digital assets as collateral to borrow Terra from the pool. The interest rate is deter-
mined algorithmically as a function of borrowing demand and supply, which is encoded
by the pool’s utilization ratio (fraction of Terra in the pool that has been borrowed).

3.1   Debt Positions
Borrowing from the Terra money market is as straightforward as locking up collateral in
exchange for a loan. The main parameter of a debt position is its borrowing capacity: the
maximum amount of debt an account can accrue. An account’s borrowing capacity is
determined by the amount and quality of locked-up collateral. Anchor defines a loan-to-
value ratio (LTV) for each type of collateral, which indicates the fraction of a collateral

                                             2
asset’s value that contributes to a debt position’s borrowing capacity. LTV ratios range
from 0 to 1 and are a function of an asset’s volatility and liquidity. Stable, liquid assets
will have high LTV ratios, while volatile illiquid assets will have low LTV ratios. If an
account holds an asset X with an LTV ratio of 80%, then 80% of X’s value contributes
to the account’s borrowing capacity. The Anchor smart contract sums the value of all
collateral assets multiplied by their LTV ratios to determine an account’s total borrowing
capacity. In the following section we discuss how Anchor determines the interest rate for
debt positions.

3.2   Algorithmic Interest Rates
Anchor uses an algorithmic interest rate algorithm to determine depositor and borrower
rates for Terra based on borrowing demand and supply. The key input to the algorithm
is the Terra pool utilization ratio. The utilization ratio represents what fraction of Terra
in the pool is borrowed. More precisely:

                                        borrowedDeposits(t)
                               u(t) =
                                          totalDeposits(t)
The interest rate algorithm charges borrowers more and pays depositors more as the
utilization ratio increases. On the other hand, as the utilization ratio decreases, the
borrower pays less interest, resulting in lower interest for the depositor. The algorithm
lowers borrower interest to incentivize borrowing when the utilization ratio is low, and
increases borrower interest to disincentivize borrowing when the utilization ratio is high.
This algorithm can be formulated generally as follows:

                          depositRate(t) = u(t) · borrowRate(t)

                                 borrowRate(t) = f (u(t))

where f is a continuous increasing function.
This formulation has a key shortcoming – one that is shared by the Compound protocol
which first introduced the idea: both rates are increasing functions of the utilization
ratio, and therefore both are highly sensitive to market cycles. A pattern that emerges
clearly from historical data on Compound is that the utilization ratio on stablecoin money
markets is highly correlated with Ethereum price movements. Upswings in Ethereum’s
price increase demand for leveraged long positions on Ethereum, which results in increased
borrowing from stablecoin money markets. The opposite is true during Ethereum price
downswings: a decrease in leveraged long demand, in combination with liquidations of
Ethereum debt positions, results in less stablecoin borrowing. See the Appendix for data
on this pattern collected from the past 12 months of stablecoin borrowing on Compound.
The interest rate equations demonstrate that cyclicality in utilization ratio directly trans-

                                             3
lates to cyclicality in borrower and depositor rates. We believe that cyclicality of interest
rates on DeFi protocols is a key barrier to broad adoption. To solve this problem, we
propose a benchmark interest rate and a stabilization mechanism to achieve it in the
following section.

4     Interest Rate Stabilization
We define an interest rate benchmark, the Anchor Rate, and propose a mechanism to
stabilize the deposit interest rate to the benchmark.

4.1    The Anchor Rate
There is a plethora of staking and savings products, each with its own risk/return profile,
and each with a rate that fluctuates over time. Given all those options, what interest
rate does the main street investor keep track of, and how much confidence does she have
in its stability? There is no good answer to this question at the time of writing. Anchor
aspires to be the answer by setting DeFi’s benchmark intest rate.
Unlike central banks, which control the supply of money to set interest rates, Anchor takes
a different approach. In the absence of a printing press, Anchor uses block rewards across
blockchains to derive DeFi’s benchmark rate. With Anchor, the return that depositors
can expect is a function of borrowers’ on-chain income. The Anchor money market is
a unique enabler of “yield transfer” from borrower to depositor by accepting bAssets
as collateral. The resulting diversified yield, the Anchor Rate, reflects the market’s
preferred sources of yield on the blockchain. For this reason the Anchor Rate has the
potential to be more stable than any individual yield, or any fixed collection of yields.
We define the Anchor Rate formally by considering the bAssets used as collateral for
borrowing from Anchor’s Terra money market. Let a1, a2, ..., an be those assets, with
yields y1 , y2 , ..., yn and collateral value locked up in open debt positions c1 , c2 , ..., cn ,
where yields and value are Terra-denominated. The Anchor smart contract computes 12
month moving averages for the yields y˜1 , y˜2 , ..., y˜n . The Anchor Rate at time t is defined
as follows:

                                              P
                                              n
                                                    ci (t) · ỹi (t)
                                              i=1
                                   AR(t) =
                                                    P
                                                    n
                                                          ci (t)
                                                    i=1

The Anchor Rate is the average of the rolling yields of all bAssets used as collateral
for borrowing the stablecoin, weighted by the aggregate (Terra-denominated) collateral
value of each asset. Collateral values are a natural choice of weight, as they determine the
amount of block rewards that are eligible for transfer from borrowers to depositors. We
therefore weigh yields by the potential for contribution to the depositor. For instance,
if 3mm UST worth of bLuna and 1mm UST worth of bAtom were held as collateral in

                                                4
UST’s money market, with yields of 15% and 10% respectively, the Anchor Rate would
be 13.75%.

4.2   Interest Rate Stabilization Mechanism
The Anchor Rate plays a foundational role in the Anchor protocol: it is the interest
rate target for Terra deposits. The Anchor smart contract dynamically distributes block
rewards from collateral bAssets between borrower and depositor to achieve the target
rate. This is achieved via a time-varying parameter ↵(t) between 0 and 1:

By introducing the dynamic contribution of block rewards to the depositor, the equations
from the previous section become:

                                       ⇣                                ⌘
                depositRate(t) = u(t) · borrowRate(t) + C · y(t) · ↵(t)

                                borrowRate(t) = f (u(t))

               netBorrowRate(t) = C · y(t) · (1     ↵(t))   borrowRate(t)

where y(t) is the staking yield of the bAsset, C is the average collateral ratio and ↵(t)
is the fraction of the staking yield paid to depositors. Intuitively, the rate paid by the
borrower to the depositor is supplemented by a dynamic fraction of the bAsset’s block
rewards multiplied by the collateral ratio. We also note the netBorrowRate(t), which
includes the portion of the bAsset yield paid to the borrower (inflow), as well as the rate
paid by borrower to depositor (outflow). netBorrowRate(t) may be either positive or
negative.
An important component of dynamic yield distribution is liquidation of block rewards.
The deposit interest rate is denominated in Terra, while block rewards can be denomi-
nated in arbitrary PoS assets. To solve this, Anchor liquidates the block rewards that are

                                            5
directed to the depositor at regular intervals. This is done via the liquidation mechanism
outlined in Section 5.
The key to the stabilization mechanism is the adjustment of ↵(t) to maintain a deposit
interest rate that is close to the Anchor Rate AR(t). The calibration algorithm for ↵(t)
takes place in discrete time steps as follows:
                                                        !
                                           AR(t)
                          ↵(t + 1) = h                      · ↵(t)
                                       depositRate(t)

where h is a continuous monotonically increasing concave function with a fixed point of
1 (h(1) = 1), square root being a simple example.
For instance, continuing the earlier example where the Anchor Rate is 13.75%, assume
that the deposit rate is 10% and ↵(t) is 50%, i.e. 50% of the yield from bLuna and bAtom
collateralizing Terra loans is paid to depositors. The deposit rate is undershooting the
Anchor Rate, therefore a larger fraction of the collateral’s yield needs to be paid to
depositors. Using the square root for h, ↵(t + 1) would increase to roughly 59%, thereby
increasing the deposit rate and closing the gap to the Anchor Rate. On the other hand,
if the deposit rate was higher than the Anchor Rate, the value of ↵(t + 1) would decrease
to achieve the opposite effect.
The key idea here is that the value of ↵ increases when the deposit rate lags the Anchor
Rate to offer a boost using part of the block rewards, and decreases when the deposit
rate exceeds the Anchor Rate to reduce contribution of the block rewards. The value of
↵ remains unchanged when the deposit rate equals the Anchor Rate. We note that there
is a number of constraints in this calibration that are beyond the scope of this paper,
such as the maximum change of a(t) in a given time step.
Why is this stabilization possible? In lieu of a formal argument, we note that in the
trivial case where borrowers pay depositors only via block rewards, i.e. do not contribute
additional interest, the deposit interest rate equation becomes

                         depositRate(t) = C · u(t) · ↵(t) · AR(t)

In this case it is sufficient for C · u(t) · ↵(t) to be equal to 1 for the target rate to be
achieved, which would be the case if e.g. C = 2, u(t) = 0.5 and ↵(t) = 1. This will
naturally not always be possible, in which case additional interest from the borrower will
be necessary to meet the target.

5    Principal Protection
Anchor implements a liquidation protocol designed to guarantee the principal of de-
positors. Deposits are safe insofar as all debts against them remain over-collateralized.
The function of the Anchor liquidation protocol is to maintain deposit safety by paying
off debts that are at risk of violating collateral requirements. The Anchor liquidation

                                             6
protocol is outside the scope of this paper – we will be releasing a separate technical
specification that covers the mechanism in depth. In what follows we offer a very brief
overview.
To ensure that all Anchor loans are sufficiently collateralized, the liquidation protocol
pays back “at risk” loans using “liquidation contracts”. A liquidation contract undertakes
the task of paying back debt in exchange for collateral plus a fee – the “liquidation fee”.
Liquidation contracts can be written by anyone, are aggregated in a pool and tapped
“on demand” when a loan needs to be liquidated in ascending order of liquidation fee. In
addition to the liquidation fee, contracts earn a passive premium charged to borrowers
that is calibrated to ensure full coverage of outstanding loans.
The structure and incentives built into liquidation contracts enable them to provide
higher robustness and solvency guarantees compared to a traditional “keeper” system.
Keeper systems rely on arbitrageurs to finance liquidations on a discretionary basis,
which can result in a liquidity crunch at times of high market volatility. This risk has
materialized in practice in Maker’s keeper system, resulting in huge losses for borrowers.
Liquidation contracts, on the contrary, are fully collateralized and enforce a lengthy
withdrawal period. Liquidation demand is therefore predictable and stable in the face of
temporary shocks, thus protecting both depositors and borrowers.

6     Applications
Beyond the savings product, Anchor’s money market can support more financial appilca-
tions than the authors can envision. A few immediate applications that we see, starting
with the savings product itself:

6.1   Savings product
Given cryptoassets have high price volatility, they may not be the ideal choice for users
who seek passive income with low price exposure. Anchor offers a solution with Terra
stablecoin money markets. Users who deposit Terra stablecoins will get stablecoins in
return, thereby avoiding the high volatility of most cryptoassets. Anchor’s deposit inter-
est rate stabilization mechanism offers additional protection from volatility by providing
stable returns.

6.2   Price and staking yield leverage
Users can leverage their positions by putting their assets as collateral to borrow stable-
coins and buy more of the same asset. Users can similarly take advantage of low-rate
periods by borrowing stablecoin cheap and purchasing bAssets whose yield exceeds their
borrowing cost. Users who seek extra stablecoin liquidity can do so while paying little to
no additional interest, given the deposit interest rate is subsidized by their assets’ block
rewards.

                                             7
6.3   Liquidation contracts
If users are not interested in depositing or borrowing, they can participate in the Anchor
liquidation pool which is a higher-risk, higher-return product that provides liquidation
financing for Anchor debt positions. Liquidation contract writers can profit from passive
premiums, as well as from liquidation fees earned on contract execution.

7     Conclusion
We have presented Anchor, a savings protocol on the Terra blockchain powered by a
money market that is collateralized by tokenized stakes (bAssets). The protocol defines
the Anchor Rate, derived from the yield of the market’s highest-demand PoS assets, as
the blockchain economy’s interest rate benchmark. Anchor utilizes the block rewards of
bAssets to offer depositors a stable return equal to the Anchor Rate. We believe that
Anchor’s simplicity and robustness make it a fitting answer to the search for a household
savings product powered by cryptocurrency.

                                            8
Appendix

Utilization ratio on stablecoin money markets on Compound is highly correlated with
Ethereum price movements. The graph above shows Sai and USDC money market uti-
lization ratios vs Ethereum price over the last 12 months.

                                        9
References
[1] Compound API. https://compound.finance/docs/api
[2] Compound White Paper. https://compound.finance/documents/Compound.Whitepaper.pdf
[3] MakerDAO White Paper. https://makerdao.com/en/whitepaper/
[4] Terra White Paper. https://terra.money/Terra_White_paper.pdf

                                       10
You can also read