登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 计算机类 > 软件工程 > 正文

基于Fabric的区块链应用设计和实现

 2022-11-11 11:11  

论文总字数:16055字

摘 要

区块链是互联网技术的进一步发展,解决信息在不同组织边界之间传递以及信任。同时,区块链以其所具备的数据安全、共识安全、隐私保护等特性[1],可以进一步应用在数字货币、信息分享、组织合作等领域。课题通过联盟链框架超级账本Fabric进行区块链应用开发和学习。

传统的具居民档案管理包括纸质与随时代发展起来的电子档案,在当今中国所处的互联网时代背景下已逐渐出现疲态,由于信息技术以及工业水平的发展提高,中国这样一个人口大国呈现出相当大的人口流动趋势,这势必意味着在居民档案管理上也需要具备符合时代的网络互连,本文利用Fabric框架构件区块链网络,设计和实现居民档案管理。

关键词:区块链;Hyperledger;Fabric;

Fabric-based Blockchain Application Design and Implementation

Abstract

Blockchain is a further development of Internet technology, which solves the transfer of information and trust between different organizational boundaries. At the same time, with its data security, consensus security, privacy protection and other characteristics[1], the blockchain can be further applied in fields such as digital currency, information sharing, and organization and cooperation. The subject uses the alliance chain framework Hyperledger Fabric to develop and learn blockchain applications.

Traditional inhabitant archive management includes paper and electronic archives developed over time. Under the background of the Internet age in China today, it has gradually become fatigued. Due to the development of information technology and industrial standards, China has emerged as a country with a large population. There is a considerable population flow trend, which inevitably means that the management of residents’ archives also needs to have network interconnection that conforms to the times. This article uses the Fabric framework to build a blockchain network to design and realize the management of residents’ archives.

Keywords:Blockchain;Hyperledger;Fabric

目录

第一章 引 言 4

1.1 档案管理现况 4

第二章 系统相关技术介绍 5

2.1 超级账本Fabric概述 5

2.1.1 链码(Chaincode) 6

2.1.2 节点(Peer) 6

2.1.3 通道(Channel) 7

2.1.4 策略(Policy) 7

2.1.5 成员服务提供者(Membership Service Provider,MSP) 7

2.1.6 账本 8

2.1.7 排序服务 8

2.2 Docker概述 9

第三章 基于fabric居民档案管理应用设计 9

3.1 需求分析 9

3.1.1 传统档案管理痛点分析 9

3.1.2 不完善的电子档案 10

3.1.3 基于区块链的居民档案管理方案可行性分析 10

3.2 原型系统设计目标 10

3.3 原型系统整体设计 11

3.3.1 基于区块链的档案管理系统的业务流程设计 11

3.3.2 原型系统架构设计 12

3.3.3 原型系统功能划分 14

3.4 数据上链验证的设计 14

3.5区块链网络设计 15

3.5.1 账本数据结构设计 15

3.5.2 智能合约设计 15

3.6 业务功能设计 16

第四章 基于fabric居民档案管理应用实现与测试 18

4.1 原型系统架构实现 18

4.2 区块链网络的实现 18

4.2.1 单通道环境实现 18

4.2.2 智能合约实现 19

4.3 系统功能实现 19

4.3.1成员身份管理实现 20

4.3.2业务功能实现 20

第五章 总结与展望 22

第一章 引 言

1.1 档案管理现况

一直以来,我国所采用的档案管理多为纸质档案管理,而随着电子信息技术的飞速发展,已逐渐采用电子档案与纸质档案共同存储管理;电子档案以硬盘以及计算机硬件作为主要的存储媒介,相较于纸质档案不便修改、调取、使用率低等诸多问题有了很大的改善[2],因此越来越多领域以电子档案为主,纸质档案为辅作为档案管理策略。尽管电子档案管理现状盛行,但由于档案涉及敏感,还是应对其进行数据备份,而介于网络安全及计算机设备等自身使用存在隐性的风险和威胁,因此更需要使用传统纸质进行数据备份的工作,纸质档案仍然不可被取代。

但随着网络的发展,电子档案所存在的弊端也在逐渐展现,包括但不限于电子档案的保存问题,归档电子文件的技术问题[3]。加上中国迅速发展的基建水平,高铁的建设极大的便利了国人的出行需求,增加人口流动——从毕业生角度出发,工作地点不再局限于学校所在城市及周边地区,也不再局限于原籍所在地,有了更多的选择;从早已步入社会的工作人士出发,换一份工作也并不是需要在原公司所在城市,可以有更多的选择。这种水平的上升,需求的出现势必对个人档案的调动能力提出了更高的需求。于是区块链的出现,这一互联网进一步发展的技术似是能够满足电子档案对调动能力以及安全性的要求,问题在于要如何设计去实现电子档案这一应用,并能组织社会各部门之间形成共识。

