权益证明
在2011年,在一個比特幣論壇中一位名為QuantumMechanic的用戶提出一項技術,他稱之為"權益證明(proof-of-stake)"。
基礎概念是,讓每個人互相競爭挖礦是很浪費的。因此相反的是,權益證明通過選舉的形式,其中任意節點被隨機選擇來驗證下一個區塊。
在這里有一些小的術語區別,權益證明中沒有礦工,但是有驗證者(validator)。并不讓人們”挖(mine)”新區塊 而是"鑄造(mint)” 或"制造(forge)”新區塊。
驗證者并不是被完全隨機選擇的,要成為驗證者,節點需要在網絡中存入一定數量的貨幣作為權益,可以將這理解為保證金。
權益的份額大小決定了被選為驗證者的幾率,從而得以創建下一個區塊,這是線性相關的。
假設Bob在網絡中存入100美元 Alice存入1000美元,那么Alice比Bob有高于10倍的幾率選為驗證者。
因為這偏袒有錢的一方,似乎不太公平,但事實上這比起工作量證明更公平。
對于工作量證明,富人可以很大程度上享受經濟實力帶來的成果。他們為挖礦設備和電力支付的成本并沒有直線上升。相反他們購買的越多,獲得的越多。
但是讓我們回到權益證明,如果一個節點被選出來驗證下一個區塊,他將檢查當中所有的交易是否有效。如果一切沒問題,節點則通過該區塊,區塊將加到區塊鏈中。作為獎勵,該節點可獲得當中每個交易費。
那么,我們該如何相信網絡中的其他驗證者?
這里需要用到權益了。
如果驗證者通過了欺詐性交易,他們將失去一部分權益。只要權益高于驗證者所獲得的交易費,我們就可以信任他們能夠很好的完成工作。否則,他們失去的錢比能獲得的還多。
這是金錢方面的動力,只要權益比所有交易費要高,這就是可行的。
如果節點不再是驗證者,他的權益以及獲得的交易費將在一定時間后返還給他。不會馬上返還,因為若發現你的區塊存在欺詐時,網絡會對你進行懲罰。
因此,工作量證明和權益證明的區別是很明顯的。
權益證明的優點
權益證明不會讓每個人都對新區塊進行挖礦。因此消耗更少的能量,而且更去中心化。
為什么這么說呢?
在工作量證明中存在著礦池。這些人聯合起來,提高他們挖到新區快的機會,從而獲得獎勵。
?
然而,如今比特幣區塊鏈的大部分都由這些礦池所控制,它們集中挖礦過程是很危險的。
如果三大礦池合并,它們將在網絡中占據大多數,從而開始通過欺詐性交易。
另一個重要的優點是,構建基于權益證明的區塊鏈節點,比起工作量證明節點成本更低。
你不需要昂貴的挖礦設備,因此權益證明激勵更多的人構建節點,從而讓網絡更去中心化 也更安全。
權益證明的缺點
但即使是權益證明也不是完美的,還是存在漏洞。
你可以會想,如果我買了網絡中的大部分權益,那么我就能有效地進行控制。從而通過虛假交易。
你說對了。
這被成為51%攻擊。這是權益證明算法的缺點。
如果一名或一群礦工獲得了51%的哈希能力,他們將有效地控制區塊鏈。
另一方面,考慮到加密貨幣的價值,權益證明讓這種攻擊非常不切實際。
如果比特幣變為權益證明的機制,那么要獲得全部貨幣的51%,你需要花費790億美元。因此在權益證明中 51%攻擊更不可能發生。
但這并不是唯一的風險。
權益證明算法也需要謹慎選擇下一個驗證者。這不能完全是隨機的,因為必須考慮到權益的大小。
但同時光看權益還不夠,因為這將偏袒有錢人,他們將更被頻繁地選擇,從而獲得更多的交易費。然后變得更富有,再次提高在將來被選為驗證者的幾率。
有很多種方式來修復這個問題,例如基于幣齡的選擇。
另一個潛在的問題是,當選出了下一個驗證者后,他并不出來完成他的任務。
這很容易解決,可以選擇大量的候選驗證者。
總之,在與工作量證明相比時,權益證明帶來了新的風險。為了認識和減少當中的風險還需要大量的研究。
用例
現在我們知道了權益證明是什么,它的優點和風險,現在讓我們看到現實中的用例。
現在用到該技術的有Peercoin Lisk和Nxt。在未來會有更多的加密貨幣使用。
例如,以太坊正在開發權益證明系統稱為Casper,目前這被部署在以太坊測試網上,并且正在積極開發。
Cardano項目已經在開發一種安全的權益證明算法,稱為Ouroboros。
POS:
優勢:不需要浪費算力,同時,進行51%攻擊的代價更高,因為想要進行51%攻擊的話,你得擁有51%的貨幣。
劣勢:
1,權益粉碎攻擊(nothing-at-the-stake attack),你錢越多,你擁有的權力就越大。
當然,這個也并不是沒有道理,因為在其中利益越多的人,就更愿意去維護這個幣的系統,于是他們手中的幣才能更有價值。
因此,他們并不愿意去進行惡意攻擊,因為那樣實際上他們手中的幣也會受害,這就是POS能夠更有效地防御51%攻擊的原因。
但反過來講,錢越少責任越小。假設你只有1%的錢,你成功的概率只有1%,但是你盡可以去嘗試分叉,因為這并不消耗任何資源。也就是你在最長鏈上挖礦的同時,也去創造一個只在自己的區塊上挖礦的分支。
放在POW里,創建這個分支完全得不償失因為你浪費了大量的算力。然而在POS里,如果這個分支不被接收,實際上你什么都沒損失。
于是,即便是誠實的礦工也可能回去偷偷地進行這種分叉嘗試。盡管他們知道這種嘗試會造成整個幣的價值降低,但是他們的錢很少,他們并不在乎,這就是所謂的平凡人悲劇(tragedy of the commons)。
對于這種攻擊,基本上所有的新的POS算法都有應對的機制,例如以太坊的casper里的slasher,基本概念就是如果有人嘗試了這種攻擊,其他人發現了可以公布證據然后對這個人進行懲罰。
2,理性分叉。很多地方把這個合在權益粉碎攻擊里了,但我覺得必須要分出來說。
權益粉碎攻擊是主動的,而這個是被動的——假設有人做了權益粉碎攻擊進行了分叉嘗試,誠實節點理應不予理會,因為他們能看到這種分叉被接受的幾率小。
對于POW來說,你不會在被接收幾率小的分叉(例如不是最長鏈的分叉)上挖礦,因為那樣浪費算力。
但對于POS來說,在那上面挖礦沒任何損失,反而是不在那上面挖礦,萬一這條鏈被接收了,你就會受到損失。
于是,即便是誠實節點,如果它足夠理性,那么它也會在所有它收到的鏈上同時挖礦。
POW里,沒人挖的分支很快就會變成孤塊被丟棄,但在POS里,如果整個網絡足夠理性,會出現的情況反而是每條分支都會永遠存在因為理性的礦工會同時在所有分支上挖礦。
這是我覺得POS最大的缺陷,就是如果只用最長鏈共識的話,POS本身是沒法應對分叉的,必須通過懲罰。而這種懲罰不光是基于作惡,而是違反節點逐利本性的。
? ?權益證明,Proof of Stake,2013 年被提出,最早在 Peercoin 系統中被實現,
類似現實生活 中的股東機制,擁有股份越多的人越容易獲取記賬權。
? ? 典型的過程是通過保證金(代幣、資產、名聲等具備價值屬性的物品即可)來對賭一個合法 的塊成為新的區塊,
收益為抵押資本的利息和交易服務費。提供證明的保證金(例如通過轉 賬貨幣記錄)越多,
則獲得記賬權的概率就越大。合法記賬者可以獲得收益。
? ? PoS 是試圖解決在 PoW 中大量資源被浪費的缺點。惡意參與者將存在保證金被罰沒的風險, 即損失經濟利益。
? ? 一般的,對于 PoS 來說,需要掌握超過全網 51%的資源,才有可能左右最終的結果。
這個也 很容易理解,三個人投票,前兩人分別支持一方,這時候,第三方的投票將決定最終結果。
? ? PoS 也有一些改進的算法,包括授權股權證明機制(DPOS),
即股東們投票選出一個董事 會,董事會中成員才有權進行代理記賬。
? ? 財力決定一切。主鏈機制是權益最大,所以財力強大就可以重新打包區塊,就可以拿到所有區塊的打包費用啊!
總結
- 上一篇: iOS(iPhone,iPad))开发(
- 下一篇: C#和JQ判断移动端还是PC端