《讀懂區塊鏈PoS共識》第十章 PoS專案例子-Tezos

買賣虛擬貨幣
專案介紹Tezos專案起源於2014年,出發點為了解決頻繁的BTC分叉問題,提出了一套可從程式最底層自行升級的系統,希望用鏈上治理來整頓BTC分叉鬧劇。外加上智慧合約,Tezos變成了一個可自治理的智慧合約平臺,從此,Tezos也被貼上了以太坊競爭對手的標籤。但不得不說的是,Tezos啟用了新的智慧合約語言,支援形式化驗證,是新一代智慧合約平臺有力的競爭者。Tezos有多個特點,在位置白皮書(Position Paper)中也有比較清楚的描述,後多個特點昇華出來,其中最為使用者感知的就是以下3個:自治理自治理指的是Tezos可以透過提議,對基礎的協議進行升級。該升級的可以修改到Tezos的最底層協議,滿足時代變化所需。Tezos不會像BTC一樣無休止的分叉,所有大部分人同意的修改,都會得到執行,而少數人分叉註定是失敗的。為此Tezos提議設計了一套底層協議,來支援底層協議的升級,並配套了一套鏈上治理機制,用以為協議升級達成一致。兩者配合,是目前我們能看到的,在區塊鏈世界開始運用起來的一套鏈上治理方案了。
形式化驗證形式化驗證的概念看起來不太好明白,維基百科給出的定義是:在計算機硬體(特別是積體電路)和軟體系統的設計過程中,形式驗證的含義是根據某個或某些形式規範或屬性,使用數學的方法證明其正確性或非正確性。軟體測試中,你很難測試出什麼是對的,或者什麼是錯的,唯一能確定的是,你規定了某種情況/方式/方法是錯的,然後以這種標準去做軟體測試,形式化驗證就是這樣一種標準。這樣的標準能有效幫助系統測試做出有效的判斷。這種標準對智慧合約平臺是極其有幫助的,因為涉及到Token的價值傳播,程式碼編寫就需要極其謹慎,形式化驗證對常見的錯誤進行了規範並糾正,能有效減少程式碼的bug比率。當然,不是所有的公有鏈或者智慧合約平臺都達到了這個要求,所以形式化驗證是Tezos主推的一個特點。
LPoS(Liquid Proof of Stake 流動性的權益證明機制)2012年PoS共識被提出,後經歷了兩年左右的發展,Tezos提出了自己的PoS共識,採用了單塊抵押金,配合Slash的方式,解決Nothing at stake等重要的PoS問題。創新性的引入委託權益的證明,使得Tezos整個專案的去中心化程度變得較為突出。歷經4年,2018年上線主網,目前這套PoS系統成功代替了BTC的PoW共識,無消耗,無競爭,執行良好,也算是開啟了PoS第二階段的第一個專案里程碑(第一階段是PoS在2012~2014年發展階段)。這3個特點的提出吸引了眾多的投資人,2017年進行ICO的Tezos獲得了2.3億美金的投資,成功成為2017年ICO募資之最,其中不乏大名鼎鼎的矽谷投資教父Tim Draper。Tezos的發起人是Authur B,最早是高盛的員工。和其他專案的創始人一樣,都從迷戀比特幣的白皮書開始進入區塊鏈世界。面對BTC的分叉,ETH的效能,PoW的消耗效能,AB提出瞭解決辦法都應用到了Tezos上。但是一直以來,Tezos專案都相當低調,據AB說,低調的性格是秉承了法國人獨有的調性。所以專案很早之前,開發團隊基本不露臉,也不公開發展路線圖,社羣能得到的訊息極少極少,也因此,曾經一度有投資者組成了維權群。ICO結束後,Tezos經歷了專案史上最嚴重的兩次磨難,一個是基金會主席的中飽私囊,ICO募資資金光發自己,不發開發者;另外一個是美國SEC法案將Tezos ICO列入調查的情況。兩者相沖突,專案進展資訊得不到,社羣裡一度認為這個專案已經黃掉了,但沒想到後面Tezos奇蹟的站了起來,由社羣請願罷免了基金會主席,也透過法律手段解決了SEC的問題。
經歷了這兩次磨難,Tezos的社羣變得更加健全,開發者,驗證人都在穩步增加,新的基金會大方撥款成立開發者資助計劃,目前來看,整個社羣發展較為穩健,白皮書中列舉的一些方案,都在有序進行當中,包括投票治理,擴容和隱私等,新的一年,還是值得期待的。目前,Tezos請了四大的會計事務所對Tezos的所有開銷進行審計,並公開。從中可以瞭解到的是Tezos基金會目前還有約5億美元的資金,可以支援專案的長期發展。長期發展是Tezos提出的一個重要理念,所以我們可以看到Tezos的開發週期基本是按月以上來排的,很多調整都較為仔細,並且和眾多高校,科研機構達成了合作,資助了很多開發工具的團隊,著重培養學生,準備好了來打區塊鏈5年以上的"戰爭"。這種步調,像極了法國人處事的節奏。代幣情況Tezos的代幣稱號為XTZ,符號為ꜩ,總量約7.6億。其中20%留給基金會和團隊,其餘80%用於ICO。Tezos ICO採取不設硬頂的方式,XTZ的總量和投資總額有一定的關係,最終投資額鎖定在2.3億美元,由此得出的XTZ總量。XTZ年增發約5.5%,增發的獎勵全部分發給Tezos的驗證人。目前,超過70%的XTZ用於Stake,Stake可以抵消增發造成的稀釋,在目前並沒有太多應用的場景下,非稀釋性通脹給系統帶來的安全程度是很高的。
XTZ的年增發不會長期停留在5.5%,白皮書中有提到過增發率會無限趨近於1%,減少增發率是一個線性過程,這有助於合理平衡系統。Tezos認為,過於大的通貨膨脹不利於系統發展。代幣作用XTZ的作用有兩個,一個用於Stake(Tezos中把Stake叫做為烘焙),一個使用者投票,鏈上治理。目前第一個功能已經實現,目前有超過70%總量的XTZ用於Stake,第二個功能目前正在開發當中,預計於2019年Q1會有第一個提案出來。Stake的量如此高有兩方面的原因,一方面是熊市,XTZ的價格並沒有達到預期,持有人Stake可以獲得獎勵,比單放著好很多;另外一方面是XTZ並沒有太多使用場景,除了交易和Stake外,其他並無選擇,所以Stake的量會比較高。發展路線Tezos並沒有很清晰的發展路線,Authur B也在直播中表示過,Tezos並不會有Roadmap,因為他覺得Tezos是一個社羣,社羣的發展應該有所有開發者來決定,不應該有一箇中心來決定Tezos的發展規劃。
但從目前所得到的資訊中看,Tezos正在一步步執行白皮書中寫到的一些規劃,如鏈上治理的Furtarchy,擴容的zk-SNARKs,還有參考Tendermint要實現的BFT容錯規劃等。之前AB在2019年臨近的直播中,展望了一下Tezos的發展,其中包括zk-SNARKs,記憶體最佳化等技術最佳化,更多開發工具,開發語言等。設計哲學Tezos的設計哲學比較特別,不像Cardano的學術派,不像Bitcoin的放任派,Tezos綜合了比較多專案的優點,傾向於較重的去中心化,傾向於低調(Low Key)的行事,Tezos從2014年開始,2018年上線主網,前後經歷4年,盡顯法國人釀紅酒的本性,主網上線後執行穩定,鮮有波動。在去中心化上,Tezos應該是非常開放的。在Tezos的設計中,成為驗證人的門檻是持有10000個XTZ,如果沒有持有那麼多,那麼可以將權利委託給別人,間接獲得驗證的權利。這樣委託權益的方案,對去中心化的程度有一定幫助。另外,Tezos沒有像EOS或者Cosmos一樣設定驗證人上限,因為Tezos有zk-SNARKs的方案來做擴容,AB在早期的Medium部落格網站上,就曾撰寫長文講zk-SNARKs的擴容方案。目前Tezos的驗證人數保持在100+,全節點數量在450+,對於一個PoS共識公有鏈來說,可以說是非常出色了。
最關鍵的是,後來者可以輕鬆的進入到驗證環節,不需要花費巨大的精力和成本,就可以成為驗證人。同樣,已經參與驗證的持幣人也可以輕鬆退出驗證環節。這種去中心化模式,讓我更明白了去中心化的定義:任何共識當中,驗證人可以輕鬆進入,也可以輕易離開,即是非常好的去中心化。除了去中心化,Tezos創新性的將PoS共識進行了最佳化,制定出了非常清晰的,以區塊為單位的抵押金和獎勵機制,並結合了Vitalik的Slash規則來規範分叉和不誠實節點問題,這套邏輯到目前仍然是一種比較前沿的設計方案。但是Tezos並非所有都是完美的,不知道是開發時間限制還是思想差異,Tezos系統中很多模組都是需要線上下協調來完成了,比如委託Stake的獎勵分發,比如委託抵押金的交付人是誰等,Tezos充分發揮了市場的作用,讓其得到解決。這點和Cosmos是完全不一樣的,同樣的問題,Cosmos將解決方法設計到了原型(Protocol)中,方便了和解決了眾多去中心化的協調問題。不過,這就是Tezos的設計哲學,遵循慢即是快,遵循區塊鏈精神,雖然有表象上發展比較慢的詬病,但是這種差異化哲學讓Tezos在西方世界收穫了非常多的認同。ICO地址有3萬+個,在一開始,Tezos就獲得了比其他專案還要大的認同。
LPoSTezos的共識是基於PoS的最佳化,社羣人為了區別和其他PoS共識,命名為LPoS(Liquid Proof of Stake)。按照以往對於PoS共識的命名來說,Tezos的PoS也可以命名為DPoS(Delegate Proof of Stake),因為在Tezos裡面,持幣人是可以將XTZ委託(Delegate)給驗證人的,這和BM建立的DPoS的投票選舉不同,XTZ的委託是Tezos裡面去中心化的一大特色。既然是基於PoS,LPoS同樣是建立在持幣人權利上的機制,持幣人透過Stake可以參與到Tezos的驗證人系統當中,執行節點程式,驗證人在被選中的高度進行出塊(Bake)和驗證(Endorsement),合理的行為會被獎勵,作惡的行為會被扣除大部分抵押金。Tezos為了提高效能,採用了以10000個XTZ為一個卷(Roll)的出塊人選舉方案,同時,和Cardano,以太坊一樣,設定了選舉週期(Cycle),一個週期大概是4096個塊,2.8個自然日,週期開始前,下個週期的驗證人,出塊人都會按照Roll的比例被選舉出來。抵押金繳納則是發生在出塊前或者驗證前,出一個塊交一次抵押金,驗證一個塊交一次抵押金,完成指定操作後,獎勵會傳送到你的驗證人賬戶,但是是被鎖定的狀態。單塊抵押金的多少和單塊獎勵的多少是Tezos根據一個安全係數算出來的,目前出塊獎勵為16XTZ,驗證獎勵為2XTZ,出塊抵押金為512XTZ,驗證抵押金為64XTZ。總體算下來,抵押金的安全比例為8.25%。所以LPoS是以小單位:區塊,大單位:週期形成的一種選舉人共識。
另外,沒有能力,時間,或者是技術的持幣人,可以將XTZ委託給驗證人,委託過程不存在轉幣,委託只是一層系統認定的權利轉移關係。同時,系統鎖定了抵押金,但並沒有鎖定委託的XTZ數量,委託人在委託期間可以任意轉移自己委託的XTZ。這也是LPoS中,L(Liquid流動)的由來了。鎖定的抵押金,目前Tezos市場上出現了驗證人幫助委託人交抵押金的情況,委託人委託並不會擔任自己本金丟失的風險,但有不誠實驗證人不給於獎勵的風險,這相對於丟失本金的風險要小的多。市場上超過50%以上的XTZ是透過委託來參與驗證的,這個數量足以看出委託體系建立,對於Tezos的幫助了。整體來說,LPoS解決了PoS中,參與Stake動力不足的問題,滿足了PoS系統中需要越多幣參與Stake越安全的要求,透過非稀釋性通脹吸引使用者參與Stake,是一種創新。另外,LPoS的選舉效率和選舉安全都是可以得到保證的,目前,Tezos使用的Follow the Satoshi選舉演算法和Cardano選舉演算法大致是一樣的,後者有數學嚴謹的證明其是安全的,可靠的,無偏差的。效能Tezos的效能並不算出眾,目前大概只有40TPS左右。但目前尷尬的是,幾乎每個塊都還填不滿資料,所以對於Tezos來說,提高效能並不是當前的要務。
去中心化和效能這兩個不可兼得,Tezos的設計哲學是先衝著去中心化去的,因為覺得去中心化是不可逆的,而效能是可以不斷提高的。所以我們可以看到前期Tezos花了很多時間在設計整套去中心化架構,從參與驗證,到委託權益,這些功能在一定程度上降低了系統的處理能力。我很期待zk-SNARKs給Tezos帶來的效能提升,因為從ZCash的sapling2.0來看,最佳化後的zk-SNARKs給ZCash帶來了指數級別的提升。執行執行Tezos的節點程式比較簡單,需要搭建所需環境,並按照官方指導步驟搭建即可。搭建節點的 教程比較多,這裡貼一個比較完整的節點搭建方案:https://github.com/tezoscommunity/FAQ/blob/master/Compile_Mainnet.md。另外,節點搭建完成後,還需要註冊才能成為驗證人。記得,成為驗證人需要1萬個XTZ,只有註冊成功的驗證人才能獲得被選舉的權利。目前Tezos的節點程式更新並不算頻繁,但是隻要是更新一般都需要節點一起來更新,來保證整個網路執行穩定。節點驗證人會有一個地方進行交流:https://tezos-baking.slack.com/messages/CC4FD2HUY/。
Tezos並不會要求節點24小時線上,被選舉的驗證在指定時間沒有線上,則會有次優先順序的人來替代出塊,所以不線上不會成為Slash的條件,不線上只會讓驗證人丟失本就屬於自己的獎勵。但是,節點升級儘可能的還是選擇沒有出塊或者驗證的時間段來停機升級,避免不必要的損失。出塊人Tezos上的出塊人,也稱作為驗證人,驗證人有四個職責:出塊:指生成新區塊鏈,打包交易到區塊並廣播驗證:驗證新的區塊和交易,並簽名披露:將當前週期的隨機種子在下一個週期開始前廣播
譴責:如果發現不誠實行為,可以發表譴責宣告到區塊鏈中(可選)其中,4個行為中,除了披露外,都可以得到系統的獎勵,其中,以驗證的獎勵最多。持幣人透過執行節點程式,並註冊,即可成為驗證人。持幣人持幣人在Tezos系統中,有三個權利:投票註冊成為驗證人
委託權利:可以將XTZ的Stake權益委託給其他驗證人目前投票的程序才開始初步試水,已有在社交媒體上發起討論了。但是真正的投票還在除錯當中,預計第一次投票會在2019年Q1開展。激勵Tezos年增發5.5%,按照7.6億的總量來算,每年有4千萬XTZ會被增發出來,按照3人民幣一個XTZ的價格來算,每年增發的XTZ價值1.2億。Tezos上的激勵行為有以下3種出塊:一個區塊獎勵16個XTZ
驗證:一個區塊獎勵2個XTZ譴責:被證實後,沒收的抵押金少部分獎勵給發表譴責的人舉個例子,按500萬個XTZ計算,一個週期大概能獲得40個出塊機會,1400個驗證機會。有足夠多的抵押金情況下,可以獲得獎勵=40x16+1400x2=3440個XTZ。如果500萬個XTZ中有80%是使用者委託了,驗證人設定的委託手續費為10%,那麼驗證人可以獲得的總獎勵=3440x(1-80%)+3440x80%x10%=688+275=964個XTZ一個週期大概2.8天,那麼一個月下來,接受委託的驗證人大概可以獲得9640個左右的XTZ。懲罰
Tezos的懲罰Slash和其他的PoS公有鏈差不多,基本是針對分叉和不誠實節點做出的限定,主要有以下幾個懲罰行為:雙塊:在同一區塊高度生成兩個新的區塊雙籤:在同一區塊高度在兩個不同鏈上上的區塊簽名披露:在週期結束時,不披露隨機NonceTezos對不誠實行為的懲罰是非常嚴厲的。按照週期為範圍,如果週期內發生一次,那麼週期內的抵押金會被全部扣除。就按照500萬個XTZ來計算,40個出塊機會,1400個驗證機會,總共要交的抵押金=40x512+1400x64=130560,這個抵押金要是被扣除了,那可得不償失了。所以驗證人作惡的成本是很高的,一般情況下,不會去作惡。但是由於系統初期,並不是所有驗證人都能清楚的知道什麼行為會被Slash,或者是知道了Slash的行為但不知道怎麼去規避,亦或者是誤操作,導致的Slash情況也很多。
治理

