Beanstalk University Class #59

January 31, 2023

• 0:00 Intro • 0:15 Is there an example of an AMM using an oracle other than constant product functions? • 2:13 What is governance? • 5:00 What happens when an immutable contract needs/ wants an upgrade? • 6:57 What is the process for making a smart contract immutable or mutable? • 11:05 How possible is it for a mutable project to change to immutable? • 13:50 What are the risks of governance? • 15:12 What is good governance? • 20:55 What are the current challenges with Beanstalk governance? • 24:32 Publius’ thoughts on delegation, dilution, and how Stalk is calculated? • 30:29 Publius’ thoughts on governance in general

Beanstalk University


Meeting Notes

Is there an example of an AMM using an oracle other than constant product functions?

  • Not to Publius’ knowledge

What is governance?

  • Smart contracts can be immutable or mutable. If they are mutable then governance is who/ how the contract can be changed. Publius goes on to say governance is also the process of how a contract changes

What happens when an immutable contract needs/ wants an upgrade?

  • In most cases, they will transfer the token to a V2 of the token. There is probably an off-chain governance process done by whoever developed the contract. This would not happen on-chain. The participant would have to move to the new contract manually

What is the process for making a smart contract immutable or mutable?

  • It depends on where the network effect exists in the product. For example, Beanstalk’s network effect happens at the currency layer. Most things within Beanstalk can be replaced without changing the network effect. If Beanstalk could not maintain the network effect it could not be the issuer of money in Publius' opinion. In a liquidity pool, you do not want to fragment liquidity and this is a factor in making a contract immutable or mutable.

How possible is it for a mutable project to change to immutable?

  • In Beanstalk’s case, Publius does not see this happening for a very long time. It makes sense for Beanstalk to change its rules often to become more efficient. Beanstalk will have to compete with all forms of money and it will probably have to change to compete with other forms of money in the long run

What are the risks of governance?

  • We know the risks of governance because of the exploit in April 2022. Bad governance can lead to bad disasters.

What is good governance?

  • It is a function of what you are optimizing for. For Beanstalk, its goal is to become money and the best form of money. Right now Beanstalk can upgrade very fast in EBIPs but when Beanstalk goes back to on-chain governance there could be some time in between when the BIP passes and when the Diamondcut executes.

What are the current challenges with Beanstalk governance?

  • Publius thinks there are a lot of challenges with Beanstalk governance, the biggest is that there is no on-chain governance. Proof-of-stake governance has a lot of issues right now. Participation in voting has gone down over the past few months. If the DAO cant get 50% of the votes for multiple BIPs that could be an issue.

Publius’ thoughts on delegation, dilution, and how Stalk is calculated

  • Delegation seems to be impossible to prevent so Publius thinks it is best to embrace it. With dilution there are a couple of attack vectors, ie someone could purpose 10,000 BIPs and everyone else would have to pay to vote on all the BIPs if they don’t the attacker's Stalk voting power would increase by a lot. A solution to this is only dilute if a BIP passes

Publius’ thoughts on governance in general

  • Adding Grown Stalk that is not mowed to voting would not help governance in general. There has been more discourse around the BIPs and Publius likes to see a higher level of discourse. There are a lot of open questions that we all need to solve around proof-of-stake governance


