這兩天在橙皮書的微信群里面產(chǎn)生了PoW和PoS的大討論,甚是精彩,從討論中我看到了許多有價值的觀點。
由于微信群本身是一個非常不適合討論的工具,討論到后來很多回復被忽略,很多問題被反復提出來車轱轆說,效率實在太低,因此我在這里將討論中提出的問題整理出來,統(tǒng)一回復一次,避免重復勞動。
A: POS大戶坐著獲得的資本利得,是小散無法逾越的鴻溝,且無法約束他的權(quán)利。
B: 這個問題是社會正?,F(xiàn)象吧,有錢的人掙錢本身就是比平民容易,他投入這么多錢收入?yún)s比別人少,那才是不公平啊,現(xiàn)在是大家獲得的比例是一樣的,大戶投入的錢多,就是會獲得更多的回報
這是一個PoW和PoS討論中常見的對話。A提出了兩個問題,1. (公平性問題) PoS大戶坐著獲利,普通人沒有;2. (無法制約)PoS大戶的權(quán)利無法約束。B回答了1。
對于問題1, 我同意B的看法。投入多回報多是合理的,無論是pow還是pos都是這樣, 區(qū)塊鏈是幫助實現(xiàn)過程公平而不是結(jié)果公平的工具。在區(qū)塊鏈里面我們依然會看到馬太效應。試圖用區(qū)塊鏈去解決結(jié)果公平的后果是區(qū)塊鏈治理的內(nèi)涵無限擴大,將本該由協(xié)議解決的各種問題(后面會看到)統(tǒng)統(tǒng)推給投票去解決。
然而無論是歷史還是理論早就告訴我們,世界上并沒有完美的群體選擇制度。區(qū)塊鏈是一個能夠記錄數(shù)據(jù),保證數(shù)據(jù)不被篡改,為所有人提供數(shù)據(jù)的工具,通過這樣一個工具幫助我們更好的實現(xiàn)過程公平,已經(jīng)是非常非常大的進步了。
問題2是一個 在討論中被忽略的關(guān)鍵問題。投入資源換取回報天經(jīng)地義,但前提是你想投入就能投入嗎?舉個例子,一個明星創(chuàng)業(yè)團隊融資,是不是任何vc想投就能投進去呢?PoW具有非常好的開放性,使得后來的共識參與者總是可以加入共識群體,而PoS不具有這樣的開放性。引用這里的討論:
在PoS中,未來的共識群體是由今天的共識群體決定的。任何新的節(jié)點想要參與共識都需要通過至少一個交易來實現(xiàn)(e.g. 抵押,投票,etc.),而這個交易是否被處理是由今天的共識群體決定,他們可以處理這個交易,也可以不處理這個交易, 如果不處理這個交易,新的節(jié)點永遠都無法參與共識。
同時,“不處理交易”是容易偽裝而難于懲罰的行為,我還沒有看到能在共識協(xié)議中解決這個問題的方案。PoS往往是根據(jù)stake的權(quán)重來分配出塊比例(和節(jié)點數(shù)量沒關(guān)系),考慮到大部分系統(tǒng)中stake的集中程度,這是一個非常實際的問題。
PoW是徹底的Permissionless。無論什么時候,只要你愿意,都可以買礦機和電力加入出塊者的行列,不需要今天的礦工給你任何形式的許可。你也許會說,我還是需要購買礦機和電力呀,這是不是一種形式的許可呢?
是的,從更低一層來說,這也是一種許可。但遺憾的是,在所有的Proof of XXX中,這已經(jīng)是最去中心化的許可形式了,畢竟礦機生產(chǎn)和電力資源的去中心化程度遠高于各種 tokens (的分散程度)。我們總是應該追求盡可能的去中心化,否則用回中心化系統(tǒng)就好了。
”是否能夠投入”本身可以看作一種option,有非常高的價值。PoW能有這樣的性質(zhì),是因為工作量證明的計算是一種不依賴歷史的計算, 無論你在任何時間點購買算力加入計算,你都和其他礦工在同一個起跑線上, 這是一個非常獨特的、反直覺的性質(zhì),正是這個性質(zhì)使得后來者總是能打破了早期參與者的優(yōu)勢。
PoS不同,因為stake是系統(tǒng)中內(nèi)生的資產(chǎn),資產(chǎn)的所有權(quán)是由系統(tǒng)歷史決定的,交易順序是由系統(tǒng)歷史決定的,因此無論是需要抵押token加入的pos,還是只需要持有token就可以參與的pos,其validator集合都是這個系統(tǒng)自身的歷史決定,PoS和PoW在”參與共識是否需要依賴歷史“上是截然不同的。我們很容易能看出,這是一個本質(zhì)不同,無論什么樣的上層設計都解決不了這一點。
因此PoW和PoS的設計,從根本上是兩種不同的思路,體現(xiàn)兩種不同的理念:
1. (PoS) 系統(tǒng)應該讓先發(fā)者獲得天然的優(yōu)勢
2. (PoW) 系統(tǒng)不應該讓先發(fā)者獲得天然的優(yōu)勢
注意主語是“系統(tǒng)”,共識參與者在系統(tǒng)外的優(yōu)勢不是任何協(xié)議設計可以解決的。如果你認為1是對的,自然應該支持PoS,反之你應該會更贊同PoW。CKB在設計中選擇PoW,是因為CKB的設計目標是Layer1,一個全世界共用的基礎(chǔ)設施,我們希望它可以長久而且中立的運行,要做到這一點,系統(tǒng)不應該讓先發(fā)者(包括系統(tǒng)設計者自己)獲得天然的優(yōu)勢。
A: pos買幣staking不就是投入了嗎
確實是投入,但是這里的“投入獲得回報”中的”回報”已經(jīng)變了。對于投入獲得的回報我們需要分開來看,一種回報是token收益,最近的pos基本都支持delegate, 所以基本上所有人都有這個opTIon. 另一種是參與共識的權(quán)利,根據(jù)上面的回答,它可以被現(xiàn)有的validator壟斷,大部分人沒有opTIon。權(quán)利有很多種,分紅只是其中一種,而且不是關(guān)鍵的那一種。
那么共識的權(quán)利為什么重要,它有什么用呢?它意味著你可以對交易排序,而交易排序決定了鏈上眾籌時你的交易能不能及時上鏈,在DEX里面交易時你的訂單能不能及時成交,等等等等。在PoS的系統(tǒng)上做DeFi?你需要認真考慮一下validator本身是做什么的,是否和你的發(fā)送的交易有利益相關(guān)?
我們知道,DeFi的交易很可能是價值含量非常高的交易,e.g. DEX里面一個巨大的買單,這時候validator如果安排一個插隊的交易怎么辦?僅僅是交易順序的不同就可以造成巨大的獲利,何況共識節(jié)點能做的遠大于此?
聰明的你一定會想到:“那PoW的礦工/礦池不是一樣有這樣的問題嗎?” 沒錯,PoW的礦工一樣有這樣的權(quán)利,但PoW有兩個優(yōu)點可以削弱這個問題:
1、出塊節(jié)點和生態(tài)中的關(guān)鍵用戶是解耦的。生態(tài)中的關(guān)鍵用戶,指的是交易所、錢包等圍繞區(qū)塊鏈提供服務的服務商,它們?yōu)榇罅康挠脩籼峁﹥?yōu)質(zhì)的服務,聚集了大量的用戶和交易。
在PoS中,由于擁有大量用戶和交易,stake會自然的往生態(tài)中的關(guān)鍵用戶集中,形成天然的stake pool,因此關(guān)鍵用戶在業(yè)務上的優(yōu)勢可以轉(zhuǎn)化成在共識和治理上的優(yōu)勢(在某些鏈里面已經(jīng)體現(xiàn)的非常明顯了),使得先行者的優(yōu)勢更加強化。
在PoW中,礦工群體和交易所/錢包是獨立的,他們有不同的專業(yè)分工,通過不同的專業(yè)知識,不同的方式獲取回報,關(guān)鍵用戶不能將自己的業(yè)務優(yōu)勢轉(zhuǎn)化為協(xié)議中的優(yōu)勢,礦工也沒辦法將自己在協(xié)議中的優(yōu)勢轉(zhuǎn)化為上層業(yè)務的優(yōu)勢。在PoW中,開發(fā)者、用戶和共識節(jié)點之間可以形成制衡。
2、PoW的共識是開放的(見上文),充滿了激烈的競爭。也許一個礦池/礦工可以在短時間內(nèi)做到這一點,但由于新的礦工總是可以自由加入,想要長久的做到這一點是非常困難的,激烈競爭將會造就一個越來越公平的充分競爭的市場,這需要時間(30年?maybe)。
反過來,在PoS中,由于天然的先行者的優(yōu)勢,以及業(yè)務優(yōu)勢和共識優(yōu)勢的綁定,先行者的優(yōu)勢只會越來越大,競爭將逐漸消失,最后形成壟斷或寡頭。在基礎(chǔ)設施級的協(xié)議里面,我們應該盡可能的去避免壟斷。
區(qū)塊鏈本身是一個大的排隊機,決定排序的權(quán)利是這個系統(tǒng)中最關(guān)鍵的權(quán)利。
A: (Bitcoin) 一小時51攻擊的成本區(qū)區(qū)44.3萬美金…
A想要表達的是,Bitcoin并不安全,因為只要44.3萬美金就能攻擊它了,然后PoS的token是有限的,沒有攻擊者可以從市場上購買到足夠多的stake來攻擊。
這個觀點忽略了一個問題:在某一時刻,地球上的算力同樣是有上限的。如果一條PoW的鏈只有10%的SHA256算力,這樣算是沒有問題的。但是如果比特幣已經(jīng)集中了90%(估計值)的SHA256算力,你從哪里去獲得另外90%的SHA256算力呢?量變會引起質(zhì)變,算力地位的變化會影響安全性。
不安全的不是PoW,是沒有獲得足夠算力的PoW鏈。使用PoW的區(qū)塊鏈都會遇到比使用PoS的區(qū)塊鏈更大的起步問題,然而正是這樣真實而殘酷的考驗才能證明區(qū)塊鏈的安全。不然,我也跑一條PoS鏈,99%的token都歸我自己,1%在市場上想炒多高炒多高,安全性豈不是分分鐘超過Bitcoin? Bitcoin已經(jīng)運行10年了,上面承載的價值這么多,為什么攻擊沒發(fā)生呢?相反,某些鏈運行了不到一年,上面存了價值區(qū)區(qū)幾十萬元的智能合約被偷了無數(shù)次… 理論需要不斷用事實修正,當理論和事實不符的時候,一定是理論錯了。
同樣是有上限,在PoW鏈中參與共識所需要的資源上限是隨著時間變化的,由科技的進步、人類的進取心和激烈的競爭不斷推動前進,所需要的自然資源的獲取是完全去中心化的;而PoS鏈中所需要的資源上限是協(xié)議規(guī)定好的,增發(fā)的token全部進入現(xiàn)有validator的手中,再通過validator在市場上的售賣或是staking pool的分紅分發(fā)出去,會不會有些似曾相識?
A: 這兩者抽象到最后都是資本,pow是以資本開支和opex計算資本成本;pos是以抵押物市場價值計算機會成本。這兩種成本都是不可逆的
我不贊同這種邏輯,忽略中間過程直接捅到本質(zhì)恰好忽略了關(guān)鍵。過程是關(guān)鍵,過程會產(chǎn)生摩擦,過程會產(chǎn)生損耗。即使都是資本,資本的流動性和產(chǎn)生壟斷的速度也是有差異的,協(xié)議是否能從壟斷中回復也是有差異的,見前文。
A: 我不覺得PoS的持幣者會一直不賣
A: 過度集中 誰會給生態(tài)貢獻
A: 如果籌碼90%在你手里 這個生態(tài)也就做不下去
A: 對你來說 高度集中持幣是沒有價值的
A: 你都壟斷90% 代幣,沒有人給你交租
壟斷也是可以建立生態(tài)的,騰訊、蘋果都是例子。無論是歷史還是經(jīng)濟學原理還是《從0到1》都很清楚的告訴我們,壟斷才能獲取暴利。
同時,壟斷存在不代表 你知道有壟斷存在 。token是世界上最具有流動性的資本,即使我擁有90%的token,我也會把它分散投入到100個staking pool里面去,而不會集中在一個staking pool里面。壟斷者不會喜歡跳出來說“hey,我壟斷了這個系統(tǒng)!”。
A: 潛在作惡壟斷者會因為短期利益賣出token
A: 作惡就是為了短期利益
A: 即,潛在謀求短期利益壟斷者會因為短期利益賣出token
B: 頭部抵押者都被看的很清楚,解抵押了,或者提幣去交易所了,本身會導致價格下跌,他還沒砸呢,就已經(jīng)反映了
A: 我也是這個意思,壟斷者不作惡不也是安全的么[壞笑]
這里混淆了壟斷和作惡的概念。作惡指的是顯式的攻擊,例如雙花一筆交易,作惡是可以被觀察到的,系統(tǒng)或者生態(tài)也可以作出相應的反制。 壟斷是隱式的 ,壟斷者不需要也不會攻擊這個系統(tǒng),但是它依然可以利用自己的共識權(quán)利獲得更多的利益,正如前文說的,只要能操控交易排序,你就能操控一切。
操控交易排序是無法被發(fā)現(xiàn)的 。在PoS系統(tǒng)中,操控交易排序也意味著操控未來的validator集合,意味著壟斷地位可以輕易的維持,這是根據(jù)系統(tǒng)歷史來保證系統(tǒng)安全的必然結(jié)果,這一點在PoW中是不存在的。
我們現(xiàn)在還沒有找到一個方法可以在所有時間排除一切壟斷的可能,但是PoW至少給了我們一個更長的時間維度上使得壟斷難以存在的設計,我覺得這一點對于Layer1至關(guān)重要。
A: 第一點,pos鏈后來者為什么不能參與?買幣比買礦機門檻低多了,pos里面長期存在壟斷者這個結(jié)論我是不認同的,沒有經(jīng)濟規(guī)模效應;2 攻擊pos的成本比較,收購stake只是一方面,還有reputaTIon系統(tǒng),pos里面節(jié)點是非常在意自己reputaTIon的,這個成本對節(jié)點是巨大的。
第一點問題中,壟斷的問題上面已經(jīng)有回答。關(guān)于門檻問題,我認為這是很多人甚至包括協(xié)議設計者常常犯的錯誤。區(qū)塊鏈的首要目標是安全和去中心化,而門檻以至于一切易用性問題都不是區(qū)塊鏈的目標。
在區(qū)塊鏈協(xié)議里面討論門檻問題就像是在說“你讓普通人怎么去構(gòu)造TCP請求包“一樣,將不同層次的目標混為一談。要降低門檻,提高易用性,我們可以在上層做很多工作,做錢包,做云挖礦,設計各種金融產(chǎn)品,為什么要在區(qū)塊鏈協(xié)議里面考慮門檻的事情呢?
Nervos追求分層的協(xié)議架構(gòu),也是因為看到了易用性問題和安全問題必須分開考慮,易用性/門檻和安全從本質(zhì)上就存在矛盾,強行扭在一起只會讓我們一無所獲。未來區(qū)塊鏈協(xié)議的直接參與者一定是專業(yè)用戶,這些專業(yè)用戶通過搭建(可信的)服務、降低使用門檻、提供易用性來獲取生態(tài)中普通用戶的支持和收益。
第二點,reputation是一個無法量化,區(qū)塊鏈協(xié)議也無法判斷的東西。將區(qū)塊鏈的安全寄托在reputation上,只會讓區(qū)塊鏈走回現(xiàn)有信任體系的老路。同時reputation還有 無法轉(zhuǎn)讓 的特點,基于一個無法轉(zhuǎn)讓的 事物建立安全模型,會不會又有些似曾相識?
A: 其實這里面有很多隱含的假設,如果一個pos鏈出現(xiàn)你說的一個cartel控制1/3的token,社區(qū)是可以通過應分叉fork out cartel;我不覺得一個pow鏈被51%算力控制的鏈,也面臨同樣嚴重的問題;另外我覺得節(jié)點隱藏最后長時間形成多數(shù)控制這種可能性是不大的;
將協(xié)議中解決不了的問題推給鏈外治理(注意在cartel控制1/3 stake并且產(chǎn)生足夠大的威脅以至于社區(qū)想要fork的時候,鏈上治理已經(jīng)沒有用了)和硬分叉,確實可以解決一切問題,但這應該是一種成本極大的最后手段,不應該成為隨便使用的工具,區(qū)塊鏈的協(xié)議應該盡可能的避免陷入這個場景。
使用鏈外治理和硬分叉等價于承認協(xié)議的不足,需要人來接手了。我贊同一個區(qū)塊鏈生態(tài)最終是需要人來治理的,但是我認為人介入的頻率越低越好,如果不追求這一點,為什么還需要區(qū)塊鏈呢?只有降低人參與的頻率,協(xié)作的自動化成本才能降低,協(xié)作所需要的信任基礎(chǔ)才能減小。
“節(jié)點隱藏最后長時間形成多數(shù)控制這種可能性是不大的”——只要時間足夠長,無論多小概率的時間都會發(fā)生。金融市場的黑天鵝告訴過我們無數(shù)次了,愿我們的記憶不只是7秒。
A: xxx的籌碼在不斷分散
A: xxx 的錢包地址從ICO 1000多個,不到一個月上萬個
根據(jù)top 100的地址或者top 20 staking pool的分散程度是無法證明token是分散的。道理很簡單,我們談論的都是無需許可(permissionless)的系統(tǒng),地址代表的只是一個公私鑰對而已,不代表一個身份。產(chǎn)生地址幾乎是零成本的,存有stake的地址數(shù)量無法代表持有這些stake的是不同的用戶。不要混淆地址和用戶。
在PoS中,validator集合中的validator數(shù)目是無關(guān)緊要的,并不能代表stake分散。如前文所說,如果你有99%的stake,你應該把它們分散到100個甚至1000個validator上去。
PoW中同樣會有算力集中在大礦工手中的問題,但是由于PoW的開放性以及系統(tǒng)沒有給后來者制造劣勢(見上文),這樣的集中只會是暫時的,算力將在激烈的競爭中不停的從一個人手中轉(zhuǎn)移到另一個人手中。PoW贊美競爭,PoW是一個開放的系統(tǒng),只有開放的系統(tǒng)才可能遠離熱力學的終局,保持長久的生機。
PoS有其價值,也有其問題,因此無法適用所有場景。Layer 1的區(qū)塊鏈協(xié)議必須使用PoW,只有使用PoW的Layer 1才能解決我們希望解決的問題,實現(xiàn)我們希望的未來。