Home / 專欄 / Alvin / 共識機制大解密(上)-POW, POS,DPOS

共識機制大解密(上)-POW, POS,DPOS


(Photo by NASA on Unsplash)

共識演算法一直都是區塊鏈的核心制度之一。為了配合不同特性的組織及用戶,許多共識機制也應運而生,如何在鏈上所有節點穩定運作的同時,讓使用者能個信服並且持續地使用便是當中的關鍵。

從過去的POW(工作量機制)、POS(權益證明)到後來新出現的DPOS(股份授權證明機制)、POI(重要性證明)、POB(燒毀證明),目前仍尚未有一個共識機制是完美無缺的,各自都有維持完整結點正常運作的機制,卻也存在著不同的缺點。

共識演算法一直都是區塊鏈的核心制度之一。為了配合不同特性的組織及用戶,許多共識機制也應運而生,如何在鏈上所有節點穩定運作的同時,保留使用者的留存便是當中的關鍵。

POW(Proof of Work ,工作量證明)

顧名思義,即是透過每個在去中心化的區塊鏈網路上所參與的節點,以完成「工作成果」證明每個節點的「工作量」,好比通過檢定取得證書證明自己的專業知識、修完學校學分得到畢業證書證明自己的學習成果等等。而完成一次有效的工作量證明需要經過不斷地試錯,才能找到最終答案。

 

此一技術成為了加密貨幣的主流共識機制之一,各個節點利用此機制決定哪一個區塊將成為主鏈上的新區塊。比特幣便是採用「工作量證明」的技術;而以太坊則是採用其中一種「權益證明(Proof of Stake)」,稍後會在文章中解釋。

 

至於共識是如何產生的呢?

簡單來說,節點(意即大家所熟悉的「礦工」)利用硬體、花費時間和電力等資源,計算出一組數學公式的結果,而最早計算出答案的節點,則擁有為區塊鏈添加新區塊的權利。

被算出來的數值可向區塊鏈網路中的其他節點提交計算的工作量證明,而以工作量證明的這一種「挖礦算法」來解決計算挑戰的過程稱之為採礦(mining)。

 

關於比特幣背後的「工作量證明」技術,雖然可以有效地讓礦工透過運算得到獎勵,卻還是存在者許多的技術本身所存在的問題,如

  • 耗能不菲:在人人皆可以使用礦機「挖礦」的情形下,在運算上的目的只是為了運算出POW,使得生成新區塊的時間及成本都越來越高。個人礦機變得越來越不敷成本,而改為認領礦池的方式,與其他數個礦工透過持有礦池比例領取相對量的比特幣。
  • 算力中心化:區塊鏈最大的核心理念便是去中心化,但透過少數持有相對多的物理資源(算力、電力等),將會造成系統壟斷,大部分的資源都集中於先行者上,比特幣網路中的「去中心化」特性將會慢慢喪失。
  • 確認單一區塊的時間不一:由於工作量證明需要消耗大量的算力,平均每秒僅能處理5-7筆交易,雖然比特幣網路擁有「去中心化」、「匿名性」等特性,處理交易的速度過慢仍然是一大缺點。又因為區塊的大小是固定的,如此會造成比特幣的網路壅塞,使得區塊確認的時間難以確認。

 

POW的機制讓人人都可以成為礦工加入挖礦的行列,看似去中心化、人人平等的機制但其實存在一個很大的缺陷,尢其2018年隨著集團及大戶的加入,挖礦的市場已經變的越來越小,所需要耗費的成本也越來越高,散戶能夠盈利的難度也隨著時間越來越高。而根據比特幣的設計,最後一枚比特幣將會在2140年被挖出。

 

POS(Proof of Stake,權益證明)

 

POS是透過每一個單位所擁有的資產來證明自己的挖礦權,也就是所謂的「權益」。以現在金融系統作比喻,就像是將資產存在於銀行中,銀行則根據擁有的資產數量及擁有時間分配給你相對應的收益(利息)。

計算利息的公式則跟幣齡有關:

  • 幣齡 = 幣的數量 * 持有時間(天)

