工作量證明是什麼?
工作量證明(Proof-of-Work,PoW)是一種對應服務與資源濫用、或是阻斷服務攻擊的經濟對策。一般是要求使用者進行一些耗時適當的複雜運算,並且答案能被服務方快速驗算,以此耗用的時間、裝置與能源做為擔保成本,以確保服務與資源是被真正的需求所使用。
這個想法的一個應用是使用Hashcash作為防止電子郵件垃圾郵件的方法,需要在每封電子郵件上對電子郵件內容(包括收件人地址)進行工作證明。 合法的電子郵件將能夠輕鬆地生成證據(單個電子郵件不需要太多工作),但是大量垃圾郵件將很難生成所需的證據(這需要大量的計算資源)。
工作量證明(Proof-Of-Work)誕生的背景和歷史
工作量證明(POW),1993 年由 Cynthia Dwork 和 Moni Naor 提出,POW 被用於阻止拒絕服務攻擊(DDOS)、反垃圾郵件等一些服務濫用的經濟對策。
第一个POW 應用是1996年 Adam Back 開發的 “Hashcash” 應用,它採用工作量證明共識機制來過濾垃圾郵件,微軟也將其應用在 Hotmail, Exchange, Outlook 等電郵服務上。具體做法是要求所有收到的郵件都使用強 POW 附件。此系統使得垃圾郵件發送者在大量發送郵件時在經濟成本上不可行,但卻允許個人在需要的時候互相發送信息。時至今日這種算法也被賦予新的意義,即以”挖礦”形式作為比特幣安全核心。
工作量證明(POW)共識機制算法採用了SHA-256 運算 Hash 值,特點是難以運算,卻容易驗證。
我們知道改變 Hash 值的原始數據中的任何一部份,所產生的 Hash值也會隨之變化,因此我們只需在運算 Hash 值時,加入一個不斷改變的隨機數,亦總是可以計算出以 0 開頭的 Hash 值。所以要找到符合要求的區塊 Hash 值,則需要經過進行大量運算,運算時間取決於節點的運算速度。當某個節點提供出一個符合要求的 Hash值,就說明該節點確實經過了大量的嘗試運算。當然,並不能代表說已進行了多少次運算的次數,因為尋找符合要求 Hash值是一個概率事件。
換言之,當節點擁有佔全網 N%的算力時,該節點即有 N/100的概率找到符合要求的 Hash值。
Hashcash工作證明在比特幣中用於塊生成。 為了使網絡參與者接受塊,礦工必須完成覆蓋塊中所有數據的工作證明。 調整這項工作的難度,以便限製網絡每10分鐘生成一個新塊的速率。 由於成功生成的可能性非常低,因此無法預測網絡中的哪台工作計算機將能夠生成下一個塊。
工作量證明(Proof-Of-Work)是如何運作的?
很多時候,人們將這些數據解釋為解謎的解決方案。 基本上,給定社區的成員致力於解決複雜的難題。 這是工作證明(PoW)中的“工作”。
為了創建數據或解決難題 – 礦工必須通過非常複雜的等式進行計算。 因為這個方程式的每次嘗試都建立在以前的解決方案之上。
同時,解決方程式所需的工作會產生一個新的數據。 然後將其添加到不斷增長的數據鏈中。 從那裡開始,這個過程基本上重新開始。
使用工作證明(PoW)有哪些優劣勢
POW使用優勢
- 因為這項工作非常困難,PoW降低了51%攻擊的風險。
- 同時,每個解決方案都可以讓社區輕鬆驗證。 這使得檢查所有事務的可信度變得容易。
- 它不依賴於單個第三方交易者。 這構建了一個“無信任”且透明的網絡。
- PoW還限制了可以生成多少個新數據塊。 例如,礦工每10分鐘只能創建一個比特幣(BTC)塊。
POW使用劣勢
- PoW價格昂貴,勞動強度大,耗電量大。 創建一個新區塊需要大量精力,最近一項將加密貨幣採礦與鋁礦開採相比較的研究強調了這一點。 例如,比特幣的年度碳足跡大於瑞士的碳足跡。
- 此外,PoW往往是“毫無意義”的工作。 也就是說,這項工作只不過是解決算法的任意謎題。 許多人認為這是浪費大量的計算潛力。
介紹完了POW是什麼意思,下個部分,將會介紹區塊鏈中的DAY12 公鏈和私鏈的差別在哪 ,歡迎大家追蹤我們!
如果喜歡看更多與區塊鏈技術、應用、科技新知相關的內容,記得留下您的Email並追蹤我們的粉專,那麼新文章上線時,我們將在第一時間通知您,不用再擔心錯過最新消息。