官术网_书友最值得收藏!

第四節 比特幣協議與發展

一、比特幣協議概述

比特幣的本質是一種協議,在中本聰的論文中提出了一種完全通過點對點技術實現的電子現金系統,它使得在線支付能夠直接由一方發起并支付給另外一方,中間不需要通過任何金融機構。雖然數字簽名部分地解決了這個問題,但是如果仍然需要第三方的支持才能防止雙重支付(Double Spending),那么這種系統也就失去了存在的價值。

中本聰提出了一種解決方案,使現金系統在點對點的環境下運行,并防止雙重支付問題。該網絡通過隨機散列(Hashing)對全部交易加上時間戳(Timestamp),將它們合并入一個不斷延伸的基于隨機散列的工作量證明(Proof-of-Work)的鏈條作為交易記錄,除非重新完成全部的工作量證明,否則形成的交易記錄將不可更改。最長的鏈條不僅將作為被觀察到的事件序列(Sequence)的證明,而且被看作來自CPU(或者當前流行的ASIC比特幣挖礦專用芯片)計算能力最大的池(Pool)。只要大多數的CPU或者說各種芯片的計算能力都沒有打算合作起來對全網進行攻擊,那么誠實的節點將會生成最長的、超過攻擊者的鏈條。這個系統本身需要的基礎設施非常少。信息盡最大努力在全網傳播即可,節點(Node)可以隨時離開和重新加入網絡,并將最長的工作量證明鏈條作為在該節點離線期間發生交易的證明。

二、比特幣協議特點

通過比特幣協議,我們可以發現比特幣的價值遠不止貨幣本身,因為它構建的是貨幣的互聯網協議。大部分人只知道作為數字貨幣的比特幣,而真正有著深遠意義的是作為潛藏協議的比特幣,它還有著封裝并分發合約的功能。比特幣封裝了以下四項基本技術。

電子簽名:無法偽造,允許一方安全地核實同另一方的交易。

點對點網絡:如同BitTorrent和TCP/IP一樣,幾乎無法被摧毀,無須強大中央機構的維護。

Proof-of-Work(工作量證明):可以防止用戶同一分錢花兩次,同時還無須中央機構來驗證交易是否有效。比特幣為礦工設立了獎勵機制,他們利用算力強大的計算機,來完成驗證交易是否有效的工作。礦工可以從這種活動中獲得新的比特幣作為獎勵,任何有足夠算力的人都可以參與挖礦,并獲得獎勵。

分布式總賬:在每一個比特幣錢包中,你都能查到整個比特幣系統的每一筆交易記錄。區塊鏈意味著任何人都可以去檢驗某項交易是否發生過。

通過這四項基礎技術,比特幣具有了很多特點,它是稀缺的(中央銀行沒法濫發貨幣),持久的(不會像金子一樣降解),便攜的(可以以電子的或者只是你大腦記憶中的一串數字的形式存儲、傳播),可分的(一個比特幣可以分成一億份或更多),可證實的(每個人的區塊鏈里都能查到),可替代的(每個比特幣本身都是可匿名且一樣的),難以偽造的(幾乎不可能被破解或篡改),可被廣泛使用的,許多互聯網技術人才正在花時間不斷改善比特幣。

對于比特幣的未來,人們還有各種各樣的擔心,比如加密算法的安全性、交易速度、區塊鏈的大小、交易的不可逆性、被盜或者被黑的可能性。所有這些都是可以被第三方服務和協議升級解決掉的。不妨把現在的比特幣協議看作數字貨幣1.0,就像曾經的HTTP 1.0一樣,從最初只有簡單文字和圖片的瀏覽器演化成現在的互聯網,以后也會有更豐富的數字貨幣世界。

相較于現在的英鎊或者美元,比特幣有很多明顯的優勢,上文已經提到不少。但更重要的是,比特幣這套協議可以支持當下不可能實現或者實現昂貴且需要強力第三方的金融交易服務。

