暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
基于区块链的应用系统开发方法研究-蔡维德 , 郁莲 , 王荣 , 刘娜 , 邓恩艳.pdf
543
14页
2次
2022-05-21
免费下载
软件学报 ISSN 1000-9825, CODEN RUXUEW E-mail: jos@iscas.ac.cn
Journal of Software,2017,28(6):14741487 [doi: 10.13328/j.cnki.jos.005232] http://www.jos.org.cn
©中国科学院软件研究所版权所有. Tel: +86-10-62562563
基于区块链的应用系统开发方法研究
蔡维德
1
,
2
,
1
,
1,3
,
邓恩艳
4
1
(软件开发环境国家重点实验室(北京航空航天大学) 数字社会与区块链实验室,北京 100191)
2
(北京大学 软件与微电子学院,北京 102600)
3
(沈阳工程学院 信息学院,辽宁 沈阳 110136)
4
(北京天德科技有限公司,北京 100089)
通讯作者: 蔡维德, E-mail: tsai7@yahoo.com, 郁莲, E-mail: lianyu@ss.pku.edu.cn
: 从区块链的技术层面及应用层面分析其特征,并给出区块链的分类.挖掘区块链的设计需求,针对区块链
的一致性和可扩展性的应用需求进行深入分析.对区块链的应用系统开发方法及区块链建模进行研究,提出了账户
区块链(account blockchain,简称 ABC)和交易区块链(trading blockchain,简称 TBC)的双链设计模型.对智能合约进行
深入剖析,提出了链上代码并行执行模型应用原则.最后,对区块链应用技术进行总结和展望.
关键词: 区块链;ABC/TBC;链上代码;区块链应用需求
中图法分类号: TP311
中文引用格式: 蔡维德,郁莲,王荣,刘娜,邓恩艳.基于区块链的应用系统开发方法研究.软件学报,2017,28(6):14741487.
http://www. jos.org.cn/1000-9825/5232.htm
英文引用格式: Tsai WT, Yu L, Wang R, Liu N, Deng EY. Blockchain application development techniques. Ruan Jian Xue Bao/
Journal of Software, 2017,28(6):14741487 (in Chinese). http://www.jos.org.cn/1000-9825/5232.htm
Blockchain Application Development Techniques
TSAI Wei-Tek
1
, YU Lian
2
, WANG Rong
1
, LIU Na
1,3
, DENG En-Yan
4
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) 参与交易的每个人都拥有完整的数据,每个人可以用自己的数据来做决定;
of 14
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