區塊鏈引發的記賬技術的演進,將促使商業協作和組織形態發生變革。分布式賬本技術的核心價值在于為未來多方協同網絡提供可信基礎。
當用戶通過比特幣客戶端發起一項交易,消息廣播到比特幣網絡中等待確認。網絡中的節點會將收到的等待確認的交易請求打包在一起,添加上前一個區塊頭部的哈希值等信息,組成一個區塊結構。然后,試圖找到一個nonce串(隨機串)放到區塊里,使得其哈希結果滿足一定條件(比如小于某個值)。計算nonce串的過程,即俗稱的“挖礦”。nonce串的查找需要花費一定的計算力。
一旦節點找到了滿足條件的nonce串,區塊在格式上就變得合法,成為候選區塊。節點將其在網絡中廣播出去。其它節點收到候選區塊后進行驗證,發現確實合法,就承認區塊是一個新的合法區塊,并添加到自己維護的本地區塊鏈結構上。當大部分節點都接受了該區塊后,意味著區塊被網絡接受,區塊中所包括的交易也就得到確認。
比特幣的區塊鏈工作過程可以簡化為兩個關鍵流程,一個是完成對一批交易的共識(創建合法區塊結構),一個是新的區塊添加到區塊鏈結構上,被網絡認可,確保未來無法被篡改。
比特幣基于算力(尋找nonce串)的共識機制被稱為工作量證明(Proof of Work,PoW)。因為要讓哈希結果滿足一定條件,并無已知的快速啟發式算法,只能對nonce值進行逐個嘗試的蠻力計算。嘗試的次數越多(工作量越大),算出來的概率越大。
通過調節對哈希結果的限制條件,比特幣網絡控制平均約10分鐘產生一個合法區塊。算出區塊的節點將得到區塊中所有交易的管理費和協議固定發放的獎勵費(每四年減半)。
比特幣網絡是任何人都可以加入的,如果網絡中存在惡意節點,能否進行惡意操作來對區塊鏈中記錄進行篡改,從而破壞整個比特幣網絡系統。比如故意不承認別人產生的合法候選區塊或者干脆拒絕來自其它節點的交易請求等。
實際上,比特幣網絡中存在大量(據估計數千個)的維護節點,而且大部分節點都是正常工作的,默認都只承認所看到的最長的鏈結構。只要網絡中不存在超過一半的節點提前勾結一起采取惡意行動,則最長的鏈將很大概率上成為最終合法的鏈。而且隨著時間增加,概率會越來越大。例如,經過6個區塊生成后,即便有一半的節點聯合起來想顛覆被確認的結果,其概率也僅為(1/2)^6≈1.6%,即低于1/60的可能性。10個區塊后概率將降到千分之一以下。
如果整個網絡中大多數的節點都聯合起來作惡,可以導致整個系統無法正常工作。往往意味著付出很大的代價,跟通過作惡得到的收益相比,往往得不償失。