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