比特幣自帶有腳本語言,不但支持“把錢從X匯給Y”這種簡單交易,還支持類似于“要求N方中的M方同意,才算完成交易”這樣的條件交易。舉個例子,設定一項遺囑,只有當大部分繼承人同意他們的父母已經過世時,該遺囑才會生效,完全不需要任何律師;或者只有當三方受信簽名中有兩方同意才能批準某項支出;或者一項Kickstarter上的眾籌計劃,只有多數支持者同意達到某項指標時,錢才會支付給發起人。所有這些案例中,參與仲裁的人自己都是不能單方面拿走錢的,他們只能代表自己做出同意和反對的決定,但最終結果完全取決于整體結果是否達到預設條件。

當然,腳本語言也能支持基于其他參數的交易,比如基于時間的交易,可以衍生出自動抵押貸款、信托和津貼支出,或者是由全網絡節點共同審計的基于隨機數字的彩票抽獎。你還可以設計出智能財產,比如一種汽車電子鑰匙,只要買方向賣方支付一筆錢,賣方的汽車鑰匙就失靈,買方的鑰匙開始工作,可以用來開車。在不久的未來,當你的無人駕駛汽車在其他地方被堵住了,給鄰居一點比特幣,就可以借他的車一用。

只要每個人都有整個比特幣的區塊鏈的備份,也就都能夠核實你的交易。你可以將任意一份文件加密,給個時間戳,放到區塊鏈中,任何人都可以隨時核準這份文件。如果你用自己的私鑰給文件簽名,其他方也用他們的私鑰簽名,這份文件就成了不可否認的共同署名的合同,可以徹底無須拜托公證員。基于比特幣思想的還有域名幣(Namecoin)計劃,解決了域名分配問題;或者博彩交易所(SatoshiDice),杜絕了出老千的可能;P2P股票(BitShares)則能夠在沒有傳統意義上的證券交易所的前提下實現股票的買賣和分紅。

最重要的是,比特幣提供了開放的API接口,可以用于創造安全的、可編寫腳本的電子現金交易。如同Web將出版平民化一樣,比特幣可以讓構建新的金融服務更加平民化。你可以用任意第三方或者代碼本身來訂立、修改或者執行電子合同,完全免費、快捷,不用擔心偽造或者撤回。傳統銀行或者信用卡公司只會把自己的支付基礎設施開放給幾家公司,而比特幣則向所有人開放。

比特幣從最初的0.1版本后,由比特幣開發團隊不斷進行維護和升級,根據市場的需求逐漸增加了一些新的功能,使得比特幣協議更加完善。我們就最近的比特幣協議升級情況,來說明比特幣的最新發展情況。比特幣核心開發團隊曾在2013年的第三季度中發布了兩次協議升級,其中一次是計劃升級,還有一次則是為了響應一個關鍵性錯誤,這個錯誤會阻止多個節點索引最新的比特幣交易。

三、Bitcoin Core

比特幣基金會從0.9版本開始將比特幣核心協議更新正式分離出來,刪除了一些舊版本中的附加功能,并將核心協議命名為比特幣核心(Bitcoin Core)。長期以來,人們沒有很好地把比特幣錢包(Bitcoin-QT中本聰客戶端)和比特幣網絡區分開,比特幣核心開發團隊命名Bitcoin Core 0.9,目的是強調Core的存在,即Bitcoin Core 0.9是為比特幣網絡而設計的。而在其后的非核心(Non-core)版本開發中,比特幣核心團隊則會負責為比特幣玩家設計客戶端錢包。Bitcoin Core是BTC的唯一開發團隊,由一群資深的數字貨幣開發者組成,基于信念,對比特幣進行較大的修改是他們所不能接受的,包括SegWit2X在內的擴容一直未能順利進行。

