Token Engineering in Practice: Putting Molecule Catalyst to the Test with cadCAD
We recently announced Molecule Catalyst and outlined more details about the technical architecture powering the system. Providing a novel crowdfunding route for researchers, it will be one of the first decentralized applications utilizing token bonding curves for fundraising. We conducted rigorous modelling and ran various simulations to find suitable parameters and ensure that the system is as robust as possible before releasing it into the wild. This article provides some first insights into this process and highlights the importance of thorough token engineering practices when building platforms that leverage the power of novel decentralized ledger technologies. — By Ben Scholtz & Titian Steiger.
Background
Molecule Catalyst is the first product built on the Molecule Protocol. In this iteration, we rely on token bonding curves to enable continuous fundraising for projects in basic research for drug discovery. Anyone interested can contribute to campaigns hosted on the platform using the Dai stablecoin. In return, supporters receive project tokens minted by the bonding curve contract. The price for the tokens is determined by a supply function. Parts of the contribution are directly forwarded to the researcher owning the initiative while the remainder is stored in a collateral pool that provides the buyback liquidity for the tokens. This means that holders can redeem their project tokens at any time in return for a proportional share of the curves’ collateral. Launching the dApp on Ethereum will allow us to put the following concepts to test:
- Can we mobilize the public to invest in the future of healthcare through crowdfunding?
- Will the incentives created for early contributors be strong enough to improve campaign performance?
- Are bonding curves an effective means to bootstrap engagement around shared topics?
We strongly believe that crypto-economic incentive mechanisms can have profound social and economic implications. These systems can only be harnessed to their full potential if we design them in such a way that they provide a maximum degree of freedom for humans to act within, but also minimize the risk of any harm or dangerous conditions occurring. Structures that try to predict how incentives are aligned among humans are intrinsically complex. Furthermore, relying on novel technologies such as smart contracts and token mechanisms makes it even more difficult to ensure only intended consequences when interacting with these networks. When dealing with real-world value transfer and thus actual human cost, we cannot rely on trial-and-error strategies but need to thoroughly test and evaluate that the designs meet the defined requirements.
This brings us to the practice of Complex Systems Design, a relatively young field that has found application in areas of transportation planning, improving healthcare systems or predicting economic crises. Complex systems describe systems “whose behavior is intrinsically difficult to model due to the dependencies, competitions, relationships, or other types of interactions between their parts or between a given system and its environment”. Tools and practices from this area have found their way to the blockchain with the introduction of token engineering best practices. At Molecule, we are committed to following these guidelines and only release incentive designs that have undergone extensive validation through mathematical modeling.
cadCAD is a Python library created by BlockScience that assists in the processes of designing, testing and validating complex systems through simulation. It has recently been open-sourced to address a gap in existing software solutions that facilitate token engineering undertakings. Our simulation environment using cadCAD can be found in our GitLab repository. Please refer to the corresponding Jupyter Notebook to find more details about the calculations and graphs shown throughout the article.
Model Description & Assumptions
Our smart contract implementation uses token bonding curves to mint ERC20 tokens in exchange for a specific amount of Dai determined by the “Buy” function. For the purpose of Molecule Catalyst, we are not relying on the actual price discovery functionality of bonding curves. Therefore, we are currently considering a simple, linear price curve before diving into more complex variations. Since we immediately want to separate parts of the contributed collateral so that researchers can start with their studies, every buy transaction is “taxed” and that part of the contribution is sent to a vault that can only be accessed by the project lead. The remaining part of the contribution is retained in the bonding curve contract and acts as a buyback reserve for the distributed tokens. Token holders can thus always redeem their tokens in exchange for Dai collateral according to the “Sell” function, but this only becomes a worthwhile choice when additional supporters have driven up the supply and price.
Even though this setup creates a continuous source of incoming capital, it might not be suitable to release it continuously to the receiving party. For our purpose, researchers need to provide budget constraints which ensure that funding is only distributed when amounts are reached that actually allow completion of the outlined tasks. Campaign creators can also add successive vesting goals for which they can fundraise using the same bonded market. If the last funding goal is reached successfully, the issuing of new tokens will be switched off. At this point in time, the smart contract will automatically determine a new withdraw function and token holders can return their stake until all the remaining collateral is redistributed.
Supply graphs are the most common form of visualizing token bonding curves but they are only showing the market state at a certain time and lack a general time dimension. To simulate how the fundraising will behave over time, we set our simulation timesteps to days and assumed growth of the contributor base according to a sigmoid function. This means that we will start off with very few early adopters, followed by a steep uptake at intermediate times and lastly ends with stragglers joining at late stages.
Results & Insights
The variance or sensitivity to a parameter can often tell you a lot more than the raw result of an experiment. This is especially true in a black-box system or a system where there is large uncertainty surrounding the exogenous inputs or collective behavior of actors in the system. Instead of looking at a very specific scenario, we looked at the best and worst outcomes and determined the bounds of the system in this way. The following sections will outline some of the parameters we have investigated and explained how they can be tuned to get closer to the desired network effects.
Net Asset Valuation as a Metric for Contributor Success
The Net Asset Valuation (NAV) is the sum of a contributor’s total assets — the amount contributed, minus research tax, plus the theoretical valuation of their project token balance were they to liquidate all of them. This allows us to take snapshots at specific points in time and determine how much Dai all investors would end up with if they returned all their tokens back to the bonding curve. The graph below shows how the holdings of individual backers change over the simulated time steps.
Every user starts off with 1000 DAI. After contributing, the NAV immediately drops by 20% to 800 DAI since the difference of 200 DAI is directly forwarded to the research initiative. With every consecutive buy-in of a new supporter, the value of assets increases according to the bonding curve function. Obviously this is just a hypothetical value distribution since every single sell transaction would decrease the NAV of all the other token holders. Nevertheless, the NAV provides a nice way to describe how project stakes develop over time.
Different Taxation Scenarios
Choosing the rules for buy taxation is a major factor in steering user behavior in the individual project markets. Settling on a behavior decides how quickly funding accumulates and how incentives are distributed between early- and late-stage backers. We mainly investigated two different scenarios. The simplest way is to always remove a fixed percentage from any buy transaction, also know as a buy tax. This means that the growth of funding and curve collateral is independent of the outstanding token supply. A second approach could be to use a dynamic tax rate that increases with the number of minted tokens. Starting with a low tax rate that increases with supply means that late-stage contributors send less to the collateral pool that rewards other backers and more go directly to researchers. This should help with mobilizing backers at late funding stages.
To describe the impact of the tax rate, we will compare three different scenarios:
- Scenario 1: Tax rate of 20%
- Scenario 2: Tax rate of 80%
- Scenario 3: Tax rate increases from 20% to 80% with supply
Let’s start by comparing how funding and collateral accumulate over time for the different setups. The figure below shows that lower tax rates mean that funding accumulates slowly while the collateral pool quickly reaches high values. Using a low tax rate means that a lot of funds are needed to reach reasonable vesting goals which might make it unsuitable for non-profit fundraising since a lot of money that could be used to finance planned research is locked-up in the market. Naturally, the opposite happens for high tax rates. Funding accumulates quickly and is put to good use but the incentives created by the accumulated collateral might not be strong enough to create the desired network effects. Introducing a dynamic tax rate allows for an intermediate scenario where we balance out funding and collateral contributions over time.
Investigating the backer portfolios confirms the trade-off the tax rate introduces. For low tax rates, it becomes more likely for contributors to increase the value of their project stakes. On the other hand, high values remove that possibility.
Experimenting with Contributor Behavior
Since contributions on Molecule Catalyst happen on a non-profit basis, we assume that most backers will stick to acquiring project tokens and hold them until the campaign closes before returning the tokens for a share in the market collateral. The second most likely behavior in our opinion is that they will return their project tokens after they gained a certain amount of value. This can easily be simulated by introducing a sell action when the NAV of a supporter goes a specific percentage above the initial contribution value. The figure below compares the evolution of the NAV for the buy & hold and the sell-at-ROI scenarios.
NAVs start to stagnate after reaching the sell-threshold values since the user sells all their tokens. At the same time, a selling event reduces the NAVs of all remaining token holders, as seen by the spikes followed by a steep drop. At the current stage, we think that it is rather unlikely that users will interact multiple times with the crowdfunding campaigns and put most emphasis on these two patterns in our modeling efforts.
Collateral Redistribution
Since bonding curves strongly incentivize early support, it might prevent users from contributing to campaigns when the last funding goal is close to being reached. In that case, there is almost no potential of the project tokens to increase in value and the collateral pool distribution will go to earlier backers as a reward. To counteract this, we played around with different sell mechanisms after token minting has been deactivated. We think one of the more interesting approaches in that sense is to determine a constant token sell price by dividing the remaining collateral by the number of outstanding tokens. This creates a fair redistribution price and prevents late-stage contributors from oversubsidizing gains of early backers that still hold their stakes when the campaign closes.
We can observe the effect of this rule by plotting the Return of Investment (ROI) distribution for all contributors after the redistribution. For the purpose of this example, we will compare the effect of the two different backer “trading” patterns outlined in the previous section.
If all users hold their tokens until the campaign ends, we end with a broad unimodal distribution. Most contributors will have lost some value in their project stake but in return have created positive impact for early supporters. Their increase in stake can be seen as a reward for creating traction around the campaign.
On the other hand, if users monitor the value of their token holdings and decide to sell when they made a certain profit, more early contributors walk away with a return on average, but a lower one, and the really late stage contributors lose less value for their stakes.
Summary and Outlook
This post provides some examples of the different design parameters when creating a bonded market and how they can be tuned to achieve the desired effects.
The most important factor is to decide on how transactions are taxed and how funding flows to the researchers. High tax rates mean that the majority of a contribution goes directly to the funding pool while only a small amount is used to back the project tokens. This is favorable since the money is put to good use but it might lower the incentives created for backers to promote and engage with the project. On the other side, low tax rates highly reward early contributors but pose an economic inefficiency by locking up a lot of capital in the market. To reduce the shortcomings of very late stage contributions, we think that it will be necessary to adjust pricing functions when market close and create more favorable redistribution scenarios. But it is important to mention that bonding curves are not magic money-making mechanisms but only redistribute value between contributors based on the time when they entered the market. We need to be able to balance rewards for early contributors with the willingness of later-stage ones to waive their project stakes.
Predicting the behavior of real users is a very difficult task and will have a big impact on how the dynamics of the platform play out. With Molecule Catalyst we want to launch a platform that allows us to observe how real users interact with bonding curves and I return creates data to improve our simulation environment. We plan on experimenting with different settings for different funding campaigns and ultimately increase the effectiveness of crowdfunding for science. We want to show that the usage of bonding curves creates the desired effects of shifting promotional aspects from researchers to contributors and that the market can act as a measure of confidence in the underlying research initiative.
For more information on the Catalyst architecture, please go take a look at our previous article: A Catalyst to Funding Research — A dive into the architecture of Molecule’s Alpha