第二章 系统相关技术介绍

2.1 超级账本Fabric概述

众所周知,比特币,以太坊这类的加密货币是区块链的成功实践,随着比特币、以太坊和其他一些衍生技术的普及,越来越多的人想要将区块链基础技术、分布式账本和分布式应用平台用到企业业务中去。但是,许多企业业务对性能要求较高,目前公共非许可(Public Permissionless)区块链技术无法达到;此外,许多业务对参与者的身份要求较为严格,如在金融交易中必须遵循“了解客户(Know-Your-Customer,KYC)”和“反洗钱(Anti-Money Laundering,AML)”的相关法规。

在此背景下一项由Linux基金会主导的超级账本(Hyperledger)项目启动,其开源项目Fabric为大众提供了高度模块化、高性能、可插拔共识协议的区块链框架。Fabric是第一个能使用标准编程语言的区块链技术,这意味着用户可以使用包括但不限于Java、Go、Node语言进行开发应用以及智能合约(Smart Contract),降低学习成本,区块链入门成本,提高应用开发效率,加速企业上链。

链码(Chaincode)

在Fabric框架中,智能合约(Smart Contract)被称为链码,被安装在节点(Peer)上并实例化为一个或多个通道(Channel),由区块链外部网络的客户端应用程序调用,负责交易的业务逻辑,管理对世界状态(World State)中的一组键值对的访问或者修改。

节点(Peer)

节点(Peer)为区块链网络提供一个网络实体,维护账本并允许链码来对账本做读写操作,

在Fabric提供的Peer节点中考虑到实际应用所需要的功能分化出多个节点类型,如图1.1

图1.1节点组织

  • 锚节点(Anchor),为不同组织提供发现其他组织节点的功能,由于锚节点的存在,现在组织可以在网络上发现处于同一通道内的其他组织的节点。
  • 背书节点(Endorse),与具体的链码绑定,各组织对于背书节点的配置需要根据背书策略(Endorse Policy)做出修改,背书为交易的有效性提供签名,未达到链码背书策略所要求的交易则不能提交至排序节点(Orderer),该交易视为无效。
  • 主节点(Leader),连接到排序服务,负责把接收到的批量区块转发给其他节点,因此其与排序服务的连接至关重要,无法分发区块的组织将无法参与任何交易。
  • 提交节点(Commit),将客户端调起的交易请求进行模拟,并交由组织内的背书节点进行背书,待其他组织将交易背书结果返回之后提交交易。

通道(Channel)

通道是基于数据隔离和保密构建的一个私有区块链,这正是Fabric区别于比特币、以太坊等区块链应用的所在,它并非是一个去中心化的应用,而是弱中心化。特定通道的账本在该通道中的所有Peer节点共享,交易方必须通过该通道的正确验证才能与账本进行交互。Fabric作为联盟链框架通过通道隔绝开不受信任的组织,形成一个独立的小型区块链网络。通道由成员(组织)、每个成员的锚点节点、共享账本、链码应用程序和排序服务节点定义。网络中的每个交易都在一个通道上执行,在这个通道上,每一方都必须经过身份认证和授权才能在该通道上进行交易。加入通道的每个Peer节点都有成员服务提供者(MSP)提供的身份,MSP为每个节点授权访问通道中的其他节点和服务。

策略(Policy)

Fabric中将策略作为一组组规则,定义了做出决策和实现特定结果的规则,由策略构建起该网络中的基础设施,表示网络中成员如何同意和拒绝网络、通道或者智能合约的变更。策略在网络最初配置的时候由联盟成员一致同意,但是在网络演化的过程中可以进行修改。简单来说,在区块链网络中所有想做的事情,都受到策略的控制。策略的存在保证了Fabric网络内的成员组织都是基于授权认证的,从底层基础设施进行识别,这也是Fabric区别于其他区块链网络之处。

成员服务提供者(Membership Service Provider,MSP)

由于Fabric是一个认证性的网络,所以区块链参与者需要一种向网络中其他参与者证实自己身份的机制,从而在网络中进行交易。网络中不同的参与者包括Peer节点、排序节点、客户端应用程序、管理员等,每一个参与者都具有封装在X.509数字证书的数字身份[4],这些身份确定了对资源的确切权限以及对参与者在区块链网络中拥有的信息的访问权限。

MSP保管组织的公钥(也称证书、签名)以此来对组织的身份进行验证,确保组织在网络内的有效性,因此每个组织都必须要有一个MSP。

账本

区块链本身就相当于一个账本,通过区块之间的串联形成一系列的交易流水,而在Fabric中的账本则由“世界状态(World State)”和“区块链(Blockchain)”两部分组成,他们彼此不同但又相互关联——世界状态是一个存储键值对的kv数据库,它存储了一组账本状态的当前值,通过世界状态程序可以直接访问一个账本状态的当前值;区块链是交易日志,它记录了促成当前世界状态的所有改变,所有交易状态被收集在附加的区块链的区块中,能帮助我们理解所有促成当前世界状态的改变的历史。数据一旦被写入区块链就无法修改,它是不可篡改的。

