- 區塊鏈2.0:以太坊應用開發指南
- 趙其剛 陸斌 趙其國
- 4178字
- 2019-09-12 15:19:24
1.1 區塊鏈概念及應用
盡管“區塊鏈”很像是在2016年由于比特幣在世界范圍內引起劇烈爭議而突然產生的一個技術術語,但實際上,區塊鏈從技術理論的提出,到今天的區塊鏈2.0,已經歷二十多年的發展。
1.1.1 區塊鏈發展歷程
早在1991年,斯圖爾特·哈伯(Stuart Haber)和史葛托爾內塔(W.Scott Stornetta)就在論壇中提出了關于區塊的加密保護鏈產品。之后,分別由羅斯安德森(Ross J.Anderson)與布魯斯·施奈爾(Bruce Schneier)、凱爾西(John Kelsey)在1996年和1998年發表相關產品。尼克·薩博(Nick Szabo)在1998年進行了“虛擬幣”分散化的機制研究,他將其命名為比特金。2000年,斯特凡·康斯特(Stefan Konst)發表了加密保護鏈的統一理論,并提出了一整套實施方案。
2008年爆發全球金融危機,當時有人用“中本聰”的化名發表了一篇論文,描述了“比特幣”的產生模式。2009年,比特幣誕生,其到2140年將達到2 100萬個的總量上限,現在被挖出的比特幣總量已經超過1 200萬個。目前各國政府對待比特幣的政策區別較大,在我國比特幣不具有法定貨幣的地位,只是一種特定的虛擬商品。它對社會的貢獻和價值主要在于其通過實踐驗證了其背后的支撐技術——區塊鏈。
2014年,維塔利克·布特瑞(Vitalik Buterin)、加文伍德(Gavin Wood)和杰夫瑞·威爾克(Jeffrey Wilcke)開始開發下一代區塊鏈平臺——以太坊(Ethereum),其目標是創建可基于該平臺執行可編程的、具有圖靈完備的智能合約代碼。智能合約的支持是以太坊相對比特幣來說最核心的創新之一,并為區塊鏈創造了廣闊的應用前景。因此,區塊鏈也由一個互聯網普通用戶使用的“虛擬幣”支撐技術演變為受到IBM、微軟、谷歌等互聯網界豪門爭相研究與布局的互聯網技術“新貴”。
2015年,IBM的Linux基金會推出了“開放賬本項目(Open Ledger Project)”,埃森哲(Accenture)、澳新銀行、思科、第一信貸、德意志交易所、DAH數字資產控股、DTCC、富士通、IC3、英特爾、摩根大通、倫敦證券交易所集團、三菱UFJ金融集團、R3、State Street、SWIFT、VMware和富國銀行加入了該計劃。
2016年,俄羅斯聯邦中央證券存管機構(NSD)宣布了一個基于區塊鏈技術的試點項目。許多在音樂產業中具有監管權的機構開始利用區塊鏈技術建立測試模型,用來征收版稅和進行世界范圍內的版權管理。
自2016年10月我國工業和信息化部發布《中國區塊鏈技術和應用發展白皮書(2016)》及2016年12月區塊鏈被作為戰略性前沿技術、顛覆性技術寫入國務院發布的《“十三五”國家信息化規劃》以來,區塊鏈日益受到我國政府的重視和關注,各地政府紛紛出臺有關區塊鏈的政策指導意見及通知文件,比如2017年6月,貴陽市人民政府辦公廳印發了《關于支持區塊鏈發展和應用的若干政策措施(試行)的通知》,山東省市北區人民政府印發了《關于加快區塊鏈產業發展的意見(實行)》,2017年11月,重慶市經濟和信息化委員會發布《關于加快區塊鏈產業培育及創新應用的意見》等,甚至多個省份將區塊鏈列入本省“十三五”戰略發展規劃。
到今天,區塊鏈已經成為與“物聯網”“云計算”“大數據”“人工智能”等互聯網技術熱點并駕齊驅的互聯網技術“新貴”。
1.1.2 區塊鏈的概念
目前有關區塊鏈尚無統一和權威的定義,對區塊鏈的公開解釋主要是從其技術特征角度進行描述,并有狹義與廣義之分。
1.區塊鏈的狹義解釋
區塊鏈是一種塊鏈式的數據結構,區塊之間按照時間順序相連,通過密碼學方式保證數據不易篡改和不易偽造,并在網絡所有節點進行分布式存儲的共享賬本。可見,狹義的區塊鏈特指區塊鏈技術 體系中特殊的技術組成部分——具有“區塊”+“鏈”結構的分布式賬本,但是,狹義的區塊鏈并不能完整描述區塊鏈的技術體系,因而有了廣義區塊鏈的描述。
2.區塊鏈的廣義解釋
區塊鏈是利用塊鏈式共享賬本來驗證與存儲數據、利用P2P分布式節點共識算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動執行的腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式計算可信網絡或計算公證網絡。從廣義區塊鏈的描述可知,目前對區塊鏈的解釋是用區塊鏈技術體系中比較特殊的組成部分“共享分布式賬本”來構建一個全新的計算架構與技術體系。
對以“人”為中心的人類社會而言,技術是一種手段。區塊鏈究竟解決了互聯世界的什么問題?其本質是什么?能在哪些場景為人類服務?這是研究和發展區塊鏈技術的幾個根本問題。只有非常清楚區塊鏈技術背后的本質和意義,才能在區塊鏈的創新、應用與技術開發過程中不致盲目跟風或迷失方向。
從現有的區塊鏈概念描述和技術體系中,可以知道區塊鏈各層技術都圍繞如下幾個核心特征工作。
(1)去中心化。區塊鏈基于P2P網絡,使用分布式計算和存儲,網絡中的節點具有相同的權利和義務,區塊鏈數據由具有維護功能的節點來自動共同維護。去中心化網絡架構使區塊鏈在節點自由進出的環境下,脫離了對第三方平臺的依賴。
(2)數據不易篡改。區塊鏈數據一旦經過驗證并添加至區塊鏈,就相當于是永久存儲,數據的穩定性和可靠性極高。若想修改區塊鏈中的數據,只在單個或少數節點上進行修改是無效的,必須同時控制51%以上的網絡節點(算力或權重)才行,而這對已經取得廣泛分布性的區塊鏈網絡來說幾乎是不可能的。因而,相對于傳統技術架構的網絡,區塊鏈中的數據因其不易篡改而更為安全可靠。
(3)自治性。區塊鏈基于算法與機制,由軟件與機器自動實現協商一致的規范和協議,使系統中的節點能夠在不依賴對“人”的信任環境下相對自由安全地交換數據,使得對“人”的信任改成了對機器和數學算法的信任。
(4)開放性。區塊鏈的數據、機制甚至其實現的源代 碼對所有人公開,任何人都可以通過公開的接口查詢區塊鏈數據、機制,并能開發相關應用,因而區塊鏈系統是信息高度透明的系統,這確保互聯網用戶得以平等地參與。
(5)匿名性。區塊鏈用戶使用賬戶與密鑰基于本地區塊鏈客戶端存取數據,由共識機制選定節點統一向區塊鏈加入區塊數據,所存取數據通過P2P網絡同步實現全網用戶間的交互。用戶間的交易基于加密賬戶而無須公開身份,并且交易地址無法跟蹤,用戶可匿名參與區塊鏈的各類應用,用戶隱私得以保護。
可見,區塊鏈通過一系列的技術措施,目的是確保在開放的互聯網絡中,在不依賴第三方平臺,甚至不需要參與者身份的條件下,進行“可信”的信息與價值傳遞。這能降低社會關系中構建“信任”的成本,因為這些“信任”不再依賴于權威與壟斷的第三方,人們也就不需要為累積“信任”耗費大量的時間、金錢與精力。所以說,區塊鏈通過數學證明、規則公開、信息透明、中立機器等技術機制與設施向人類社會提供了另外一條構建“信任”的思路:若人們相信“人”與“人類的機構”的代價太高,為何不可考慮相信“成本低廉且規則透明、確定執行的機制和中立公平的信息機器”呢?
基于上述對區塊鏈應用本質的認識,下面給出區塊鏈的定義:區塊鏈是互聯網世界構建信任的技術基礎設施。對于這個定義,有如下延展說明。
(1)區塊鏈的應用場景與前提是在人類社會的發展中影響越來越大的互聯網虛擬世界,在這個世界中普通用戶是主人,未來普通用戶的世界就是人類社會的世界。
(2)現實社會關系將不斷在互聯網虛擬世界中投射與重構,開放的互聯網原旨精神將持續優化和升級人與人之間的各種社會關系。
(3)支持“信任”是區塊鏈技術在互聯網虛擬世界中的核心使命與價值本質。
(4)技術基礎設施是區塊鏈的本質屬性。
1.1.3 區塊鏈的應用
了解區塊鏈的應用本質,就能較容易地理解區塊鏈的典型應用場景。
1.金融領域
金融領域是區塊鏈較早應用的領域,目前應該說已取得了初步成功,可以預見未來還將在各個領域、各個國家產生更多的基于區塊鏈具有不同影響的金融衍生品。特別是區塊鏈的去中心化、去信任等特征,將推動互聯網金融的發展。
2.保險行業
一方面諸如醫療信息、個人征信數據引入并存儲于區塊鏈,并將成為每一個人的數字身份,這些數據真實可信,不易篡改,實時同步,終身有效,這將為投保人的風險管理帶來巨大價值;另一方面,區塊鏈智能合約的支持可實現不依賴于人的自主投保和智能賠付,這可以極大地提升保險機構的運行效率并降低成本。
3.物聯網與共享經濟
在區塊鏈物聯網中可以為每一個物理設備分配地址,并結合物聯網設備為該地址注入一定的費用,可以執行相關操作,從而達到物聯網的應用,如PM2.5監測點數據獲取、服務器租賃、網絡攝像頭數據調用、DNS服務器等。同時,通過物聯網將現實物質世界與區塊鏈所構建的虛擬社會有效連接在一起,從而更 大范圍地推動社會運行效率與共享經濟的發展。
4.法律行業
基于區塊鏈數據的不易篡改性,可將各類認證、所有權證和證書如房屋產權、土地所有權、承包權、文憑等基于區塊鏈登記、查詢,并能實現所有權、使用權的高效鑒別與快速流轉。
5.文化藝術行業
針對如音樂、字畫等任何類型的藝術品,可基于區塊鏈進行數字形式發布,藝術家們可以使用區塊鏈技術來聲明所有權,發行可編號、限量版的作品,以數字加密形式保護和流轉。
6.房地產行業
基于區塊鏈讓整個產業鏈流程實現自動化、智能化,解決產業鏈中每個參與者在房地產開發、運營、使用,以及產權交易、租售中的各種關系,包括命名過程、土地登記、代理中介、產權交易、房屋出租等。
1.1.4 區塊鏈不適用場景及風險
在區塊鏈概念盛興的時候,技術人員需要保持冷靜,區塊鏈的技術特征決定了其并非萬能。由于區塊鏈基于P2P網絡,需要全網絡所有節點保存同一份數據,執行同樣的運算,而且如采用工作量證明(POW)共識機制還要浪費大量電力去解與計算結果幾乎毫無關系的數學難題,這種計算效率其實是低效的,且浪費嚴重。因此,至少如下場景不適合采用區塊鏈。
(1)在需要高效計算的場合,并不適宜采用區塊鏈,如對計算速度要求極高的科學計算,大規模數據統計、分析與挖掘,人工智能學習與模型訓練等。
(2)對計算和應用部署成本敏感的應用,如一般性的信息發布、展示或宣傳,不適宜采用區塊鏈。
(3)在需要系統封閉運行并獨自擁有的場合,如各類機構、企業的私有系統,也不適宜采用區塊鏈。
區塊鏈之所以能立足于互聯網中作為建立“信任”的基礎設施,其核心原因在于其技術體系和機制保證了高可靠性與高安全性,但是,正如曾經指出基于以太坊The DAO項目九大漏洞并隨后應驗的美國著名計算機專家、康奈爾大學助理教授額明·昆(Emin Gün Sire)所講:“區塊鏈最終會擁有偉大的前景,但在此之前會面臨很多失敗。”具體的區塊鏈項目在實際的運行中仍然可能面臨不可小視的安全風險,正如The DAO項目所展示的那樣:這些安全問題往往不是區塊鏈的技術體系與機制本身的問題,而是人們自身疏忽或對網絡安全漠視的問題。