The imminent major update of the Agoric platform to Mainnet-1B yields significant upgrades for the community. These include a greatly improved experience for node operators, the presence of a reliable price feed, and the ability to upgrade contracts — more on which below.
Additionally, in the recent signaling proposal #32, the BLD stakers voted to include the next generation of Inter Protocol smart contracts with the Mainnet-1B release. This further enhances the Agoric ecosystem with ATOM-backed Vaults for minting IST, oracles, and more. With that said, let’s dive into what’s coming with the upgrade.
The Agoric Platform Upgrade
State Sync
Initially developed by Cosmos, we’ve tailored State Sync to enhance the experience of node operators on the Agoric chain. It allows a new node to join the network by syncing from a snapshot of a block height, rather than replaying all blocks from genesis. This greatly shortens the time to sync a node to the network from potentially days or weeks, to just minutes or hours!
State Sync works by using snapshots of the application state from peers, stored in the Cosmos DB used by the Cosmos SDK. These snapshots can be generated simultaneously as new blocks are executed, improving efficiency.
Agoric's application of State Sync is unique due to the Agoric VM, a distributed JavaScript execution environment. The Agoric VM’s state isn't stored in the Cosmos DB, and Cosmos state sync isn't aware of it. To solve this, we introduced synchronization with block commits. This means when a snapshot height is reached, an export of the Agoric VM’s database is initiated before proceeding with the regular Cosmos export process.
Live Contracts Can Now Be Upgraded
The Agoric platform will support upgrades of individual Hardened JavaScript smart contracts on a live mainnet! Currently, contract upgrades are initiated by a governance vote of the BLD stakers.
This functionality has been heavily tested and incorporated into various contracts, including the contract’s supporting Inter Protocol’s Parity Stability Module.
Enhanced Contract Governance Actions
Agoric’s Hardened JavaScript smart contracts are now equipped to manage a broader scope of parameter alterations. This feature carries significant relevance for governing bodies like the Economic Committee of Inter Protocol, as it provides the ability for them to execute contract actions in performance of their duties, such as burning IST to reduce a debt shortfall.
The ability to provide precise contract modifications champions the "separation of duties" and "principle of least authority." These concepts safeguard the ecosystem by ensuring that governing bodies are granted only the requisite authority, thereby optimizing operational efficiency.
Scalability and Performance
The Agoric OpCo has undertaken a rigorous process of scenario-based performance optimization. Our primary focus has been on enhancing the platform level, building to support not just the Vault contracts but to support Mainnet-2 partners and other community deployments in the near future.
We’ve optimized performance of Hardened JavaScript, namely, moving to a native implementation of harden() within the XS engine for contracts vs. using a Javascript implementation. Additionally, we've improved memory management by applying virtualization to the on-chain contracts, reducing overall memory usage and enhancing performance. Other optimization steps included refining performance on kernel error paths and adopting an updated version of the XS engine, all contributing to significant performance improvements!
Critical Message Prioritization
We've introduced Critical Message Prioritization to ensure the efficient processing of essential signed Cosmos transactions within the Agoric VM, based on their source address and/or transaction message type. This feature guarantees that vital messages, such as oracle price updates and governance parameter changes, are processed promptly, even when the Agoric chain is under heavy use.
To support this, we added a new high-priority inbound queue into the Agoric VM. This system processes all high-priority transactions before moving on to regular ones, ensuring critical messages are processed swiftly. Despite the prioritization of high-priority transactions, their infrequency should prevent any significant delay in normal transactions, thus promoting chain governance and economic stability.
Inter Protocol’s Vaults Release
Inter Protocol’s upcoming Vaults application requires a handful of core smart contracts deployed on the Agoric chain to ensure all systems go. The Agoric OpCo has helped develop the following contracts, along with a few additional features.
Vaults Contracts
Key to launching Inter Protocol’s Vaults, this suite of contracts enables users to lock collateral and mint IST, adhering to set parameters. Users can customize their vaults by managing the collateral and IST, as long as they fall within the approved parameters.
The contracts introduce the following parameters, which can be modified by governance:
Minimum Initial Debt: Least IST amount that new vaults must mint.
Liquidation Margin: Ratio triggering vault liquidation.
Minimum Collateralization Ratio: Lowest ratio for vault creation or adjustment.
Stability Fee: Fee for vault upkeep.
Liquidation Penalty: Charge upon vault liquidation.
Mint Limit: Maximum net IST that may be minted by the ‘Vault Manager’ for a specific collateral type.
These parameters can be adjusted through a vote by Inter Protocol’s elected Economic Committee.
Liquidation System
Maintaining solvency is crucial for Inter Protocol, which ensures the value of minted IST doesn't outstrip the collateral's worth. Liquidation, triggered when a vault’s collateral-to-debt ratio drops below a preset margin, is the protocol’s safeguarding measure. This process is transparent, with prices locked ahead of auctions, signaling users of potential liquidations and offering an opportunity to stabilize their Vaults.
During liquidation, vaults of a single collateral type are grouped for an auction aimed at covering the total debt. Depending on the auction outcome, several scenarios may unfold: collateral may be sold to cover the debt with a penalty directed to the Reserve; all collateral may be sold, not fully covering the debt, causing a shortfall; or unsold collateral and uncovered debt could lead to partially reconstituted or zeroed-out Vaults, with a shortfall and surplus collateral shifted to the reserve.
Our system employs a descending clock auction, starting above the current oracle price and stepping down, filling bids along the way. The auctioning process is transparent and fair, with bids filled in order of arrival. The governing parameters of the auction are adjustable, initially overseen by the Economic Committee as the protocol stabilizes. However, auction tuning lies outside the Committee's purview, prompting community discussions on managing this capability. Balancing liquidation and auction strategies is vital to maintain protocol solvency and provide a transparent mechanism for users.
Reserve
The Reserve serves as the Inter Protocol’s primary accounting hub. Key functions include holding assets from protocol fees such as Stability Fees or Liquidation Penalties, accommodating assets contributed via transfers, tracking shortfalls from unsuccessful liquidations, and reducing shortfall 1:1 by burning IST through a governed API call. This latter function can be invoked by the Economic Committee, providing a mechanism to balance the protocol's finances. The Economic Committee may require a vote from BLD stakers before executing this authority, ensuring community involvement in major fiscal decisions.
Oracle Network
Vaults require a reliable price feed for approved collateral such as ATOM. To ensure this, a decentralized oracle network has been established, comprising five Agoric validators experienced in Chainlink node operation and led by Simply Staking. Node operators submit prices to a contract, which then calculates the median to provide a price feed utilized by the Vaults contracts. The network's composition, including addition or removal of node operators, is guided by Simply Staking, with the Economic Committee temporarily overseeing execution.
What’s Next for the Ecosystem
As we near the final stages of preparing the Mainnet-1B platform upgrade for production, we encourage the Agoric community to ready themselves for the ensuing discussions and governance actions necessary to upgrade the Agoric chain and integrate Vaults into the Inter Protocol.
Key steps you can take:
Engage in active discussions on the Community forum.
Stake your BLD tokens, ensuring you’re ready to vote on proposals ahead of launch.
Follow our Twitter and Discord throughout May to stay updated on key milestones.
Remember: the BLD stakers administer the Agoric blockchain as a decentralized community. Disparate community members play a crucial role in shaping the Agoric chain and Inter Protocol's future, including the launch of mainnet-1B and Vaults. As we, the core developers, prepare to finalize the next Agoric SDK release, we rely on you, the community, to ready yourselves for the next big stride in the Agoric ecosystem!