通證工程學入門之四:通證設計的方法論(譯)
本篇介紹了通證設計中可以參考的一種方法論,借鑑了優化系統的設計方法論中的步驟。
不重複發明輪子,從已有的設計方式和思路之中得到啟發,從而構建實踐導向的通證設計方式。
本文原文: ofollow,noindex" target="_blank">https://blog.oceanprotocol.com/towards-a-practice-of-token-engineering-b02feeeff7ca
簡介
筆者認為,通證設計總有一天會被當作一門工程學科來對待,本文是一些初始筆記。
首先,我會描述優化設計領域中一種結構化的方法論。然後,會說明如何在激勵設計中應用類似的方法論。
接下來,我會描述在電路設計中用到的一些重要工具:模擬器和CAD 工具;以及如何將它們用在電路設計之中。
最後,我會列舉一些設計模式。
優化設計方法論
在優化器設計領域,雖然社群之間的溝通較少提及,但是演算法的實踐者所做的事情非常相似。想要做出來恰好夠用的優化器系統,他們遵循瞭如下的步驟。有些人自己並不覺察,但是行家卻是系統性地採用這些步驟:
1、界定問題
他們假設演算法“能夠生效”,他們關注的是根據目標和約束(目標)和設計空間(優化器可以探測到何處,這實際上就是約束條件)來界定問題。
2、嘗試現有的求解器(solver)
他們針對這些目標執行演算法,解答問題。優化演算法的程式碼通常被成為“求解器”. 如果不成功,實踐者們會換用其他不同的問題制定方式,不同的求解器以及不同的求解器引數來嘗試。
3、尋找新的求解器?
如果嘗試了各種各樣的方式後,第二步都不生效,那麼人們會考慮建立自己的求解器,即設計新的優化演算法。
我們來看看更多的細節。
優化方法論的細節描述
第一步: 界定優化問題
幾乎所有的優化相關的論文,都列出了目標和約束條件。拿我自己的工作為例,這篇論文中的公式(1)是在一個根據語法定義的搜尋空間中實現多目標約束優化的公式。這裡有一個片段:
另一個例子,這篇論文(第2節)中的方程(1)和(2)提出了一個在n維連續值變數空間的隨機單目標優化(“最大化產出”)問題。
用目標,約束和設計空間來界定問題並不容易。實際上,這麼些年來,它仍然是一個非常需要的創造力的藝術(就是說,這很有趣!)。有很多種方式來界定問題; 這些方式並不相同。幸好,你可以在實踐中做得越來越好。我見到在EA社群和電路CAD社群中有些朋友在界定問題的藝術上具備高超的技巧。
例如,一個公式可能很容易解決,另一個可能是NP-困難問題,你不確定能夠完成任何問題。在凸優化領域中,有一個人們所使用的大技巧: 他們將被認為是NP-困難的問題,然後應用技術將其轉換為凸問題(例如,放置位置正確的日誌操作符)。然後,這些凸問題可以來使用轉化求解器比如幾何規劃,在多項式時間內解決。我在這方面也取得了成功; 對於上面的截圖中所總結的問題,我給樹歸納問題(類比電路合成)添加了語法約束,得到了1000倍的執行時改進,優化器的結果也有所改進。
或者,如果你使用進化演算法(EA), 想設計從設計點→適應度的對映, 這樣設計的小變化,通常導致行為的微小變化, 以及最終適應度的變化。(我稱之為平滑操作符).
第二步:嘗試現有的求解器
理想情況下,你可以用上述的方式界定問題,以便應用現成的求解器或演算法。之後就可以執行求解器,看看結果如何。
如果生效的話,那你的工作就完成了,可以停下來了!
至少有兩種情況,可能導致上面的辦法不奏效。
首先,如果求解器收斂性不夠,那麼你可以嘗試不同的問題界定方式,嘗試不同的求解器或者引數。
其次,求解器也可能過度收斂,導致得到的設計並不靠譜。要解決這個問題,可以對問題加以修改: 新增新的約束條件或提高模型/模擬器的準確性。如果你發現自己正處於不停新增約束的冗長迭代之中(“AI whack-a-mole”),那麼可能你要重新考慮下用更廣泛的方式來解決問題。
第三步: 新的求解器? 如果需要的話,自己設計一個新的優化演算法
有時你會發現,現有的解決方案都不夠好。也許你需要更好的度量,或者需要處理一些難以建模的約束,或者其它問題。這時候就需要你去進行演算法設計的研究了。演算法設計時,你通常會利用現有的構建塊,加上自己的想法。設計新的演算法需要花費大量的時間,但是如果做好了的話,你可能能夠解決問題,得到數量級的改進,例如FFX。
(這會很有趣,我可能忘記說了.)
通證設計方法論
出塊獎勵是區塊鏈網路目標函式的表現形式之一 — 你想要最小化或最大化的物件。這可以得到泛化。通證設計與優化演算法設計有些類似。因此:
我們可以用優化設計的方式來進行通證設計。
我們可以取來優化設計領域的步驟,轉用在設計通證生態系統之中。
1、界定問題
寫下通證生態系統的目標和約束。
這意味著要問如下問題:
- 誰是我的潛在利益相關者?
- 他們每個人想要什麼?
- 攻擊向量是什麼?
然後將它們轉換成可以測量的目標和約束條件。
2、嘗試現有的模式
確定是否存在一個現有的解決方案(solver),即可以解決你問題的通證網路設計模式。例如,如果您正在尋找“優秀”參與者/資產/等等的列表,那麼通證管理清單(token curated registry) (TCR)的設計模式可以嗎?
稍後我將對此進行詳細說明。
如果這不起作用,你可以嘗試界定問題的不同方式、不同的解決方案或求解器的不同引數。
例如,如果它收斂於你不想要的行為,你可以新增一個約束條件來阻止該行為。
3、新的模式?
如果需要的話,建立你自己的解決方案,即,自行設計通證網路。當然,在設計時,你可能會用到已有的構建模組,比如TCRs或者仲裁模組。
本文原文: https://blog.oceanprotocol.com/towards-a-practice-of-token-engineering-b02feeeff7ca
多位同學反映,單看一篇的話很難理解,我這篇文章的提綱先列出來,後續會把後面的部分補齊。
1、簡介
介紹文章的主題,如何設計激勵機制?因為激勵機制實際上是通證生態系統設計的核心,所以,也是要回答這一問題:如何設計通證生態系統?
2、工程學,博弈論及其他
作者將通證設計(token design)與已有的其他學科相關聯,描述其關係
通證工程學,與通證經濟學,博弈論,制度設計等方面有不少相關之處,這部分的譯文見: 通證設計與其他學科的關係: 通證工程學入門之一
3、通證設計與優化設計
作者將通證設計與優化設計和EA(進化演算法)進行了比較,從五個維度來分析不同系統的異同之處。
4、從優化設計的方法論到通證設計方法論
在這部分中,作者先介紹了一般優化系統是如何設計的;並藉助相似的框架來界定通證設計的路徑。
5、通證設計模式
在軟體工程中,我們有軟體設計模式;在建築工程中,也有相應的設計模式。這部分介紹了在通證工程學中的常見通證設計模式。這些組塊可以降低通證系統設計的複雜度,幫助設計者們更好的實現通證生態系統的架構。
6、工具篇:模擬器,CAD工具
這部分介紹了進行通證設計所需要用到的一些工具。藉助合適的模擬器和CAD工具,設計通證生態系統,並進行測試,驗證設計想法,作出改進完善。
7、結論
本文是英文原文中的第三部分:對優化設計和通證設計的比較
相關文章
通證工程學入門之四:通證設計的方法論(譯)
通證設計與其他學科的關係
通證設計與其他學科的關係
通證設計與其他學科的關係
通證設計與其他學科的關係