從攻擊能量、防守能量來看,PoW與PoS誰更安全?
區塊鏈領域的安全問題一直是大家討論的焦點,Peter 認為在設計一個較為安全的系統之前,首先要明確一下安全的定義,本文給出的是我自己的觀點。我學術背景是電氣自動化工程,職業背景是程序員,所以觀點肯定是技術世界觀的。根據這裡給出的安全定義,能夠解釋我為何是一個 POW 的支持者,另外為何對某些 POS 項目表示懷疑。 ? 安全的定義?我自己的安全的定義是 ? ? 首先,安全是一個能量問題。城牆修的再厚,如果有足夠的炮火,一樣可以把它打爛。這裡防守能量是修築城牆的能量,花的能量越多,城牆就能修的越高越厚。攻擊能量是炮彈中保存的能量。另外一個例子,如果你理解密碼學的話,就知道世界上沒有不能破解的密碼,只是因為很多密碼的破解需要花費攻擊者難以負擔的能量消耗,所以才有被認為的暫時安全的密碼存在。 ? 第二,安全是一個比值。工程上有個概念叫做安全係數,安全係數足夠高,我們就認為系統是安全的。具體來講,安全係數指的是安全程度的係數,是極限應力和許用應力的比值。舉個簡單的例子,一個載人的升降機,繩子的極限承受能力是10000千克,工程上一般載人的許用總重量就是1000千克,安全係數是10。這裡,防守能量是繩子的粒子之間的引力,這個能量可以保證繩子不斷。攻擊能量是人身體帶來的重力。 ? 第三,攻擊收益為負的系統就認為是安全的。安全是一個相對概念,工程上認為,如果繩子用來載人,那麼安全係數要達到10,而如果運輸貨物,安全係數為5就足夠了。一個普通鐵柜子,保存我的私人物品就認為是安全了,但是如果是保存一堆黃金,就不夠安全。原理還是可以套用安全是個比值的這個思路,攻擊潛在獲利多,那麼認為攻擊能量就很大,所以防守能量也必須提高,才能保證安全。 ? 總結一下,安全是一個能量比值,攻擊收益為負的系統,就認為是安全的。 ? 世界上能否共存多個 POW 系統? ? 基於之前的安全定義,我自己是支持用 POW 去保證系統安全的。同時我也認為,這個世界上可以有多個 POW 的區塊鏈同時存在。 ? POW 的安全來自攻防能量對比。最著名的 POW 系統肯定是比特幣了。比特幣會以最長鏈作為最終的共識結果,礦工向哪個分叉上添加區塊就相當於支持這條分叉成為最長鏈。這是用區塊來進行投票的過程,而生成每一個區塊都是有能量損耗的。這樣,攻擊者要攻擊比特幣網路,也一樣要花費能量,51%攻擊意味者,攻擊者的能量水平高於全網其他誠實節點的能量之和的時候,攻擊就會成功。結合咱們之前所說的,安全是攻擊能量和防守能量對抗的思路,可以看出比特幣的 POW 機制是完全符合本文對安全的定義的。所以說,POW 的能耗不是白費,它的回報是安全。 ? 另外一點,咱們的 Andreas 說過 ? ? 總結這部分,POW 用能耗換來安全,不能算是浪費。建設多條 POW 鏈,不會降價任何一條的安全。 ? POS 到底安全嗎? ? 下面從反面來論述一下我的觀點。POS 是一種類似股東投票的共識機制,特點是不需要耗費能量。從前面的論述可以推論,POS 肯定是值得研究的,但是不耗費能量的機制註定和安全無關。 ? 首先展開聊一下為何 POS 不能保證安全。POS 系統為安全支出的能量為0,意味著防守能量為0,那麼不管攻擊能量是多少,安全都為0。POS 系統往往都設計的非常複雜,原因就是作惡是無利害的,投票既然沒有成本,攻擊者就可以為了自己利益的最大化去隨意投票了,在此基礎上去設置各種審查和懲罰也是治標不治本的。 ? POS 的現實意義應該是有的,可以依託信任或者 POW 系統的安全來構建完整系統。但是, POS 本身不提供安全,POS 系統運行必須找到自己的安全基石。目前很多鏈把 POS 本身作為安全基石,然後在上面構建各種功能,個人認為這個思路是值得商榷的。 ? 結論 ? 區塊鏈系統是複雜的,改變一個預置條件,可能結論就變了,所以我也會保留修改本文結論的權力。寫作本文的目的是跟各位做一下思路上的溝通,希望我的思考過程能夠有啟發性。
※零壹新金融日報:央行向中國銀聯頒發銀行卡清算牌照;阿里巴巴宣布新一輪組織升級
※2019互聯網女皇報告中文完整版
TAG:零壹財經 |