图1.2账本结构

排序服务

将交易打包成区块,最后与其他区块相链接是区块链重要的一步,而要将大量交易组成一组链则需要经过一道排序步骤,而这则需要一种被所有用户所认同的排序算法,这就是共识算法。与比特币、以太坊所采用的“工作量证明(PoW)”共识机制采用了不同的工作方式,Fabric通过独立的排序节点(Orderer)使交易有序,并与其他排序节点一起形成一个排序服务。因为Fabric的设计依赖于确定性的共识算法,所以Peer节点所验证的区块都是最终的和正确的。

2.2 Docker概述

Docker是一个开源的应用容器引擎,它可以让开发者打包他们的应用以及依赖到一个轻量级、可移植的容器中,然后发布到任何流式的Linux机器上,docker采用类似苹果(iOS)的沙箱机制,容器之间不会有任何接口。

Docker包含三个基本的概念,镜像(Image),相当于系统Root文件;容器(Container),镜像运行在容器中,是镜像运行的实体,可以被创建、启动、暂停、删除等;仓库(Repository),代码的控制中心,用来保存镜像。

Docker compose是用于定义和运行多容器Docker应用程序的工具,通过对yaml文件的编写来配置应用程序需要的所有服务。有了docker compose我们可以更轻松、高效地管理容器,开发fabric应用时需要使用docker compose创建网络中的orderer节点、peer节点。

第三章 基于fabric居民档案管理应用设计

3.1 需求分析

档案是国家机关、社会组织以及个人从事各种活动所直接形成的对国家和社会具有保存价值的不同形式的历史记录,起着单位工作考察、生产建设参考、科学研究参考、文化传承等多重作用,是具有凭证和参考两个最基本性质的原始存档凭证,在我们的工作生活中具有重要作用。我国印发《全国档案事业发展“十三五”规划纲要》关于档案提出了新要求,加快档案管理信息化进程、强化档案安全保障等。[5]

3.1.1 传统档案管理痛点分析

计算机信息技术发展尤为迅速,同时也给传统档案管理造成了冲击。在现代化档案管理中,信息技术的应用愈加广泛,档案管理工作也进入了新一轮的改革热潮。无纸化办公——在无纸环境中进行工作对传统档案管理造成了强烈的冲击[6]

传统档案管理从高中起建档(部分地区从初中)将会永远伴随个人的成长并记录下人生轨迹,在校期间档案由学校保管,毕业后学校仍可保留档案两年,之后转交到毕业当地人才资源交流中心或者回原籍所在地保管;若毕业生找到工作则交由公司人事保管,这需要提高档案的携带性,纸质档案又必然存在在运输过程中丢失的现象,若档案丢失需要档案个人回到相关单位开证明补齐,在这期间个人相当于处于没有档案证明的状态,造成极大的不便。

从真实性角度考虑,传统纸质档案易伪造,我国虽明确强调伪造档案是违法犯罪,但仍有不少人愿意为了利益铤而走险,因为传统纸质档案的单一性,一旦伪造成功效果将会一直存在。

3.1.2 不完善的电子档案

在众多外力的推动下,国家加快档案信息化进度,出现的电子档案以计算机硬件为存储媒介保存档案信息。电子档案的出现一定程度上缓解了档案保存问题,并且为档案的迁移提供很好的解决方案,但以计算机硬件为媒介也存在许多弊端,仍然面临安全性、真实性的问题,通过电脑技术对档案进行修改以达到伪造的目的,且档案数据在行政上缺乏传统业务审批程序,技术上缺乏数字签名、时间戳等保障手段,客观上存在隐患。

3.1.3 基于区块链的居民档案管理方案可行性分析

与电子档案存储在计算机硬件中不同,由于区块链的特性,数据将存储在网络中并不依赖于单一介质,这将直接解决档案调动问题,不需要从物理层面上的将档案从一个地方转移到另一个地方。但档案在网络中流通也意味着会暴露在互联网中,基于fabric的区块链所采用的网络精准的划分了通道,各方需要持有专属的数字证书才能于该通道进行数据交互。

学校:档案建立,记录通过区块链,将档案串到链上,提高档案建立效率,实时修改查看档案数据;新入学档案由教育局转移至学校,这包括大学以及研究生院、博士院的学籍管理。

教育局:学生离校后若有升学计划,并参与通过相关入学资格审查,档案从毕业院校转移至教育局保管,减少人力档案管理成本,加快档案转移速度,通过对账本档案状态修改,将档案归属修改为教育局。

剩余内容已隐藏,请支付后下载全文,论文总字数:16055字

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图