Forks, Failures and Fortitude
2024 Aug 13
See all posts
"I would go 0-30 before I would go 0-9. 0-9 means you beat yourself, you psyched yourself out of the game."
- Kobe Bryant
To date, Beanstalk is the greatest success and failure of our careers.
On the one hand, Beanstalk is the most successful non-collateralized stablecoin implementation to date. Beanstalk demonstrated tremendous efficacy up to its hack in April of 2022 and has continued to demonstrate efficacy since Replant in August of 2022. Beanstalk was Replanted less than four months after being attacked and recapitalized with over $17M almost immediately. Participants in the Barn Raise have received back 34 cents on the dollar in ~2 years. The quality and quantity of engineers actively working on Beanstalk is a testament to the movement that has been started. The continuous improvements made to Beanstalk over the ~3 years since it was initially deployed indicate how far we have come since we started our Beanstalk journey almost ~4 years ago. We are incredibly proud of our work on Beanstalk to date.
On the other hand, Beanstalk was subject to an exploit that drained all of the funds in the protocol. Since Replant, non-Bean liquidity has dropped from $14.4M to $12.3M (-14.5%). There has been no new demand for Beans since Replant despite growth in the Bean supply (+100% not including mints via governance). The Beanstalk Discord is unfortunately highly toxic and disheartening. The quality of public discussion on improvements to Beanstalk has decreased dramatically since the exploit.
While Beanstalk has failed to recapture the hearts of the crypto community after the exploit, we remain convinced that a stablecoin with competitive carrying costs is a necessary component of the future decentralized economy. We also believe the Beanstalk model is by far the most advanced attempt in the field to date. We are undeterred in our belief that Beanstalk’s future will be the issuer of the best money the world has ever seen and help usher in the censorship resistant economy.
At the moment, there are two problems with Beanstalk that are major obstacles to Beans becoming a global currency that must be solved.
- The governance system post-exploit is centralized, thereby dramatically reducing the trustless properties, and therefore the utility, of Beans.
- There is almost no data being collected on the Beanstalk experiment at the moment because of the present lack of participation in the Beanstalk protocol.
DAO Doubt
Beanstalk was originally implemented with an on-chain governance system that was vulnerable to flash loan attacks when the L2SR reached a certain threshold. Beanstalk was exploited almost immediately after that threshold was passed for the first time. Since the exploit, Beanstalk has been governed by a multisig. In the two years since Replant, significant work has gone into designing a trustless governance system that can safely be employed by smart contracts.
The main conclusion of this work is that a DAO is not possible to implement in a way that offers optimal properties for all users.
The main problem with a DAO based system is that it allows the majority to force changes (or a lack of changes) on the minority. Over the past year, there have been multiple BIPs that have proposed major model improvements that have received near unanimous approval amongst active community members yet failed to pass when it came time for the DAO to vote due to a lack of participation. Given the fact that Beanstalk is far from optimal in terms of its current design and parameters, the inability to pass BIPs presents an existential threat to Beanstalk and a major problem to each participant.
A system for forking Beanstalk in a way that enables immutability of smart contracts yet allows developers of new Beanstalk implementations to easily support backwards compatibility offers a more optimal solution to the smart contract governance problem. Such a system has the following ideal properties:
- Each participant can run the version of Beanstalk they feel is most likely to succeed;
- There is no risk to any user of Beanstalk that the protocol ever gets upgraded such that it introduces a bug into the protocol; and
- Beanstalk can be upgraded as quickly as anyone wants, without requiring the approval of a majority of Stalkholders.
How such a fork system should work in practice is deserving of more discussion.
Data Deficiency
A necessary component of any experiment is high quality data. During the first 9 months Beanstalk was live prior to the exploit, there was so much data coming in that it was impossible not to see how to dramatically improve the model. In fact, there was sufficient data to chart out almost three years of improvements after deployment. However, at the moment there is almost no activity in Beanstalk and therefore no new meaningful data being collected. Without new data it is impossible to evaluate the efficacy of improvements to the model and come up with new ways to improve it further.
Over the past ~2 years there have been multiple major improvements to Beanstalk that have failed to collect any data on their efficacy (e.g., the Morning Auction and Seed Gauge System). There is nothing that indicates the Generalized Convert System currently under audit remediations (i.e., the next major improvement) will be able to collect any meaningful data upon its implementation. Each of these three upgrades represent an order of magnitude improvement in the model from a theoretical perspective. But, without data to understand how they affect participation in Beanstalk, it is impossible to evaluate their efficacy or make improvements to their design.
The obvious ideas to significantly improve the Beanstalk economic model have nearly run out. While it has taken three years of development to get to the bottom of the barrel, we are almost there. The only ones that remain are to implement a fork system as described above and to make Stalk and Seeds liquid. How exciting!
However, there are lots of very clear micro optimizations, particularly determining how to set for the Temperature, L2SR and Seed Gauge mechanisms that need to be made. These are optimizations that require a lot of data to determine the right parameterizations or automation scheme. The lack of data being collected is now actively hurting the mission by preventing further progress.
It is clear we have reached a crossroads. Either we can remain focused on maximizing the chances of success of the single existing Beanstalk despite the lack of new data it is collecting by continuing to exclusively iterate on the theory, or we can start observing the performance of multiple Beanstalks in practice in order to maximize data collection. At this point, it seems quite clear that without data it will be nearly impossible to move Beanstalk closer to the point of efficacy where it will be ready to support a decentralized economy. Therefore it seems prudent to deploy a number of Beanstalks that will start collecting a lot of data.
In the coming months we intend to support the deployment of a number of Beanstalk forks that effectively start Beanstalk over from scratch to collect a variety of data. Each new Beanstalk deployment should collect different data. Here are some of the questions we hope to answer by deploying multiple Beanstalk in parallel:
- How does Beanstalk behave at a variety of debt levels and L2SRs?
- Does the market prefer stability or decentralization for Bean liquidity?
- How do different allocations between Beans and LP tokens change the L2SR?
- Does Beanstalk manage debt issuance more efficiently given the introduction of the Morning Auction?
- How would a “mini Flood” where price is brought back down immediately to Q when it is above it at Sunrise, but no additional harvest beyond the minting needed to bring P to Q, effect inorganic demand for Beanstalk during periods of intense growth?
- Can Beanstalk support multiple liability denominations at once?
- How well can Beanstalk support deflationary assets as a liability denomination?
- How does the existing debt affect Beanstalk’s peg maintenance model and ability to grow?
- Is the Beanstalk brand a problem after the exploit?
A more complete list of questions we hope to have answered through increased data collection can be found in the Beanstalk State Space document.
- Brendan Sanderson, Ben Weintraub
Forks, Failures and Fortitude
2024 Aug 13 See all postsTo date, Beanstalk is the greatest success and failure of our careers.
On the one hand, Beanstalk is the most successful non-collateralized stablecoin implementation to date. Beanstalk demonstrated tremendous efficacy up to its hack in April of 2022 and has continued to demonstrate efficacy since Replant in August of 2022. Beanstalk was Replanted less than four months after being attacked and recapitalized with over $17M almost immediately. Participants in the Barn Raise have received back 34 cents on the dollar in ~2 years. The quality and quantity of engineers actively working on Beanstalk is a testament to the movement that has been started. The continuous improvements made to Beanstalk over the ~3 years since it was initially deployed indicate how far we have come since we started our Beanstalk journey almost ~4 years ago. We are incredibly proud of our work on Beanstalk to date.
On the other hand, Beanstalk was subject to an exploit that drained all of the funds in the protocol. Since Replant, non-Bean liquidity has dropped from $14.4M to $12.3M (-14.5%). There has been no new demand for Beans since Replant despite growth in the Bean supply (+100% not including mints via governance). The Beanstalk Discord is unfortunately highly toxic and disheartening. The quality of public discussion on improvements to Beanstalk has decreased dramatically since the exploit.
While Beanstalk has failed to recapture the hearts of the crypto community after the exploit, we remain convinced that a stablecoin with competitive carrying costs is a necessary component of the future decentralized economy. We also believe the Beanstalk model is by far the most advanced attempt in the field to date. We are undeterred in our belief that Beanstalk’s future will be the issuer of the best money the world has ever seen and help usher in the censorship resistant economy.
At the moment, there are two problems with Beanstalk that are major obstacles to Beans becoming a global currency that must be solved.
DAO Doubt
Beanstalk was originally implemented with an on-chain governance system that was vulnerable to flash loan attacks when the L2SR reached a certain threshold. Beanstalk was exploited almost immediately after that threshold was passed for the first time. Since the exploit, Beanstalk has been governed by a multisig. In the two years since Replant, significant work has gone into designing a trustless governance system that can safely be employed by smart contracts.
The main conclusion of this work is that a DAO is not possible to implement in a way that offers optimal properties for all users.
The main problem with a DAO based system is that it allows the majority to force changes (or a lack of changes) on the minority. Over the past year, there have been multiple BIPs that have proposed major model improvements that have received near unanimous approval amongst active community members yet failed to pass when it came time for the DAO to vote due to a lack of participation. Given the fact that Beanstalk is far from optimal in terms of its current design and parameters, the inability to pass BIPs presents an existential threat to Beanstalk and a major problem to each participant.
A system for forking Beanstalk in a way that enables immutability of smart contracts yet allows developers of new Beanstalk implementations to easily support backwards compatibility offers a more optimal solution to the smart contract governance problem. Such a system has the following ideal properties:
How such a fork system should work in practice is deserving of more discussion.
Data Deficiency
A necessary component of any experiment is high quality data. During the first 9 months Beanstalk was live prior to the exploit, there was so much data coming in that it was impossible not to see how to dramatically improve the model. In fact, there was sufficient data to chart out almost three years of improvements after deployment. However, at the moment there is almost no activity in Beanstalk and therefore no new meaningful data being collected. Without new data it is impossible to evaluate the efficacy of improvements to the model and come up with new ways to improve it further.
Over the past ~2 years there have been multiple major improvements to Beanstalk that have failed to collect any data on their efficacy (e.g., the Morning Auction and Seed Gauge System). There is nothing that indicates the Generalized Convert System currently under audit remediations (i.e., the next major improvement) will be able to collect any meaningful data upon its implementation. Each of these three upgrades represent an order of magnitude improvement in the model from a theoretical perspective. But, without data to understand how they affect participation in Beanstalk, it is impossible to evaluate their efficacy or make improvements to their design.
The obvious ideas to significantly improve the Beanstalk economic model have nearly run out. While it has taken three years of development to get to the bottom of the barrel, we are almost there. The only ones that remain are to implement a fork system as described above and to make Stalk and Seeds liquid. How exciting!
However, there are lots of very clear micro optimizations, particularly determining how to set for the Temperature, L2SR and Seed Gauge mechanisms that need to be made. These are optimizations that require a lot of data to determine the right parameterizations or automation scheme. The lack of data being collected is now actively hurting the mission by preventing further progress.
It is clear we have reached a crossroads. Either we can remain focused on maximizing the chances of success of the single existing Beanstalk despite the lack of new data it is collecting by continuing to exclusively iterate on the theory, or we can start observing the performance of multiple Beanstalks in practice in order to maximize data collection. At this point, it seems quite clear that without data it will be nearly impossible to move Beanstalk closer to the point of efficacy where it will be ready to support a decentralized economy. Therefore it seems prudent to deploy a number of Beanstalks that will start collecting a lot of data.
In the coming months we intend to support the deployment of a number of Beanstalk forks that effectively start Beanstalk over from scratch to collect a variety of data. Each new Beanstalk deployment should collect different data. Here are some of the questions we hope to answer by deploying multiple Beanstalk in parallel:
A more complete list of questions we hope to have answered through increased data collection can be found in the Beanstalk State Space document.
- Brendan Sanderson, Ben Weintraub