solidity程式設計師設計出售函式的一個非智慧方式是以迴圈的方式一次出售一個代幣,即:每次賣出一個代幣並讓價格向下調整。這將花費與你自己操作相同數量的gas。所以這種實現毫無意義。相反,我們將使用微積分一次性計算出正確的以太幣的數量。
微積分
在上圖中,以太幣計價的價格曲線是P = Q.假設存在Q0代幣並且你希望購買Q1-Q0。你不會支付P0,因為它價格太低而且你不會支付P1,因為它價格太高了。你需要某個中點價格,與一次購買一個代幣具有相同的效果。從基本微積分中,我們知道曲線下方的面積是你將花費的總和,並可以只需計算Q1和Q2之間的定積分。或者,我們計算原點和Q1之間的定積分,並從中減去原點和Q0之間的積分,得到用紅色標記為A部分的面積。
價格函式的積分是
曲線下面的面積
我們現在用實數。假設Q0的值為3(意味著P0也為3),Q1的值為7(意味著P1也為7)。
要計算A的面積,我們插入數字:
這意味著你需要支付的總金額為20 eth。但在我們購買之前,我們想知道為每個代幣支付的平均價格。這足夠簡單:
使用微積分,聯合合約可以允許買賣任意大量的代幣而不需要花費更多的gas,並確保合約始終能夠履行其以太幣的義務。
啟示
現在我們瞭解了在概念層面它的原理了,我們將探討聯合合約的一些重要啟示,這使它比傳統的ICO酷多了:
1. 如果買賣函式遵循相同的曲線,那麼以太幣就不能從合約中取出。它必須保持100%完全保留。這意味著專案建立者必須專注於使他們的代幣受歡迎,從而在建立者和使用者之間保持同樣的激勵。他們不能發動退出騙局。在某些情況下,在買入和賣出曲線之間建立價差可能是可取的。所有這一切都意味著你賣出的以太幣少於買入時支付的以太幣。這個以太幣的價差是專案建立者的收入。
例如,買入價格為P =Q²,但賣出價格為P = Q.這似乎是專案建立者精心安排退出騙局的好方法。然而,對生態系統的興趣增加仍然意味著有更多的收入,因為代幣出售得特點是不間斷的。
換句話說,即便使用者流失產生的收入也超過一次性銷售。所以這個功能仍然可以獎勵那些具有長期增長前景的專案而不是那些打一槍就換個地方的騙局。
2. 正如許多ICO所承諾的那樣,聯合曲線實際上保證瞭如果有更多的買家參與,早期買家能夠出售代幣獲利。它自然地獎勵早期採用者並鼓勵人們口口相傳。
3. 代幣買家有一個即時市場,這意味著他們不必等待專案建立者將代幣在所有主要交易所上市。然而,二級交易所仍將有助於生態系統,特別是當存在買賣函式之間的價差時。代幣的價格始終是100%透明的。
4. 問責制:Vitalik Buterin建議將DAICO作為根據DAO管理ICO的一種方式,該DAO設定燃燒率並使社羣能夠凍結操作。聯合曲線模型確保了一個受到驚嚇的社羣可以透過出售所有代幣,從而將價格降至零的方式立即向開發人員追究責任。那時,即使買賣之間存在差價,對團隊來說,市場實際上已經枯竭。
結論
我希望這篇文章詳細解釋了這個令人興奮的新代幣模型是如何運作的。如果還是不清楚的話,請告訴我,我會把它充實並根據需要重新發布。