Tezos是非常強調鏈上治理的,最開始講Tezos的一個重要特點就是自治理,自治理需要配套一套鏈上提議-投票的系統來一起維護。

目前,開發團隊的投票系統針對的是Tezos底層的協議升級,也就是自治理部分,分為4個階段,每個階段都是以週期計算(Tezos中的週期為Cycle,一個Cycle4096個塊)

· 提議週期:第一階段持續1~8個週期。這個可以理解為廣泛收集議題的週期。有驗證人提交提案,所有驗證人給提議投票,每個驗證人只能投20個提案,取票數最高的那個提案進入下一個週期

· 探索投票週期:第二階段持續9~16週期。此週期內,所有驗證人對第一階段投票最高的提案進行二次投票,確定是否同意執行。如果此週期的投票人數超過絕多數(80%),並且投票人數中投透過的大於投否定的票數,那麼該提案進入下一個週期

· 測試周期:第三階段持續17~24週期,該週期會從主鏈分叉出一條測試鏈,用於測試該提案,持續48小時。另外,一個鏈下的測試網可以用於評估提案。

· 推進週期:第四階段持續25~32週期,測試周期結束後,驗證需要再次對提案進行投票,以決定是否要將提案應用到主網。同樣,如果此週期的投票人數超過絕多數(80%),並且投票人數中投透過的大於投否定的票數,那麼該提案所在的測試網將被認成為主網。

