一、基礎介紹
SPoS共識機制全稱是Supernode Proof-of-Stake,中文譯名是超級節點PoS共識機制。
SPoS共識機制由Proof-of-Stake(簡稱PoS)共識機制原作者Sunny King於2018年6月釋出,它延續了PoS共識機制的多個核心邏輯,包括以權益為權利(Stake-as-Power)、去中心化、高擴充套件性等,相較於其他新一代共識機制(包括Casper、混合PoS以及被認為不是PoS的DPoS),SPoS是忠實於PoS原教旨的下一代Proof-of-Stake共識機制。
在2013年釋出PoS共識機制,用來解決比特幣的PoW共識機制中的能源消耗、礦池中心化以及不可擴充套件性,PoS共識機制被很多數字貨幣採用為替代性共識機制,包括當前主流的達世幣、艾達幣以及Sunny King主創的點點幣均採用了PoS共識機制。
不過PoS共識機制也存在諸多的不足,並且無法滿足當前區塊鏈領域對於基於單一區塊鏈公有鏈平臺發展應用的要求。Sunny King在2016年12月31日,停下了手中的點點幣工作,沉思了一年多時間,過濾了外界對PoS的誤解,也改進了PoS的確存在的不足,並針對當前區塊鏈領域主流發展方向的要求。在2018年11月,Sunny King釋出了首個基於SPoS共識機制的區塊鏈公有鏈平臺V SYSTEMS(網址:https://v.systems),這是一個區塊鏈資料庫和雲平臺,其願景是支撐一個由數億區塊鏈應用組成的全新經濟時代。
二、回顧PoS共識機制的特點
由於SPoS共識機制延續了PoS共識機制的原教旨,所以要仔細瞭解SPoS共識機制的特點,我們需要回顧一下PoS的幾個重要技術特點:
幾乎不消耗能源
PoS共識機制不依賴電量和計算量做為區塊鏈記賬的驗證基礎,幾乎不消耗能源。
可以無限規模化
因為驗證記賬的過程,不必受限於硬體和電能的供給量,理論上區塊鏈的記賬能力可以無限地規模化擴大。這為區塊鏈技術應用鋪平道路。
貨幣效用決定貨幣價值
貨幣價值不需要內在價值或其他型別商品的價值對稱(如挖礦成本決定幣的價格),而是由貨幣效用決定貨幣價格。
權益就是權力
區塊鏈記賬驗證和獎勵,都是以權益為核心。
去中心化
沒有礦池,不會出現算力巨無霸控制區塊鏈的情況。
隨機產生區塊
PoS採用了隨機節點產生區塊的設計,僅可觀察平均區塊間隔。
三、對PoS共識機制的質疑
同時,我們需要了解幾年來,區塊鏈領域對PoS共識機制的幾個主要質疑點,才能更好理解為何SPoS共識機制才是純正的下一代PoS。
無風險支援分叉鏈(nothing-at-stake)
這是外界對PoS共識機制最大的質疑。
無風險支援分叉鏈的質疑主要指出,由於區塊鏈記賬驗證不涉及工作量或能源消耗,鑄幣者可嘗試在區塊樹上所有分支上進行鑄幣而不會有任何損失。因而在利益的驅使下,鑄幣者將會在所有分叉鏈上進行鑄幣,以保證獲取到最大的鑄幣收益,而同時避免沒有支援最後獲勝的一個分叉鏈。
這一質疑簡單講就是認為因為鑄幣者不作為,所以作惡者可以不斷分叉主區塊鏈,導致主區塊鏈被分散。
幣齡限制了權益流動性(Stake Liquidity)
PoS共識機制對於權益在參與鑄幣後的移動行為進行了諸多限制,在技術層面這一設計避免了頻繁攻擊(即持幣者可以“一票多投”,一個權益獲得多份收益)。
從權益證明的角度來看,不應當允許使用同一權益在多個鑄幣時段索取鑄幣權。然而由於權益具有流動性,或許可以利用這種流動性嘗試 快速移動權益, 為權益獲取比其應得的更多的鑄幣時段。稱這種型別的攻擊為頻繁競爭攻擊(Busy Contention Attack)。
儘管在技術層面這可能有其合理考慮,但在經濟層面,它卻是使用者參與鑄幣的一個進入門檻,因為使用者總是會問,我的幣會被鎖多久。
然而,在PoS共識機制中,參與鑄幣的權益數量直接關係到共識的安全等級,與比特幣算力決定比特幣安全類似。
從這個意義上講,對權益的移動不加任何限制才是對網路安全有益的。
幣齡並不能準確衡量貢獻值(Coin Age)
作為控制鑄幣概率的價值證明,幣齡顯示出了它的優點與穩定性。
然而,由於它是一個基於交易的量,計算複雜度與給定時間內所執行的交易數量有關。而且,幣齡也並不是一個能體現出鑄幣者對社羣貢獻量大小的準確值。
鑄幣安全性(Minting Secuity)
由於PoS共識機制要求鑄幣者對區塊進行簽名,為此其私鑰必須保持線上,這就給鑄幣者帶來了巨大的數字資產風險。
如何支撐海量的去中心化應用
其一,在PoS共識機制中,並不是所有節點都有足夠的激勵,讓他們有動力去升級硬體。
其二,如果要採用比特幣和其他PoS區塊鏈的隨機出塊設計,例如每10分鐘出塊1次,但實際上有時候,這個間隔超過了10分鐘。
對於以效能為設計方向的區塊鏈而言,這就是一個巨大的問題。
這類系統更傾向於固定的而非隨機分佈的響應時間。
四、SPoS如何演進PoS
對於無風險支援分叉鏈(nothing-at-stake)
無須理會!
Sunny King認為,這種質疑是杞人憂天。
對於無風險支援分叉鏈(nothing-at-stake)的質疑,它忽略了PoS共識機制中,對區塊鏈有重要影響的人的核心原則,即當某人在貨幣供應中擁有了的一定比例的權益後,他應當已有激勵去做對整個區塊鏈有益的事情,而不會對系統進行攻擊。
按照這樣的原則來看,即便是貪圖收益的“大戶”鑄幣者也會用外部貨幣的對價來衡量自己手上持有的權益,而使用權益在多個分叉鏈上鑄幣肯定會導致整個區塊鏈對外部貨幣的貶值,這是損害鑄幣者自身利益的事。
考慮到對權益價值可能的負面影響,這或許與公地的悲劇有一定關聯。然而,即便按公地悲劇最初的解釋,可能避免的少量鑄幣損失也比不上權益價值潛在損失的量級。
事實上,無風險支援分叉鏈(nothing-at-stake)目前並沒有發生過的案例。
對於權益流動性(Stake Liquidity)
讓權益在鑄幣後可以充分流動,以確保區塊鏈的安全性。(舉一個極端例子:在SPoS共識機制下,當一個超級節點被駭客攻破之後,持幣者可以馬上將自己租借給超級節點的權益收回,並立即租借給安全的後備節點成為超級節點。這無形讓駭客失去了攻擊意義,也讓駭客要想控制整個區塊鏈付出更大的代價,因為理論上需要攻擊無窮盡數量的超級節點)
有了權益流動性,鑄幣者可以隨時花費或轉讓其擁有的權益。而租借權益的人也可以隨時解除租借關係,並花費或轉讓其權益。
此前提到過充分的權益流動性會帶來頻繁競爭攻擊,而SPoS共識機制中,抵抗這類攻擊的辦法是為賬戶餘額引入某種度量,其類似於鑄幣時段競爭的累加平均。思路是,權益必須留存在賬戶中一段時間,以等待賬戶度量恢復到滿額,這樣即可阻止頻繁競爭攻擊。
對於幣齡的合理設計(Coin Age)
引入鑄幣餘額的設計。
簡單說就是讓權益移走時會立即減少超級節點上的權益總量,而權益租借給超級節點時,並不會立即增加超級節點上的權益總量。
超級節點是否擁有鑄幣權,與此鑄幣餘額總數有關,而鑄幣餘額總數就與放置滿一定時間的權益有關,但並不是權益放置時間長短與鑄幣收益多少無關。
對於鑄幣安全性(Minting Secuity)
解決的辦法是將鑄幣與消費的角色相分離。
也就是說,持幣者的金鑰與鑄幣者的金鑰可以是不同的。那麼,鑄幣者金鑰保持線上的同時,權益所有權金鑰可以放置在離線儲存中。
這自然就會允許出現鑄幣池(minting pool),類似於比特幣的礦池,也就是SPoS共識機制中的超級節點。
而Sunny King在此處還設計了平衡鑄幣權,以防止SPoS共識機制中超級節點出現中心化的問題。在後文中我們將詳細給大家解釋。
如何支撐海量的去中心化應用
引入超級節點做為出塊者,提供足夠的激勵,確保超級節點不斷升級硬體以支撐區塊鏈擴容。
而同時採用固定順序和固定間隔出塊,讓區塊鏈時鐘與網際網路時間協議同步,以保證出塊的效能以及提高可預見和預測性保障安全。
五、SPoS的3大技術特點和2大經濟特徵
3大技術特點
固定順序和固定間隔出塊
冷鑄幣
超級節點
2大經濟特徵
權益所有者和出塊超級節點都有激勵參與出塊
鑄幣收益由超級節點和權益所有者共同分享,分享比例由超級節點之間的競爭決定。
舉個例子大家就明白了。在Sunny King最新的公鏈VSYS主網中,一共有15個超級節點,持幣者(權益持有者)將權益租賃給超級節點,每個超級節點每分鐘輪流產塊1個,每個產塊獲得36個VSYS幣做為獎勵,一天一個超級節點產VSYS幣51840個,超級節點扣除20%左右的硬體等運營成本,將80%的鑄幣收益按照權益總量均分給持幣者。
大家可以訪問http://vsysrate.com瞭解更多細節。
此前講過參與出塊的權益總量對標了比特幣的算力,所以以上設計保證了絕大多數權益將參與SPoS共識機制的出塊過程,這也帶來了很大的安全性。
鑄幣權和鑄幣收益平等分配,以消除礦池中心化風險
鑄幣時段的平等鑄幣權使得網路中超級節點擁有平等的地位及相同的鑄幣輸出。這與比特幣挖礦設計形成鮮明對比。在比特幣挖礦中,沒有內在機制防止止礦池市場形成壟斷,其已成為了系統去中心化目標的一個現實威脅。
鑄幣時段的平等鑄幣權在鑄幣經濟中扮演了一個不可或缺的角色。超級節點形成了一個由 鑄幣池組成的市場。鑄幣池市場決定租借的利率。由於權益所有者有將權益租借給支付更高利率的超級節點的理性偏好,而對於支付高利率的超級節點來說,鑄幣輸出(即收入) 是固定的,租借來更多的權益將會迫使它降低租借利率,所以存在一個平衡點,其作為一種內在的力量迫使超級節點的租借利率趨於相等。
六、SPoS共識機制帶來的飛躍
延續PoS,同時超越PoS
面向效能,支撐海量去中心化應用
最難被51%攻擊的區塊鏈
生態系統整體高安全性
去中心化的超級節點
用數學角度重構迴歸比特幣的極簡設計,提高了完美性
七、橫向對比
目前的主流共識機制包括了:PoW、PoS、混合PoS(PoS出塊驗證,PoW平均分配獎勵)、SPoS
因為DPoS系統沒有提供廣泛數量的權益所有者(持幣者)出塊獎勵,所以其權益所有者屬於無意識參與出塊驗證,並不會對區塊鏈有任何做為,其更像是一個帶有區塊鏈色彩的網際網路網路(注4)。不過因為EOS的受眾過多,雖然邏輯告訴我DPoS不是區塊鏈,但這次還是加入了分析。(我們這裡是分析技術,我沒有說EOS的幣價不牛逼)
補充說一下,其餘30多種Po?漏洞太多,根本沒有執行出來,在此不進入討論範圍,而DAG共識機制,目前爭議比較大,在此也不進行討論。
注1:在DPoS中,權益的持有者,沒有任何激勵參與出塊驗證,也沒有任何激勵不參與出塊驗證,更沒有任何激勵在出現駭客對BP節點或者51%攻擊時有做為。最現實的例子就是EOS的投票率極其低下,而上述講過,投票率=權益參與數=算力。
注2:在DPoS中,單純就只是BP包辦全部出塊過程。一旦一半BP被攻破,這個區塊鏈就完蛋了。因為沒人能短期集結所有的權益去支援不作惡的新BP。
注3:在DPoS中,一方面由於權益所有者沒有任何激勵,另一方面權益多的節點收益更高,所以BP節點會越來越寡頭。但寡頭節點並不一定持有足夠多的權益,當作惡的利益超過寡頭節點持有的權益,寡頭節點就會有作惡的動機,而一旦寡頭節點作惡,所有權益持有人第一時間的動作就是拋售持有的幣,而不是去更換投票。
注4:由於持幣者邏輯上沒有理由對出塊者有作為(符合公地的悲劇所講述的原則),所以DPoS中,實際上出塊過程中的變數是出塊者本身,也就是EOS的那20多個超級節點,這20多個超級節點就像20多臺網際網路主站,他們在運轉整個區塊鏈,即使出現任何的作惡情況或者被駭客攻擊,整個EOS主網是不會像區塊鏈一樣進行自我完善和修復的,因為持幣者本身是不作為的(事不關己,高高掛起)所以說很多人認為,EOS的主網已經脫離了PoS區塊鏈中系統靠權益來不斷自我調整的原則,EOS不是區塊鏈,更像一個網際網路,而DPoS根本不是PoS。