Measuring Asset Composability as a Proxy for DeFi Integration
11 Measuring Asset Composability as a Proxy for Ecosystem Integration
Research in Progress
Victor von Wachter, Johannes Jensen, Omri Ross
University of Copenhagen, Department of Computer Science [email protected]
Abstract.
Decentralized finance (DeFi) provides a new level of integration for financial applications. Whilst blockchain technology is inherently transparent, measuring both the economic and technical risks of an increasingly integrated ecosystem is challenging. In this extended abstract we approach the issue with an asset-centric view by proposing a measurement of the dependency of DeFi to-kens. The method quantifies the distance between the original token entity and the composed version. Even for highly nested tokens, it allows to drill down to the original entity thus approximately gauging the level of integration within the broader DeFi ecosystem. The method is initially evaluated through the analysis of USDC and composed versions for all transactions of 2020.
Keywords:
Blockchain, DeFi, Ecosystem Integration, Asset Composability, Ethereum Introduction
Smart contract-based applications on the Ethereum blockchain share a single state and execution environment [1] which drastically increases asset composability and appli-cation interoperability. As a result, an integrated ecosystem of financial applications like lending pools [2][3] or constant function market makers (CFMM) [4][5] is emerg-ing. This ecosystem is occasionally referred to as “money Legos” in the practitioner literature, owing to the high degree of ecosystem integration. For example, when allocating assets to a CFMM, liquidity providers receive ‘liquidity pool (LP) shares’ [6] redeemable for a proportional share of the liquidity pool with the unrealized returns of the position. LP shares are typically computed as transferable, fungible tokens which has led to the emergence of new secondary markets in which applications offer liquidity and lending pools for LP shares themselves. Supplying LP shares to these pools results in the issuance of meta
LP shares. This process is, in some cases, repeated recursively as stakeholders seek to maximize yield across a diverse set of applications. The practice of ‘yield farming’, i.e. allocating assets across DeFi appli-cations to maximize returns [7], has introduced a highly competitive environment in which applications seek to attract liquidity through the issuance of ‘governance tokens’, fungible financial assets giving voting rights comparable to preferred stock [8]. From the consumers’ perspective, composability is a desirable feature resulting in a vibrant and highly competitive marketplace of increasingly exotic financial products. However, advanced integration can create dependencies among assets and applications. Financial integration generally increases the vectors for both economic and technical risk [9][10]. Approaching Ethereum as a financial ecosystem with structural properties comparable to those of a single market [11], we examine the degree to which a single token can be utilized in a set of increasingly complex ‘wrapping’ operations. Extending the termi-nology ‘wrapping complexity’ initially proposed by [12], we measure the degree to which popular ERC20 token contracts [13] contributes to financial integration on the Ethereum blockchain. Measuring asset composability has potential implications for a variety of disciplines within the DeFi ecosystem: economic and technological risk, as-set evaluation, and on-chain governance. Method
For the initial asset I we unwrap subsequent assets A as follows: The algorithm builds a tree structure of wrapped assets from the ‘root’ asset I (Figure 1 appendix). For this work, we consider ERC20 compliant tokens, the sum of which ac-counted for 69,6% of the transaction on Ethereum in 2020. As a proxy for the complex-ity of asset A we formalize the distance to the initial asset 𝛿 𝐴 = ∑ |𝑤 𝑖 | 𝑁𝑖=0 as the sum of relevant unwrapping following the algorithm, where 𝑤 ∶= (𝑤 , … , 𝑤 𝑛 ) is the vector of all adjustments for a given token. A distance of one means that the token is wrapped once. For example, if an initial asset is added to a lending pool, subsequently added to a liquidity pool, and finally staked for yield farming, the resulting distance amounts to 3. repeat T <- all transactions of initial assets from block t in T for each t : 5: identify erc20 tokens in transaction 6: if token A is wrapped version of initial asset 7: if A less than 100 transfers ignore 8: else 𝑤 𝑖 +1 and calculate distance 𝜹 𝑨
9: identify and categorize wrapped asset 10: end if end for until no relevant new wrapped assets 13: assert distance for each token is measured with the shortest path Results and Discussion
We apply the algorithm to a dataset of transactions computed in the ERC20 asset ‘USDC’ with a circulating market cap of $4.8 bn. (Table 3, Figure 2, appendix). We observe an increasing tendency for transactions ‘wrapping’ assets over time, indi-cating an increasingly integrated financial ecosystem. We note a peak in wrapping during the period in which yield farming proliferated in the summer of 2020. Here assets wrapped once (wrapped twice) match 55% (35% re-spectively) of the USDC transactions. With increasing maturity, the DeFi ecosystem may become further integrated leading to both a rise of transactions with composed assets as well as higher levels of composed assets. We expect the initial results pre-sented in a talk to contribute to the broader discussion on DeFi composability and the transmission of financial shocks across DeFi applications deployed on Ethereum.
References [1] A. Antonopoulos and G. Wood,
Mastering Ethereum: Building Smart Contracts and DApps . Sebastopol, CA: O’Reilly Media, 2018. [2] M. Bartoletti, J. H. Chiang, and A. Lluch-Lafuente, “SoK: Lending Pools in Decentralized Finance,” 2020. http://arxiv.org/abs/2012.13230. [3] H.-T. Kao, T. Chitra, R. Chiang, and J. Morrow Gauntlet, “An Analysis of the Market Risk to Participants in the Compound Protocol.” https://scfab.github.io/2020/FAB2020_p5.pdf (accessed Jan. 13, 2021). [4] G. Angeris, H.-T. Kao, R. Chiang, C. Noyes, and T. Chitra, “An Analysis of Uniswap Markets,” 2019. http://arxiv.org/abs/1911.03380. [5] G. Angeris and T. Chitra, “Improved Price Oracles: Constant Function Market Makers,” 2020. http://arxiv.org/abs/2003.10001. [6] A. Evans, “Liquidity Provider Returns in Geometric Mean Markets,” Jun. 15, 2020. http://arxiv.org/abs/2006.08806. [7] G. Angeris, A. Evans, and T. Chitra, “When does the tail wag the dog? Curvature and Market Making,” 2020. http://arxiv.org/abs/2012.08040. [8] V. von Wachter, J. R. Jensen, and O. Ross, “How Decentralized is the Governance of Blockchain-based Finance? Empirical Evidence from four Governance Token Distributions,”
Publ. Process , 2020. [9] F. Castiglionesi, F. Feriozzi, and G. Lorenzoni, “Financial Integration and Liquidity Crises,”
Manage. Sci. , vol. 65, no. 3, pp. 955–975, 2019, doi: 10.1287/mnsc.2017.2841. [10] L. Gudgeon, D. Perez, D. Harz, B. Livshits, and A. Gervais, “The Decentralized Financial Crisis,” 2020. http://arxiv.org/abs/2002.08099. [11] S. Somin, Y. Altshuler, G. Gordon, A. ’Sandy’ Pentland, and E. Shmueli, “Network Dynamics of a Financial Ecosystem,”
Sci. Rep. , vol. 10, no. 1, pp. 1–10, 2020, doi: 10.1038/s41598-020-61346-y. [12] M. Nadler and F. Schär, “Decentralized Finance, Centralized Ownership? An Iterative Mapping Process to Measure Protocol Token Distribution,” 2020. http://arxiv.org/abs/2012.09306. [13] F. Vogelsteller and V. Buterin, “EIP-20: ERC-20 Token Standard,” 2015. https://eips.ethereum.org/EIPS/eip-20 (accessed Dec. 20, 2020).
Appendix on Ethereum ERC20 tokens ERC20 USDC Wrapped form of USDC Tx 2020 344,766,970 240,030,476 7,675,923 2,773,622 Avg. per Month 28,730,581 20,002,540 639,660 231,135
Table 1: Statistics Ethereum Block
Unwrapping assets in addresses with deployed bytecode (CAs) allows for an initial classifica-tion of the business purpose of the composed assets.
Liquidity Pool Token
Tokens representing a share in a liquidity pool, mapping the owner and amount of the provided liquidity by implementing an ERC20 liquidity pool token. Commonly used in decentralized exchanges.
Lending Pool Token
Tokens generated by participating in a market for borrowing and lending assets. The origin of the liquidity is traced by imple-menting an ERC20 interest-bearing token.
Staking / Yield Farming Token
Pools for staking of assets largely to maximize yield in order to incentivize or bootstrap a protocol.
Governance Token
Contracts to govern protocols by staking assets and signalling on a vote. Staking assets mints fungible tokens providing voting rights, comparable to preferred stock.
Wrapping Token
Wrapping an asset in order to adjust (technical) characteristics of the asset. Primary examples are ETH, wETH, stETH and wrapped versions of BTC.
Misc
Wrapped assets with miscellaneous usage, for example exotic fi-nancial instrument such as derivatives or lottery pools.
Table 2: Initial classification of wrapped assets to business purpose
Asset 𝛿 Address Class
USDC 0 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 cUSDC Compound 1 0x39AA39c021dfbaE8faC545936693aC917d5E7563 Lending Pool aUSDC Aave 1 0x9bA00D6856a4eDF4665BcA2C2309936572473B7E Lending Pool yUSDC Yearn 1 0x597aD1e0c13Bfe8025993D9e79C69E1c0233522e Liquidity Pool stableDebtaUSDC Aave 1 0xE4922afAB0BbaDd8ab2a88E0C79d884Ad337fcA6 Lending Pool USDC_USDT_UNILP 1 0x3041CbD36888bECc7bbCBc0045E3B1f144466f5f Liquidity Pool WETH_USDC_UNILP 1 0xB4e16d0168e52d35CaCD2c6185b44281Ec28C9Dc Liquidity Pool WBTC_USDC_UNILP 1 0x004375Dff511095CC5A197A54140a24eFEF3A416 Liquidity Pool FRAX_USDC_UNILP 1 0x97C4adc5d28A86f9470C70DD91Dc6CC2f20d2d4D Liquidity Pool USDC_DAI_UNILP 1 0xAE461cA67B15dc8dc81CE7615e0320dA1A9aB8D5 Liquidity Pool USDC_USDT_DAI_CURVELP 1 0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490 Liquidity Pool ETH_USDC_SUSHILP 1 0x397FF1542f962076d0BFE58eA045FfA2d347ACa0 Liquidity Pool ETH_USDC 1inch LP 1 0xb4dB55a20E0624eDD82A0Cf356e3488B4669BD27 Liquidity Pool 1INCH_USDC 1inch LP 1 0x69AB07348F51c639eF81d7991692f0049b10D522 Liquidity Pool fUSDC Harvest 1 0xf0358e8c3CD5Fa238a29301d0bEa3D63A17bEdBE Liquidity Pool variableDebtaUSDC Aave 1 0x619beb58998eD2278e08620f97007e1116D5D25b Lending Pool iUSDC Fulcrum 1 0x32E4c68B3A4a813b710595AebA7f6B7604Ab9c15 Lending Pool AMPL_USDC_BALANCERSMARTLP 1 0x49F2befF98cE62999792Ec98D0eE4Ad790E7786F Liquidity Pool risk_USDC_IDLE 1 0x3391bc034f2935eF0E1e41619445F998b2680D35 Lending Pool yield_USDC_IDLE 1 0x5274891bEC421B39D23760c04A6755eCB444797C Lending Pool
DAI_USDT_USDC_PAX_CURVELP 1 0xD905e2eaeBe188fc92179b6350807D8bd91Db0D8 Liquidity Pool DAI_USDC_USDT_sUSD_CURVELP 1 0xC25a3A3b969415c80451098fa907EC722572917F Liquidity Pool mUSDC_DMM 1 0x3564ad35b9E95340E5Ace2D6251dbfC76098669B Lending Pool plUSDC_POOLTOGETHER 1 0xBD87447F48ad729C5c4b8bcb503e1395F62e8B98 Misc mStable 1 0xe2f2a5C287993345a840Db3B0845fbC70f5935a5 Liquidity Pool ETHRSI6040 1 0x93E01899c10532d76C0E864537a1D26433dBbDdB Misc ETH12EMACO 1 0x2c5a9980B41861D91D30d0E0271d1c093452DcA5 Misc USD_DSD_SUSHILP 1 0x26d8151e631608570F3c28bec769C3AfEE0d73a3 Liquidity Pool USDC_YDBTCMAR_BALANCERLP 1 0x6bE6258Fe363288B397882c071531b3623fd5FD9 Liquidity Pool USDC_YDETHMAR_BALANCERLP 1 0x5e065D534d1DAaf9E6222AfA1D09e7Dac6cbD0f7 Liquidity Pool USDC_PERP_BALANCERLP 1 0xF54025aF2dc86809Be1153c1F20D77ADB7e8ecF4 Liquidity Pool FARM_USDC_UNILP 1 0x514906FC121c7878424a5C928cad1852CC545892 Liquidity Pool ETH_USDC_FUTURESWAP_LP 1 0x3B2Ca01414f61ee00C1AbF29F9F4428BeB4a3024 Liquidity Pool ETH_USDC 1inch LP FARM 2 0x0DA1b305d7101359434d71eCEAab71E1fF5437e6 Yield Farming cDAI_cUSDC_HAKKA 2 0x35101c731b1548B5e48bb23F99eDBc2f5c341935 Liquidity Pool yDAI_yUSDC_yUSDT_yTUSD_CURVELP 2 0xdF5e0e81Dff6FAF3A7e52BA697820c5e32D806A8 Liquidity Pool cUSDC PoolTogether 2 0xD81b1A8B1AD00Baa2D6609E0BAE28A38713872f7 Staking pickle_DAI_USDC_USDT_CURVELP 2 0x1BB74b5DdC1f4fC91D6f9E7906cf68bc93538e33 Yield Farming cUSDC_DELPHI 2 0x5Ad76E93a3a852C9af760dA3FdB7983C265d8997 Lending Pool cDAI_cUSDC_CURVELP 2 0x845838DF265Dcd2c412A1Dc9e959c7d08537f8a2 Liquidity Pool cDAI_cUSDC_cUSDT_CURVELP 2 0x9fC689CCaDa600B6DF723D9E47D84d76664a1F23 Liquidity Pool ETHMACOAPY 2 0xeF0fDA1d4bd73DDC2f93A4e46E2E5aDBC2D668f4 Misc ETH_USDC_SUSHILP_HARVESTFARM 2 0x01bd09A1124960d9bE04b638b142Df9DF942b04a Yield Farming f3Crv_DAI_USDC_USDT_CURVELP_HARVESTFARM 2 0x71B9eC42bB3CB40F017D8AD8011BE8e384a95fa5 Yield Farming yDAI_yUSDC_yUSDT_yBUSD_CURVELP 2 0x3B3Ac5386837Dc563660FB6a0937DFAa5924333B Liquidity Pool fyDAI_yUSDC_yUSDT_yTUSDC_CURVELP_HARVESTFARM 3 0x0FE4283e0216F94f5f9750a7a11AC54D3c9C38F3 Yield Farming yDAI_yUSDC_yUSDT_yTUSD_CURVELP_YEARN 3 0x5dbcF33D8c2E976c6b560249878e6F1491Bca25c Yield Farming cDAI_cUSDC_CURVELP_YEARN 3 0x629c759D1E83eFbF63d84eb3868B564d9521C129 Liquidity Pool yDAI_yUSDC_yUSDC_yTUSD_ETH_SUSHILP_YEARN_SUSHIFARM 4 0x382c4a5147Fd4090F7BE3A9Ff398F95638F5D39E Liquidity Pool
Table 3: Wrapped USDC assets determined through algorithm
Figure 1: Exemplary asset tree structure δ = 4 δ = 3 δ = 2 δ = 1 δ = 0 USDCcUSDC
Lending Pool Token cDAI_cUSDC_CURVELP
Liquidity Pool Token cDAI_cUSDC_CURVELP_YEARNVAULT
Yield Farming Token… …
WETH_USDC_UNILP
Liquidity Pool Token… … = | 𝑤 𝑖𝑁𝑖=0 ||