Introducing the Umbrella Protocol by Yam

Umbrella Protocol
Yam Finance
Published in
3 min readNov 18, 2020

Throughout DeFi’s history, smart contract exploits have been a constant threat, and the rapid development and composability have made clear that audits alone do not guarantee security. Currently, smart contract protection demand is under-served, both in quantity of coverage as well as innovation.

The recent string of DeFi exploits have highlighted the need for new risk management solutions within the ecosystem. We believe these new solutions should be DeFi native, leverage Ethereum’s unique capabilities, operate as open and permissionless, and balance decentralized governance and immutability.

The Umbrella Protocol is designed with these factors in mind, featuring perpetual ERC20 streaming coverage, immutable coverage pools, and permissionless factory-based pool creation that allows for customization and iteration over time.

In building Umbrella, we’ve taken inspiration from factory designs pioneered by Uniswap and Balancer, token functionality similar to Compound’s cTokens, and a funding model inspired by crypto’s perpetual futures markets. The result is a new experiment in DeFi protection.

Functionality Overview

The core building block of the Umbrella Protocol is the MetaPool, into which Protection Providers deposit funds and receive premiums from Protection Seekers. Each MetaPool consists of several Coverage Pools, each of which covers a specific protocol or contract, which Protection Seekers can individually access for protection on the specified protocol or contract.

The MetaPools are created via a Factory and are highly configurable, from fees to funding rates, and are immutable after creation. This open customizability is key to iteration and the creation of a new DeFi lego, while immutability is essential for clear and unstoppable protection.

To access protection, a Protection Seeker deposits funds into a Coverage Pool, and receives ERC20 tokens that track the balanceOfUnderlying of their deposit. The Seeker’s protection corresponds to their staked funds in relation to the total amount of staked funds in the Coverage Pool and the protection provided in the MetaPool. A funding rate is then applied to the staked funds as a premium.

The funding rate function is one of several parameters set by the factory at pool creation. In its simplest form it can be a function of utilization (Coverage Pool Stake / MetaPool Stake), though the open nature of the factory can leverage other metrics or data sources.

In the event of an exploit on a protocol covered by a MetaPool, a claim is submitted to the Arbiter of the MetaPool. The Arbiter is also set at pool creation, and must actively accept to determine the validity of claims according to the parameters of the MetaPool’s creation. If the Arbiter determines a claim to be valid, the MetaPool pays out an amount equal to the total current stake in the Coverage Pool plus any funds currently not utilized by other coverage pools within the MetaPool.

As an example, take a MetaPool with $1,000 staked by Protection Providers and three Coverage Pools each with $100 staked by Protection Seekers. If one of the pools is hacked, the payout would be $100 + ($1,000 — $300) = $800. The other two pools then would be sure to have access to at least a 100% return on their staked capital in the event of an exploit.

What’s Next

We are currently finishing up development of the alpha version of the Umbrella Protocol code, after which we will proceed to testing internally with the Yam community. While we’ve received positive feedback regarding the mechanisms up to this point, there may be modifications to the above design following testing.

The Yam community is always looking for more individuals to get involved. If tackling an open and permissionless approach to DeFi protection interests you, we’d love to have you come along and help us build, test, and poke holes in the design and mechanics.

More information

Lite Paper
Discord
Website
Twitter

--

--