作為區塊鏈技術的最初應用,比特幣是“一種完全通過點對點技術實現的電子現金系統,它使得在線支付能夠直接由一方發起并支付給另外一方,中間不需要通過任何的金融機構”[4]。可以說,中本聰發明比特幣的動機就是要去中介化、去中心化,實現在交易雙方之間的“點對點”(peertopeer)支付。比特幣的協議和軟件都是公開發布的,世界各地的任何開發人員都可以查看其代碼,或者開發他們自己修改過的比特幣軟件版本。……沒有誰擁有比特幣網絡,就像沒有人擁有電子郵件背后的技術一樣。比特幣由世界各地所有的比特幣用戶控制。[5] 可見,最早的區塊鏈是一個完全開放的系統,不由任何個人、組織或機構控制,而是由所有參與主體共同維護,這就是所謂公有鏈(publicblockchain)。公有鏈對世界上所有人開放,用戶不需要注冊和授權就能夠匿名訪問網絡和區塊,參與記賬和交易,并且可以自由加入和退出網絡。任何人都可以參與共識過程——決定添加何種區塊到鏈上并確定什么內容的過程。公有鏈之所以可以做到上述幾點,是因為有以下幾方面的技術支撐和機制設計: 其一,“點對點”網絡技術。點對點網絡技術是一種無需中央服務器,用戶群通過互聯網連接、彼此交換信息而存在的分布式網絡架構。用戶加入系統的唯一要求是其電腦終端連接Internet和P2P軟件,這使每個用戶可以訪問網絡上成千上萬的其他節點。點對點的信息傳遞,使得第三方信用中介成為多余,交易在雙方當事人之間完成,簡化了程序、壓縮了成本。每一個節點都參與所有交易信息的驗證,一方面起到見證的作用;另一方面使得信息不能被篡改。 其二,非對稱加密技術。點對點技術在傳遞信息時,既要讓全網獲知,又要保護交易雙方當事人的隱私,這是應用非對稱加密技術實現的。非對稱加密技術包含兩個密鑰,一個是公鑰(publickey),另一個是密鑰(privatekey)。公鑰用于對信息加密,是公開的,所有參與者可見;私鑰用于解密,只有信息的擁有者才有權用其解密。因為私鑰與公鑰不同,因此被稱為非對稱加密。非對稱加密技術算法復雜、安全性強。通過綜合運用該技術與點對點網絡技術,可以建立分布式交易賬簿,并以呼叫問答機制向全網廣播,網絡節點不停地檢查接收的數據,避免數據被篡改。[6] 其三,時間戳(timestamp)與哈希現金(HashCash)算法。中本聰設計比特幣遇到的最大難題是如何解決雙重支付(doublespend)問題,他的方案是通過區塊鏈全網記賬的方式,替代了第三方信用機構。服務器通過對以區塊形式存在的一組數據實施隨機散列而加上時間戳,并將該隨機散列進行廣播,該時間戳能夠證實特定數據于某特定時間是的確存在,因為只有在該時刻存在了才能獲取相應的隨機散列值。每個時間戳應當將前一個時間戳納入其隨機散列值中,每一個隨后的時間戳都對之前的一個時間戳進行增強,這樣就形成了一個鏈條(Chain),每個區塊都包含上一個區塊的哈希值,區塊之間的銜接也是通過哈希算法完成的。隨機散列值及其運算方法就是哈希現金算法。[7] 其四,共識機制(Consensus)。區塊鏈技術是去信任、去信用的系統,《經濟學人》發文將其比喻為“信任機器”。[8]這是因為區塊鏈建立的共識機制,即在一個互不信任的市場中,要想使各節點達成一致的充分必要條件是每個節點出于對自身利益最大化的考慮,都會自發、誠實地遵守協議中預先設定的規則,判斷每一筆記錄的真實性,最終將判斷為真的記錄記入區塊鏈之中。[9]這些需要前述哈希算法來完成,當某個節點得到了合理的哈希值,也就說明其進行了大量計算,對其計算工作給予的獎勵,就是工作量證明(POW,ProofofWork)。 只要某個節點耗費的工作量能夠滿足該工作量證明機制,那么除非重新完成相當的工作量,該區塊的信息就不可更改。由于之后的區塊是鏈接在該區塊之后的,因此想要更改該區塊中的信息,就還需要重新完成之后所有區塊的全部工作量。當節點足夠多,且無中心控制的情況下,對區塊鏈信息的篡改幾乎是不可能完成的任務。比特幣的工作量證明是“挖礦”——某個節點計算隨機散列數據的過程,完成后形成一個區塊,獎勵一定數額的比特幣。 |