推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于区块链的应用系统开发方法研究

更新时间:2019-12-23 23:37:17 大小:2M 上传用户:zhiyao6查看TA发布的资源 标签:区块链 下载积分:1分 评价赚积分 (如何评价?) 收藏 评论(0) 举报

资料介绍

从区块链的技术层面及应用层面分析其特征,并给出区块链的分类.挖掘区块链的设计需求,针对区块链的一致性和可扩展性的应用需求进行深入分析.对区块链的应用系统开发方法及区块链建模进行研究,提出了账户区块链(account blockchain,简称ABC)和交易区块链(trading blockchain,简称TBC)的双链设计模型.对智能合约进行深入剖析,提出了链上代码并行执行模型应用原则.最后,对区块链应用技术进行总结和展望.


部分文件列表

文件名 大小
基于区块链的应用系统开发方法研究.pdf 2M

部分页面预览

(完整内容请下载后查看)
软件学报 ISSN 1000-9825, CODEN RUXUEW  
Journal of Software,2017,28(6):14741487 [doi: 10.13328/j.cnki.jos.005232]  
©中国科学院软件研究所版权所有.  
E-mail:  
Tel: +86-10-62562563  
基于区块链的应用系统开发方法研究∗  
1
2
1
1,3  
4
蔡维德  
,
,
,
,
邓恩艳  
1(软件开发环境国家重点实验室(北京航空航天大学) 数字社会与区块链实验室,北京 100191)  
2(北京大学 软件与微电子学院,北京 102600)  
3(沈阳工程学院 信息学院,辽宁 沈阳 110136)  
4(北京天德科技有限公司,北京 100089)  
通讯作者: 蔡维德, E-mail: , 郁莲, E-mail:  
: 从区块链的技术层面及应用层面分析其特征,并给出区块链的分类.挖掘区块链的设计需求,针对区块链  
的一致性和可扩展性的应用需求进行深入分析.对区块链的应用系统开发方法及区块链建模进行研究,提出了账户  
区块链(account blockchain,简称 ABC)和交易区块链(trading blockchain,简称 TBC)的双链设计模型.对智能合约进行  
深入剖析,提出了链上代码并行执行模型应用原则.最后,对区块链应用技术进行总结和展望.  
关键词: 区块链;ABC/TBC;链上代码;区块链应用需求  
中图法分类号: TP311  
中文引用格式: 维德,,,,恩艳.于区块链的应用系统开发方法研究.件学报,2017,28(6):14741487.  
英文引用格式: Tsai WT, Yu L, Wang R, Liu N, Deng EY. Blockchain application development techniques. Ruan Jian Xue Bao/  
Journal of Software, 2017,28(6):1474
Blockchain Application Development Techniques  
TSAI Wei-Tek1, YU Lian2, WANG Rong1, LIU Na1,3  
,
DENG En-Yan4  
1(Digital Society & Blockchain Laboratory, State Key Laboratory of Software Development Environment (Beihang University), Beijing  
100191, China)  
2(School of Software and Microelectronics, Peking University, Beijing 102600, China)  
3(Information School, Shenyang Institute of Engineering, Shenyang 110136, China)  
4(Tiande Technologies, Beijing 100089, China)  
Abstract: This paper presents a blockchain definition independent of any digital currency, and describes its characteristics including  
consensus protocols, design patterns, scalability, databases, and chaincode. The paper then presents a permissioned blockchain, called  
Beihangchain, with its unique consensus algorithms, interfaces, and design. It also proposes ABC (account blockchain) and TBC (trading  
blockchain), to be used for a variety of applications including copyright protection and digital payment. Finally, this paper analyzes  
chaincode requirements and provides guidelines for effective chaincode.  
Key words: Blockchain; ABC/TBC; chaincode; blockchain application requirements  
1
区块链简介  
区块链(blockchain)是由多独立节点参与的分布式数据库系统,也可以理解为分布式账簿(distributed ledger  
基金项目: 国家自然科学基金(61690200, 60973001)  
Foundation item: National Natural Science Foundation of China (61690200, 60973001)  
收稿时间: 2016-11-03; 修改时间: 2016-12-14; 采用时间: 2017-01-09; jos 在线出版时间: 2017-02-20  
CNKI 网络优先出版: 2017-02-22 10:47:37, http://www.cnki.net/kcms/detail/11.2560.TP.20170222.1047.004.html  
蔡维德 等:基于区块链的应用系统开发方法研究  
1475  
technology,简称 DLT),由这些节点共同维护.它的特点是不易篡改、很难伪造、可追溯.区块链记录所有发生交  
易的信息,过程高效透明,数据高度安全.凡是需要公正、公平、诚实的应用领域,都可以应用区块链技术.  
区块链把数据分成不同的区块,每个区块通过特定的信息链接到上一区块的后面,前后顺连,呈现一套完整  
的数据.每个区块的块头(block header)包含前一个区块的哈希值(previous block Hash),该值是对前区块的块头  
进行哈希函数计算(Hash function)而得到.区块之间都会由这样的哈希值与先前的区块环环相扣形成一个链条,  
如图 1 所示.  
H()  
之前块的哈希指针  
之前块的哈希指针  
之前块的哈希指针  
块头  
块身  
H()  
H()  
H()  
数据  
数据  
数据  
Fig.1 Blockchain schematic  
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) 参与交易的每个人都拥有完整的数据,每个人可以用自己的数据来做决定;  

全部评论(0)

暂无评论