How are you Publius? Doing quite well, Matt. How are you? Think things are well here. I wanted to spend today's class to discuss or talk about governance. But before that, we have a question that maybe we can answer first. And that is from Socrates. And they asked the of the question of the Barnier chap, but I'm going to read it out here. The question is around words, and they're asking if there are any current examples where the order books aren't used or aren't using constant product functions, but are using arbitrary functions like what was it just going to do? So in other words, is there a current example of of something that uses that today? And I'm going to post a link to that question at a town hall chat just for others to see. Not to our knowledge. Okay. Would you say the order books that centralized exchanges use are are similar to that, but not but not on chain? No, because centralized order books are typically limit order books where you can place a a bid at a certain price or ask at a certain price and amount. But there's no need because in a centralized setting, there's no cost to updating orders. And in theory, there's a fair ordering of updates to orders. This is why in a high frequency trading environment, it's a race to get your orders updated in practice. But the concept is that there's no need in a centralized setting to have sophisticated orders that are curbs or curbs with arbitrary functions excuse me, curbs with arbitrary inputs and arbitrary curbs at that at that clearance. And thank you for the answer. Okay. So fabulous. As I said before, we wanted to spend some time to talk about governance and maybe at length governance in general, and then governance within within bienstock. And maybe we can start with the first question, and that is what is governance and what is its purpose? So will limit the what is governance answer to governance in the context of a smart contract or will try to keep it generally within that scope. So in general, smart contracts can be mutable or immutable, and if they're mutable, there's a question as to what entity on chain has the power, what entities on chain have the power to upgrade a given contract? And. WHEREAS, the majority of smart contracts likely need not be mutable in the case of the money or the issuer of money which is bienstock, it is, for better or worse necessary that the the contract be upgradable and the monetary policy of the system be improved and certain parameters of the system be improved over time. And while that may not always be the case and certainly the case at the moment. And so the question then becomes, if you need the ability to upgrade a smart contract, who and how do they have the ability to upgrade the contract and in practice, a smart contract governance. Again, we're keeping the the what is governance answer a little bit limited in scope, but smart contract governance is in practice the the system of of which decisions are made whether or not to upgrade a given smart contract. Now you can kind of take that and extrapolate that governance in general is some process by which decisions are made. But beyond that, I think it's probably best if we keep the discussion in the scope of smart contracts. What we're talking about, although it may leak out into a more general discussion. Okay. And published, let's look a little bit more about the immutable and mutable smart contracts that are examples of immutable protocols or smart contracts, let's say. But we see that know most most of these they talk about new tools in the sense or they have versions, even though they're immutable, you find them, but eventually, you know, they want to do some sort of upgrade, but they can't do that. So then they just transfer the whole protocol into a newer version. Is that any different from, you know, it being mutable? Well, it is in the sense that there may be some off chain governance process either at the company level, if there's a company developing the smart contracts or an adaptation level or whoever is developing the contracts. There may be some social process through which it is decided to work on, implement and deploy new contract. But the the concept is that the once a smart contract is made immutable, as you were saying, you're sort of forced into deploying new smart contracts. And so the question becomes whether or not it is it is necessary for a given smart contract to be upgraded. And if it is, then it makes sense to to make it. Or is it it likely makes sense to make it mutable. Whereas if if you make it immutable, then any decision over upgrading the system has to come. And there must be some governance in the sense that there's some process over which decisions are made. But it wouldn't happen on chain in that instance. And I guess the other difference is that even if there are newer versions created, the participant doesn't get upgraded automatically. So they will have to actively choose to move to that newer version or not versus if, you know, it just happens. It happens as long as you know, however, that governance is published. Do you think that maybe maybe before this question we go back to, what do you think is the decision making process or what decides for, you know, a smart contract for a protocol to be immutable or immutable? Meaning what are some of the factors that may go into whether or not you should make a contract immutable or immutable? Yes. Well, the that's a great question. From a theoretical perspective, there is it really depends where the network effect in the product or system that is being built exists. And so let's take Bienstock as an example. Bienstock is the issuer of beans and the network effect happens at the currency layer. So every piece of the system, effectively other than the beanstalk address and in particular the issuance of being as a currency, can be replaced without a loss of the network effect. So the fundamental question is, does the system that issues beans need to be upgraded or in other words, does the the mechanism that issues the currency, the place where the network lives it out, where does that system require the ability to be upgraded or can the network, in fact, be maintained without without that? So in the case of beans, the value of the beans comes from the system's ability to maintain itself as the most competitive issue of money and the inability to upgrade the rules of the system wouldn't likely make it such that the beanstalk would not be able to compete over long periods of time. That issue of currency. And so in order to maintain the network effect, it's likely that the at the at the beanstalk layer there is a need to upgrade the protocol. On the other hand, consider one of the liquidity pools that is deployed where beans trade in the rules of that liquidity pool in practice need not be upgraded in order for the system as a whole to continue to function and more particularly to what you were saying earlier, made in order for the rules of the order in the liquidity pool to change for a user, they would actually have to take action because the pool is immutable in order to move to another pool or in practice change the order that they are a part of. And so from a inten excuse me, intended user experience, it also makes sense to have the the pools in which liquidity trades be immutable. Whereas again, just to juxtapose it, beans or stock, which is the issuer of beans, the network fact is maintain that where you don't want you don't want when a given rule change is proposed for the whole system to fragment the the division of liquidity into more than one liquidity pool doesn't cause any fragmentation of the network effect. Whereas the division of beanstalk into the issue of two different moneys being one and being two would directly harm the network effect of the system. So that's one way to think about whether or not it makes sense to have immutable or immutable contracts at any given point in the stack. Okay. And you've raised great points, Publius. My next question is how practical do you think is it for an immutable protocol for it to one day say that now we're going to become immutable? And I'm looking here maybe, you know, the oldest of protocols like, you know, Bitcoin or this medium, and we see them constantly being updated. Do you foresee being stuck reaching a level where it reaches a point and be like, let's set this up now, you know, we're not going to change anymore? It's unclear. It's certainly unlikely that that point, that's anytime in the next couple of years and beyond that, it's hard to see very far into the future. But it is worth noting that the protocol ossified or the the rules of the protocol also buying and becoming less and less likely to change is an important part of beings becoming accepted as money. And so whereas it's still very early in being stuck is in a true experimentation phase and therefore it does make sense to change the rules early and often, if you will, in order to try to get the model as close to optimal as possible. It's it's probably not ideal to continue to iterate at such a high frequency as the system grows. There's there's more risk in that. But there's also there's also a lot of benefit in continuing to iterate because again, Beanstalk will have to compete with every other attempt at issuing money and in order for it to maintain or to be competitive in the long run, it will have to potentially make certain changes. And so having a system of governance in place through which the protocol can continue to be competitive in a in a in an environment where even Beanstalk forks with slightly different rules that may create more economic efficiency may be something that the system has to compete with. So it's it's a real balance between ossification such that beans can be accepted as money and flexibility, such that the protocol can remain really competitive in the long run. And therefore, it's it's hard to say whether the protocol will ever reach a point where it doesn't need to change ever. But it is it is likely to reach a point where it doesn't need to change as frequently as it is currently. Okay. So we spoke a little bit about what is governance and why is governance needed before we you know, we talk about when I ask the question is what is good governance problems? Can you maybe tell us what are the risks of governance? So now we want to implement a governance will have governance. And guess what? What what does that that may come with that? Well, not to not to answer it in a particularly narrow, but we know the dangers of governance firsthand because being stock being stocked on chain governance system was exploited in April and all of the value in the contract was stolen. So the risks of bad governance are a catastrophe. And the kind of price of the smart contract level, as well as almost any other level where there's a system in place, bad governance can lead to real, real disaster. And even in situations where the governance isn't horrible but is just so subpar, it's likely that systems with bad governance get outcompeted by systems with good governance. So governance is a very important piece of the puzzle. Okay, So we'll see or we know that bad governance may be catastrophic or is catastrophic. Let's say the next question then, Publius is what do you think is good governance? You know, what are the parameters of the things that governance will want to look, look after, to look at and be like, these are the things we want to optimize towards? Well, I think you just said a lot of it, which is that it's a function of what you're trying to optimize towards. And so governance cannot really be defined as good in an absolute sense. It can only be defined with a with a view towards what the goals of the governance system are. So in the case of Bienstock, the goal of the governance system is to to straddle that that dichotomy of ossify and to become money and flexibility to maintain status as the best money. That's what the governance system should be trying to maintain to achieve while maintaining the integrity and safety of the protocol and the assets in the protocol. Okay. Would you say the ability to take action or the speed to take decisions as well in governance is is one of those important factors? Well, this is one of the fundamental questions related to the practice of governance, meaning in practice, how should how should this work? How quickly should the system be upgraded or upgradable? And on the one hand, with a system like Bienstock, where it's it's a very complex system and it's still very early such that there continue to be bugs found in the contract where there's a need to upgrade the contract through events, through emergency deaths. It may be necessary to be able to upgrade the contract quickly for a period of time. But on the other hand, if it when the system moves back to on chain governance, one potential remedy or extra safeguard that can be put in place such that if there is a another attempt or successful attempt at manipulating the governance of the system, that there is some sort of time delay between when the bit passes and when the bit can actually be executed or the diamond code can can be called such that everyone has the opportunity to leave the system before the attack can actually be executed is one additional layer of defense that could be could be implemented when the system moves back to entering governance such that there's some need to get a spectrum or a trade off that needs to be managed by the system in terms of speed to fix problems with slow, slow ness such that people can leave the system. And there's an opportunity for for people to move with their legs. And it is worth noting that particularly in the early days of being stuck, there were some changes that were time sensitive and those appear to be few and far between, such that a time delay becomes more and more realistic. Okay, I'm curious, do you think that good governance is a product of the say that a presentation of all participants or sometimes it may be that, you know, you can just have a few select people who choose what governance is. Not everyone gets to board, basically, or not everyone gets a vote and those changes are asking some very deep philosophical questions To their mind, The the reality is that the the best system of governance is it cannot be defined in terms of representation. It has to be defined in terms of the desired outcomes of the system. And from that perspective, if we take Beanstalk again as an example, Beanstalk does not currently allow for pod holders or fur holders to participate in governance because they are creditors of the system. And the incentives of being a predator is such that you want to get repaid as fast as possible independent of the long term sustainability of the way that the system repays you. Whereas stockholders are incentivized to be deposited in the system for a long period of time, and therefore it's more likely that they are aligned to with sustainable repayment of debt and sustainable growth in the bean supply. And therefore Beanstalk does allow for stockholders to vote. So the concept is that it's not purely a question of representation, it's really a question of representation in the context of incentive incentives of people or of participants in the system and how they are incentivized in the context of the desired outcomes of the system as it's being designed. Okay. This let's talk a little bit more about governance within the beanstalk ecosystem. What what do you see the current challenges be facing or faces in governance? So Beanstalk has a lot of problems with governance. The most glaring one is that currently it has off chain governance, which is not permissionless in practice. And the goal of Beanstalk is to be a totally permissionless issuer of money and therefore not having on chain governance is a big problem. And there's an argument to be made that, you know, if you're if you're considering the effect of a system like Beanstalk, the Lynndie effect can't even really kick in until the system reverts back to on chain governance, particularly given that the the system has been exploited when it had on chain governance. So it's like until that is re-implemented, you really can't start counting days. And it's important to it's important to realize that that is a you know, that's a major undertaking and proof of stake. Governance is something that hasn't hasn't been perfectly figured out thus far. And so there's a lot of work to be done along those lines. Now related to to that is the actual DAO voting independent of how the will of the Dow is execute on chain or off train the actual structure of DAO voting and stockholders voting on things at the moment, at least based on how the past couple of votes have gone, it seems like participation in governance has decreased and currently, given that the governance system requires a 50% majority of all stock voting for a given dip in order to pass low, low voter participation can be a a problem in the sense that if the system can't get a 50% majority voting for a firm for any changes, it's unable. It's going to be unable to improve itself. And Beanstalk is not currently, or at least not likely to be currently in a place where it can sustain itself in perpetuity or it can maintain itself as a competitive issuer of money in perpetuity with its current rules and so it's pretty important that the Dow is able to maintain flexibility at this point in time from our perspective. And it seems like one of the problems, again, if you go back to what is the purpose of governance, it seems like one of the problems with the current implementation of Beanstalk governance is that it doesn't really facilitate the protocol to be sufficiently nimble in order to remain competitive as an issue of money. All right. I'm going to ask a few maybe ideas on on changing, let's say, governance or how how governance is concerned. And a lot of this is from the governance channel. There is a discussion by a few of customers. Mostly it's business of watching. And here are some some of these ideas. And as you said, it is not about executing the well, let's say, or the outcome of the vote, but it's about how hard you calculate that or get to it. And the first one has to do with delegation, which is, you know, farmers can basically delegate you know, their stock or voting power for others that can vote for them. And in that case, you know, maybe we can talk about, you know, what happens on that or what does that mean? The other one is about diluting the voting power. So, you know, the more active you are in voting, the the more power you get. Basically all the more with your vote and virtually all of the on the other side is that if you don't vote, then you know, your your voting power gets diluted or what. And then that's the also on how to calculate the quota itself. So if we have a period where there is a long time or a long period where participants are not voting, then their voting power or the amount of quota, you know, gets out or the second away from the from the total vote. What what do you think about this ideas progress or what do you see out of the advantages or the disadvantages of them? So delegation seems to be something that particularly one stock is liquid it'll be impossible to prevent. And so like, like any other thing that is impossible to prevent, it's good to embrace it. And so it probably does make sense to support delegation of the ability to vote and know that that's something that haven't always been in support of, but realize that in practice you can't really get around it. So yeah, probably just have to accept that. The question around dilution and I think it's related to the quorum, so we're going to combine two and three in the sense that anytime you're affecting how, how much people's stock is worth when they're voting, it would likely affect the quorum as well as their voting power. So it's it's really one them, at least as we understand what you just said, the there's a couple noteworthy things. The first is I think it's got pointed out one of the discussions around this that there is some sort of attack around proposing lots of bits such that people have to vote and in particular pay to vote. And if they don't, you're going to as the attacker, your your stock is going to increase in voting power and that can potentially make it easier to get malicious bits passed. So there are some question as to imposing limits on the amount of debts that you can or the amount of change in stock power based on on such a system within a reasonable degree. But likely given that type of attack, that type of change to the system is unlikely to be the winning solution. But it's it's it's certainly interesting. Yeah. I'm not sure who will propose a solution to that, but the solution was that the dilution only happens on on bits left pass. So if there is a bit that reads quarter minute pass those voted in favor of those who didn't vote on that bit only then get diluted. Does that make sense. Well that that introduces an interesting game theoretic thing which is that then once a bid looks like it's going to passes in the incentive of everyone to vote and therefore you're not actually going to have at least in an efficient market, you'd expect everyone to to vote. One system hit 50% and that it's probably not not going to change or change the way people vote that in practice or it's not going to be able to have an effect in practice. I guess maybe at the margin, like people that are not even going to vote efficiently in that case to preserve their stock, then those people would be diluted. So maybe that that does work a little bit, but unclear if that's I mean, the it's unclear if it's worth the complexity, but it does seem like that's a potential marginal improvement to how things could be accounted for. But it's definitely that that would work. Yeah, because I think and maybe others can can correct my numbers here that around 26% of the overall stock that's around there and that counts towards quorum is held by some that an even more so not only are they not participating in voting, they're just not active 25% is a big number. I'm not sure about that. So others can correct me, but if I recall correctly, it does a large number. It so in effect, you know, the big number would get diluted in this case. Okay, that's it from my side. Because of the questions that I have in mind. Do you have any any other thoughts on governance in general or you know, to farmers about, you know, and how do you think is in a positive way to think about with with them being stuck or being stuck and any changes that you think are, you know, positive, it's implemented lots of thoughts. But one thing that came to mind while you were talking is that we've previously discussed and I think it was part of the original serotype in fact have the have grown stock that isn't mone count towards votes but to this exact point that would likely make it even harder for BIPs to pass. And therefore it probably doesn't make sense from a policy perspective to have grown stock that isn't mone count for voting. If you want your growing stock to count for a vote, you should probably know your stock. And as it stands today, grant stock that is not mode anyways. Doesn't account and being distribution so agreed with you in the sense of it not counting towards towards voting as well. I think we might have lost Publius with and the meanwhile that to our audience, if you have any questions or you'd like us to discuss anything specific, please feel free to drop on the tunnel. Chip, I'm on. I don't know what happened. I lost. No problem. I was just saying if any audience had questions, they the town hall chat. Otherwise curious if you have more more for those who wanted to share this piece. So feel like there's been a slightly higher quality of discourse on the the two graphs and I want to just shout out the people that were participating in that, but feel like there's a lot more that needs to be discussed and there is a believe a DAO governance call tomorrow at one Eastern for for an hour or two. And I would really encourage everyone that wants to participate in some of that discussion to just come, come participate. So there's a lot of open questions as to how a a proof of stake system can can sustain itself in the in perpetuity with without any sort of exposure to a 51% attack effectively like Bienstock did, given that the system requires high levels of liquidity. And so it's likely that along the lines of what we were talking about with the the time lock, that in order for a given governance system to ultimately work for bienstock, it's really going to have to revolve around choice where there's some need to opt into the new system and there's no way to force people into a change system if that makes sense. But obviously to to the comment earlier around the the network effect of Bienstock that the goal is to prevent as much as possible any sort of fragmentation like that. So it's a very a very interesting thing to think about from a design perspective, how the mechanism should work such that the system can actually protect everyone's ability to leave the system according to the rules that they entered in with the ability to upgrade itself. So probably probably a lot to be thought of on that in that regard and looking forward to having a discussion tomorrow with the Dow and to those with us, I have posted a link to to the event for tomorrow so you can and you can also find it in the events at the top of the channels on the second maybe my last question, probably as it goes back a little bit to towards the dilution discussion. And I think there are two ways to think about it. And I was when we said that we can combine both of them, I want to maybe introduce a separation and those and that is one, those who don't vote that just changes the quorum, but it doesn't impact their voting power. So the next time they vote, you know, they just get back again and that's it. And two is that it does dilute your voting power. So even the next time you come on board, you know, you don't you don't have full capacity or full power again. So I guess a better way to think of it is, one, changing the quorum, but you sit on it, but without taking away your right to vote in the future. And the second one is, you know, removing some of that. Right. And only getting it back after, let's say, some set conditions. Yeah, I still think that it's two two things that have a very similar effect, which is changing the the the amount of stock and practice that is needed to pass a given vote. And then it's just a question of whether or not the the effect is is being implemented such that any given stockholder's voting power is actually decreased or whether it's just happening at the quorum wire. So there's some slight difference there. But in practice, they have they have effectively the same implications as we understand it. Okay. I'm going to pause a little bit more, see if any court audience have any more questions about governance or something else. Otherwise, we can we can understand. Thank you, everyone, for joining us for this. As always, thank you for taking the time for for discussion, answering those questions. Once again, I posted a link to tomorrow's governance discussion is going to take place at 10 a.m. Pacific Time or 1 p.m. Eastern. Thank you for joining and we'll see you next week.