OpenZeppelin ChainSecurity Pwc Switzeland
OpenZeppelin ChainSecurity Pwc Switzeland
Price Market cap.
Last updated: Nov 22, 2022
Enzyme is an Ethereum-based protocol for decentralized on-chain asset management. It provides a customizable and safe environment for people or entities to manage their or others' wealth by setting up, managing, and investing in customized on-chain investment “vehicles”.
Previously known as Melon Protocol, Enzyme Finance was built by Melonport – a private company founded in 2014 by the mathematician Rito Trinkler and Mona El Isa, former vice president of Goldman Sachs.
The rebranding of the platform started in December 2020 ahead of the launch of the protocol’s v2 version, promising its users more asset types, simplification of the fund creation process from 9 steps to 1, and greatly lower gas costs. Although the name of the company and the logo have changed, there was no token migration and the MLN ticker was kept.
The latest Enzyme smart contract architecture (v4) consists of upgradable vaults, structured to provide fund managers and investors with the opportunity to opt-in or out of major updates. This functionality was added in the v4 of the dApp and involves the transfer of a fund’s essential state (ownership, asset holdings, and shares) into a new release configuration.
The main problems that the team solves with this feature include a likely funnel drop-off between investors redeeming shares and reinvesting them into the newly released version of the protocol, as well as the cumulation of gas and other protocol fees generated in the multi-step process.
With the update, all Enzyme funds are fully upgradeable through a process allowing managers to opt-in to the latest release of the protocol, while also giving investors a window to opt-out.
Each fund’s essential state is stored in a VaultProxy smart contract following the EIP-1822 proxy pattern, that can be moved between releases by having its VaultLib updated along with its accessor through a global Dispatcher smart contract.
The Dispatcher smart contract stores a value representing the generic reference to the latest release’s smart contract responsible for deploying and migrating funds, allowing the deployment and migration of vaults only to a sender with that value.
One of the most important smart contracts in the latest release of Enzyme is the FundDeployer. It has two primary roles - creation, migration, and reconfiguration of funds, and being a release-wide registry for limiting allowed values for permissioned calls in a uniform way for all funds.
This contract communicates with the Dispatcher smart contract and is being referred to by it as the currentFundDeployer, which allows it to deploy and migrate vaults. The FundDeployer is also used for intra-release migration by completely changing fund configurations by swapping out a new ComptrollerProxy - the canonical contract used for interacting with a fund. It stores core-release level configuration and is attached to a VaultProxy through its accessor role.
Since all state-changing calls to the VaultProxy related to the fund’s holdings and shares balances must pass through the ComptrollerProxy, it is viewed by the Enzyme team as a critically important bottleneck of access control. This smart contract’s storage and logic are defined by the ComptrollerLib and its associated libraries, it isn’t upgradeable, however, a fund can be reconfigured by deploying a new ComptrollerProxy instance replacing the previous one, through the FundDeployer.
The latest version of Enzyme consists of extensions expanding the logic in the core contract by adding additional functionalities. Extensions on the Enzyme app are selectively granted access to state-changing calls to VaultProxy instances, for which there are two conditions that must be met. The extension must have been called by a ControllerProxy and must pass back through it, to ensure that an Extension can only perform a state-changing action if it is permitted to do so.
Extensions manage plugins that have no authority to act on a vault’s state unless explicitly granted via the core system. In the current release of Enzyme, there are four extensions and all funds share one contract per extension.
The PolicyManager protocol allows a fund owner to set up and manage a stack of policies used to perform bespoke validations during various function calls by invoking policy hooks during actions where it is seen as important to give the fund owner customizability of what should be allowed according to their needs. Each policy defines which hooks to implement, which when reached, loops over all policies that a fund has enabled running on the particular hook and validates whether the particular call is allowed. All policies are addable during fund creation, migration, or reconfiguration.
The FeeManager allows fees to dictate the minting, burning, or transferring of fund shares according to their internal logic, just like with the PolicyManager, fees implement fee hooks invoked during particular action. Fees can either be settled and paid out immediately or can accrue upon settlement as outstanding shares only to unlock for payout when specific predefined conditions are met. Fees can only be added or removed during fund setup.
The IntegrationManager allows the exchange of a fund’s assets for other assets to DeFi protocols, it also tracks and untracks assets.
The ExternalPositionManager protocol allows the creation and management of external positions proxy contracts representing non-ERC20 holding of the fund. It maintains a registry of libs and parsers for each external position serving as the beacon in this release.
The final category of smart contract Enzyme employs is the Infrastructure contracts - a misc dependency of the release-level protocol, that unlike extensions does not receive any permissions to alter a fund’s state.
A thorough explanation of the Enzyme architecture is available in the documentation of the project.
The Enzyme protocol aims to decentralize the field of asset management – a field that has historically been the domain of professional financial advisors and firms. Using the Enzyme app, users can invest in funds and portfolios launched by other customers, and vice versa.
This alternative system solves the problem created by typical managed funds. Filing documents for the creation of an asset management trust normally takes years and requires substantial capital and legal consultation. Usually, a minimum investment amount and management fees are required, which puts these wealth tools out of the average consumer’s reach.
Since Enzyme protocol is deployed on the Ethereum blockchain and uses its computing power, fees for transactions, as well as Enzyme fees are paid in ether.
The Enzyme protocol token (MLN, or Melon) operates as a mint and burn model. During the contribution period, a total of 1,250,000 MLN coins were created and distributed. Along with the initially minted tokens, a fixed amount of 300,600 MLN are issued each year. The primary goal of the yearly fixed inflation is to compensate maintainers and platform developers, who are working on improving the Enzyme network and its user experience. These actions are governed by the Melon Council DAO, which can also burn the unspent coins at the end of each year.
In order to pay for the platform’s services, such as setting up a fund, requesting an investment, or executing one – customers pay an Asset Management Gas Unit (AMGU) in ETH to the Enzyme network. This price is calculated by using the number of Ethereum gas units consumed in that function multiplied by the asset management gas price. The fees are collected in ETH and transferred to the Melon Engine Smart-Contract which then purchases MLN tokens at a premium and burns them.
Although the use case for the token is currently being reworked, the buy and burn model directly affects its value by linking it to the usage of the network.
Enzyme Finance is being led by the Melon Council DAO – consisting of the Melon Technical Council (MTC) and the Melon Exposed Business (MEB) representatives. It was first appointed by the Melonport AG team which governed the protocol in its first two years. MTC grows by a two-thirds majority voting system, where applicants must have proven technical expertise among meeting other requirements. MEB consists of those whose businesses rely on the Enzyme protocol and its future development, its intent is to ensure they have a voice in the future development of the project. It is intended to balance the power of the MTC by checking their decisions and electing delegates to represent their interests on the council.
The current council includes Mona El Isa – CEO and Founder of Avantgarde Finance, previously a portfolio manager at Jabre Capital Partners, and an equities trader at Goldman Sachs where she got promoted to Vice President at the age of 26. She is also a co-founder of the Enzyme protocol. Fabian Gompf – VP of Parity Technologies, Lev Livnev – software developer at DappHub, Paul Salisbury – CTO of Techemy Capital. Other members included in it are – Felix Hartman, Janos Berghorn, Martin Lundfall, Nick Munoz-McDonald, Will Harborne, and Giel Detienne.
Enzyme Finance audits can be found in the protocol dashboard on this webpage.
Enzyme is funded by Defiance Capital, KR1, and Kenetic Capital.
The current list of partners includes Parity – a core blockchain infrastructure firm developing an open-source creative commons. Its Parity.js is used by Enzyme for deployment, contract interaction, and testing. Ash Finance built an open interface for the network and was the first to submit a successful proposal for protocol improvements to the Melon Council DAO. Avantgarde Finance is a company focused on providing tooling and services for asset management optimization. Avantgarde is also currently a lead developer of the platform. MME is a legal advisor for digital and blockchain-based business models. And ValidityLabs acts as one of the key providers of decentralized solutions.
The development and lead developer role of the latest Enzyme roadmap were allocated to Avantgarde Finance, by the Melon Council in 2019. The three-year plan with an end set in September 2022 includes growing the ecosystem, making resources available to a wide range of educational bodies and developers, some technical improvements to enhance the user experience, and working with regulators to help shape the legal framework to realize the full potential of Enzyme funds.
An important part of the proposal by Avantgarde, which won them the lead developer role is locking up 75% of the tokens for a range of two to five years.
Magic Eden launches a tool protecting creators’ royalties
Huobi partners with Poloniex and may list its best-performing assets on a monthly basis