A quick guide to the new Interactive Coin Offering
Jason Teutsch and Vitalik Buterin just published a whitepaper that introduces a new protocol for ERC20 token crowd-sales. The outline serves as a working guideline for the implementation of Smart Contracts engineered to automate the sale’s process. The declared goal of the effort is to realize an:
“equilibrium of purchase amounts whose sum is satisfactory to all buyers”
After reading their proposed algorithm, my humble opinion is that their approach might even go as far as solving most of the issues plaguing the ICO procedures so far adopted.
The old days: Capped vs Uncapped?
The past token crowd-sales have been systematically unable to guarantee the following fundamental characteristics:
- Equal chances of participation
- Resilience to censorship
- Certainty of valuation
- Reasonable token liquidity
Only a handful of the past crowd-sales went as far as satisfying two out of four of these prerequisites, due to antithetic nature of the sale approaches that so far have been adopted: Capped vs Uncapped.
Capped sales achieved million of dollars of crowdfunding in a very short time span (sometimes lesser than few minutes) by setting a fix number for the price for the single token and for the maximum/minimum amount of tokens to be sold. The main issue plaguing this kind of strategy was its unfairness and vulnerability to DDoS attacks. For example, whales raising the transaction fees to exaggerate levels meant that small buyers were often left unable to participate.
Uncapped sales, instead provide buyers little clue as to the general valuation of the tokens they purchased which is problematic when trying to judge whether the token price was fair or not. Also, from a psychological perspective, community investors sometimes feel that uncapped sales are primarily motivated by greed and tend to include the uncapped sales among the list of their concerns (i.e. EOS and Tezos crowd-sales).
The new ICO protocol
Differently than previous mechanisms, the whitepaper outlines a new approach that favors the uncapped methodology but introduces new important differences:
- Together with the bid, the participant provides also a a maximum sale valuation at which they are willing to participate. This is defined as personal cap.
- The participants are granted a fixed period of time in which they can withdraw their bids and, most importantly, the Smart Contract can operate a partial or total refund of the bids under certain conditions. The protocol advocates for a 30 days crowd-sale with a withdrawal lock period to commence in the last days of the sale.
- The approach includes a mechanism for progressively decreasing discounts with time. This is designed to model an inflation ramp that encourages early participation and help forming a liquid market. The proposal mentions an initial 20% discount that progressively decreases to 10% after the withdrawal lock and disappears shortly after.
- The fees for submitting transactions are kept flat based on Ethereum gas price.
Definition and initial steps
In an (admittedly over-simplified) attempt to summarize the sale algorithm, following are the initial steps outlined by the protocol.
This part is really important. As shown later on, the personal cap plays a fundamental role in reaching the equilibrium between an expected project valuation and the condition at which a buyer is willing to perform the token purchase.
The withdrawal lock period is designed to discourage whales to withdraw their bids at the last moment. The guidelines suggests the lock to happen 10 days before the end of the crowd-sale.
The valuation (V) is defined as the crowd-sale valuation at a given time. Given the undetermined nature of the token issuance, V is a dynamic variable that changes with time.
The core of the algorithm and reaching the equilibrium
This is the core of the algorithm. The general idea is to reach the equilibrium by refunding the contributions after each iteration (block). The refund happens for those bids with personal caps lower than the V. We call such bids insufficient bids and we call S the total amount in tokens of these insufficient bids.
- If the V-S is greater than the minimum of all personal caps, the insufficient bids are entirely refunded. This means that, at the end of this step, V decreases of the amount S
- Otherwise the insufficient bids are partially refunded and only a fraction of these insufficient bids comes out of the crowd-sale. In this case, at the end of this step, V decreases to match the lowest personal cap of the active bids.
Basically the loop terminates when the equilibrium between minimum personal cap and the value of the crowd-sale is reached.
Aftermath
The promise of the Interactive Coin Offering algorithm is to satisfy all 4 desired prerequisites listed at the beginning of this article.
- It achieves fairness in chances to participation since the property of decreasing valuation makes sure that large or small purchases are treated equitably.
- The extended period of 30 days makes it impractical and overly expensive to bait miners into censoring transactions based on high transaction fees.
- Although there are similarities with an uncapped sales, the mechanism allows buyers to get refunded if the valuation reaches an amount that they consider unreasonable. At the same time, participation is guaranteed when a desired purchase quantity gets specified for each valuation.
- Token liquidity is encouraged by introducing an increasing inflation. Also the proposal mention the possibility for bidders to provide a personal minimum which can be used to get a refund if the project results underfunded
Considerations and Web3 Ventures
As a longstanding advocate for bringing method to the ICO’s madness, I personally applaud the effort to create a standard guideline. It is never a trivial task to cover the gap between a whitepaper and actual working code but the algorithm outlined is well-thought and simple enough to be implemented and tested promptly.
Next step for me and the guys at Web3 Ventures will be an actual implementation attempt of the Interactive Coin Offering smart contract template to systematically reduce any uncertainty and drawbacks in our incubated ICOs.
Stay tuned for more. In the meantime you can connect with me on Twitter and Linkedin