2016年2月23日,Bitcoin Core 0.12版本開放更新,官方表示此次可能是有史以來最大規模的一次升級,共包含了22項改進內容,其中包括7倍簽名認證速度、限制上傳流量的功能、通過內存池設限防崩潰功能、交易驗證費用增加選項、交易傳遞規則提升、自動選擇Tor網絡運行、ZeroMQ消息提醒接口開放、錢包所需硬盤空間驟減、為礦工提供更快的區塊組合能力9項重要升級。

Bitcoin Core 0.12版本發布不到兩個月,2016年4月15日Bitcoin Core 0.12.1版本發布。該版本就比特幣網絡的延展性進行了改進。最突出的升級特點在于實現了對軟分叉的兼容,從而進一步保證了側鏈和閃電網絡在比特幣網絡中的技術實現。側鏈和閃電網絡作為能夠打通比特幣生態圈的發展方向,將在本部分第四章中進行具體探討。

2016年10月,準備近一年后,比特幣擴容關鍵技術——隔離見證(Segregated Witness)被正式引入Bitcoin Core 0.13.1版本。隔離見證是為了讓區塊鏈承載更多交易信息而把見證信息(交易合法背書)隔離出區塊的技術方式。采用隔離見證可以用軟分叉增加區塊容量,也可以更好地支持閃電網絡。

2017年3月,Bitcoin Core 0.14版本發布,相比之前版本,其同步速度進一步提升,技術改進主要體現在四個方面。第一個功能改進就是使用布谷鳥散列算法(Cuckoo Hashing)更新了簽名緩存,使八核以上的多核CPU能得到有效利用。第二個功能改進就是BIP152致密區塊的實施,能夠減少P2P網絡節點廣播區塊所需的帶寬數量。第三個功能改進體現在P2P代碼重構,集中改善了并發性和吞吐量。第四個功能改進是將內存池存儲到磁盤,節省了重新下載關機時未確認交易的時間,使包含這些未確認交易的區塊可以被更快驗證。

由于BCH硬分叉的發生,Bitcoin Core在2017年9月更新的0.15版本不再支持任何運行的SegWit2X分叉節點,并引入了一些新功能提升網絡性能,包括通過鏈狀數據庫重組改變數據結構使新節點的初始同步時間減少了約40%,以及增強網絡分叉安全性等。

四、比特幣區塊鏈分叉

分叉(Fork)是由于新的共識規則發布后節點沒有全部升級引起的,影響新舊節點對結構有所改變的區塊的驗證結果。分叉的技術解釋我們將在第2部分中展開闡述。從結果上看,沒有升級的舊節點不接受新節點生產的交易和區塊會導致硬分叉(分裂成兩條鏈),舊節點接受新區塊形成的是軟分叉。早在2013年3月12日,比特幣區塊鏈即出現過版本漏洞引起的意外分叉。分叉持續了24個區塊后,被主鏈趕上而成了孤鏈,這個漏洞也在后一版的協議中被修復。

圖1.1為區塊鏈分叉示意圖。

圖1.1

(一)擴容的爭議

一般來說,當社區發現意外的分叉會通過呼吁舊節點升級來消除分叉,但內部分歧除外。近年來尤其是在2017年,隨著交易量的指數級增長,網絡擁堵成了限制比特幣繼續發展的一大問題:用戶發現即使交了昂貴的手續費,仍有可能等上幾天也等不到自己的交易被確認。許多用戶開始轉向替代比特幣的其他數字貨幣,比特幣的市場占有率一度從95%跌至40%。但是,爭論了兩三年,社區在采取何種技術進行擴容這一問題上一直無法達成共識。

有人提出Bitcoin Classic協議——將區塊上限增加到2 MB,這個區塊容量上限的變化將需要一次硬分叉,該協議將在支持區塊擴容的礦工找到1000個最新區塊中的750個區塊后的28天激活。比特幣核心團隊無法接受通過修改代碼擴大區塊的方案。比特幣核心開發者Pieter Wuille在比特幣擴容峰會中國香港站的活動中提出了隔離見證,并在后期考慮2 MB硬分叉事宜,提案得到支持。實際上,一部分礦工并不想要隔離見證,只是為爭取鏈上擴容而做出了妥協。但令礦工意外的是,硬分叉不過是核心團隊的“緩兵之計”——隔離見證錢包很快就開發出來,核心團隊卻對硬分叉何時提上日程含糊其詞。這引發了部分礦工的不滿,他們謀劃著硬分叉方案。由于雙方遲遲未能達成一致意見,比特幣擴容升級從2015年一直拖到2017年。

