挖礦是浪費資源嗎
每一個加入比特幣網絡的成員都會生成自己的地址和私鑰。它們可以類比為電子郵件地址及其密碼:人們可以向你的公開地址發送比特幣,你要使用私鑰才能從你的比特幣餘額中向外發送比特幣。比特幣地址也可以通過二維碼的形式呈現。
發生一筆交易的時候,發送者將這筆交易廣播給全網其他成員(節點),其他成員會驗證發送者是否有足夠的餘額,以及這筆交易涉及的比特幣是否在其他交易中重複支出。一旦這筆交易通過了多數節點的確認,就會被添加到全網用戶共享的大賬本中,所有用戶都會同步更新交易雙方的 “賬戶” 餘額。對網絡節點來說,驗證這些交易的有效性非常簡單。因此,採用一人一票的方式驗證交易是不安全的,黑客可以佈置大量虛假節點,驗證虛假交易。只能根據網絡成員消耗的算力,換句話說,只有採用工作量證明機制(PoW),比特幣才能在不依賴第三方的情況下解決雙花(雙重花費)問題。
從本質上講,工作量證明就是讓網絡成員競爭解決難以解出卻易於驗證答案的數學問題。在約 10 分鐘內被驗證過的比特幣交易會被節點打包進一個區塊中,某個節點會將區塊添加到比特幣總賬本上,即比特幣區塊鏈上。節點為了獲得添加區塊的權利而競逐工作量證明的有效解,一旦有節點算出了有效的解,便會立刻將這個解廣播給其他網絡成員,他們可以快速驗證這個解是否有效。一旦節點提交的區塊和工作量證明的有效性得到了多數網絡節點的認可,這個節點就會得到一定量的比特幣。系統發放的比特幣被稱作 “區塊補貼”,這是增加比特幣供給的唯一途徑,就像挖礦是增加黃金供給的唯一途徑一樣,正因如此,該獲取新幣的過程被稱作 “挖礦”。除了區塊補貼,首先完成工作量證明的節點還會獲取該區塊包含的交易手續費。區塊補貼與交易手續費之和就是區塊獎勵。
節點競相進行工作量證明,乍看起來似乎是對電腦計算能力和電力的浪費,然而工作量證明對比特幣的運行至關重要。
要使數字商品具備可靠的較高的生產成本,迄今為止,僅有工作量證明一途。正是因為要消耗電力和算力才能產出新幣,比特幣才有可能成為硬通貨。只有求解工作量證明需要消耗大量的算力和電力,擴大算力的節點才有強烈動機不在自己的區塊內打包無效交易。驗證交易和工作量證明有效性的成本遠遠小於求解工作量證明的成本,因此,如果節點試圖在區塊中混入無效交易,幾乎肯定會遭到失敗,使之前參與工作量證明花費的算力成本有去無回。
工作量證明使打包區塊的成本極其高昂,同時驗證區塊有效性的成本極其低廉,這樣就幾乎消除了任何人創建無效交易的動機。如果有人試圖這麼做,只會白白浪費電力和算力,而得不到區塊獎勵。因此,比特幣可以理解為是一種技術:它通過算力的消耗,將電力轉化為真實的交易記錄。節點消耗了電力換來了比特幣獎勵,因此它們有強烈的動機維護比特幣的完整。由於對誠實節點的經濟激勵,從誕生到今日起,比特幣賬本都不曾有過纰漏,針對已確認交易的雙花攻擊從未成功。實際上,比特幣賬本的這種完整性並不依賴任何一方的誠實。比特幣完全依賴驗證,無須相信任何人。
攻擊者需要掌握全網的大部分算力,才能在比特幣賬本中插入虛假交易。網絡中的誠實節點完全沒有這麼做的動力,因為這將破壞比特幣賬本的完整性,降低收到的區塊獎勵的價值,浪費他們投入在挖礦上的電力和資源。所以攻擊者的唯一希望是,自行掌握超過全網算力 50% 的算力資源,自己驗證自己的欺詐行為,並將它寫入比特幣賬本,假裝這是一筆有效的交易。在比特幣誕生的早期,全網算力非常小,這種事情尚有可能出現。可是,由於當時比特幣網絡的經濟價值並不存在,或者說微不足道,因此也並未吸引這樣的攻擊。隨著比特幣網絡的成長,用戶帶來的算力越來越多,攻擊的成本變得不可同日而語。
網絡節點可以通過驗證打獲得的區塊獎勵,因此掌握算力有利可圖。截至 2017 年 1 月,比特幣網絡的全網算力約等於 2 萬億台消費型筆記本電腦算力的總和,這個數字大於世界上最大超級計算機算力的 200 萬倍,大於全世界排名前 500 的超級計算機算力總和的 20 萬倍。通過直接將算力貨幣化,比特幣已經成為全世界最大的單一用途的計算機網絡。
促進算力增長的另一個因素是,驗證交易和解決工作量證明問題的,已經從個人電腦轉向了專用的礦機,這些礦機為比特幣軟件達到最佳運行效率而專門設計。ASIC(Application Specific Integrated Circuits)礦機最早出現於 2012 年,它們的部署更加提高了比特幣網絡中算力的效率,使用 ASIC,沒有任何電力會被浪費在與比特幣計算不相關的計算單元中。礦機組成的全球分佈式網絡守護著比特幣賬本的完整。除了驗證交易和解決工作量證明,這些礦機並沒有其他的用途。如果比特幣因為某種原因而失敗,礦機將變得毫無用處,投資者的投資將會泡湯,因此他們有強烈的動機維護網絡的完整和可信度。
如果有人想要篡改比特幣網絡的交易記錄,他需要先行投入至少上億美元,開發新的 ASIC 芯片。就算有人成功地篡改了交易記錄,他也不大可能得到任何好處,因為由於他的攻擊,比特幣網絡的價值會大幅下跌,乃至歸零。換句話說,為了摧毀比特幣,攻擊者需要付出極大的成本,卻不會得到任何回報。事實上,即使這樣的圖謀成功了,網絡上的誠實節點也可以及時回滾到攻擊發生的區塊之前,讓網絡繼續運行起來。然後,攻擊者需要繼續投入巨大的成本,攻擊誠實節點的共識。
在比特幣早期,用戶運行節點發送自己的交易,同時驗證彼此的交易,實際上每個節點既是錢包又是驗證者 / 礦工。但隨著時間的推移,這些功能被分開了。現在,ASIC 芯片被專門用於驗證交易和獲取區塊獎勵(這也是為什麼它們常被稱作礦機)。節點運營商可以產生無限的錢包,供企業為用戶提供方便的錢包服務,讓用戶不需要運行節點或者花費算力就可以收發比特幣。從這個意義上說,比特幣雖然不再是純粹的對等節點之間的點對點網絡,但是網絡仍然由大量節點構成,網絡的運行不依賴任何一方,網絡去中心化和分佈式的本質完整地保存了下來。此外,正是由於挖礦專業化,才使網絡背後的算力成長到今天這樣驚人的規模。
在早期,比特幣幾乎還沒有價值的時候,網絡曾經很容易被黑客劫持或摧毀,但是隨著網絡具備了一定的價值,人們就可以免於這種擔憂了。比特幣網絡的價值升高了,可能使其對攻擊者更有吸引力,但與此同時,攻擊成本的上升也更加明顯,結果就是沒有任何攻擊真的成功。換一個角度看,也許對比特幣網絡的真正保護是,在任何時候,網絡代幣的價值完全依賴網絡的完整性。任何成功修改了區塊鏈的、盜了幣的、雙花成功的攻擊,都会让网络成员觉得,比特币网络不再安全,从而显著降低使用比特币网络和持币的需求,造成比特币价格的崩溃,攻击者最终得不到好处。换句话说,比特币的护甲不仅是攻击成本高昂,还有很重要的一点是,攻击成功会让攻击者的战利品一文不值。作为一个完全自愿的系统,只有网络是可信的,系统才能运作,不然人们就会丢弃它。
算力的分散、代码的强抗更改性、稳如山的货币政策,是比特币存活下来并成长到今天这个规模的原因。新接触比特币的人很难想象,比特币发展到今天攻克了多少逻辑和安全方面的挑战。互联网为黑客创造了无尽的机会,他们出于兴趣或利益攻击各种网站和网络,世界各地的计算机网络和电子邮件服务器每天都被曝出这样那样的安全漏洞,这些系统能给攻击者提供的不过是数据或政治加分的机会而已,比特币则是价值巨大的资产,这样一想,比特币今天的成就就更惊人了。比特币网络价值巨大但是能够持续安全稳定运行,是因为它从一开始就是在高度敌对的环境中运行,长期面对着无情的试炼。世界各地的程序员和黑客曾试图以各种方法挑战它,但比特币兀自屹立。
“比特币的本质决定了,自 0.1 版本发行以后,其核心设计便已固定,永远不会被改变。”
—— 中本聪,2010 年 6 月 17 日
迄今為止,比特幣的抗逆性(resilience)並不仅体现在成功击退了外来的攻击,还体现在有力地抵制了任何改变比特幣、更改比特幣特性的企图。大多数怀疑论者尚未充分认识到这一表述的力量及其含义。如果将比特币比作一家央行,它将是全球最独立的央行;如果将比特币比作一个国家,它将是世界上主权最高的民族国家。比特币的主权源于这个事实:所有人都知道,比特币的共识规则决定了没有人可以左右它。毫不夸张地说,没有人能控制比特币,人们唯一的选择就是,按原样使用它,或者不使用它。
这种不可变性并不是说比特币软件无法更改,对任何具备编程能力的人来说,改变它轻而易举;这种不可变性源于比特币作为一种货币和网络的经济学效应,改变的难度在于让全网的每一个用户都接受同样的修改。比特币是开源软件,允许个人运行节点连接到比特币网络。比特币最初是由中本聪与已故的哈尔・芬尼和其他一些程序员合作开发出来的。自那时起,任何人都可以自由下载和使用该软件,并对其进行修改。开源属性创造了一个自由竞争的市场,任何人都可以自由地对软件进行修改或改进,并将其提交给用户使用。
长期以来,来自世界各地的数百名计算机程序员自愿花时间改进节点软件,改进单个节点的功能。这些程序员完成了很多不同的实现,其中最受欢迎的被称作 “比特币核心”(Bitcoin Core)。除了比特币核心,用户也可以使用其他开发者完成的比特币软件接入比特币网络,也可以自由地修改源代码。节点加入比特币网络的唯一要求是,遵守其他节点共同使用的共识协议。如果违反共识规则,改变区块链结构、交易有效性、区块奖励或任何其他系统参数,该节点提交的交易会被所有其他节点拒绝。
定义比特币参数的过程正是苏格兰哲学家亚当・弗格森(Adam Ferguson)所说的 “人类行为的产物,而非人类设计的产物” 的绝佳例子。中本聪和哈尔・芬尼等人在 2009 年 1 月完成了比特币的工作模型,但从那以后,比特币又有了长足的发展。通过数千运行节点的选择,数百名开发人员的贡献,比特币代码发生了显著变化。没有中央权威机构决定比特币软件如何发展,也没有哪个程序员能够决定任何结果。实践证明,某项改进被采纳的关键是遵循原始设计的参数。就变化而言,比特币软件的改进更多可以被理解为,改进了单个节点与网络的交互方式,而不是改变了比特幣網絡或其中某一項共識規則。詳細討論這些超出了本書的主旨,可以簡而言之:如果某項改動使某節點與其他節點不一致,則需要所有其他節點均進行更新,發起更改的節點才能繼續留在網絡上。如果有一批節點集體採用新的共識規則,而其餘節點並不跟進,就會出現所謂的硬分叉。
儘管他們很出色,但比特幣的開發者並不能控制比特幣,只有他們提供的軟件獲得節點的使用,才能說開發者一定程度上可以影響比特幣。不僅開發者不能控制比特幣,礦工也不能,無論其掌握多少算力。無論礦工在無效區塊上浪費多少算力,也不會獲得大多數網絡節點的認可。如果礦工試圖改變共識規則,他產生的區塊只會被其他網絡成員忽略,從而白白浪費算力,一無所獲。只有礦工按照現有的共識規則打包只包含有效交易的區塊,才能說礦工在一定程度上可以影響比特幣。
既然開發者和礦工都不行,似乎可以說,運行節點的人控制著比特幣。然而,這種判斷只在高度理論化的語境下為真。事實上,每個節點運營者只能控制自己的節點,決定自己加入哪一個網絡協議,決定自己認為這些交易有效還是無效。節點在選擇共識規則時並不能放飛自我,因為如果選擇了與全網不一致的共識規則,自己就會被網絡拒絕。因此,所有節點的強烈偏好就是保持共識規則不變,並與運行該共識規則的其他節點保持兼容。任何一個節點都無力強迫其他節點更改代碼,於是就造成了強烈的維持現有共識規則的集體共識。
總言之,比特幣的開發者如果想讓他們的代碼被接納,最好保持原來的共識規則不變;比特幣礦工如果想獲得回報,不浪費挖礦付出的成本,最好的選擇也是遵守原有的共識規則;網絡用戶如果想讓自己的交易順利結算,最好的選擇也是維持原有的共識規則不變。任何一個開發者、礦工或節點都不是比特幣不可或缺的,如果偏離了共識規則,最可能的結果就是浪費自己的資源。只要比特幣網絡為參與者提供正向激勵,就沒有誰不可替代。因此,從這個角度看,這些共識特徵就是比特幣主權的體現,比特幣在多大程度上依然是比特幣,正取決於這些特徵和規範。比特幣這種非常強烈的現狀偏好,使改變它的供給或其他重要經濟參數極其困難。正是由於這種穩定的均衡,比特幣的硬通貨屬性才獲得了認可。如果比特幣偏離了這些共識規則,它硬通貨的地位也將嚴重縮水。
據筆者所知,到目前為止還沒有試圖改變比特幣貨幣政策的重大聯合行動,不僅如此,一些更簡單、更直接的、試圖更改比特幣某些技術參數的嘗試也都失敗了。一些看似無害的技術改進也很難推廣,原因就在於比特幣網絡的分佈式特徵。需要互不相關甚至利益衝突的各方共同同意,一項改動才能得以實施。參與者越多,越難讓大家都能理解一項改動的意義,因此獲得共同同意也就越難。對大家來說,現在的狀態經過了反復的測試,安全而熟悉、穩定而可靠。比特幣的現狀可以被理解為穩定的謝林點(Schelling Point),激勵所有參與者堅持下去,放棄會帶來巨大的損失風險。
如果比特幣網絡的一些成員決定通過引入新版本的比特幣軟件,改變比特幣代碼的某些特徵,而這種新的比特幣軟件又與其他網絡成員不兼容,結果將會是分叉,實際上會創造兩種不同的貨幣和網絡。只要有人願意繼續使用原來的舊網絡,他們就會受益於現有的網絡基礎設施、挖礦設備、網絡效應、知名度等。新的分叉想要取代舊網絡,就必須讓用戶數量、算力以及所有相關的基礎設施同時壓倒性地遷移過去。如果不能獲得壓倒性的多數,最有可能的結果是,出現兩種比特幣。如果分叉背後的人希望勝出,他們就必須賣掉原有網絡上的比特幣,並且希望所有人都這麼做,這樣舊網絡的比特幣就會價格下跌,而新分叉上的代幣會價格上升,從而驅動更多的算力和經濟活動從舊網絡轉移到新網絡上來。但是,對比特幣任何特徵的任何修改,都只可能是對一些人有利同時對一些人不利,因此不太可能所有人達成一致,一起轉移到新網絡上去。從更廣義上講,多數人持有比特幣的原因,是比特幣自動完成交易且不受第三方的影響。這樣的人不太可能冒險,不太可能將對網絡進行修改的裁量權交給提交不兼容代碼的組織。爭辯誰才是多數並無實際意義,重要的是,只要一批堅持原有網絡規則的人存在,就能保證現有的系統特性一直保持下去(除非出現不可知的原因破壞了系統的運行)。
除非當前設計出現災難性的故障,否則可以肯定的是,將有相當大比例的節點選擇繼續使用現有的比特幣實現方式,對任何人來說,這都比使用分叉網絡安全得多。使用分叉網絡的問題在於,要幫助分叉網絡成功,就不得不賣掉你在原來網絡上的比特幣。任何人都不願意看到的是,自己賣掉了舊網絡上的比特幣,來到了新網絡,卻發現身後的跟隨者寥寥無幾,新網絡上的代幣價格暴跌。簡而言之,如果沒有絕對多數的人願意集體轉移,就不可能有新的共識規則實現,而沒有絕對多數共同支持,參與新網絡的各方幾乎一定會面臨經濟上災難性的後果。如果任何新的轉向獲得成功,都会让这一转向的发起方获得对比特币未来发展方向的极大话语权。不过,想要成功,前提是必须获得广大持币者的支持,而持币者可以说打心眼里就反对比特币出现任何形式的权威,因此他们几乎不可能支持这样的转向。这些持币者群体的存在,使得对任何其他人来说,支持分叉都特别危险。以上分析或许可以解释为什么迄今为止比特币拒绝了所有试图大幅改变它的尝试。
協調利益#
對立的人做出步調一致的行動是非常棘手的,尤其是這中間有很多人出於自身立場極為堅持比特幣的不可改變性。除非未來出現什麼不可抗力,讓人們不得不放棄現行的比特幣實現方式。
舉例來說,比如某個修改可以增加比特幣新幣發行的速率,增加礦工得到的挖礦獎勵,礦工可能會喜歡這個提議,但是現有的持幣者應該不會喜歡,所以持幣者不大可能同意這樣的修改。與此類似地,如果提議增加比特幣網絡的區塊大小,對礦工是有利的,這樣的話,礦工可以在一個區塊中打包更多的交易,收到更多的交易手續費,從而使投資挖礦的收益更大。但是,長期持幣者不大可能支持這種修改,他們會擔心更大的區塊會讓整個區塊鏈的體積過於龐大,使運行全節點的成本太昂貴,因此降低全網的全節點數量,使網絡變得中心化,更加易受攻擊。開發者開發比特幣節點運行的軟件,卻無法將改變強加給任何人。他們只能提交代碼,用戶自由選擇下載喜歡的代碼和軟件版本。跟現行的比特幣實現兼容的代碼會比不能兼容的代碼更容易得到用戶的認可和下載,因為不能兼容的代碼要等到全網壓倒性多數的用戶都使用它的時候才能有效。
因此,比特幣表現出了極強的現狀偏好。迄今為止,發生的都是一些微小的沒有爭議的更改,每次試圖大規模改變比特幣的嘗試都以徹底失敗而告終。這令比特幣的長期持幣者感到高興,因為他們最看重的就是比特幣的不可改變性和對改變的抵抗力。在這些嘗試中,最令人矚目的是 “擴容”(增加單個區塊的大小,以增加網絡交易承載量)的嘗試。先後有過數個試圖擴容的項目,它們爭取到不少傑出的和早期的比特幣參與者為其搖旗吶喊,也極力爭取公眾的支持。加文・安德烈森(Gavin Andresen)是與比特幣有關的知名度最高的人物之一,他與許多利益相關者(包括一些技術精湛的開發者和財力雄厚的企業家)一起,非常積極地推動了幾次讓比特幣擁有更大區塊的嘗試。
最初,加文・安德烈森和一名叫麥克・赫恩(Mike Hearn)的程序員於 2015 年 6 月提出了 “比特幣 XT”(Bitcoin XT),目的在於將比特幣的區塊大小上限從當時的 1MB 增加到 8MB。但是,大部分節點更傾向於保持 1MB 的區塊大小,拒絕升級。之後,麥克・赫恩被一個 “金融機構區塊鏈聯盟” 雇用,以將區塊鏈技術應用於金融市場,同時《紐約時報》上發表了對麥克・赫恩不吝讚美的文章,稱他是拼命試圖挽救比特幣的英雄,由於英雄得不到認可,比特幣已經不可挽回地走向失敗。赫恩宣稱 “比特幣實驗已經失敗”,交易承載能力增長乏力是比特幣的致命障礙,並宣布他已經賣出了所有的比特幣。當時比特幣的價格是 350 美元,兩年過去,比特幣的價格又上漲了 40 倍不止,而他加入的 “區塊鏈聯盟” 什麼都沒幹出來。
加文・安德烈森並沒有善罷甘休,隨即提議以 “比特幣經典”(Bitcoin Classic)之名進行新的分叉,還是要將區塊大小提升至 8MB。這一嘗試同樣沒有成功。到 2016 年 3 月,支持比特幣經典的節點數開始減少。接下來,大區塊一族在 2017 年又一次聚集在 “比特幣無限”(Bitcoin Unlimited)的旗幟下,這一次聲勢更為浩大,他們中有世界上最大的礦機生產商,有控制著 bitcoin.com 域名的超級富豪,他們花費了無數資源推動大區塊運動。媒體大肆炒作,對所有關注主流媒體和社交媒體上比特幣新聞的人來說,危機感撲面而來。然而,事實是,大區塊一族依然沒有成功,大多數節點繼續運行 1MB 版本的比特幣。
最終,2017 年 8 月,大區塊一族以 “比特幣現金”(Bitcoin Cash)之名硬分叉出一個分叉版的比特幣。比特幣現金生動展示了沒有得到極大共識的分叉幣的命運。大多數人選擇留在原有的比特幣網絡上,整套經濟的基礎設施也集中在原有的比特幣網絡上,比特幣的價值遠高於比特幣現金,比特幣現金的價格持續下跌,到 2017 年 11 月,不足比特幣的 5%。比特幣現金不僅無法取得經濟上的價值,嚴重的技術問題還使它幾乎無法使用。既然新鏈和比特幣使用相同的哈希算法,礦工就可以在兩條鏈上挖礦,從兩邊獲取挖礦獎勵。比特幣的價值遠高於比特幣現金,挖比特幣的算力比挖比特幣現金的算力多得多。但是,一旦比特幣現金的挖礦收益率升高,就會有大量的比特幣算力切過來。這給比特幣現金帶來了不幸的兩難困境:如果挖礦難度太高,就會算力泄出,長時間無法挖出區塊,交易無法獲得確認;如果挖礦難度過低,就會算力湧入,挖出區塊太快,貨幣供給增加過快。比特幣現金的供給速度快於比特幣,將會導致比特幣現金的挖礦獎勵很快被耗尽,未來無法吸引礦工。更可能的是,將導致比特幣現金不得不繼續進行硬分叉,調整供給增速,以期獲得挖礦激勵的可持續性。只有比特幣的分叉幣會面臨這個困境,比特幣本身不會。比特幣挖礦一直都吸引著最多的算力,隨著礦工購入更多的挖礦設備,算力還在持續遞增。但是對比特幣的分叉幣來說,價值較低,挖礦難度也較低,總是很難抵抗來自更高價值鏈的算力蹂躪。
比特幣現金試圖發起挑戰,證明誰才是真的比特幣,它失敗了。另一個由活躍在比特幣經濟圈的很多初創公司協商的,試圖將比特幣區塊大小增大一倍的分叉企圖,在 2017 年 11 月被取消了,這是因為它的推動者們認識到,他們不大可能獲得網絡上的壓倒性支持,最終極有可能以另一個分叉幣和分叉網絡收場。經過事實的反復教育,比特幣的支持者們開始對這樣的企圖不屑一顧,他們知道,無論怎樣炒作,任何改變比特幣共識規則的嘗試都將導致另一個山寨比特幣的誕生,就像所謂的 “競爭幣”(Altcoin),不管抄襲了多少細節,都抄不去比特幣最重要的特徵 —— 不可變性。通過以上分析我們可以認識到,比特幣的優勢不在於速度、便利性或友好的用戶體驗,比特幣的價值來自無人可以改變的不動如山的貨幣政策。任何一群人試圖改變比特幣的某個特徵分叉出一個新幣,在這個幣誕生的那一刻,就失去了比特幣最具價值的根本屬性 —— 不可變性。
比特幣易於使用,但幾乎無法改變。使用比特幣是完全自願的,沒有人是被強迫使用比特幣的,一旦你選擇使用比特幣,就必須遵守它的規則。比特幣幾乎不可能發生實質性的改變,任何嘗試,都無非是再增加一個毫無意義的假貨。比特幣就是比特幣,你只能完整接受它的一切,遵守它的規則,使用它提供的服務。就所有的實際意圖和目的而言,比特幣是至高無上的:它按照自己的規則運行,沒有外人能改變這些規則。甚至可以把比特幣的參數想象成類似於地球、太陽、月亮或星星的旋轉,這些都是我們無法控制的力量,它們是存在的,而不是被改變的。
[[1]](javascript(0)) Adam Ferguson,An Essay on the History of Civil Society.(London.Cadell,1782).
[[2]](javascript(0)) 2012 年比特幣產量首次減半後,一些礦工試圖繼續挖取每塊 50 新幣補貼的區塊,但是這種嘗試很快被其他節點拒絕了,迫使他們退回了原定的比特幣發行計劃。
[[3]](javascript(0)) 謝林點,也叫 “聚焦點”,是博弈論中人們在沒有溝通情況下的選擇傾向,做出這一選擇是因為這看起來是自然選擇,希望別人也採取這樣的選擇。謝林這樣描述:“每個人期望的謝林點是他人期望他本人期望被期望做出的選擇。” 由於無法精確估計有多少比特幣節點,因此對每個節點來說,謝林點就是保持現有的共識規則,避免改變。
[[4]](javascript(0)) 即 R3CEV。—— 譯者注
[[5]](javascript(0)) https://blog.plan99.net/the-resolution-of-the-bitcoin-experiment-dabb30201f7#.5jvqjf-9lg.—— 譯者注
事實是,在世界各地都可以獲取比特幣賬本,而且這個賬本不可篡改。只要比特幣網絡還在運行,賬本上就會記載發生過的每一筆交易。與其說比特幣是匿名的,不如說它是偽匿名(或者說化名或假名)的。雖然不是一定能,但還是有可能在某個比特幣地址和某個人的真實身份之間建立聯繫。一旦聯繫被建立起來,就可以追蹤所有與這個地址有關的交易。當談到匿名性話題時,將比特幣的匿名性與互聯網的匿名性做一下比較是很有趣的:它們都取決於你藏的有多好,以及找的人有多認真。不過,在比特幣上隱身比在互聯網上隱身更困難。你很容易處理掉一個硬件設備、一個電子郵件地址或一個 IP 地址,再也不使用它,但是你很難完全擦除一個比特幣地址上的資金痕跡。就其本質看,比特幣的區塊鏈架構根本就不適合隱身遁形。
這就意味著,對於任何有受害者的犯罪行為,罪犯使用比特幣都是不明智的。比特幣偽匿名的本質意味著地址可以與現實世界的身份聯繫起來,不管犯罪行為已過去多少年,都不會有最終的安全。即便在多年以後,警察、受害者或任何調查人員還是有可能找到那個地址與某個真人的聯繫。比特幣支付留下的線索已經成為很多線上販毒者被識別出來的原因,可以說,正是比特幣完全匿名的傳說讓他們失了手。
換句話說,比特幣會增加個體自由,但並不會讓他們更容易犯罪。比特幣不是魔戒,而是和平與繁榮的未來不可分割的一部分。
使用比特幣的一種令人矚目的犯罪類型是勒索病毒:入侵受害者的計算機,加密他的文件,只有受害者支付了贖金(通常是比特幣)之後,才能解密。這種犯罪形式在比特幣發明之前就有了,比特幣的發明只是讓這種犯罪實施起來更加方便,很多人認為這是比特幣促進犯罪的最好例證。然而,正是計算機安全防護的鬆懈才讓這些這種攻擊有機可乘。如果一個公司的電腦系統被黑客鎖定,被勒索價值幾千美元的比特幣贖金,那麼這家公司真正暴露出來的問題遠比這幾千美元嚴重得多。黑客所求可能就是幾千美元,但如果公司的競爭對手、客戶、供應商拿到了公司的數據,他們的胃口可要比黑客大得多。就實際效果而言,勒索軟件會讓公司檢查和排除電腦安全漏洞。這個過程會讓公司採取更好的安全措施,促進安全行業的發展。換句話說,比特幣讓計算機安全市場貨幣化,剛開始的時候黑客會從中獲利,長期來看,優質企業會掌握最好的安全資源。
[[1]](javascript(0)) Stein,Mara Lemos.“The Morning Risk Report Financing Via Bitcoin May Be Exaggerated.”Wall Street Journal,2017.
黑客襲擊#
對攻擊的抵抗力源於三個特性:
(1)極致簡潔的設計;
(2)逆天的算力,這些算力除了保護系統的簡潔設計,無事可做;
(3)分佈式的節點,任何改變想要生效,先要取得這些節點的一致同意。想象一下,把美國軍隊的步兵和裝備全部放在一所學校周圍,以保護其免受入侵,你就會明白比特幣的防禦能力有多強。
比特幣本質上是一個記載虛擬貨幣所有權的賬本。全世界總共只有 2100 萬比特幣,分屬幾百萬個不同的地址,每天會發生不到 50 萬筆導致比特幣所有權轉移的交易。如果僅僅做一個可以實現以上功能的簡易系統,實際上所需的資源非常少。一台 100 美元的筆記本電腦就能做到,還不耽誤上網。比特幣之所以沒有這麼設計,是因為靠一台電腦記錄交易的話,就不得不無條件信任電腦的所有者,同時,這台電腦很容易成為攻擊的靶子。
所有計算機網絡的安全都依賴於,讓某些機器無法被攻擊者滲透,並將它們的記錄作為最終記錄。比特幣不是這樣,它採取了完全不同的做法:它不單獨保護所有計算機,並且在所有節點都是惡意攻擊者的假設下運行。比特幣不建立對任何網絡成員的信任,而是驗證他們所做的一切。通過工作量證明完成的驗證過程要消耗大量算力,這被證明非常有效,因為它將比特幣的安全建立在算力的基礎上,簡單直接,不受任何訪問或證書問題的影響。假設每個節點都是不誠實的,無論哪個節點,想要向比特幣賬本上提交新的區塊,都需要付出巨大的成本,如果真有欺詐行為被發現了,付出的成本就將付之東流。比特幣的經濟激勵設計使得不誠實的行為極為昂貴,因此極難成功。
要黑掉比特幣,也就是搞亂交易賬本,欺詐性地將某些比特幣轉到特定賬戶,或者讓比特幣賬本變得不可用,就需要某個節點在區塊鏈上提交無效區塊,並且讓網絡接受這個無效區塊,讓區塊鏈在無效區塊之後繼續延伸。但是,由於在比特幣系統中,驗證欺詐的成本非常低,而提交區塊的成本非常高且持續升高,同時,網絡中大多數節點的共同利益是讓比特幣活下去。所以,這場鬥爭中,攻擊者獲勝的概率實在渺茫。隨著提交區塊的成本繼續升高,攻擊者獲勝的概率愈加渺茫。
比特幣設計的核心是,提交新区块的成本和验证区块有效性的成本是极其不对称的。这意味着伪造交易仅仅在理论上可行,在经济激励的面前却寸步难行。因此,比特币区块链构成了迄今为止最无可争议的有效交易账本。
51% 攻擊
51% 攻擊是這樣一種攻擊方式,攻擊者使用大量算力,為同一筆比特幣生成兩筆支付交易,最後,其中一筆交易失效,欺騙收款人。如果某礦工控制著大量算力,他就可以在短時間內率先完成工作量證明。該礦工可以將一筆比特幣交易 A 發送到區塊鏈上,讓交易 A 被打包進比特幣區塊鏈,這樣,收款人會認為自己收到了款項。同時,他還可以在包含交易 A 的區塊前面分叉比特幣區塊鏈,構建一條包含交易 B,將同一筆比特幣轉給另一個地址的分叉鏈。由於該礦工掌握大量算力,一旦分叉鏈的長度超過原鏈,攻擊就成功了,交易 A 的收款人收到的比特幣將不翼而飛。
攻擊者掌握的算力越多,他讓欺詐鏈超過原鏈,擦除原有交易並牟利的可能性越大。道理聽起來很簡單,實際做到卻難得多。收款人等待確認的時間越長,攻擊者成功的概率越低。如果收款人願意等待 6 個確認,攻擊者成功的可能性就基本上不存在了。
理論上,51% 攻擊是可行的,但在實際操作中,比特幣系統的經濟激勵體系讓它寸步難行。如果一個礦工成功實施了 51% 攻擊,會嚴重削弱所有人使用比特幣的經濟動機和對比特幣的需求。現在大量資本被用於挖礦,比特幣礦業已經成為資本高度密集的行業,這些資本的回報(比特幣)的價值正是取決於網絡的完整性,比特幣礦業公司會維護自己的長期收益,而不會搬起石頭砸自己的腳。迄今為止,從未有任何比特幣雙花交易得到過確認,更遑論攻擊成功了。
針對比特幣的最接近成功的雙花攻擊發生在 2013 年,當時網站 BetCoin Dice,由於雙花攻擊受到了總額約為 1000 比特幣的損失(按當時的價格折算約為 10 萬美元)。然而,那次攻擊之所以成功,很大原因是因為 BetCoin Dice 接受零確認交易,這樣就大大降低了攻擊成本。哪怕他們等待一個確認,實施攻擊都要困難得多。這也是比特幣區塊鏈不適宜大量商業支付的原因:等待新區塊以獲得一次確認的時間長達 10 分鐘左右。倘若有大型支付服務商為了支付的便捷性,不顧零確認的風險,它又會成為居心不良者利用大算力實施雙花攻擊的重點目標。
總的來說,如果收款人不多等待幾個確認以保證交易的有效性,51% 攻擊理論上有成功的可能。事實上,在經濟激勵的作用下,大算力的擁有者不會將自己的算力用於 51% 攻擊。結果就是,所有等待了至少一個確認的人,都沒有遭受過 51% 攻擊。
若出於盈利的目的,51% 攻擊不大可能成功。但這樣的攻擊未必全是出於盈利的目的,攻擊者的目的也有可能就是單純地摧毀比特幣。政府或其他實體也可以修建比特幣礦場,獲得全網大部分算力,然後用這些設備發起連續的雙花攻擊,摧毀人們對網絡安全的信心。但是,挖礦產業的經濟學屬性會讓這樣的攻擊無法實現。算力是一個高度競爭的全球市場,比特幣挖礦是全世界體量最大、利潤最高、增長最快的算力使用場景。攻擊者可能會計算一下當前擁有多少算力才能獲得 51% 的算力佔比,然後投入相應成本購買礦機。然而,這種大肆購買只會帶來設備價格的大幅上漲,現有的礦工會因此獲利,在礦業中投入的資本也會更多。大肆採購還會導致礦機生產商加大投資,使單位算力價格降低,全網總算力飆升。作為一個市場的外來者,攻擊者不停地購買算力,卻永遠處在不利位置,因為不屬於他的算力增長更快。結果,為攻擊比特幣而投入的資源越多,比特幣的算力增長越快,越難以攻擊。因此,還是那句話,儘管技術上有可能,但面對比特幣網絡的經濟屬性,攻擊成功的可能性基本不存在。
攻擊者,尤其某國傾舉國之力的那種,可能會試圖控制(沒收)現有的挖礦設備,用這些設備攻擊系統,以降低比特幣網絡的安全性。但是,這一策略需要世界各國政府的通力協作,比特幣挖礦在地理上高度分佈式的現實,使這一策略面臨極大挑戰。更可行的方法不是從物理上,而是通過硬件後門控制這些設備。
硬件後門
另一種擾亂或摧毀比特幣網絡的可能是,破壞運行比特幣軟件的硬件設備,讓它們被外部侵入。例如,在挖礦的節點安裝難以察覺的惡意軟件,讓外部人可以操縱這些硬件。當 51% 攻擊發生時,這些設備可能被關閉或遠程控制。
還有一種可能是,在用戶電腦上安裝間諜軟件,獲取用戶的私鑰從而控制用戶的比特幣。如果這種攻擊大規模泛濫,會嚴重打擊比特幣作為一種資產的可信度,降低對比特幣的需求。
這兩種攻擊都有理論上的可行性,而且不像上一小節提到的攻擊方式,它們不需要完全成功就能製造足夠的混亂,損害比特幣的聲譽和需求。在只有少數幾個礦機設備生產商的情況下,對礦機設備的攻擊更有可能成功,這是事關比特幣成敗的關鍵點之一。然而,隨著比特幣挖礦產業的發展,會吸引更多的製造商來製造挖礦設備,降低由於某一製造商的失誤對比特幣網絡造成災難性影響的可能性。
至於對個人電腦的攻擊,這種攻擊較少可能造成系統性的影響,因為世界上存在無數的製造商,可以製造各式各樣的能訪問比特幣網絡的個人設備。倘若某個生產商出現了問題,結果不過是消費者轉投另一家生產商。不僅如此,用戶還可以在永不聯網的離線電腦上生成私鑰和地址,更偏執狂的做法則是在離線設備上生成私鑰和地址,隨即將此設備毀掉。存在於這些私鑰中的比特幣將免受任何形式的網絡攻擊。
對這些攻擊尤其重要的防禦是深植於比特幣愛好者心中的無政府和密碼朋克取向,這讓他們認為,與其相信,不如驗證。比特幣愛好者通常比一般大眾更具技術能力,會非常小心地檢查自己使用的軟件和硬件。代碼開源同行評議也是應對這類攻擊的重要屏障。由於比特幣網絡分佈式的特徵,這類攻擊通常只會造成某個中招的個體的重大損失,最多給系統造成一時的混亂,但幾乎不可能造成整個網絡的癱瘓,不可能完全摧毀人們對比特幣的需求。應該知道,是經濟激勵賦予了比特幣價值,而不是任何硬件賦予了比特幣價值。任何單獨的設備都不是比特幣運行不可或缺的,都可以被替代。話說回來,如果比特幣硬件設備的生產商更加多樣化,不讓任何一個生產商佔據影響全局的重要地位,那麼比特幣會生存得更好,穩健性(robustness)更強。
互聯網和基礎設施的攻擊
人們對比特幣最常見的誤解之一是,只要關閉重要的通信基礎設施,或者說,關閉互聯網,比特幣網絡就被殺死了。這些誤解在於,它們誤以為比特幣網絡是傳統意義上由專門的硬件和基礎設施構成的網絡,有最怕人攻擊的罩門。但是,比特幣是一個軟件協議,分佈於全球的幾十億台計算機中的任何一台都可以運行它。比特幣沒有單點風險,運行比特幣協議的任何硬件設備都不是不可或缺的。任何可以聯網的計算機都可以將比特幣網絡運行起來。從這個角度看比特幣和互聯網類似,是協議讓計算機互相連接,成為互聯網,而不是某些硬件設備。傳遞比特幣信息的數據流量並不大,只占互聯網總流量的極小部分。比特幣區塊鏈只是每 10 分鐘傳遞 1MB 的數據,因此它並不像其他網絡那樣需要大量的基礎設施。全世界有無數種有線的或無線的數據傳輸技術,只要其中有一項可用,比特幣節點就可以聯通網絡。如果想製造一個比特幣用戶無法互聯的世界,就必須徹底破壞全世界信息、數據、聯通的基礎設施。這顯然不可能發生,現代生活在極大程度上依賴信息聯通,沒有通信基礎設施的正常運轉,許多至關重要的服務和生死攸關的事情無法完成。試圖同時關閉互聯網和基礎設施,對任何社會都會造成極大傷害,卻依然不能阻止比特幣的流動,因為分散的機器依然可以使用自身的協議和加密通信互相連接。世界上有太多的計算機和網絡,使用它們的人太多了,任何力量都無法使它們同時停止工作。殺死比特幣的唯一可能的場景,是出現世界末日式的劫難,在那之後,就沒人關心比特幣是生是死了。在人們經常提到的針對比特幣的各種威脅中,我認為這是最杞人憂天的一種。
節點成本升高,節點數量降低不用為了殺死比特幣進行科幻類的幻想,比如毀滅全人類的電信基礎設施,比特幣本身面臨著比其現實得多的威脅,這些威脅來自比特幣的基礎設計。比特幣供給量無法被篡改的硬通貨屬性,無須可信第三方免審查的數字現金屬性,都是建立在比特幣網絡難以更改的共識規則尤其是貨幣供給規則的基礎上。就像之前討論的,之所以達成現在的穩定狀態,是因為網絡成員若想脫離現在的共識規則,極有可能充滿風險且對自身不利。之所以會充滿風險且對自身不利,是因為全網節點眾多,採取協調一致的行動幾無可能。因此,假如運行比特幣節點的成本大幅上升,將有越來越多的用戶不能運行比特幣節點,比特幣網絡上的節點數量隨之下降。一個只有數十個節點的網絡是不足以稱為去中心化網絡的,這時候很有可能出現少數節點共謀,出於私利改變網絡規則,甚至蓄意破壞網絡。
在我看來,這仍然是比特幣在中長期要嚴肅對待的技術威脅。當前,個人運行比特幣節點的主要限制是網絡帶寬。在區塊大小限制在 1MB 以下的情況下,情況還是可控的。提高區塊大小的硬分叉將會升高運行節點的成本,使節點數量下降。不過就像之前提到的幾種威脅一樣,這種威脅只是存在於理論上,真正實施的可能性不大,因為系統的經濟激勵不利於這種行為,過去幾次增加區塊大小的企圖都失敗了,就是明證。
攻破 SHA-256 哈希算法
SHA-256 哈希算法是比特幣系統運行必不可少的部分。簡單來說,哈希過程的輸入可以是任何數據,通過不可逆的數學計算,得到輸出,即固定大小的字符串。換句話說,它可以輕而易舉地生成任何數據的哈希值,卻不能通過哈希結果逆推原始數據。然而,理論上,如果計算機的計算能力上升到可以破解這些哈希函數,就將使所有的比特幣地址面臨被攻破的風險。
我們無法預言這一場景是否會發生,何時會發生,但是一旦出現這樣的情況,就將對比特幣構成嚴重的技術威脅。比特幣的應對之策是換成更強的加密算法,但更換加密算法的棘手之處在於,如何協調絕大部分節點放棄舊的共識規則,轉向使用新哈希函數的新的共識規則。之前討論過的所有分叉比特幣的困難都將在這裡顯現,但此時比特幣將面臨真正的威脅,繼續使用舊共識規則的持幣人將面臨被攻擊的風險,因此,我們可以預期壓倒性多數的用戶會選擇進行硬分叉。還剩一個有趣的問題,就是這次遷移是否會有序進行,用戶是否會遷移到同一個新鏈,還是說,比特幣會分裂成幾個使用不同加密算法的分支。唯一可以確定的是,一旦 SHA-256 算法被攻破,網絡用戶合乎經濟理性的選擇是切換到一個更強的算法上,而且是同時行動。
回歸健全貨幣
關於比特幣如何失敗或者被摧毀的討論,大部分都是聚焦於技術攻擊。然而,更加可行的攻擊手段是釜底抽薪,減弱人們使用比特幣的經濟動機。前面所述的任何一種方式,都不太可能成功攻擊或摧毀比特幣,因為它們與驅動人們使用比特幣的經濟動機相衝突。就像禁止人們使用輪子和刀具一樣,只要這些技術對人們有用,禁令就不可能成功,人們總會找到各種合法或非法的方式繼續使用它們。讓人們放棄使用一項技術的方式不是禁止它,而是發明更好的替代品,消除人們對它的需求。我們無法通過禁令或立法淘汰打字機,是個人電腦的興起淘汰了它。
對比特幣的需求源於世界各地人們的需要,人們需要進行一些繞開政治管控的交易,人們需要擁有抗通脹的價值儲存手段。只要政治當局禁止和限制人們的資金轉移,只要政府貨幣是可以根據政客的妄想隨意增發的軟通貨,對比特幣的需求就會存在。不斷放慢的供給會使比特幣的價值不斷升值,吸引更多的人用比特幣來存儲財富。
假設全世界的銀行和貨幣體系一夜之間回到 19 世紀末的金本位制度,個人自由和硬通貨是至高無上的原則,那麼對比特幣的需求可能會大幅降低。劇情可能會是這樣,世界轉向金本位,對比特幣的需求大幅降低,導致比特幣價格顯著下降,給比特幣持有者帶來了較大傷害,從而進一步增加了比特幣價格的波動性,讓比特幣的發展倒退很多年。由於比特幣的波動性升高,同時出現的國際貨幣本位是可靠和相對穩定的硬通貨,人們使用比特幣的動機嚴重下降了。在政府管控一切的欲望和通脹的欲望都受到金本位嚴格限制的世界裡,黃金的先發優勢和相對穩定的購買力會構成比特幣難以逾越的障礙,比特幣很難快速有大量用戶,因此也就無法成長到足夠大的體量,從而獲得任何形式上穩定的價格。
然而,全球回歸健全貨幣和自由政府的可能性微乎其微,這些概念在很大程度上與世界上絕大多數的政治家和選民格格不入,在幾代人的時間裡,他們一直被灌輸的觀念是,政府對貨幣和道德的控制是任何社會運轉所必需的。此外,即使這樣的政治和貨幣轉型是可能的,由於比特幣的供給增長率不斷遞減,它仍會是對許多人頗具吸引力的投機標的,而這本身就會導致比特幣進一步增長,並獲得更大的貨幣角色。在我看來,全球貨幣回歸黃金可能是比特幣面臨的最大威脅,但這既不太可能發生,也不太可能徹底摧毀比特幣。
另一種消滅比特幣的可能性是,發明另一種優於比特幣的健全貨幣。似乎有很多人認為,其他模仿比特幣的加密貨幣可以做到這一點。但我堅信,任何模仿比特幣設計的加密貨幣都無法與之競爭,原因我們會在接下來的一個小節詳細論述,簡單地說就是:比特幣是唯一真正去中心化的電子貨幣,自發地形成了礦工、開發者和用戶之間的精妙平衡,任何一方都無法控制比特幣。基於這樣的設計再造一種貨幣的可行性只存在於理論中。如今比特幣的可行性已經顯現,任何仿製都必然是自上而下的,必然成為一個中心化控制的網絡,永遠無法逃脫創立者的掌控。
因此,若說到比特幣的結構或技術,任何模仿幣種都無法將其取代。只有全新的設計和技術,實現全新的數字現金和硬通貨,才有可能與其一較高下。在這種技術誕生之前,我們無法預測它是否以及何時會出現。基於多年來對數字現金發展過程的了解,我們都很清楚,這項發明絕非易事。
[[1]](javascript(0)) J.W.Weatherman 發起了一個開源項目,評估比特幣網絡遇到的威脅,參見 BTCthr-eats.com。
不僅是互聯網貨幣,任何法幣體系存在的一個關鍵要素都是信任。互聯網貨幣雖然沒有一個統一的價值尺度,但仍是以信用為基礎的貨幣表現形態,其交換的本質就是信用交換。 從這個層面來說,互聯網貨幣和以表示的虛擬金融資產並沒有顛覆現代金融,而是加快了現代金融回歸本來面目的速度和進程,強化信用交換作用,加速金融回歸本源。
互聯網貨幣這一新生事物的出現,給金融市場帶來新的活力。互聯網貨幣基於社區信用產生,新的消費行為可以彌補現有金融的信用缺失和不足,強化整個社會的信用觀念;互聯網貨幣以消費行為參與為主,在虛擬世界形成持續性參與積累的價值,有助於引導消費拉動經濟的方式的形成。