激勵機制
區塊鍊是一個公共可見的賬本,用來記錄交易的曆史資訊。當一筆新的資産交易被建立時,資産轉出方需要通過簽名腳本來證明自己是資産的合法使用者,并且指定輸出腳本來限制未來對本交易的使用者(即資産收入方)。如果是合法建立并簽名的,則該筆交易現在就是有效的,它将被廣播到區塊鍊網絡并被傳送,每一個收到交易的節點将會首先驗證該交易,確定隻有有效的交易才會在網絡中傳播,而無效的交易将會在第一個節點處被廢棄,直至抵達挖礦節點。
挖礦節點在驗證交易後會将這些交易添加到自己的記憶體池中建構新的區塊。在PoW機制,礦工們接着通過反複嘗試求解一種基于雜湊演算法的數學難題來競争獲得記賬權,具體而言,礦工不斷更換區塊頭的填充随機數并計算這個區塊頭資訊的哈希值,看其是否小于目前目标值。如果小于,則成功“出塊”,随後礦工将這個區塊發給它的所有相鄰節點。這些節點在接收後進行一系列的檢查标準,去驗證區塊的正确性。檢查的标準包括區塊的資料結構和區塊包含的交易合法有效;區塊頭的哈希值小于目标難度(确認包含足夠的工作量證明)等。一旦一個節點驗證了一個新的區塊,它就會将新的區塊連接配接到累計了最大工作量證明的區塊鍊中,礦工挖礦成功。
在上述過程中,礦工獲得兩方面獎勵:
(1)、一是代币獎勵。礦工建構的新區塊中的第一筆交易是一筆特殊交易,稱為創币交易或者Coinbase交易。礦工挖礦成功後,将獲得這筆新創造的加密代币。在比特币網絡,每隔10分鐘将一個新的區塊添加至鍊上,每添加一個區塊可以獲得50枚比特币作為獎勵(每四年減半)。
(2)、二是記賬決策權與交易手續費。礦工擁有記賬決策權,有權決定将哪些交易添加至新建構的區塊,并對收錄在區塊内的所有交易收取手續費。
懲罰機制
通過懲罰設計,PoW設定了兩道門檻:
1、第一道門檻設在礦工競争記賬權的時候,使得礦工不能随便“發言”(新增區塊)。
(1)、一方面,礦工為獲得記賬權,須不斷求解哈希難題,是以付出“不菲”的成本,這一成本是沉沒成本,隻要礦工想參與“發言”,那麼無論他最終能否成功“發言”,他均必須付出這一筆建言成本;
(2)、另一方面,由于哈希難題的驗證要比求解來的簡單,對新出區塊的驗證成本微乎其微,是以隻要礦工一錯誤“發言”(如交易無效、格式不符等),就會很快地被其他節點檢測出來廢棄掉,他之前付出的建言成本相當于對他的懲罰。
2、第二道門檻則設在區塊被成功添加區塊鍊後的修改,使得礦工不能随意更改區塊鍊。在比特币網絡,每2016個區塊(大約兩周)後,所有用戶端把新區塊的實際數目與目标數量相比較,并且按照差異的百分比調整目标HASH值,來增加(或減少)産生區塊的難度,確定每10分鐘1塊的恒定出塊速度。挖礦難度值的提高,增加了攻擊的成本。攻擊者如果要構造出一條比真實區塊鍊更長的秘密區塊鍊,需要在比特币網絡産出6個區塊的同時秘密産出7個區塊。