假如A在系統中持有20個幣 30天,有20*30=600幣齡,B持有50個幣10天,則有50*10=500幣齡,由此可知A的權益較大,代表A取得挖礦權的機率就會比B還大,「權益」越大的單位(節點)越有機會擁有挖礦權,進而產生新區塊。但當用戶擁有越多權益的同時,在系統遭受到攻擊後所承受的整體損失也會最大(加密貨幣價格下跌、公司形象下滑等),因此他們也會是最關心如何維繫整體系統安全的一群人。

 

第一代權益證明(POS):POS的概念最早於2011年被Quantum Mechanic 在BitcoinTalk論壇中提出,隨後則在2012年被應用於點點幣上(Peercoin , PPCoin)。不過這一個解決依據算力大小決定挖礦能力的POS,雖然克服了POW的51%攻擊的疑慮,仍存在著一個漏洞,也就是無利益攻擊( nothing-at-stake attack)。

權益越大,越有錢的人要發起51%攻擊的成本是相對高的,那麼沒錢的人呢?發起分叉與攻擊對他們來說是成本低又有利可圖的,在這種不需成本就可以產生新區塊的情況下,會造成整體系統價值降低,因此初代權益證明並不是一項完整的共識算法。這也是第二代POS產生的原因。

 

第二代權益證明 Casper POS (POW+POS)

為了解決初代POS的無利益攻擊,Casper算法誕生了,其主要為全球第二大虛擬貨幣以太坊(ETH)背後的共識機制,目的是過渡成為工作量證明/權益證明的混合型系統。

 

協議中的參與者必須在新的區塊形成時就先繳納保證金(Bonding),Casper POS則利用此保證金管控參與者,以若有惡意行為產生將無法拿回保證金以及取消參與權利的方式作為懲罰,杜絕無利益攻擊的發生。

 

Casper的測試網路也於2018被提出,這則新聞直接促使以太坊的價格創下了歷史新高,可以將Casper理解為以太坊實現POS共識機制前的一個過渡期。Casper主要由 Casper FFG(Vitalik主導)及Casper CBC(Vlad)所組成,是兩種完全不同的概念。雖然他們是獨立的兩個項目,背後也由不同的人帶領,他們擁有一樣的願景:將以太坊的工作量證明轉至POS權益證明。

 

而POS機制又會有什麼問題產生呢?取代原本以設備及環境取勝的工作量證明,POS強調擁有代幣數量的原則會造成多者恆多、富者恆富的情形,便會造成許多人的反彈,認為這種模式非常的不公平。

工作量證明
POW
權益證明
POS
第二代權益證明
Casper
優點 安全性高,需要掌握系統的51%以上算力才可以發起攻擊 •節省能源成本(算力)降低

•51%攻擊可能性

•節省能源成本(算力)降低

•51%攻擊可能性

缺點 浪費資源算力逐漸集中化 無利益攻擊 流動行低,因為“多者恆多”,擁有越多者可以得到的利息也越多

(簡單整理了不同共識機制的優缺點給大家參考)

DPOS(Delegated Proof of Stake,股份授權證明)

DPOS為POS的升級版,原理大致相同,差別在於多選出了一些「代表」,類似於公司董事會,持幣者選出依定數量的超級節點,而這些代表將負責驗證和記帳。至於監管規範、性能、資源消耗和容錯性與POS相似。

 

每個股東按持股比例有相對應的影響力,超過51%持相同意見則代表通過決議,決定結果是不可逆且具約束性的。為達到即時且高效的共識,股東將投票權授與一位代表,擁有最多票數的前幾位代表將輪流產生區塊,其相對酬勞為10%的交易費。此一模式產生新區塊速度快,更加去中心化,但還是過於依賴代幣,此特色限制了許多商業上的應用。

這次提到的四種權益證明是目前比較多項目所採用的,而近期也有越來越多新的共識機制被應用於不同的項目中,如:POI(重要性證明)、POB(燒毀證明)、RPCA(瑞波協議共識演算法)、SCP(恆星共識協議)等等。之後也會陸續為大家做介紹,我認為市場上沒有絕對完美的共識機制,都得必須透過不斷的技術更新才能慢慢地找到如何能對使用者效益最大化。

About Alvin

來自台灣,2018曾到香港中文大學交換,喜歡研究不同領域的區塊鏈項目,希望透過文章推動區塊鏈白話文運動,透過不同的主題將最新的資訊分享給大家。

Leave a Reply

Your email address will not be published. Required fields are marked *