序言
近年來興起的區(qū)塊鏈技術(shù)是繼互聯(lián)網(wǎng)、無線通信、云計算、大數(shù)據(jù)之后計算和網(wǎng)絡(luò)技術(shù)的又一顛覆式創(chuàng)新,正在引起一場新的技術(shù)變革和產(chǎn)業(yè)變革。區(qū)塊鏈技術(shù)是分布式數(shù)據(jù)存儲、點(diǎn)對點(diǎn)傳輸、共識機(jī)制、加密算法等計算機(jī)技術(shù)交匯(Convergence)而形成的一種可用于信任傳遞、分布和管理價值(如貨幣)等,與誠信關(guān)聯(lián)的各種交易過程和結(jié)果的信息網(wǎng)絡(luò)應(yīng)用技術(shù)。區(qū)塊鏈去中心化的數(shù)據(jù)結(jié)構(gòu)和智能合約的基本功能使得該技術(shù)具有徹底顛覆傳統(tǒng)金融行業(yè)和價值交易體系的巨大潛力,因此受到全球金融行業(yè)和各國政府的高度關(guān)注。雖然,區(qū)塊鏈技術(shù)起源于數(shù)字貨幣的誕生,但隨著人們對區(qū)塊鏈認(rèn)識的不斷提升和對該技術(shù)的不斷拓展,區(qū)塊鏈的應(yīng)用遠(yuǎn)遠(yuǎn)超出了數(shù)字貨幣管理的范疇,已延伸到各類價值和商品的交易、傳輸,比如供應(yīng)鏈管理、保險業(yè)、醫(yī)療信息、工業(yè)4.0、知識產(chǎn)權(quán)管理、社會福利保障、政府和社會誠信體系的維護(hù)等?梢灶A(yù)言,區(qū)塊鏈技術(shù)在各個領(lǐng)域的成功應(yīng)用將在根本上影響和改變社會成員、企事業(yè)機(jī)構(gòu)和政府的行為。
作為新興產(chǎn)業(yè),區(qū)塊鏈在多種場景中的應(yīng)用將替代多種傳統(tǒng)服務(wù)業(yè)。這些傳統(tǒng)行業(yè)因廣泛涉及民生和社會發(fā)展而受到各種法規(guī)的管控和監(jiān)督。區(qū)塊鏈產(chǎn)業(yè)的發(fā)展必然會挑戰(zhàn)現(xiàn)有的法規(guī)和制度。加速區(qū)塊鏈產(chǎn)業(yè)的發(fā)展,一方面需要政府的積極參與,引領(lǐng)產(chǎn)業(yè)發(fā)展生態(tài)環(huán)境的建設(shè),有序地開放市場,建立開放的監(jiān)督和管理機(jī)制;另一方面需要開發(fā)區(qū)塊鏈技術(shù)和應(yīng)用的各種新創(chuàng)企業(yè)加強(qiáng)自律和社會責(zé)任感,嚴(yán)格把控產(chǎn)品和服務(wù)的可靠性、安全性和實(shí)效性,不失信于用戶和市場。建立行業(yè)協(xié)會和產(chǎn)業(yè)標(biāo)準(zhǔn),要堅持對營造開放、公平競爭的市場環(huán)境與加速發(fā)展新興行業(yè)起到積極的推動作用。
中國在區(qū)塊鏈的底層技術(shù)方面已經(jīng)形成了具有國際競爭力的自主專利技術(shù),在區(qū)塊鏈的行業(yè)應(yīng)用方面的新創(chuàng)技術(shù)公司更是如雨后春筍般層出不窮,并且已經(jīng)覆蓋多個領(lǐng)域。各地政府高度重視區(qū)塊鏈技術(shù)的落地和發(fā)展,紛紛出臺扶持政策。如同互聯(lián)網(wǎng)技術(shù)的發(fā)展,中國在區(qū)塊鏈核心技術(shù)和應(yīng)用技術(shù)方面的開發(fā)將走在世界前列。青島鏈灣區(qū)塊鏈系列叢書,將系統(tǒng)地介紹區(qū)塊鏈技術(shù)的發(fā)展史,我國自主研發(fā)的區(qū)塊鏈的核心技術(shù),區(qū)塊鏈在金融服務(wù)業(yè)、醫(yī)療健康、供應(yīng)鏈管理、食品溯源等多個領(lǐng)域的應(yīng)用方案和案例。這套叢書的編著和出版旨在促進(jìn)區(qū)塊鏈技術(shù)產(chǎn)業(yè)知識的傳播、人才的培養(yǎng),加速區(qū)塊鏈產(chǎn)業(yè)在中國的發(fā)展,提升中國在全球的競爭力。
北大創(chuàng)新研究院教授
青島區(qū)塊鏈研究院院長
陳東敏
2017年3月
前言
自2014年以來,區(qū)塊鏈技術(shù)就受到廣泛關(guān)注,其應(yīng)用領(lǐng)域已從比特幣延伸到金融科技、數(shù)字資產(chǎn)交易、供應(yīng)鏈管理、物聯(lián)網(wǎng)與互聯(lián)網(wǎng)應(yīng)用等多個領(lǐng)域,且有可能引發(fā)新一輪的技術(shù)創(chuàng)新和產(chǎn)業(yè)變革。很多業(yè)內(nèi)專家、學(xué)者認(rèn)為,互聯(lián)網(wǎng) 區(qū)塊鏈能讓人類用技術(shù)手段低成本地解決信任傳遞難題,將從根本上改變?nèi)祟悗浊陙淼慕灰啄J?使人類社會的運(yùn)作更加高效簡單。
但是,任何創(chuàng)新技術(shù)的發(fā)展都有其發(fā)展規(guī)律。我們先回顧一下最近兩年來區(qū)塊鏈(包括比特幣)業(yè)內(nèi)發(fā)生的幾件大事。
比特幣監(jiān)守自盜事件。2015年1月1日,日本《讀賣新聞》頭版驚曝一條內(nèi)幕,曾是世界最大比特幣交易平臺的Mt.Gox所遺失的99%的比特幣源自內(nèi)部系統(tǒng)操縱,而不是來自外部的黑客攻擊。《讀賣新聞》指出,在Mt.Gox遺失的總計65萬枚比特幣中,僅有7000枚是外部黑客攻擊所致。其實(shí),比特幣監(jiān)守自盜問題在圈內(nèi)早已不是新聞。比特幣的發(fā)展,從早期的技術(shù)極客開始到金融愛好者關(guān)注,逐步從一個理想化的技術(shù)社區(qū)演變成一個投機(jī)者、洗錢者的天堂,更像是一個21世紀(jì)互聯(lián)網(wǎng)版的加利福尼亞淘金潮。
2016年6月的The DAO 事件。The DAO 全稱為Decentralized Autonomous Organization,即去中心化的自治組織,是基于以太坊區(qū)塊鏈智能合約平臺的一個眾籌基金項(xiàng)目。其設(shè)想是,每個眾籌參與者按照出資數(shù)額(以太幣)獲得相應(yīng)的DAO 代幣后即具有審查項(xiàng)目和投票表決的權(quán)利,其中投票權(quán)重與出資額相關(guān)。該組織不到一個月的時間,就成功地從約1萬名參與者中募集到超過1億美元的資金。然而,2016 年6 月17 日下午,TheDAO 智能合約平臺遭遇黑客攻擊,數(shù)千萬美元的用戶資金被盜。幾經(jīng)周折,以太坊平臺通過被稱為軟分叉和硬分叉的技術(shù)手段,將所有在被攻擊期間的相關(guān)交易做無效處理,并把所有籌集的資金退還給眾籌人,TheDAO項(xiàng)目就此解散、終結(jié)。
2016年11月,高盛、桑坦德銀行、JP摩根等退出R3聯(lián)盟。R3是一家總部位于紐約的區(qū)塊鏈創(chuàng)業(yè)公司,由其發(fā)起的R3區(qū)塊鏈聯(lián)盟已吸引了80多家世界巨頭銀行和金融機(jī)構(gòu)的參與。R3的產(chǎn)品是分布式賬本應(yīng)用平臺Corda,目前已開源供免費(fèi)使用。就在Corda推出后不久,JP摩根又推出了一個其稱之為Juno的分布式加密賬本原型。R3總經(jīng)理查理·庫珀說過,雖然Corda是一個分布式賬本平臺,但它絕對不是一個傳統(tǒng)的區(qū)塊鏈平臺。為了適應(yīng)監(jiān)管、隱私和延展性問題,R3必須做出改變,Corda必須適應(yīng)金融服務(wù)行業(yè)的具體需求。關(guān)于高盛等退出R3聯(lián)盟的原因,雖然沒有官方的正式解釋,但顯而易見,技術(shù)意識形態(tài)之爭是主要因素。以上事件表面看似相互獨(dú)立無關(guān),卻反映出區(qū)塊鏈發(fā)展過程中一些共性的問題。
一是如何摒棄意識形態(tài)對技術(shù)發(fā)展的干擾。
區(qū)塊鏈領(lǐng)域一直存在著去中心化和中心化的理念之爭,很多人推崇百分之百地去中心化,并把百分之百去中心化列為區(qū)塊鏈的最重要屬性。The DAO項(xiàng)目雖然已經(jīng)終結(jié),但由此引起的爭論遠(yuǎn)沒有結(jié)束。以太坊團(tuán)隊對事件的應(yīng)急處理,無論是軟分叉還是硬分叉,其本質(zhì)均為中心化的做法。也就是說,在百分之百去中心的TheDAO 平臺之外,還存在一個上帝,這個上帝就是以太坊團(tuán)隊。其實(shí),如果思考一下人類歷史和我們的現(xiàn)實(shí)生活就會發(fā)現(xiàn),百分之百地去中心化和單一中心化是問題的兩個極端,是理想化的產(chǎn)物。大部分的應(yīng)用場景需要的可能既不是百分之百去中心化,也不是單一中心化,而是適度去中心化的多中心機(jī)制。早在互聯(lián)網(wǎng)發(fā)展初期,類似的爭論就曾出現(xiàn)過。1995年前后,通信網(wǎng)絡(luò)的發(fā)展曾面臨兩種路線的選擇:一種是基于傳統(tǒng)電信思維模式的中心化路線,即以ATM(異步交換模式)協(xié)議為代表的寬帶綜合業(yè)務(wù)路線,另一種是新型的、去中心化的路線,即以TCP/IP協(xié)議為代表的互聯(lián)網(wǎng)路線。這一爭論延續(xù)了五年,最后實(shí)踐給出了結(jié)論:ATM 逐漸死亡,TCP/IP則擴(kuò)張到了全世界。當(dāng)然,雖然提倡去中心化,但互聯(lián)網(wǎng)本質(zhì)上也并不是百分之百地去中心,而是存在多個中心的自治系統(tǒng)。
二是要遵循技術(shù)發(fā)展的演進(jìn)規(guī)律。
基于密碼學(xué)的分布式算法及協(xié)議,需要對其長期的安全性進(jìn)行定期審核、測試與升級,這包括系統(tǒng)的安全和終端的安全,這樣才能有效預(yù)防由于新技術(shù)的出現(xiàn)和計算能力的大幅提高對安全體系帶來的威脅,以及程序員作惡和程序員出錯帶來的安全漏洞。互聯(lián)網(wǎng)發(fā)展的經(jīng)驗(yàn)告訴我們,任何一個成功的互聯(lián)網(wǎng)應(yīng)用,都要經(jīng)歷一個小步快跑、迅速迭代升級的過程。在此過程中,瑕疵與漏洞被不斷地完善與修補(bǔ),隨著功能及規(guī)模的擴(kuò)展,應(yīng)用系統(tǒng)逐步穩(wěn)定。因此,發(fā)展初期,區(qū)塊鏈從金融科技外圍的痛點(diǎn)應(yīng)用切入,快速迭代發(fā)展,這是區(qū)塊鏈發(fā)展無法回避的路徑。值得慶幸的是,經(jīng)過這兩三年的市場培育,區(qū)塊鏈在國內(nèi)取得了扎實(shí)的進(jìn)步,逐漸形成了以底層技術(shù)為支撐、以中間層為銜接、以應(yīng)用層為市場突破點(diǎn)的區(qū)塊鏈生態(tài)體系。部分底層技術(shù)平臺與應(yīng)用類項(xiàng)目已實(shí)現(xiàn)落地:2015年12月中國第一個區(qū)塊鏈開發(fā)平臺布比區(qū)塊鏈上線運(yùn)營;2016年3月萬向區(qū)塊鏈實(shí)驗(yàn)室發(fā)布萬云區(qū)塊鏈的云平臺;2016年3月陽光保險聯(lián)手布比推出基于區(qū)塊鏈技術(shù)的陽光貝積分產(chǎn)品,這是除代幣應(yīng)用之外中國的第一個區(qū)塊鏈?zhǔn)痉稇?yīng)用;2016年4月格格積分平臺上線,推出中國首個資產(chǎn)型的區(qū)塊鏈積分平臺;2016年8月作為綜合區(qū)塊鏈數(shù)字資產(chǎn)平臺的布萌上線,目前,布萌已廣泛地應(yīng)用在商業(yè)積分、游戲幣、預(yù)付卡、電子券、保險卡單、證券化資產(chǎn)等各個領(lǐng)域,截止到2017年3月12日,布萌平臺已擁有超過900萬終端用戶。
布比區(qū)塊鏈從一開始就摒棄了百分之百去中心化的意識形態(tài)思維,以多中心化信任為核心,并在實(shí)踐中不斷探索創(chuàng)新,逐步充實(shí)壯大。布比團(tuán)隊源自中國科學(xué)院計算所,自2012年就開始從事區(qū)塊鏈與數(shù)字資產(chǎn)的研究,目前已經(jīng)擁有數(shù)十項(xiàng)核心專利技術(shù)。布比的產(chǎn)品定位是提供商業(yè)級的區(qū)塊鏈基礎(chǔ)設(shè)施服務(wù),一是打造企業(yè)級區(qū)塊鏈平臺,二是在其上構(gòu)建具有高擴(kuò)展性的應(yīng)用業(yè)務(wù)支撐系統(tǒng)。
本書由布比工程師團(tuán)隊纂寫,內(nèi)容涵蓋了區(qū)塊鏈技術(shù)的基本原理、布比區(qū)塊鏈底層架構(gòu)與開發(fā)指南,以及實(shí)際應(yīng)用案例。期望本書的出版能為有志于區(qū)塊鏈應(yīng)用開發(fā)的技術(shù)人員提供幫助。由于時間倉促,書中難免出現(xiàn)遺漏與錯誤,敬請各位區(qū)塊鏈愛好者、技術(shù)人員和專家指正,大家一起努力,共同探索創(chuàng)新,為推動區(qū)塊鏈在國內(nèi)的發(fā)展作出貢獻(xiàn)。
點(diǎn)亮資本合伙人、中關(guān)村區(qū)塊鏈產(chǎn)業(yè)聯(lián)盟副理事長
郭峰
2017年3月
序
前言
第1章 區(qū)塊鏈技術(shù)原理
1.1 區(qū)塊鏈和區(qū)塊鏈技術(shù)的涵義/3
1.2 區(qū)塊鏈的框架與特點(diǎn)/8
1.3 區(qū)塊鏈的工作流程/12
1.4 區(qū)塊鏈的核心技術(shù)與概念/14
1.5 共識機(jī)制/22
1.6 區(qū)塊鏈的應(yīng)用現(xiàn)狀與前景/32
第2章 布比區(qū)塊鏈底層架構(gòu)
2.1 布比區(qū)塊鏈架構(gòu)及模塊設(shè)計/39
2.2 布比區(qū)塊鏈主要模塊開發(fā)指南/42
2.3 布比區(qū)塊鏈API框架設(shè)計/48
第3章 基于布比區(qū)塊鏈架構(gòu)的成功案例
3.1 數(shù)字資產(chǎn)發(fā)行與流通/53
3.2 互助保險/61
3.3 記錄存證/65
3.4 股權(quán)登記與交易/69
3.5 供應(yīng)鏈金融/70
第4章 布萌區(qū)塊鏈數(shù)字資產(chǎn)網(wǎng)絡(luò)開發(fā)指南
4.1 獲取access_token/76
4.2 注冊布萌區(qū)塊鏈賬戶/77
4.3 修改布萌區(qū)塊鏈賬戶/79
4.4 獲取賬戶私鑰/81
4.5 同步發(fā)行資產(chǎn)/85
4.6 異步發(fā)行資產(chǎn)/89
4.7 同步追加發(fā)行資產(chǎn)/93
4.8 異步追加發(fā)行資產(chǎn)/97
4.9 同步資產(chǎn)轉(zhuǎn)移/100
4.10 異步資產(chǎn)轉(zhuǎn)移/104
4.11 同步資產(chǎn)發(fā)放/107
4.12 異步資產(chǎn)發(fā)放/112
4.13 獲取賬戶信息/116
4.14 獲取交易信息/121
4.15 布萌通知接口/128
4.16 查詢賬戶注冊狀態(tài)/130
4.17 查詢資產(chǎn)發(fā)行狀態(tài)/132
4.18 查詢資產(chǎn)轉(zhuǎn)移狀態(tài)/133
4.19 查詢資產(chǎn)發(fā)放狀態(tài)/135
4.20 查詢賬戶交易信息(對賬接口) /136
4.21 錯誤碼及簽名算法/140
參考文獻(xiàn)/148