国产91丝袜在线播放_偷拍亚洲色图_欧美精品久久一区二区_不卡日本视频

學術咨詢服務,正當時......期刊天空網是可靠的職稱論文與著作咨詢指導平臺!!!

基于區塊鏈的應用系統開發方法研究

發布時間:所屬分類:計算機職稱論文瀏覽:1

摘 要: 摘 要: 從區塊鏈的技術層面及應用層面分析其特征,并給出區塊鏈的分類.挖掘區塊鏈的設計需求,針對區塊鏈的一致性和可擴展性的應用需求進行深入分析.對區塊鏈的應用系統開發方法及區塊鏈建模進行研究,提出了賬戶區塊鏈(account blockchain,簡稱 ABC)和交易區塊

  摘 要: 從區塊鏈的技術層面及應用層面分析其特征,并給出區塊鏈的分類.挖掘區塊鏈的設計需求,針對區塊鏈的一致性和可擴展性的應用需求進行深入分析.對區塊鏈的應用系統開發方法及區塊鏈建模進行研究,提出了賬戶區塊鏈(account blockchain,簡稱 ABC)和交易區塊鏈(trading blockchain,簡稱 TBC)的雙鏈設計模型.對智能合約進行深入剖析,提出了鏈上代碼并行執行模型應用原則.最后,對區塊鏈應用技術進行總結和展望.