中本聰隱退后,一部分技術大牛自發地組成核心團隊維護比特幣底層技術和網絡生態的持續發展。一方面他們對中本聰及其理念充滿了敬仰,不愿對比特幣底層技術做較大改動;另一方面他們認為區塊越大對計算能力要求越高,意味著越來越少的節點有能力運行全節點區塊鏈,屆時容易造成算力的中心化和壟斷化,即區塊鏈只能交由幾個大的礦池進行維護。他們認為通過隔離見證的方式移出簽名數據,可以將區塊的交易空間提升至2 MB,變相達到擴容的效果。

另一伙是以礦機挖礦、擁有大量算力的礦工團隊,相比理想他們更關心利益。網絡擁堵帶來高額手續費自然是礦工樂見其成的,但交易流失就另當別論了,因此擴容迫在眉睫。礦工的手續費按數據大小計算,隔離見證將簽名數據移到鏈下意味著礦工手續費的損失,這顯然是他們所不能接受的。此外,他們認為隔離見證最多將區塊大小變成1.7 MB左右,且軟分叉相比硬分叉更具有危險。

矛盾看似無法調和了。核心團隊率先出手,打算強硬推行隔離見證,激活日期為2017年8月1日凌晨,屆時如果礦工代表的節點未能跟進升級,則比特幣網絡面臨分裂。從某種意義上來說,是耐心被磨光了。既然達不成一致,那么便分叉好了。

市場對分叉風險充滿擔憂。從2017年7月10日開始,比特幣交易價格開始出現跳水,短短7個交易日,比特幣收盤價便從17762元跌至13500元,整個加密數字資產市場更是哀鴻遍野,“腰斬”“胸斬”比比皆是。

比特幣擴容峰會中國香港站后分歧又持續了一年多,2017年6月,以礦工、礦池公司為主的圈內人士在紐約商定了SegWit2X硬分叉共識,稱為紐約共識(NYA)。核心團隊已將隔離見證的激活時間定在2017年8月1日,SegWit2X計劃在11月執行硬分叉。不過因為爭議不斷,硬分叉并沒有如期激活。

更為激進的礦工不愿激活隔離見證,決意直接執行硬分叉,于是就有了比特幣現金(BCH)。這是比特幣首次主動執行硬分叉,此后短短數月涌現了多種分叉幣,由此也形成了IFO(Initial Fork Offerings)這種商業模式。我們將隨機選取幾種分叉幣進行簡單介紹。

(二)分叉幣

1.比特幣現金(Bitcoin Cash, BCH)

2017年8月1日分叉于區塊高度478559,由比特大陸主導,開創了比特幣主動硬分叉的先河。比特幣現金采用鏈上擴容的方法,分叉時將區塊大小由1 MB提高到8 MB。

2.比特幣黃金(Bitcoin Gold, BTG)

2017年10月25日分叉,但由于BTG網絡還沒有開發完成,正式上線時間為2017年11月13日。與其他分叉幣相比,BTG并沒有對BTC進行擴容,依然采用1 MB區塊+SegWit設定,主要改變的是挖礦算法,為了防止ASIC專用礦機造成的算力過于集中問題,對其進行了限制,改用GPU挖礦,并使用緊急難度調整機制(EDA)。總的來說,BTG主要是想解決BTC挖礦算力過于集中與難度調整機制方面的問題。

3.比特幣鉆石(Bitcoin Diamond, BCD)

