-
Notifications
You must be signed in to change notification settings - Fork 566
Home
The Acala Network Protocols Whitepaper will introduce and elaborate on the mechanisms of the the Honzon Stablecoin Protocol and the Homa Tokenized Staking Liquidity Protocol, and briefly on the plan for participating in Polkadot parachain auctions.
See an introduction of the Acala Foundation, the vision of the project, and a high level introduction of the Acala Network here
- 1. Introduction
- 2. Honzon - The Stablecoin Protocol
- 3. HOMA - Tokenized Staking Liquidity Protocol
- 4. Initial Parachain Offering (IPO)
Importance of USD stablecoin have been proven by their mass utilization in decentralized finance protocols in the Ethereum ecosystem, since popular digital assets such as Bitcoin (BTC) and Ether (ETH) are too volatile to be used as everyday currency due to large fluctuations.
The significance of cross-chain communication to the blockchain is like that of the internet to the intranet. Polkadot empowers a network of public, consortium and private blockchains, and enables true interoperability, economic and transactional scalability.
While the existing USD stablecoins are most prevalent on the Ethereum platform, a cross-chain stablecoin system will:
- create a sound, stable currency for low cost, borderless value transfer for all blockchains that are connected in a network
- enable commercial lending with predictable risk
- serve as a building block for more open finance services
The Acala Dollar stablecoin (ticker: aUSD) is a multi-collateral-backed cryptocurrency, with value stable relative to the US Dollar (1 aUSD ≈ 1 $US). It is completely decentralized, that it can be created using assets from blockchains connected to the Polkadot network including Bitcoin (BTC) and Ether (ETH) as collaterals, as well as it can be used by any chains (or digital jurisdictions) within the Polkadot network and applications on those chains.
Anyone who owns the type of crypto assets supported by the ACALA network can leverage them to generate aUSD tokens by creating a Collateralized Debt Position (CDP) through the Honzon protocol. Anyone may also choose to acquire the aUSD tokens by buying them from brokers or exchanges.
token: while the balance module handles the native token on the Acala Network, the token
module supports additional multiple assets on the chain, to manage balance and transfer tokens.
currencies: makes the Acala Network a multi-currency chain by aggregating the srml-balances
and orml-tokens
oracle: is an implementation of DataProvider
, and a common price feeding module, storing incoming price in a key/value map.
prices: provides the price for an asset in chosen base currency; it uses asset prices in USD from DataProvider
auction: is a common auction interface for bidding on an item. How a particular auction is performed and settled is managed by individual implementation of AuctionHandler
The above modules are generic common good utilities that can be used for any projects. They reside in the Open Runtime Library.
honzon: is the proxy module that users will interact with for stablecoin functionalities such as create, update and transfer CDPs
cdp_engine: manages auctions, risks (to enforce stability fees, collateral ratio, debt ceiling, debt to asset ratio etc.), and liquidation
auction_manager: implements AuctionHandler
and handles collateral, surplus and deficit auctions, manages auction parameters such as increment size, and duration etc.
cdp: manages maps of debt positions for accounts and collaterals, updates debt positions by updates aUSD balance via the debit
module, and updates collateral balances
debits: accounts for debt balance for a given collateral when a loan or cdp is created/updated/closed, based on collateral to aUSD exchange rate; it also takes into account of stability fee (or interest rate) and updates the debit exchange ratio every period (e.g. every block)
other modules: primitives
module defines constants such as collateral currencies supported, support
module for defining types
Find more details here
Every aUSD is backed in excess by a crypto asset and is stabilized against the US Dollar, through the Honzon Protocol - a dynamic system of Collateralized Debt Positions (CDPs), on-chain governance and incentivized key actors. The CDP mechanism design is inspired by the first decentralized stablecoin project MakerDAO, which has become the DeFi building block in the Ethereum ecosystem. Together with a set of incentives, supply & demand balancing, and risk management mechanisms, as the core components of the Honzon stablecoin protocol on the Acala Network, value of an aUSD token is pegged to value of a US Dollar, with relative stability.
Collaterals can be either native Polkadot assets like DOT, or beyond. For instance, popular assets like BTC and ETH can be bridged into the Polkadot network and used as collateral to achieve higher supply ceiling. Stablecoins powered by the Acala Network can be transferred to all chains in the Polkadot network, which will boost its liquidity and adoption to a degree that a single-chain asset would not be able to achieve.
Every CDP holds the collateral assets deposited by the user who opened the CDP that created the aUSD tokens, together with its associated aUSD debt position. The deposited collateral assets inside the CDP is locked and cannot be withdrawn by the user, until the associated aUDS debt is paid back. Active CDPs are always over collateralized with the value of the collateral excess the value of the debt.
Unlike Ethereum an external liquidator is required to monitor and close dangerous positions, which is by and large due to the limitation of Ethereum, the Honzon Protocol is able to use Off-chain Worker - a automatic scheduler service unique to Substrate - to automate this process and inherently increase security and stability of the stablecoin.
ACA is the native token of ACALA Network. The total supply of the ACA Tokens will be minted at the launch of the mainnet and stored in the ACA Reserve Pool to be distributed to ACALA Foundation, Seed Investment Partners, IPO Participants as Reward, and the rest sold to the public.
ACAs serve three key functions in ACALA Network:
-
Network Utility Token ACA tokens are used for paying network transaction fees, stability fees aka interest rate of the aUSD loan, and penalty fees in case of liquidation.
To close any CDP that has been created to generate aUSDs in the ACALA Network, some ACA tokens are required to be paid as the Stability Fee. Unique to the ACALA Network, it can accept equivalent amount of aUSDs or other supported assets as fees, which can be automatically exchanged to ACA via the built-in exchange. When ACA is received, it is burned and removed from the supply permanently. As market demand for aUSDs and CDPs increase, demand for ACA increase as users need them to pay the Stability Fee.
All active CDPs are constantly monitored by the system, and for each type of the collateral, ACA holders would vote for a liquidation ratio - a certain limit that the amount of additional collateral required to avoid liquidation. Once the value of the CDP collateral has fallen below the liquidation ratio, then the CDP becomes risky. The CDP will then be automatically liquidated by the system in a Collateral Auction mechanism where a liquidation penalty paid in aUSD will be deducted from the collateral sales. The liquidation penalty will be automatically used to purchase ACA tokens in an exchange by the system, which will be burnt and permanently removed from the ACA supply.
-
Governance of the Network As a governance token, ACA token holders possess voting rights for network upgrades, risk parameter adjustments (such as Stability fee, Debt Ceiling, Liquidation Ratio and Liquidation Penalty) and business logic change of the ACALA Network.
-
Contingency Solution In situations such as a sudden price collapse of a collateral asset resulting in insolvency of under-collateralized CDPs, ACA tokens are the capital reserve that will be automatically diluted and sold on market for system recapitalization.
-
Depositing Collateral To create a CDP, the user firstly sends a request to Honzon protocol, and deposits the crypto asset that will be locked as collateral to become a CDP holder. While multiple types of crypto assets are supported by the Honzon protocol, only one single type of asset is collateralized in the creation of a particular CDP.
-
Borrowing aUSD and Opening CDP The user would send a request to borrow a desired amount of aUSD tokens, capped by the quotient of the value of the crypto assets deposited and the collateral-to-debt ratio. The Honzon protocol would lock the asset deposited, then mint the aUSD tokens accordingly, and mark the same amount as debt in the CDP. The locked collateral will not be released until the outstanding debt in aUSD is paid.
-
Paying back aUSD and Stability Fee If the CDP holder wants to close an active CDP that is not at risk, he needs to deposit enough aUSD tokens to pay back the outstanding debt in the CDP, as well as to pay a stability fee, the accumulated cost of borrowing the aUSD. The stability fee can be paid in ACA tokens, or in aUSD that will be exchanged to ACA tokens automatically by the system.
-
Closing the CDP After receiving the outstanding aUSD in debt and the stability fee, the CDP becomes debt free, that the CDP holder is able to retrieve his collateral back and the CDP is then closed by the Honzon protocol.
1:1 Peg to US Dollar
The aUSD is designed to peg to US Dollar at 1:1 ratio that the ACALA Network aims to maintain value of one aUSD token approximate to one US Dollar at all time. Our unique strong peg to US Dollar is achieved through automatic risk management algorithm within the Honzon Protocol together with community governance. More details on them in the following sections.
ACA token holders have governance rights and responsibilities for managing risks of the ACALA Network, including authorizing manual or automatic (algorithmic) adjustments of risk parameters.
Since multiple type of crypto assets with different risk profiles are accepted as collaterals of CDPs, all risk parameters of CDPs and liquidation auction parameters are set up separately across collateral types and are to be adjusted by the Honzon Protocol automatically or by voting of ACA tokens.
Adjusting Risk Parameters of CDPs
-
Stability Fee Adjusting stability fee or interest rate is one way to influence the supply and demand for aUSD loans consequently stability of its price. To close any active CDP, some ACA tokens are required to be paid as the Stability Fee, charged in percentage of the outstanding debt of the CDP, presenting interest payable of the debt position. Equivalent amount of aUSDs at the current market price is also accepted by the official portal and will be exchanged to ACA automatically. When ACA tokens are received, they are burnt and removed from the supply permanently.
-
Liquidation Ratio The price fluctuation of underlying collateral assets affects the risk profile of the borrowed aUSD, hence adjusting liquidation ratio to a degree creates a stability shell of the stablecoin. The collateral-to-debt ratio of all active CDPs are monitored constantly by the system, by dividing the current market value (in aUSD) of the collateral locked in the CDP by the outstanding debt balance. Once the current collateral-to-debt ratio of an active CDP becomes lower enough that it reaches a certain threshold, the Liquidation Ratio, the system will automatically trigger liquidation of the CDP. A more risky collateral asset type is usually associated with a higher Liquidation Ratio, and vice versa.
-
Liquidation Penalty Liquidation penalty is a disincentive for users to leave a position in danger, hence provides additional safeguard and stability of the stablecoin. All active CDPs are constantly monitored by the system, once the value of the CDP collateral has fallen below the liquidation ratio, the CDP is regarded to be risky and is automatically liquidated by the system that a liquidation penalty in aUSD will be charged to the CDP holder and sourced from the collateral sale auction. The liquidation penalty will be automatically used to purchase ACA tokens in external exchange by the system, which will be burnt and permanently removed from the ACA supply.
-
Debt Ceiling For each type of assets that can be used as collateral for CDPs, a maximum amount of total outstanding debts in aUSD, the Debt Ceiling, is preset to cap the total collateral of such assets in the ACALA network, which ensure both diversification and risk management of the collateral portfolio. Once the Debt Ceiling for an asset is reached, no new CDP can be generated until some existing CDPs are closed.
The auction process is an essential mechanism to balance profit and debt accumulated in the system - it's the pedestal that upholds the stability of the entire system. The global debt (issuing and burning aUSD) is managed by CDP Treasury. Stability fee is calculated each block, and is accounted for as system profit. For risky CDPs, the system will take over the debt as system debt, it will then auction off part or all of its collateral to repay outstanding positions. Periodically, the system will balance its books, if system profit is over certain limit, it will purchase (via exchange or auction) then burn off ACA token from the market. If system debt is over certain limit, it will issue more ACA tokens, sell them off (via exchange or auction) to pay back aUSD debts.
-
Auction Length Duration of the auction once liquidation of an active CDP is automatically triggered by the system.
-
Auto Extension Period To discourage sniping, length of all auctions are automatically extended for a short period if a last-minute bid is placed, shortly before the preset auction close time. An auction will be continuously extended for another auto extension period if another new bid is placed during the current extension period, and the auction will be only closed when no further bid is placed in the latest extension period.
-
Bid Increment A bid increment is the minimum amount by which a bid must be raised for the next bid. Increments are determined by the market value of the auctioned collateral and the current bid price to promote efficient bidding.
-
Lot Size To liquidate a CDP backed with high valuation of collateral that associated with a large amount of outstanding aUSD debt, the total collateral will be broken into smaller lots to be auctioned separately.
ACA Token holders may vote to add a new type of crypto asset as collateral to generate CDPs and set its risk parameters and liquidation auction parameters.
ACA Token holders may vote to remove an existing type of crypto asset to be accepted as collateral to generate future CDPs, e.g. considering such asset becoming too risky.
Oracles are essential for normal operation of the ACALA network that ACA Token holders may vote to add new Oracle or remove existing ones.
ACA Token holders may vote to make strategical decision on network upgrade as the whole network grow, such as whether to upgrade the existing network from a Polkadot Parachain to an independent chain bridging to Polkadot.
ACA Token holders may vote to trigger the Emergency Shutdown procedure immediately in emergency situations.
Value of collateral in every active CDP is constantly monitored by the Honzon Protocol to ensure that the associated outstanding debt in aUSD can be recovered anytime by selling the collateral. The Honzon Protocol triggers liquidation of an active CDP if it is considered to be too risky, i.e. when the current collateral-to-debt ratio of the CDP reaches the liquidation ratio of the asset type that the collateral belongs to.
After a liquidation is triggered, the Honzon Protocol will run a special auction mechanism in order to cover the outstanding debt by selling the minimum proportion of the collateral as possible.
- Firstly, the entire collateral of the CDP will be auctioned in an ascending auction automatically to any potential buyers on market until the leading bid in aUSD reaches preset aUSD goal, the sum of the outstanding debt and the liquidation penalty.
- Then, once such bid has been reached, the auction switches to a descending reserve auction that allow any potential buyers to bid the minimum amount of the collateralized asset they are willing to accept by paying the amount of the preset aUSD goal. Auction ends when no lower bid is placed within auto extension period.
- Lastly, the part of collateral sold in the auction mechanism is transferred to the auction winner, and any remaining collateral is returned to the original CDP holder. The amount of the aUSD that is equal to the outstanding debt of the CDP is burnt, and the remaining amount of the aUSD paid as the liquidation penalty is converted to ACA tokens automatically and burnt permanently from the ACA supply. And the Honzon Protocol closes the CDP.
In rare situations when the auction mechanism fails to reach the preset aUSD goal, another auction will be run to raise enough aUSD to cover the uncovered difference in outstanding debt in the CDP, by running a descending auction to sell the minimum amount of ACA tokens possible to gain enough amount of aUSD to close the CDP.
Since we support CDP to be collateralized with multiple types of crypto assets, risks associated with different types of assets are considered by setting different liquidation ratios for CDPs collateralized with different type of asset, which are adjustable in real time by the Honzon Protocol.
If a particular collateral asset has exceeded acceptable risk threshold, liquidation of this asset can be triggered with the following process
- stop accepting this asset as collateral
- increase liquidation ratio to gradually close positions
- forced liquidation of residual positions after certain time limit
For whatever reason the system is adversely affected and is on a seemingly irreversible worsening trend, the global shutdown can be triggered with the following process
- snapshot of latest oracle pricing
- stop accepting any assets as collateral, adjusting positions
- liquidate system debt and profit
- aUSD holder can proportionally redeem collaterals
In addition to the core CDP runtime modules, Acala relies on the following network and system participants to maintain security and operation.
-
Collators In Polkadot's shared security model, parachains such as the Acala Network will rely on Collators to provide recent state transitions to the validators on the Polkadot Relay Chain. The validators on the Relay Chain would operate under NPoS (Nominated Proof-of-Stake) mechanism to maximize chain security.
Collators maintain a "full-node" for the Acala Network parachain, producing parachain blocks and proving bad behaviours, and in return are awarded with ACA tokens.
More details on exact incentise scheme and Collator requirements would be released as we progress.
-
Oracle Operators The Honzon Protocol require real-time market price for the stablecoin, the collateral assets and the ACA token, in order to trigger liquidations or dynamically adjust certain risk parameters.
Initially during bootstrap phase, there will be a whitelist of Oracle Operators participate in the price feeding operation, later this will be governed by ACA token holders. We are also watching closely the development of governance standards and operations in the oracle space, will gradually improve this, and open to collaboration to make it more resilient.
Our oracle module has implemented certain safety mechanisms when combining price feed data into the system to minimize impact of faulty or compromised feeders. For example any compromised feeder is able to influence the price to a limited degree due to the price cap function built into the module. A K'th largest algorithm will be able to tolerate up to K compromised servers.
-
Liquidator Liquidator monitors collateral levels of the CDPs, triggers liquidation of collateral, debt and surplus auctions. The limitation of Ethereum requires such actor be external to trigger liquidation, whereas using Substrate Acala would have an automatic liquidator using Off-Chain worker (aka automatic scheduler type mechanism implemented in runtime modules). This will further increase autonomy and responsiveness of the system.
If a CDP is below required collateral ratio, the liquidator will trigger an auction of the collateral to pay back the debts. The collateral auction may result in debt (where not enough asset available to pay back borrowed stablecoins) or surplus (where more assets were accrued than needed). In the debt situation, ACA would be minted and auctioned off to pay back the debt. Diluting (aka reducing the value of ACA) would create an incentive for AKA holder to better govern the system. In the surplus situation, the auction manager would buy back ACA tokens from the market and burn them, therefore increase value of ACA for all holders.
[TODO] More details will be released as we progress.
Becoming a Parachain by leasing a Parachain slot from Polkadot would be an ideal option to bootstrap the Acala Network, and maximize its benefits and reach to other chains and applications on the Polkadot network. Polkadot utilizes a specially designed Candle Auction to sell the leasing right of Parachain slots. It is a mechanism designed for fairness, e.g. to prevent early sniping and provide bidders with higher valuation higher chances of winning.
To secure a parachain slot, the Acala Network will require supportive DOT holders to lock their DOTs to bid for a slot collectively, that a Crowdfund IPO (Initial Parachain Offering) will be conducted, and ACA tokens will be distributed as rewards to DOT owners who participate in the IPO successfully, to compensate their opportunity costs of having their DOTs locked for the first round of 24 months.
We plan to lease the Parachain slot for three rounds of six years (24 months in each round), and switch to our independent blockchain bridging to Polkadot after six years. Detailed proposal is available in our Token Economy Whitepaper.
In case our first Parachain slot auction was not successful, we will continue to launch our mainnet on Parathreads instead. DOTs raised in IPO will be returned to their owners, and ACA tokens will still be minted at launch, but only distributed to ACALA Founders and Seed Investment Partner according to the original plan, with the rest reserved for future investment opportunities including IPO in the second Parachain auction.
Compared to Parachain, there are gas costs using Parathreads, depending on frequency of validation. The more frequent a validation is processed, the safer the network is, at a price of higher gas costs. ACA holders will vote to determine the frequency. A small amount of ACA tokens will be released from the reserve and sold to public for DOTs daily to cover the entire gas costs of the network daily validation. For say, if the total gas costs are estimated to be 5 ACA tokens worth of DOTs for the day, 5 ACA tokens will be released and sold by the system. Another IPO will be raised to lease a Parachain slot before the second Parachain auction.