基于區塊鏈的應用系統開發方法研究

  關鍵詞: 區塊鏈;ABC/TBC;鏈上代碼;區塊鏈應用需求

  1 區塊鏈簡介

  區塊鏈(blockchain)是由多獨立節點參與的分布式數據庫系統,也可以理解為分布式賬簿(distributed ledger technology,簡稱 DLT),由這些節點共同維護.它的特點是不易篡改、很難偽造、可追溯.區塊鏈記錄所有發生交易的信息,過程高效透明,數據高度安全.凡是需要公正、公平、誠實的應用領域,都可以應用區塊鏈技術.

  區塊鏈把數據分成不同的區塊,每個區塊通過特定的信息鏈接到上一區塊的后面,前后順連,呈現一套完整的數據.每個區塊的塊頭(block header)包含前一個區塊的哈希值(previous block Hash),該值是對前區塊的塊頭進行哈希函數計算(Hash function)而得到.區塊之間都會由這樣的哈希值與先前的區塊環環相扣形成一個鏈條, 如圖 1 所示.

  從技術層面上看,區塊鏈的核心要素包含以下 3 個方面.

  (1) 塊鏈結構:每一區塊有時間戳;都使用前一區塊的哈希加密信息;對每個交易進行驗證;

  (2) 多獨立拷貝存儲:每個節點都存儲同樣信息,享有同樣權利;獨立作業;互相懷疑,互相監督;

  (3) 拜占庭容錯:容忍少于三分之一的節點惡意作弊或被黑客攻擊,保證系統仍然能夠正常工作. 要素(1)指出,區塊鏈是一個“賬簿”;要素(2)指出,區塊鏈是一個“分布式賬簿”;而要素(3)指出,區塊鏈是一個 “一致性的同步分布式賬簿”.

  區塊鏈可選擇不同的加密方法,如 RSA、中國的國密算法[1]、Ed25519[2]等的簽名算法.根據區塊鏈自身特有的安全、極難篡改的特性,在金融領域外的很多應用場景中,使用簽名、解簽能夠達到足夠高的安全級別.

  各個節點在獨立作業的同時存儲著同樣的信息,并且擁有同樣的權利.如果這一點不能保障的話,就不可稱為區塊鏈.例如,若鏈上的某個節點有特殊的權利,甚至可以改變鏈上數據,這樣的鏈就遠離了區塊鏈的真意.與現有的分布式存儲方式不同,區塊鏈分布式賬本是同步的,而不是在一個賬本形成之后,再制成多個備份.

  拜占庭將軍模型[3]的共識算法有串行與并行兩種. 

  拜占庭將軍模型于 1982 年出自 SRI Int’l,實用拜占庭共識協議 PBFT(practical byzantine fault tolerance)[4]是經過多年研究,由 MIT 在 1999 年提出實用協議.交易與投票是串行的,建塊過程要經過 3 次投票; 

  并發拜占庭共識協議 CBFT(concurrent byzantine fault tolerance)是由作者的團隊于 2015 年提出,此項算法將交易與投票并行進行. 以比特幣的區塊鏈為代表的第 1 代區塊鏈并未使用拜占庭將軍算法.比特幣和以太坊的公有區塊鏈使用 PoW(51%的投票) [5,6].作為第 2 代區塊鏈的代表,以太坊的私有鏈選用了 PBFT.作為第 3 代區塊鏈的代表,北航鏈使用的是 CBFT,提高了性能.

  從應用層面,區塊鏈具有以下重要特征.

  (1) 極難篡改性.一旦數據進入了區塊鏈,即使是系統內部的工作人員,在區塊鏈中也無法做任何更改.因此,區塊鏈系統是可以被信賴的.這種極難更改的特點不是來自使用某種操作,而是由于區塊鏈自身的機制;

  (2) 鏈上代碼(chaincode).區塊鏈載入的合同或法律文件為可執行的程序,在條件都滿足時,會讓法律事務自動生成,這就是所謂的“鏈上代碼”,在以太坊里也稱為“智能和約”[7];

  (3) 參與交易的每個人都擁有完整的數據,每個人可以用自己的數據來做決定;

  (4) 每個人都有完整的歷史數據,因此很難被其他人欺騙.區塊鏈可以為相互不信任的人建立一種信任網絡,每個人可以進行交易而不需要知道對方是什么人,因為每個人都有完整的數據,每個人都信任自己的數據,而且知道自己的數據是有共識的;

  (5) 區塊鏈的架構是分享的、分布式的、重復的,就地取材;

  (6) 區塊鏈與傳統的計算架構不一樣.最簡單的方式是把原來的主-客架構變成多個主人,這在傳統上被認為是不明智的方法.由于計算機硬件、通信及存儲的成本降低,同時,社會對安全性和防篡改性的需求提高,原來不明智的方式變成了最先進的方式.

  根據不同的應用領域特點,可以選擇不同類型的區塊鏈.一般分為公有鏈和許可鏈.

  1) 公有鏈:所有節點中立、開放,都可以投票、記賬、建塊.因為全網都需要投票,所以交易速度非常慢. 所有節點都可以參與投票,需要一個激勵機制,即挖礦機制.許多公有鏈是基于無政府主義理念而設計的,所以采用點對點或 P2P 網絡以躲避監管.兩年前,比特幣網絡交易速度是每秒 7 筆[8],現在降到每秒 1.1 筆[9],而且越來越下降;

  相關知識推薦閱讀:軟件類的文章發什么期刊好些

  2) 許可鏈[10]:只有被許可的節點才能參與投票、記賬、建塊,包含私有鏈、聯盟鏈、企業鏈等所有非公有鏈.交易速度比較快;不需要挖礦,交易成本低;可成為監管利器.北航鏈、天德鏈、Hyperledger[11]都是許可鏈,許可鏈會成為商業應用領域的主流[12]. 公有鏈與許可鏈的技術需求和架構差異巨大,面臨的問題也不一樣.

  2 區塊鏈應用系統的需求與架構設計

  2.1 區塊鏈應用系統的需求

  2.1.1 一致性需求

  在分布式環境下,數據為保證一致性需要使用一致性協議.公有鏈主要使用工作證明 PoW(proof of work)[5] 和股權證明 PoS(proof of stake)[6]機制;而許可鏈中主要使用 PBFT 和 CBFT.一般而言,區塊鏈系統越高速越好, 但是共識的代價昂貴,許多計算力及節點通信都花在共識機制上.例如,PBFT 需要 3 輪投票,每輪都采用廣播式通信方式.每次通信都需要簽名、解簽,再加上每筆交易都要簽名和解簽,因而,80%的計算力都花在共識處理上. 使用不同的共識算法會產生全然不同的區塊鏈架構和流程,面臨的研究問題也不同.PoW(公有鏈)面臨的問題是速度和可擴展性,PBFT(許可鏈)面臨的問題是并發.PoW 依靠節點的計算力來完成共識,PBFT 卻不需要.

  2.1.2 軟件設計需求

  區塊鏈不同于傳統數據庫.使用區塊鏈開發應用系統與傳統系統比較會有很多差異.例如,應用區塊鏈技術開發銀行系統,可以省去很多中間環節,簡化流程、節約成本.傳統的軟件架構也會發生變化.例如,IBM 把傳統的 MVC(model,view,control)設計模式(design pattern)變為 MVBC(model,view,blockchain,control)[13].

  設計區塊鏈應用系統還有一個新問題,即,可以把功能放在應用系統上,或是放到區塊鏈上用鏈上代碼執行.很多人都推崇鏈上代碼,可是鏈上代碼執行會消耗大量的計算力.鏈上代碼需要建塊,而建塊是一項昂貴的運營流程,需要執行共識協議.建議大部分的功能應該是在應用系統里,只有少數功能放在鏈上代碼里.

  2.1.3 可擴展性需求

  可擴展性一直是區塊鏈系統的一個挑戰,從第一代比特幣區塊鏈到第二代以太坊區塊鏈都面臨嚴峻的問題.雖然有各式各樣的解決方案,但是每種方案都有它的缺陷.例如,以太坊提出可無限擴張白皮書里提到的方案,經過了兩年仍然不能實現.有些方案放棄區塊鏈的定義來解決可擴展性需求,例如 BigchainDB[14], RSCoin[10,15,16].他們放棄區塊鏈多拷貝的需求來提高交易速度.這些偏離傳統區塊鏈定義的系統是否能被接受還有待觀察.一般來說,這樣的系統因為放棄了多拷貝的需求,所以需要在其他方面補足來增加安全性.

  北航鏈的可擴展性分為 3 步(參考第 4.1 節及文獻[17]):(1) 使用 CBFT 并行的算法做拜占庭將軍投票,從而提高建塊速度;(2) 提出 ABC,TBC 雙鏈架構[17],保護隱私、并行計算、節省計算力、簡化應用架構;(3) 利用 ABC,TBC 雙鏈的特點,使一條鏈可以在運行時分裂成兩條鏈,有兩套不同的硬件分別執行這兩條鏈,以提高速度.有這 3 個機制,既可以使用原始定義的區塊鏈,又可以有高速以及可擴展性.

  2.1.4 數據庫需求

  區塊鏈雖然被稱為分布式數據庫,但是它的作業和傳統數據庫大不相同.不但與關系(relational)型數據庫不一樣,也與對象(object)數據庫、NoSQL 數據庫或時間(temporal)數據庫不一樣.高速區塊鏈與低速區塊鏈是截然不同的:在低速環境下,交易是用串行的方法來處理,所以低速區塊鏈的一致性問題不大;而高速環境下,交易和建塊是并行的,所以一致性是一個新問題.因為傳統數據庫是以個別交易,而區塊鏈是以建塊來維持一致性.

  區塊鏈一致性問題與傳統數據庫一致性問題不一樣,例如在區塊鏈里,每秒可以有上萬次交易,而每秒都可以有多塊被建立,所以每塊也可以有上萬次交易.這些交易中,可能有很多交易與同一個數據有關聯.例如在央視微電影項目中,幾秒鐘之內會有上萬人點播同一個視頻,所以在一塊里面,可能就要對同一個視頻有上千個點播.如果使用傳統數據庫,每次點播都是一個寫(write),而在同一個交易里面不可有一個以上的 write 在同一個數據上.可是在央視微電影平臺上,必須允許同時在一個塊中有上千個 write 作用在同一個數據上.

  2.1.5 鏈上代碼需求

  鏈上代碼原被稱為求問題與傳統(smart contract),給人們的印象是既智能又受法律保護的合約.但事實上兩者都不是.傳統的智能合約沒有匹配的法律框架,不是有效力的法律合同.智能合約的參與者亦沒有相關的法律條文及框架來保護.如果加上法律框架的支撐,鏈上代碼可以成為合約.

  鏈上代碼的執行與建塊息息相關,所以它的執行模型與建塊流程相互影響,以至于鏈上代碼在理論上變成一個很難的問題.問題難處在于:每次建塊時,需要尋找必須要啟動的鏈上代碼,而且在一些鏈上代碼系統里,那些代碼必須完成執行之后才能建塊.如果涉及的數據很多,而且鏈上代碼很復雜,這將造成鏈上代碼與建塊沖突.雖然理論上鏈上代碼是一個很難的問題,但是在實際系統中仍然可用.第 3.3 節將討論一些實際解決方案.

  2.2 北航鏈的體系架構

  北航鏈是北京航空航天大學與北京大學聯合開發的許可鏈,其設計初衷是為公信和金融服務,北航鏈摒棄了 P2P 網絡[18,19]和挖礦機制[5],以可擴展性為第一目標[20],并且重視速度優化.為了確保系統安全,北航鏈加入了節點信用制度.這是首次采用信譽機制(reputation system)來識別作弊節點,一旦發現節點的作弊行為,立即將其排除在投票節點之外.

  在北航鏈的設計中,拜占庭式投票和數據采集可同時進行,加快了信息處理速度,具有獨特的建塊過程.此外,對每個交易進行投票.為了確保安全,也對塊的投票結果投票,判斷是否有叛徒節點.由于有 4 輪投票,將產生更多的信息(每輪產生 O(N2 )個消息);北航鏈采用并發操作,所以速度快.另外,北航鏈還設計了一整套可擴展的機制,例如 ABC(account blockchain),TBC(trading blockchain)雙鏈架構及區塊鏈云架構.可擴展機制使得區塊鏈具有高吞吐性、低延遲性以及高隱私性.有了這樣的機制,當工作量請求增加的時候,只要增加機器就能夠處理, 從而實現負載均衡.圖 2 是北航鏈架構圖. 

  存儲層:存儲層包括操作系統和數據庫服務; 

  基礎區塊鏈層:傳輸服務將緩存中的交易放入桶中;塊服務為每個桶中的交易創建位圖;Round Robin 使用循環法選擇線索,創建并向所有其他節點發送塊,進一步執行信譽計算;同步器廣播本地區塊鏈的長度,接收遺漏的塊,并存儲接收的塊;ABC(帳戶區塊鏈)同步區塊鏈,以確保不同節點的一致狀態,創建帳戶索引以加速查詢,并提供帳戶公私密鑰服務;對于鏈上代碼交易,TBC(交易區塊鏈)首先執行鏈上代碼,然后將結果放入桶中,對于非鏈上代碼交易,直接放入桶中,并準備創建塊; 

  緩存層:用于緩存內存中的臨時信息,包括從用戶和鏈上代碼接收的新交易;那些塊尚未傳輸到磁盤;并且支持系統運行的臨時數據存儲; 

  API 層:提供了外部和內部 API 接口.內部 API 用于節點之間的內部通信,例如投票、廣播塊;外部 API 用于外部用戶,例如接受新交易和查詢操作; 

  鏈上代碼層:提供與合同相關的服務.鏈上代碼根據領域特定要求編寫,由所有利益相關者進行合法正確性驗證,然后部署在區塊鏈系統中執行.該層具有 3 個功能:與用戶的交互(編輯)、流程執行引擎和支持帳戶管理、狀態存儲和發送交易的合同服務; 

  應用層:此層有應用程序,例如銀行系統、計算法律系統、信用認證系統和供應鏈系統.在設計區塊鏈時,節點越多,系統越安全,但是共識起來會更慢,所耗的計算力越大.

  2.3 區塊鏈接口設計

  OBCC(open blockchain connector)是一套區塊鏈的統一接口,提供應用方便高效地使用區塊鏈的功能,包括將用戶數據存入區塊鏈、查詢用戶需要的信息,如圖 3 所示. 寫入區塊鏈的接口定義為 put(action,data),其中, 

  參數 action 表明用戶的數據處理意圖,可以是 create,insert, update 或 delete.注意:區塊鏈是不能更改已經存入區塊鏈的數據,這里的 update 和 delete 不是像數據庫那樣對數據執行 update 或 delete,而是在區塊鏈上記錄下對數據所發生過的操作,即,作為一筆新交易記錄在案; 

  參數 data 是用戶的數據,根據不同的應用領域,格式和內容會不同.

  區塊鏈查詢接口定義為 get(condition),其中,參數 condition 表明用戶的查詢條件,可以是塊的哈希值或交易的哈希值,也可以與應用有關的關鍵字等.倒排索引、大數據分析技術的使用,使得用戶可以快速高效地獲取有價值的查詢結果.

  OBCC 提供一個工具包,用戶可以把它導入到自己的軟件項目工程里,編程開發時,像是調用本地函數或方法一樣使用區塊鏈的功能接口.當用戶程序需要調用區塊鏈的功能時,由 OBCC 客戶端代理將請求廣播到各個區塊鏈節點 OBCC 服務器端代理,該代理負責調用區塊鏈的相關功能進行處理,最終存入區塊鏈或查詢到信息并返回.如圖 4 所示.

  本文實現了 Java 版的區塊鏈連接器——JBCC,已經支持多個區塊鏈的應用系統的開發,包括央視微電影管理平臺、高校學籍及檔案管理系統、金融跨國支付系統、銀行信用卡消費管理系統、跨行業積分跟蹤管理系統.基于 OBCC 的區塊鏈的應用系統開發,具有開發周期短、可擴展性高、運行速度快的特點.