一個底層協議的升級一共經歷32個週期(90天),3次投票,其中還要經過足夠長時間測試才能確定是否上主網,看上去升級元協議並非易事。

另外,驗證人並挑選出來作為權力代表,代表委託權益人進行投票,這點很EOS有點像,只是委託人可選擇的範圍不受21個的數量限制。有一些權力代表初期會收集委託使用者的投票意向,但是這種意向收集往往費時費力,並不能確定在沒有激勵的情況下,投票的參與率和收集率的情況。而且一次投票的時間間隔比較長,很像是大國治理,達成共識的難度較高,這有點偏離了以往我們對於網際網路產品更新迭代速度快的印象。

第一次的鏈上提案已經發出,在社交平臺上已經有了討論,主要議題有兩個

· 減少Roll的數量
· 提高Gas Limit

這次提案還沒有提交到鏈上走投票流程,預計2019年Q1會正在上鍊進行投票。Tezos的鏈上治理還是比較複雜的,不像其他公鏈,僅僅是一個提案上鍊投票,然後選擇團隊執行的的過程,而是將上鍊投票和執行都自動化到流程中了,所有過程和利弊都可以在鏈上看到,避免了提案本身描述的天花亂墜,但線上崩潰的一塌糊塗的境地。

這也就是Tezos被稱之為一個可自治理的區塊鏈的由來了。

