I recently saw the following tweet:
This is a real problem, so let’s talk about it.
First, let me describe how ICE works. ICE is like a debt instrument that is part of the icewater stablecoin model. The icewater protocol includes a controller that can adjust the supply of a stabilized currency, H2O. ICE is like a fixed income debt instrument that pays out H2O over time (it’s a perpetuity, so it pays out forever).
Why would someone trust ICE? Because in the icewater protocol, there is no DAO that can vote to pay devs or token holders before ICE holders. It is completely algorithmic. There is another token (STEAM) that gets paid something like dividends, but the amount of these “dividends” goes up or down, and is essentially determined after ICE is paid.
ICE functions because there is no treasury, and it is algorithmically senior to any other claims on system revenue. There might be a risk that the protocol as a whole doesn’t work, but there is no treasury that can be raided by devs or shareholders.
But what if you do have a treasury and devs that need to get paid? Can you have debt then? Yes, you can, but it’s not perfect. here are a few things that can be put in place to make it more reliable.
Let’s say a DAO sells a bunch of bonds and puts the funds into a treasury. If equity token holders can remove funds from the treasury unchecked, you have a problem. One way to address this is to give bondholders a way to veto removing funds from the treasury.
Of course, to ensure future payments can be made, you also need to ensure that future revenue goes into the same treasury. Smart contracts can only impose restrictions on the distribution of funds that they control.
Another piece of the puzzle is algorithmic dividends. It is much harder to convincingly make debt senior to equity if the method of paying dividends is ad hoc. By contrast, if the shareholders get paid algorithmically, that same algorithm can ensure that debt holders get paid first.
For example, imagine that to pay dividends, funds must be sent from the main treasury to a distribution treasury, and when that happens and algorithm determines how much is payable to debt holders and how much is payable to shareholders.
Even if you give bondholders a veto on removing funds, and create algorithmic dividends that respect the seniority of debt, eventually you may need to send funds to devs. How else are you going to get them to do the work that the money was raised for in the first place?
But whenever you do this there is a risk that the devs will simply take the money and run. Even worse, if you give devs control over code, they can modify the protocol so that funds are directed somewhere else, or exposed to hackers.
Fundamentally, we have a classic principal-agent problem. There are ways to address principal-agent problems, but it is beyond the scope of this post. I just want to note that DAOs should be very clear about what they are doing to prevent devs (and other executive functions) from misusing funds and administrative powers.
Traditional corporations put a lot of effort into this, and they have the law on their side. DAOs should take it even more seriously because they are often dealing with anonymous contributors.