產生于2017年11月24日,由海外Evey與007團隊聯合開發,Bitcoin Diamond Foundation負責運營。BCD使用8 MB大區塊,支持SegWit,具有重放保護,并使用新的工作驗證算法創建區塊。相比BTC,它具有轉賬隱私保護功能,也可對交易額進行加密。

4.超級比特幣(SuperBitcoin, SBTC)

超級比特幣由李笑來主導,采取POW共識機制,支持SegWit、重放保護。同時,其官網對外宣稱該幣種的特點是“智能合約+閃電網絡+零知識證明+大區塊”,于2017年12月12日硬分叉。SBTC的區塊容量大小為8 MB,總發行量為2121萬個,其中21萬為分叉預挖。

5.閃電比特幣(Lightning BTC, LBTC)

LBTC于2017年12月23日在比特幣第499999區塊高度分叉,發行量為2100萬個,不支持SegWit。LBTC采用DPoS(委任權益證明)共識機制,可以將投票權和記賬權分開。

(三)IFO及其風險

所謂IFO,指的是“首次分叉發行”(Initial Fork Offerings),即通過硬分叉發行新幣種的模式。與ICO(Initial Coin Offerings)發行代幣融資不同,IFO是基于比特幣等主流幣而進行的分叉,持有諸如比特幣等主流幣可獲得分叉幣,即一種新的虛擬貨幣。分叉前擁有比特幣的用戶可以分到相等數量的分叉新幣,稱為“分糖果”。

除了比特幣外,萊特幣也分叉出了萊特黃金,而萊特幣創始人李啟威在Twitter上發文表示,萊特幣基金會與萊特黃金沒有任何關系。越來越多的主流幣遭遇IFO,而某些分叉并非是為了技術升級,只是利益驅動,與ICO熱潮帶來了眾多純圈錢項目一樣,惡意IFO會造成整個市場的非良性發展。

需要指出的是分叉項目可能存在風險。

第一,技術安全。部分分叉幣不具備攻擊保護機制,且未進行充分的代碼測試和審查,沒有進行重放保護等,因此對于分叉幣本身的安全性仍需引起足夠重視。在硬分叉的情況下,重放保護可以防止在分叉的任意一邊丟失代幣。本質上,重放保護應該確保其中一邊的一個簽署交易在另一邊是無效的。否則,有人可以從分叉幣鏈中獲取已經簽署的、有效的交易,然后再將它發布到一個比特幣核心節點中,從而造成比特幣的丟失。

第二,社區分裂。頻繁和過多的分叉幣的產生,分散了一部分比特幣節點及算力,社區分裂一定程度上削弱了比特幣的公信力。

第三,中心化操縱。經歷了比特幣擴容之爭,我們可以看到算力過度集中、中心化已成為比特幣發展過程中的問題。部分分叉項目“預挖”幾十萬枚分叉幣,讓人回想起2012—2013年,各種毫無創新和實用性的山寨幣通過預挖,然后上線交易套現離場、“一地雞毛”的光景。

第四,詐騙風險。硬分叉最初是為了解決比特幣的擴容問題,因此五花八門的分叉項目描述了各自趨于“完美”的技術解決方案。由于現實中大部分人對于數字貨幣及相關技術手段并不了解,僅通過項目交流群、新聞媒體報道就參與并投入大量資金,而項目通過發行代幣或操縱幣價的方式獲取暴利,實際獲得資金并未投入技術研發。

主站蜘蛛池模板: 清流县| 大冶市| 华池县| 新丰县| 新沂市| 寿阳县| 博白县| 富阳市| 柘荣县| 泽州县| 广宗县| 荥经县| 福清市| 玉屏| 正镶白旗| 文昌市| 邢台县| 邻水| 宁河县| 黄骅市| 克东县| 江陵县| 游戏| 彭水| 福州市| 讷河市| 彰武县| 金昌市| 沾益县| 瓦房店市| 盘山县| 巢湖市| 太原市| 珲春市| 昂仁县| 加查县| 禹州市| 神木县| 阿鲁科尔沁旗| 颍上县| 共和县|