PR-5252 Discussion: Account-Bound Finance


eip: 5252

title: Account-bound Finance

description: An EIP-5114 extension to remove insolvency and arbitrary loss of funds

author: Hyungsuk Kang (@hskang9)

status: Draft

type: Standards Track

category: ERC

created: 2022-06-29

requires: 721, 1155, 5114


Abstract

This EIP proposes a form of smart contract design pattern and a new type of account abstraction on how one’s finance should be managed in web3.0, ensuring transparency of managing investments and protection with self-sovereignty even from its financial operators.

This EIP also extends EIP-5114, but the difference is that it can be transferred to other accounts for mobility between managing multiple wallets.

Motivation

Finance in the crypto ecosystem is facing a huge trust issue. Smart contracts are often proxies, with the actual logic of the contract hidden away in a separate logic contract. Many projects include a multi-signature “wallet” with unnecessarily-powerful permissions. And it is not possible to independently verify that stablecoins have enough real-world assets to continue maintaining their peg, creating a large loss of funds (such as happened in the official bankruptcy announcement of Celsius and UST de-pegging and anchor protocol failure). One should not trust exchanges or other third parties with one’s own investments.

The pattern empowers more self-sovereignty and gives more credentials(obviously with an Account-bound token) than locking financial data in the operating team’s contract.

Segregation between investor’s fund and operation fee is clearly specified in the smart contract, so investors can ensure safety from arbitrary loss of funds by the operating team’s control.

Specification

The pattern consists of 5 components, manager, factory, finance, account-bound token, and extension.

Diagram

Trulli

Fig 1 - Component Diagram of EIP-5252

Manager: Manager contract acts as an entry point to interact with the investor. The contract also stores parameters for Finance contract.

Factory: Factory contract manages contract bytecode to create for managing investor’s fund and clones Finance contract on Manager contract’s approval. It also mints account-bound tokens to interact with the Finance contract.

Finance: Finance contract specifies all rules on managing an investor’s fund. The contract is only accessible with an account that has an Account-bound token. When an investor deposits a fund to Manager contract, the contract sends the fund to Finance contract account after separating fees for operation.

Account-bound token: Account-bound token contract in this EIP can bring the Finance contract’s data and add metadata. For example, if there is a money market lending Finance contract, its Account-bound token can show how much balance is in agreement using SVG.

Extension: Extension contract is another contract that can utilize locked funds in Finance contract. The contract can access with Finance contract on operator’s approval managed in Manager contract.

Backwards Compatibility

This EIP has no known backward compatibility issues.

Reference Implementation

Reference implementation is a CDP-lending stablecoin project here.

Copyright

Copyright and related rights waived via CC0.