COMP Distribution Speeds

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

In order to add some data to compare real borrowing to the suggested changes from @rleshner and @Sirokko, we tried to construct lower bounds on the amount of recursive leverage used. Recursive leverage is somewhat tricky to define, so we instead used a lower bound as a proxy. Before looking at the data, we will first define what recursive borrowing is (and how it is used to maximize COMP rewards) and then describe we computed a proxy.

Recursive Borrowing Queries

A recursive borrower (aiming to maximize COMP yield) will recursively construct an array of collateral quantities (C[0], C[1], ...,), borrow quantities (B[0], B[1], ...,), and transfers between fresh addresses (a[0], a[1], ...) as follows:

Base Case:

C[0] = depositCollateral(address a[0], block height h[0], transaction t[0])
B[0] = borrow(address a[0], block height j[0], transaction s[0])
Transfer(qty=B[0], from=a[0], to=a[1])

Recursive Step (for i in 1, 2, ...):

C[i] = depositCollateral(address a[i], block height h[i], transaction t[i])
B[i] = borrow(address a[1], block height j[1], transaction s[i])
Transfer(qty=B[i], from=a[1], to=a[2])

subject to

∀ i:
    h[i] <= j[i]
    t[i] <= s[i]

Theoretically, in a zero gas fee and infinite recursion world, the maximum leverage that one can get by iterating this infinitely many times is 1/(1-cf) where cf is the collateral factor. One can see this by writing out the geometric series for total quantity Q[i] = C[i]+ B[i] and summing it. For instance, if the collateral factor is 0.75, then this provides at most 4x leverage.

In real life, there are a number of reasons this cannot be iterated infinitely (finite wealth, finite address space, gas fees). But the rate of convergence to the optimal amount is exponentially fast in i (as a geometric series), so this is a reasonable approximation. Creating queries to track all such transfers is a heavy lift, so instead of computing the COMP issued for all recursive steps, we computed wrote a query to compute the recursive borrowed issued for a single step of this iteration. This is a lower bound on the true amount (e.g. Q[0] <= Q[0] + Q[1] + ... since all quantities are non-negative) and provides some insights into the ‘farmer’ users versus the regular user. For brevity, we will refer to this quantity as the 1-step recursive borrowed quantity.

Data

You can explore the data more closely in this notebook and the plot below the signature line. Note that we exclude USDT since it has a collateral factor of zero. We plot both absolute values (in USD) and relative values (e.g. % of a market that is 1-step recursive). It appears that at least 80% of the outstanding DAI borrow amount corresponds to recursive borrows. Moreover, ZRX also has a high percentage of borrow that is recursive borrow, even though the total borrow is low. It’s interesting that BAT had a high percentage of the recursive borrow when the yield farming started, which matches our intuition. We also included the data 7 days before and after 20% COMP reduction proposal executed, and the recursive borrow amount did temporarily drop, but it went back up again due to overall DeFi market growth.

Changes to the existing COMP distributions

Both @rleshner and @Sirokko have reasonable proposals (sans the fact that @Sirokko’s proposal, without modification, will rely on a rather large code change unless with stick with 50/50 distribution). The data we collected does suggest a few further changes that might be reasonable:

  1. Reduce ZRX rewards to zero: Given the high fraction of ZRX 1-step recursive borrowing, it might make sense to reduce ZRX rewards to zero in a future experiment (e.g. once a baseline supply rate / TVL is established)
  2. DAI rewards can be reduced further: One future test should involve seeing if a further reduction of Dai rewards reduces 1-step recursive borrowing.
  3. COMP rewards could be higher: @rleshner’s proposed COMP rewards are a lot higher than @Sirokko’s proposed numbers. One benefit of COMP rewards for COMP lenders is that they effectively provide a staking reward — holders of COMP lock-up their COMP in the pool and receive inflation rewards. This also incentivizes long-term COMP holding, to some extent, as yield can be realized on COMP added to the pool. Growing the COMP pool via COMP rewards seems like a simple (but incomplete) mechanism for rewarding real users vs. farmers who instantly sell.

Barring further feedback from the community, we’re going to propose the suggested changes on Friday, January 8, 2021.

Acknowledgments

@htkao created the notebook cited above
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEEJAuhmVduSEVN8uPKIPJySxksQ8FAl/2W0MACgkQKIPJySxk
sQ+M7w/+KJ7coO9P7lcAlGaWPcNbGcbrr7JBZ6eQwbDWqxltQzvmnEzmM+z7kkM3
+zo9df0693DjE6VY0MZXQ8PCEPxE7aJIU/aS7u99F50VwMncFp1KIpmP2+xfiVVg
zNRliuu0Tz3xK0rp5HWF9q/b5xkrUyHjrs2yWRt4BYDw2VHy9y3dWrftxzV1aa69
5UdBTw4gNMnJeoX94lHme+AXZVW5MfpJNL2QkeHDDjxaR7mNIqpzr8ubkILwSXE6
iubSQRQ5axHlTKJ+vTkL9aNgFIVsiHBzbb0v/ybaSvwtcM5qrm5TNe/V90eDkFR3
P/bnfecwHfbnJZ73I8top7c3oQB5biFBnIjKSz2Lrk0L06E0C8dxBJcNSJxwIWHF
cPe3Cqw0pKr1Vnl6JH74JSNuMKqo6SR3N4+oHreAuTFS0f5WlfYFqL3QNVTmDFTZ
HLU/4Kx7y5AkLCH/Uk0/VYsaRZ3jH4uRU+SwgfxpK6C8CVGC6rsxZKIfa0zsWqFR
GnRDfoYvjWTdvddY0Kuw/KaYOzPQXi69lSUytdgq2iPDYd58owh/Xk8vo83cZnOo
icJA99ZBUFMdvJs6b25YsfIStZqOg94yV3ZwnkCikKVCHl2fclqTbvaKVlEihLSG
70+l2sk27hwrimEq1wjp1W7Vq93hW5VXWR8U2iEE1TfeNcNiQok=
=CD61
-----END PGP SIGNATURE-----

2 Likes