問題

Tezos專案自2014年~2017年發展的都還挺順利,ICO後到時出現了一大堆問題,特別是法律法規問題,Tezos更是聘請了財務,法律團隊來避免一些不必要的踩坑,目前來看,Tezos的審計開放程度是比較公開的。儘管做到如此的小心謹慎,專案還是不可避免的存在這樣那樣的問題:

· SEC問題
美國證券交易所的決定,會影響XTZ的價格走向,如果SEC把XTZ列為證券,那麼它極有可能會被合規交易所下架交易對,這對Tezos來說是比較嚴重的打擊。目前,將XTZ列為證券的討論還存在。

· 基金會法律問題
基金會的法律問題一直以來都沒有停止過,大到基金會主席的不作為,小到投資人的維權訴訟,這些干擾因素一直在困擾著基金會。雖然2018年,基金會重組,甚至出現了一個由草根組織形成的基金會,整體向好,但是仍然有很多法律問題時不時會出現。

· 開發慢問題
Tezos的開發團隊主要是在法國,法國的生活節奏,工作節奏都比較慢,所以Tezos的專案開發也是比較慢,這會被眾多投資者詬病,特別是來自中國的投資者。

未來

Tezos的未來是想成為一個能自治理的智慧合約平臺,因為其新的智慧合約語言OCAML的關係,它極有可能在金融領域突出重圍。也因為這個原因,Tezos準備好了區塊鏈發展5~10年的準備,重金投資了很多科研機構,教育機構,培養新的開發者在Tezos上寫智慧合約,做應用。

但是,Tezos想大成可不簡單,Tezos面臨的競爭也很多,這本書中講到的一些例子(Cardano,Dfinity,Ethereum等)都是它的競爭對手,而且對手的團隊,融資額,市場操作並不會比Tezos差,所以,都想成為新一代智慧合約開發平臺的心,會引起非常慘烈的競爭,而最終勝出的極有可能是小部分,亦或是在各自在各自的領域存活,並獲得生機。

Tezos有自己的優點,也在打自己的差異化,很多專案並沒有5~10年的發展計劃,所以在長遠(Long Run)來看,Tezos應該會有屬於自己的一席之地,儘管現在的生態發展很糟糕。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;