最新分區查詢入口
国产91丝袜在线播放_偷拍亚洲色图_欧美精品久久一区二区_不卡日本视频
午夜精品久久久久久久白皮肤 | 一区久久精品| 欧美色图天堂网| 国产欧美精品一区二区色综合 | 国产精品日韩精品| 国产日韩欧美不卡| 欧美成人精品1314www| 欧美另类高清视频在线| 国产精品丝袜91| 亚洲国产成人av好男人在线观看| 国产揄拍国内精品对白| 亚洲蜜桃精久久久久久久| 欧美一区2区视频在线观看| 欧美极品一区二区三区| 黑人一区二区三区四区五区| 一区二区三区产品免费精品久久75| 欧美在线免费| 欧美午夜精品久久久久久久| 亚洲人成小说网站色在线| 欧美在线观看天堂一区二区三区| 欧美激情一区二区三区高清视频| 国产精品资源| 久久不见久久见免费视频1| 国产精品福利网站| 亚洲欧美国产77777| 欧美天天综合网| 亚洲伊人伊色伊影伊综合网| 欧美体内she精视频| 一区二区欧美在线观看| 欧美日韩国产精品一区二区亚洲| 亚洲高清视频在线| 欧美国产欧美综合 | 国产精品免费电影| 亚洲影院在线| 狠狠入ady亚洲精品| 欧美激情精品久久久久久久变态 | 久久精品91| 好吊色欧美一区二区三区视频| 午夜精品久久久久久久久久久| 国产精品国产亚洲精品看不卡15| 欧美亚洲系列| 亚洲精品乱码久久久久久| 欧美日韩免费一区二区三区| 欧美亚洲三级| 日韩午夜一区| 精品91视频| 欧美三级日韩三级国产三级| 午夜一级久久| 一本久道综合久久精品| 国产在线视频欧美| 欧美视频精品在线观看| 久久在线91| 久久精品国产精品亚洲综合| 99成人在线| 在线成人av| 国产在线日韩| 国产一区二区欧美| 国产视频在线观看一区| 国产精品hd| 欧美日韩精品免费观看视频完整 | 亚洲国产99精品国自产| 国产精品日韩专区| 国产麻豆日韩欧美久久| 欧美四级电影网站| 欧美激情精品久久久久久大尺度| 99这里只有久久精品视频| 在线观看视频一区二区| 激情久久一区| 亚洲国产一区二区三区青草影视| 一区二区在线观看视频在线观看| 国产午夜精品久久久久久久| 国产美女精品免费电影| 亚洲一区在线播放| 亚洲国产精品视频| 国产精品婷婷| 韩国av一区| 亚洲精品1区| 日韩午夜激情| 美女国内精品自产拍在线播放| 亚洲欧美日韩网| 一区二区欧美视频| 午夜精品美女久久久久av福利| 性色一区二区| 免费看的黄色欧美网站| 鲁大师影院一区二区三区| 欧美成人久久| 国产毛片精品国产一区二区三区| 国产亚洲激情| 一本久久综合亚洲鲁鲁五月天| 亚洲网友自拍| 亚洲在线免费观看| 另类酷文…触手系列精品集v1小说| 欧美精品一区二区三区一线天视频| 国产精品a久久久久| 亚洲第一级黄色片| 性做久久久久久免费观看欧美| 老司机成人网| 国产一区二区三区日韩| av成人毛片| 欧美日韩不卡视频| 欧美日韩中文| 日韩视频―中文字幕| 久久久久久久久久久久久女国产乱 | 欧美α欧美αv大片| 国产农村妇女精品| 亚洲小视频在线| 欧美人与禽性xxxxx杂性| 极品尤物久久久av免费看| 韩国av一区二区三区| 亚洲欧美韩国| 国产日韩在线看片| 欧美影院久久久| 国产一区二区三区久久精品| 欧美一区二区三区视频在线| 国产精品毛片高清在线完整版| 亚洲一区综合| 国产网站欧美日韩免费精品在线观看 | 欧美极品在线观看| 亚洲精品午夜| 久久久精品免费视频| 好吊色欧美一区二区三区四区| 午夜一区二区三视频在线观看| 国产精品第三页| 久久精品官网| 亚洲激情自拍| 国产精品v日韩精品| 久久精品视频在线观看| 韩国欧美国产1区| 欧美电影免费网站| 亚洲欧美日韩国产成人精品影院| 国产亚洲欧美色| 欧美日韩国产三级| 欧美一区二区三区在线观看| 亚洲人成网在线播放| 国产欧美日本一区视频| 亚洲老司机av| 好看的日韩av电影| 国产精品狠色婷| 欧美人与禽猛交乱配| 久久综合色8888| 性欧美大战久久久久久久免费观看 | 欧美不卡视频一区| 亚洲一区二区视频在线观看| 亚洲国产91| 国产精品视频一区二区三区| 欧美黄色大片网站| 久久精品亚洲一区二区| 亚洲欧美一区二区三区久久| 一区二区电影免费观看| 国产美女一区二区| 国产精品啊啊啊| 国产精品第2页| 国产精品日韩在线一区| 欧美精品免费观看二区| 浪潮色综合久久天堂| 久久―日本道色综合久久| 久久精品国产77777蜜臀| 欧美有码在线观看视频| 午夜欧美大片免费观看| 午夜在线成人av| 中文亚洲欧美| 久久精品一区中文字幕| 美女视频黄 久久| 欧美日本在线一区| 欧美日韩一区成人| 国产精品久久二区二区| 免费观看成人www动漫视频| 一区二区视频免费在线观看| 蜜桃伊人久久| 黄色国产精品| 亚洲影院在线| 在线观看成人网| 小黄鸭精品aⅴ导航网站入口| 欧美激情精品久久久久久变态| 狠狠色伊人亚洲综合成人| 欧美日韩国产一区二区| 久久手机精品视频| 妖精成人www高清在线观看| 免费看亚洲片| 亚洲最黄网站| 国产精品久久久久aaaa樱花 | 亚洲免费av片| 日韩视频在线一区二区| 最近中文字幕日韩精品| 在线播放视频一区| 欧美吻胸吃奶大尺度电影| 久久狠狠一本精品综合网| 影视先锋久久| 99这里只有久久精品视频| 亚洲一区国产精品| 欧美另类高清视频在线| 欧美日精品一区视频| 精品9999| 在线亚洲精品福利网址导航| 性欧美长视频| 国产亚洲欧洲一区高清在线观看| 1024成人网色www| 欧美亚洲一区二区在线观看| 噜噜噜噜噜久久久久久91| 国产精品伦子伦免费视频|