  We present a measurement study on compositions of Decentralized Finance
protocols, which aim to disrupt traditional finance and offer services on top
of distributed ledgers, such as Ethereum. DeFi compositions may impact the
development of ecosystem interoperability, are increasingly integrated with web
technologies, and may introduce risks through complexity. Starting from a
dataset of 23 labeled DeFi protocols and 10,663,881 associated Ethereum
accounts, we study the interactions of protocols and associated smart
contracts. From a network perspective, we find that decentralized exchanges and
lending protocols have high degree and centrality values, that interactions
among protocol nodes primarily occur in a strongly connected component, and
that known community detection methods cannot disentangle DeFi protocols.
Therefore, we propose an algorithm to decompose a protocol call into a nested
set of building blocks that may be part of other DeFi protocols. With a ground
truth dataset we have collected, we can demonstrate the algorithm's capability
by finding that swaps are the most frequently used building blocks. As building
blocks can be nested, i.e., contained in each other, we provide visualizations
of composition trees for deeper inspections. We also present a broad picture of
DeFi compositions by extracting and flattening the entire nested building block
structure across multiple DeFi protocols. Finally, to demonstrate the
practicality of our approach, we present a case study that is inspired by the
recent collapse of the UST stablecoin in the Terra ecosystem. Under the
hypothetical assumption that the stablecoin USD Tether would experience a
similar fate, we study which building blocks and, thereby, DeFi protocols would
be affected. Overall, our results and methods contribute to a better
understanding of a new family of financial products.
