TE 系列 2 :代幣工程實踐 — — 方法論、模式和工具
1.前言
在上一篇的文章中,我們了解了為什麼在構建代幣化生態系統時需要制定正確的激勵機制。這裏,我提出一個問題 — — 如何為代幣化生態系統制定激勵機制?實際上,基於激勵機制是代幣化生態系統的核心這一認識,我們應該將這個問題轉化為 — — 如何設計代幣化生態系統?以及如何對代幣化生態系統進行分析和驗證?
這篇文章是我們邁向代幣工程實踐的第一步,內容涉及分析、設計和驗證代幣化生態系統的理論、實踐和工具。
文章的第一部分,我們將代幣設計與其他領域聯系起來,並解釋我們為什麼要說它是一門“工程學”。然後其余部分,我們試圖利用現有領域的研究成果,一步一步走向我們的目標:
我們可以將代幣設計像優化設計一樣表述出來,然後將優化設計的一套方法運用到代幣設計。
我們也可以將代幣設計過程中出現的新模式記錄下來形成文檔,就像軟件工程模式一樣,多次使用某一解決方案,而不必重複開發。
電路設計領域有仿真、驗證和設計空間探索 (CAD 工具集) 工具,可以幫助工程師分析、設計和驗證極其複雜的芯片設計。所以我們可以預見,代幣化生態系統今後也會有類似工具。
2.工程學、博弈論和其他領域
本節將介紹代幣設計與其他領域的相關性。
2.1 塔科馬海峽吊橋
工程課程的第一周,教授神情嚴肅,讓我們觀看了這個視頻:
塔科馬海峽吊橋是如何倒塌的?畢竟,設計師在設計時肯定考慮了抗風問題。但是,他們沒有考慮到的是,特定的風況下會發生橋梁共振現象。當對共振系統施加周期性作用力時,隨著時間的推移,共振產生的振動幅度會逐漸擴大。如下圖所示,其中綠色 = 非共振,紅色 = 共振 = 災難。
這個視頻想要告訴我們的是,設計需要責任感。如果進行詳盡調研,並且運用相應理論、實踐和工具,橋梁的設計者原本可以避免這場災難的發生。在我多年的學習生涯中,也曾多次在其他教授的課堂上觀看這個視頻。視頻讓我學到了很多,我也順利完成了學業,在儀式上獲得了工程師之戒。在加拿大,所有畢業的工程師都有工程師之戒,象征著工程師們對公眾的義務和道德。據說,戒指是用倒塌橋梁的金屬鑄造而成。
2.2 博弈論與機制設計
博弈論是一個從經濟角度分析激勵機制的科學領域。經濟學上關於設計(綜合)激勵系統,有一個分支,稱為機制設計。實際上,從理論上講,機制設計正是設計代幣化生態系統領域的內容。多年來,這個領域的研究人員提出了許多偉大的理論,幾乎達到了諾貝爾獎的水平。與此密切相關的是經濟博弈論。
然而,通常來說,並沒有很好的方法可以將理論與實踐相結合。畢竟,學術經濟學家(實際上或者說任何人)多久才能有一次部署經濟的機會呢?這正是我們在設計代幣化生態系統時面臨的確切問題。最具相關性的可能就是視頻遊戲經濟和公共政策設計。
不過事實證明,如果帶著一些實際約束條件聚焦於機制設計,最終得到的是優化設計!多年來,從事優化設計的人在部署優化系統方面擁有大量實踐經驗。包括我自己也是這樣:我的第一個和第二個初創公司(ADA、Solido)做的都是這方面的東西,提供的是工業級電路設計。
2.3 其他相關領域
許多其他領域也與代幣設計有一定的相關性。至少可以說,這些領域的專家會發現他們的技能可以很好地轉化運用到代幣設計上。這些領域包括電氣工程、複雜系統、經濟學、人工智能等眾多學科。下圖中我列出了一些相關領域。同時我們可以發現其中很多領域與控制論都有著較深的淵源。
2.4 工程學與代幣設計
代幣化生態系統設計,我們應該如何稱呼這個領域?下圖中我列出了一些與代幣相關的名稱。
前四項比較偏重經濟學。但是沒關系;從分析價格走勢、評估價值等活動上來說,這也是可以講得通的。
我個人是學電氣工程出身的。電氣工程師們(EEs)是做電路設計的,我們有理論、有實踐,要做的是構建能夠正常運作的系統,比如你正在閱讀的屏幕、為屏幕供電的芯片,又比如你頭頂上的燈。
工程學是一門系統學科,需要進行嚴謹分析、設計和驗證,需要借助理論與實踐相結合的工具進行研究。工程學也是一門社會學科,需要高度社會責任感,需要對自己制造出來的機器負有責任,既要符合倫理道德,又要具備專業素養,就像塔科馬海峽吊橋倒塌事件和工程師之戒所呈現的那樣。
我見證了 90 年代軟件工程學科的興起;它的興起是必然的,因為它鼓勵的是嚴謹性和責任感。
我非常期望看到代幣生態系統設計也能發展為一門工程學科,成為一門與電氣工程、軟件工程、土木工程、航空航天工程等學科並列的工程學科。這也就是說代幣生態系統設計也會成為一個嚴謹分析、設計和驗證的領域。它將擁有自己的工具,將理論與實踐很好地結合起來。它將以社會責任感為指導原則。我們可以稱之為代幣工程。
[註:至於為什麽選擇使用”代幣 token”一詞,而不是”incentive”,是因為”token”更為簡潔,更易於和”代幣經濟,Tokenomics”對應起來。]
下圖顯示了這些字段之間的關系。目標是代幣工程設計實踐。
3.代幣設計與優化設計
代幣設計就像優化設計:從較高的層面來看,你使用區塊獎勵函數(即目標函數)對意圖進行編碼,然後就可以讓它運行起來。像往常一樣,Simon de la Rouviere 在他的文章中,History Is Rhyming: Fitness Functions & Comparing Blockchain Tokens To The Web,最早提出這一觀點。
除了優化設計,還有一個比較對象可以讓我們更具體地理解代幣設計,就是進化算法(Evolutionary Algorithm)。代幣設計可以說更像進化算法的設計,因為兩者都是一次使用多個 Agent(主體)進行”搜索”,並且都不對 Agent 的行為進行自上而下的控制。Agent 的留存也取決於他們的區塊獎勵或適應度。下面這張圖表對兩者之間的關系進行了概述與總結。
有了這些相似之處,我們就可以將優化設計或者進化算法設計中的最佳實踐運用到代幣設計。這對於我們來說是一個好消息,因為在設計進化算法和優化系統這兩個領域裏,很多人都是大師級的專家,有著豐富的理論和實踐經驗。
接下來讓我們詳細解釋表格中的每一行內容。
3.1 目標
代幣化生態系統和進化算法都有要實現的目標,目標是以目標函數(最大化或最小化的事物)和約束條件(必須滿足的條件)的形式表示出來。更複雜一點情況,甚至可以設置隨機目標。
代幣化生態系統的區塊獎勵函數(目標函數)可能是”最大化哈希率”,而進化算法的目標函數可能是在進行深度網絡訓練時”最大限度地減少誤差”。約束條件可能分別是”只有質押量≥閾值時才能參與”和”深度網絡層數 = 100"。
衍生版本包括單目標優化(1 個目標函數,0 個約束條件)、約束補償(0 個目標函數,≥1 個約束條件)和多目標約束優化(≥2 個目標函數,≥1 個約束條件)。
3.2 衡量和驗證
代幣化生態系統使用證明來驗證或衡量目標(目標函數和約束條件)是否成功,而優化則使用模擬器評估適應度來衡量目標的成功。
例如,比特幣節點通過驗證參與者猜測的隨機數是否解決了加密難題,來證明參與者是否完成了工作量。
優化器可以通過運行電路微分方程的 SPICE 仿真模型,來測試電路的好壞。仿真結果的好壞可以看它們是否通過基爾霍夫電流和電壓定律的測試。
3.3 系統主體
在這兩個系統中,Agent(主體)都是圍繞”做事”運行的。
在代幣化的生態系統中,為了獲取區塊獎勵,網絡利益相關者(例如礦工,或者更廣泛的參與者)會不惜一切代價,爭先恐後做能做的事情。例如,在比特幣中,一些 Agent 可能會設計、構建和運行 ASIC(專用集成電路)芯片以獲得更高的算力(哈希率)。其他一些 Agent 也可能會匯集他們現有的計算資源。系統不需要對生態系統中的所有利益相關者進行顯式建模。例如,比特幣沒有對銀行、國家或公司設置特定角色;所有的參與者都是礦工。
而在進化算法中,種群(Population)是由一個個個體組成的集合。如果個體表現”好”,種群就有較好的適應度。個體適應度高,被選擇留下來的可能性也更高,然後對其進行交叉(例如插值)、變異(例如隨機擾動參數)等基本運算過程,就可以產生下一代個體,組成更優的種群。
3.4 系統時鐘
每個系統都有一個時鐘。系統時鐘表示的是一個時間維度,用於記錄事件進程和收斂發生的先後順序。
批次:通常,Agent 是分批次或分周期進行處理的。代幣化生態系統會定期生成新區塊並給予區塊獎勵。新區塊指向舊區塊;系統中的新工作將添加到新區塊中;等等這些。這個區塊鏈表包含著一個 Lamport 邏輯時鐘。在進化算法中,一個批次就是一代,一代中的個體一次全部更新。每個代際循環可能包括:評估個體,選擇最優個體,讓他們產生新的個體,以此重複。
連續:在某些系統中,Agent 是連續處理的,而不是批量處理。這些系統通常需要更多的工作進行概念化,但可能會為某些問題帶來更優的性能。例如,在代幣化生態系統中,Stellar 交易只需要仲裁片區(Quorum slice)參與者進行驗證,或者像 Iota 中那樣將另一個節點添加到有向無環圖(DAG)中。而在進化算法領域,我們可以選擇一種穩態進化算法,每次叠代過程只替換一個個體。
3.5 激勵與抑制
系統本身無法控制 Agent 的行為方式(或者至少,它不應該需要控制它們)。因此,最高層級的行為必須是 Agent 自下而上行為湧現的結果。這對於代幣化的生態系統是必要的;否則他們就是中心化的!但這對進化算法來說不是絕對必要的,儘管許多進化算法為了保持簡單性、優雅性或滿足其他設計目標而采用了這種方法。
這意味著系統只能獎勵或者懲罰行為,也就是胡蘿蔔加大棒,又或者稱為激勵和抑制。在設計系統時,我們設計了對什麽行為給予獎勵或懲罰,以及如何給予獎勵或處罰。
在代幣化的生態系統中,獎勵表現為區塊獎勵,處罰則表現為削減權益。前者通常是目標函數;後者則是一些(但不是全部)約束條件。
在進化算法中,獎勵和懲罰都歸結為哪些個體被選為下一代個體的父母。例如:隨機挑選兩個個體,選擇其中最好的個體(遺傳到下一代種群中),重複多次,直到滿員(錦標賽選擇法,即每次隨機選取幾個個體之中適應度最高的一個個體遺傳到下一代種群中,重複多次。);個體被選中的概率與其適應度大小成正比(輪盤賭選擇法,又稱比例選擇方法,即利用各個個體適應度所占比例的大小決定其子孫保留的可能性。)。最重要的是,進化算法不需要引導個體,例如無梯度優化算法。這就是為什麽代幣化生態系統最像進化算法,而不是基於梯度的優化器,自上而下地發出指令(使用梯度來挑選新個體)。
4.從優化方法論到代幣方法論
4.1 介紹
本節是對代幣工程的一些初步說明,我們應該將代幣設計視為一個值得發展的工程學科。開始我會先介紹一下優化設計的結構化方法,然後再說明一下如何將類似的方法應用於激勵設計。再接下來,我會繼續介紹電路設計中常用的重要工具:模擬器、驗證工具和設計空間探索工具;以及這些工具是如何應用於電路設計的。最後,我會著手列舉一些設計模式。
4.2 優化方法論
這些領域只是部分地相互交叉。但是算法從業者所做的事情卻都非常相近。他們希望發布能夠正常運作的優化器系統。通常他們遵循以下步驟。儘管專業人士會系統地遵循這個步驟,但是也有一些從業者不受限於這個步驟:
(1)問題表述:假設算法”正常運作”,重點是進行問題表述,這一過程將涉及到目標函數和約束條件(目標)、設計空間(優化器可以探索到的地方,這實際上也是約束條件)。
(2)嘗試現有的求解器:然後根據這些目標,運行算法,並讓算法進行”求解”。優化算法的代碼通常簡稱為”求解器”。如果無法求解,算法從業者將通過嘗試不同的問題表述,又或者嘗試不同的求解器和求解器參數,對其進行叠代。
(3)設計新的求解器:如果之前的求解步驟無法正常運作,甚至在多次嘗試不同的問題表述之後也是一樣,算法從業者也會考慮推出自己的求解器,即設計一種新的優化算法。
下面我們對每個步驟進行更具體的探討。
步驟 1. 問題表述
幾乎查看所有與優化相關的論文,你都會看到論文中描述的目標函數和約束條件。以我自己的論文為例,這篇論文中的等式 (1) (在第 5 節中)表述的是一個帶約束的多目標優化問題,在語法定義的搜索空間內進行搜索,下面是一段內容:
我們來看另一個例子。這篇論文中的等式 (1) 和 (2) (在第 2 節中)提出的是一個隨機單目標(”收益最大化”)優化搜索問題,在多維連續變量空間中進行搜索。
對問題中的目標函數、約束條件和設計空間進行表述並不是一件容易的事情。事實上,即使過了這麽多年,問題表述仍然是一門創造性的學問。(這也意味著它很有趣!)問題表述有很多方法與技巧;並且不是所有人都具備同樣的天賦。幸運的是,你可以通過練習將問題表述得更好。我在進化算法(EA)和電路計算機輔助設計 (CAD) 領域都有看到一些朋友,他們在問題表述這門學問上真的表現出極高的水平。自己最了解自己的水平:)
- 例如,一個問題可能很容易就解決了,而另一個可能是 NP 難題,可能不存在什麽有效算法,你無法保證任何事情。這是凸優化領域人們使用的奧秘之一:他們處理的問題通常都被視為 NP-hard 難題,然後應用技術將這些問題轉換為凸問題(例如,放置得當的對數運算符)。然後,可以使用幾何規劃等凸求解器在多項式時間內求解這些凸問題。我在這方面也取得一些成績;對於前面提到的片段代碼所總結的問題,我在樹歸納問題(模擬電路綜合)中添加了語法約束,結果看到運行時間提高了 1000 倍,優化器也得到了更好的結果。
- 或者,如果你使用的是進化算法 (EA),你希望對適應度設計映射功能,設計上的一點細微變化都會給行為和最終的適應度帶來細微差異。(這些我稱之為光滑算子;)
步驟 2. 嘗試現有的求解器
理想情況下,你對問題進行了問題表述,讓自己可以應用現有的求解器或算法。然後,你只需運行它,觀察它的運行情況。
如果算法有效:這代表你已經完成求解,現在完全可以停下來!
但是它可能至少在兩個方面無法正確求解。第一個情況是,如果求解器收斂緩慢或無法收斂,那麽你可以嘗試不同的問題表述、求解器和求解器參數。
第二個情況是,如果求解器具有很好的收斂性能,可能你會發現這個設計沒那麽可靠,可能得到的只是局部最優解。為了解決這個問題,你可以修改問題:添加新的約束條件或提高模型/模擬器的準確性。如果你已經添加了約束條件,進行了多次叠代之後還是有新的問題出現(有點類似 AI 打地鼠,打完一個又冒出一個),那麽你可能需要重新考慮一下自己對問題的求解是不是過於寬泛了。
步驟 3. 新的求解器?如果需要,設計一個新的優化算法
有時你會遇到一種情況,對於某個問題,現有的求解器表現都不是很好。可能是你需要更好的擴展性,也可能是你需要處理的約束條件難以建模,又或者可能是一些其他東西。這時就需要你去研究算法設計了。當你進行研究時,你通常會利用已有的基礎模塊,然後添加上自己的想法。設計新算法可能會花費大量時間,但如果做得好,就可能為你解決所提出的問題帶來數量級的提升,例如FFX(Fast Function Extraction,快函數提取)。
(而且,我之前有說過,它很有趣!)
4.3 代幣方法論
區塊獎勵是網絡目標函數的體現,也就是你要實現最小化或最大化的東西。從這點我們可以推斷,代幣設計就好比優化算法的設計。所以:
我們可以像探索優化設計一樣,對代幣設計進行探索。
我們可以參照優化設計遵循的步驟,並將其轉化為設計代幣化的生態系統應遵循的步驟。
(1)問題表述:寫出代幣化生態系統的目標函數和約束條件。這意味著我們需要問這些問題:誰是系統的潛在利益相關者,他們每個人想要什麼?系統的攻擊向量是什麼?然後將這些轉化為可以衡量的目標函數和約束條件。
(2)嘗試現有模式:確認是否有現有的求解器,即確認是否有代幣化網絡設計模式可以解決你的問題。例如,如果你正在尋找一個”好”行為者/資產/等的列表,代幣管理註冊表(TCR) 可以幫助你、你解決這個問題嘛?稍後對此我會進行詳細介紹。如果這無法解決問題,請嘗試不同的問題表述、不同的求解器或求解器參數。例如,現有求解器會收斂到不適宜的行為,因此你需要添加一個約束條件來防止這種行為。
(3)設計新模式?如有需要,可以推出自己的求解器,即設計你自己的代幣化網絡。當然,在這樣做時,盡可能使用現有的基礎模塊進行搭建,比如從 TCR 到仲裁,都可以使用。
5. 代幣設計模式
每個成熟的工程領域都有其構建模塊的語料庫。關於建築、軟件、模擬電路和優化器的設計模式,市面上都有相應的著作出版。但是,還沒有人寫過關於代幣設計模式的著作。
儘管如此,代幣設計模式的構建模塊已經開始湧現。有些構建模塊的熱度迅速飆升(例如 TCR)。下面我們來探討下這些基礎模塊。有時它們會組成核心代幣機制;有時他們會被拆分使用以解決特定問題。這裏只是拋磚引玉給出一個簡單的列表,實際上還有許多其他的構建模塊。
- 策展 : 二分法:代幣管理註冊表(Token Curated Registry,TCR),例如維護一個參與者列表,列表只包含行為表現較好的參與者。TCR 的一個子塊對於減少參與者引導過程中的摩擦具有一定的風險;離散價值:Stake Machines ,例如用於鼓勵參與者;持續價值:策展市場(Curated Market, CM),資產受歡迎程度,由其聯合曲線和設計指導原則確定;分級制:每個標簽都有一個 TCR;工作量:策展證明市場(Curated Proofs Market,CPM);NFT 的策展:Re-Fungible Token。
- 身份:初級認證,公鑰、去中心化身份 ( DID );中級認證,TCR;高級認證,例如 uPort 、 Civic 、 Sovrin 、 Authenteq 、 Taqanu 、 Estonia E-Residency ;身份管理解決方案,例如 Spherity。
- 聲譽:聲譽系統融合了策展和身份。
- 治理/軟件升級:這可以是 ZeppelinOS 、 Aragon 、 Colony 等的組合。也許最終可以自動化?
- 第三方仲裁:例如 Mattereum。
- 人工”工作量”證明或計算機”工作量”證明:用於數據、算力等。這是對目標函數的評估。它可以是 Steemit 或 Augur 中的人工工作量,也可以是大多數其他系統中的機器工作量。機器工作量可能是解決一個(可以說)不太有用的難題,比如比特幣,或者更”有用”的工作量,比如 FileCoin 的時空證明。下圖是關於有用的工作量(”服務完整性”)的一個細分列項,按照數據和計算兩個角度進行劃分。
其他對構建模塊進行分組的方法有:
- 如何分配代幣。這包括根據可控的供應計劃釋放的代幣數量 ;100% 預挖礦;銷毀和鑄造;ICO 漏洞賞金計劃 ;以及其他模塊。
- 以太坊代幣標準,如 ERC20 同質化代幣和 ERC721 非同質化代幣。Billy Rennekamp 整理的代幣相關的詞匯,Token Lexicon,也許可以幫助到你。
- 代幣如何估值。代幣作為一種交易手段、價值存儲和記賬單位,可參見 Chris Burniske 的著作,Cryptoassets: The Innovative Investor’s Guide to Bitcoin and Beyond。
- 如何對網絡使用者分組。比如守護者(信任節點,如 PoS 系統中的礦工)、套利者或資源交易者,可參見 Ryan Zurrer 的文章,Keepers — Workers that Maintain Blockchain Networks。
- 如何管理算力堆棧。如何處理、如何存儲等。這方面可以參考幾篇文章,分別是 Fred Ehrsam,The dApp Developer Stack: The Blockchain Industry Barometer;Stephan Tual,Web 3.0 Revisited — Part One: “Across Chains and Across Protocols”,以及我的一篇文章,Blockchain Infrastructure Landscape: A First Principles Framing。
- L1 、L2 、LN 基礎設施。核心鏈是 L1。更高層網絡是為了幫助擴展主鏈,不必每筆交易都和主鏈交互同步。可參見 Josh Stark 的文章,Making Sense of Ethereum’s Layer 2 Scaling Solutions: State Channels, Plasma, and Truebit。
- “加密經濟基元”。基元是代幣設計模式或構建模塊的另一種說法。(Jacob Horne的文章,The Emergence of Cryptoeconomic Primitives, 發布晚於本文。)
此處列舉出的模式只是拋磚引玉;我十分期待看到這個領域有更多的發展。
6. 所需工具:仿真、驗證和設計空間探索工具
6.1 需要什麽工具
為構建”正常運作”的系統,專業工程師通常使用軟件工具來實現目的。軟件工程師經常使用的是免費或相對便宜的集成設計環境 (IDE)。
但是你可能會遇到更複雜的情況。電路設計中,重要的工具是用於仿真、驗證和設計空間探索的工具。隨著時間的推移,工具棧會變得非常複雜。但有了這些工具,一個只有 10 名工程師的團隊就可以在短短幾個月內設計出一個 10 億晶體管芯片。一個優秀的工程師可能正在運行價值百萬美元的工具(100 萬美元是每年工具的使用許可費!)。
⎮“原力與你同在” — — 任天堂 1980 年代的營銷口號
這個新領域需要一些有力工具。我們需要:
(1)模擬代幣化生態系統的工具。模擬工具可以測量給定設計的性能指標。首先介紹的是基於 Agent 的建模,來自複雜性科學和通用人工智能領域。其次是網絡模擬器,已被用於共識算法設計。最後是微分方程(DE)建模,然後利用 DE 求解器,如 SPICE,進行求解。
2)驗證代幣化生態系統的工具。驗證工具可以驗證設計是否有效(根據其性能指標),儘管存在不可控的變量會影響到其性能指標。不可控變量如下 (a) 一個範圍,對於這個範圍內的任一變量值,設計都有良好的表現,或 (b)一個概率分布,對於 >x% 的場景,設計都有良好的表現。這些分別是”最壞情況性能”和”n-sigma 性能”。”n-sigma”是一個表示故障率(失效率)的單位,就像用百分比來表示有效概率和故障概率一樣;設計的目標通常是 2-sigma(5% 的失效率)、3-sigma(0.3% 的失效率)或 6-sigma(大約十億分之一的失效率)。
(3)設計空間探索的工具。這些工具有助於設計人員探索設計空間,即深入了解當可控變量發生變化時最壞情況性能或 n-sigma 性能會發生什麽
6.2.1 仿真工具,以電路設計仿真工具為例
下圖展示了電路模擬器環境的一個示例。左上角的窗口顯示的是輸入設計的原理圖編輯器。對於模擬電路,我們需要選擇電阻器、電容器、晶體管;選擇如何連接它們;以及確定它們的尺寸是多少。輸入的數據隨機自動轉換為一組微分方程,然後使用模擬器進行求解。其他三個窗口顯示各種模擬的結果。順時針方向來看,從右上角開始,三個窗口分別是偏置分析 (直流分析) 、基於時間的分析(瞬態分析)和頻率分析(交流分析)的結果。
6.2.2 驗證工具,以電路設計驗證工具為例
這一節和下一節的示例都是來自 CAD 工具,我曾參與這個工具的開發,索尼、高通的工程師們目前也都在使用這個工具。
圖中的工具可以驗證芯片在一系列最壞的”PVT”條件下不會失效:極端的電源電壓、溫度、負載等。因此,P、V 和 T 是不可控變量。
這個特定的工具使用全局優化器來發現最壞的情況(worst case),該優化器循環操作電路模擬器,試圖優化故障。
6.2.3 設計空間探索的工具,以電路設計工具為例
下圖展示的是一個探索設計空間的工具。它報告了變量對各種輸出的相應影響(左),以及設計變量如何映射到輸出(右)。工程師拖動橙色十字準線可以更改設計。
現在這些工具都是現代芯片設計領域廣泛使用的工具,當然芯片設計還有一些其他工具。上世紀七十年代,開始使用模擬器,八十年代 CAD 工具上線;沒有人會再用更早時期的工具了吧。這些工具對現代芯片的設計來說至關重要。現代流程工業生產中,一個設計投入生產的成本通常超過 5000 萬美元;在投入 5000 萬美元之前,如果不對設計進行驗證和優化,使其達到一個可能的最佳水平,可以說是比較愚蠢的行為。
然而,在代幣設計的領域內,我們正在構建和部署的生態系統,有望成為一個數十億美元的生態系統,但是在這個領域內幾乎沒有任何可以使用的工具。可以說目前代幣設計的發展,甚至還不能同 1970 年的電路設計發展水平相比,畢竟那時電路設計領域都有模擬器可供使用,我們卻什麽都沒有。非常期待有一天我們可以把代幣工程發展到同樣的水平。
6.3 工具的限制性
我承認在複雜的芯片和經濟體之間有一個非常關鍵的區別:人在循環中的作用。芯片是封閉系統。而人在經濟體中,會增加建模的困難。但是,我相信我們能夠改善目前”一無所有”的現狀,因為我們每天構建的系統,人類都參與其中。對此我還有幾點補充想法。
一種方案是不要嘗試對黑天鵝事件進行建模,而只是將潛在的負面影響最小化(如果發生的話)。
或者,我們可以讓人作為”模擬器”的一部分參與其中,激勵人去思考攻擊的方式及其解決辦法。現有的做法就是這樣:設計代幣的人讓他們的朋友設想新的攻擊面,然後他們更新約束條件列表,並相應地更改設計。我發現這樣的話我已經講了幾十遍了:)
模擬永遠不可能做到絕對完美。因此,我們應該確保系統本身是可進化的,可以朝著社區的目標發展。對此,治理、質押等等都是可以使用的工具。治理可能像硬分叉一樣簡單,例如更改目標函數或添加約束條件。質押有助於將代幣持有者社區的零和博弈轉向正和博弈,走向共贏。
6.4 外在動機與內在動機
“外在動機是來自外在力量的激勵;行為的產生是基於對外部獎勵的期望,[說服]某些人做他們自己不會做的事情……
內在的通常是指先天的或內部的;因此,內在動機是源於自身內部的激勵或驅動力…… 內在動機通常與內在獎勵相關,因為完成任務的自然回報是一種強大的驅動力,將個人激勵放在首位”。
本文主要關註的是外在動機:明確我們要優化什麽,然後直接進行優化。不過,外在動機也可能會有問題。在教育中,外在獎勵會降低孩子學習的內在動力,阻礙孩子的自主和獨立思考。幸運的是,有一些教學方式可以激勵孩子的內在動機。
對於代幣化的生態系統,我們必須同樣謹慎。外在動機適用於”最大限度地提高安全性”或”最大限度地共享數據”這樣的目標。但用在某些地方可能就很危險。假設你正在構建一個去中心化的聲譽系統。直接將聲譽代幣化可能會激勵參與者操縱聲譽,以獲取錢財,從而導致各種不良行為。當然這種情況也可以給予控制,比如直接拒絕使用 Whuffie(物非,一種信譽貨幣,在科幻著作物非取代了真正的貨幣)?
讓系統支持內在動機而不是外在動機,還有一種可能的方案。課堂上使用的策略如:提供選擇、最小化壓力、允許替代解決方案、鼓勵原創,進而促進學習的成功。其中一些可以轉化用於代幣設計。通過經濟利益關系,例如使用 TCR,簡單地過濾掉不良行為者就是一個例子。或者,我們可以使用 Stake machines 來推動成功。
7. 結語
本文介紹了如何利用現有領域來幫助設計代幣化生態系統:優化設計方法論轉化運用到代幣設計;代幣設計模式;以及受電路設計工具啟發,代幣設計有望開發的工具。總體目標是代幣工程的實踐。我們一定會實現這一目標!
下一篇文章中將探討兩個案例研究:比特幣的分析和海洋協議的設計,並基於案例探討如何運用這些方法。
原文:Trent McConaghy, Towards a Practice of Token Engineering
譯者:Omelet, TELab
TELab: 本文內容僅供學習研究參考,並不構成任何廣告銷售或投資建議。投資者據此操作,風險自擔。轉載/內容合作/尋求報道,請聯系 TELab 授權並註明出處。
Twitter / Discord / Mirror / Medium / Matters