下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
征信评估模型的区块链框架设计综述本征信评估模型采用的联盟链架构,基于HyperledgerFabric开源框架进行相关技术设计,采用的是区块链模型的基本架构,包括P2P网络、消息传播机制、区块数据结构等。通过设置联盟链上不同身份的参与者对数据的访问控制,来提高数据传送过程中的安全性和有效性。不仅保证数据的可追溯性,而且还可以保护征信用户的隐私和征信机构的利益。1.1区块链征信节点设计在本征信评估模型中,主要设置两类角色,一类是数据提供者,一类是数据需求者。数据提供者包括征信机构和需要进行征信评级的电网物资供应链类企业,数据需求者是电网企业。在该区块链架构中,数据提供者与数据需求者两类角色对应着两种不同的节点。数据提供者节点负责搜集电网物资供应链类企业的信用评价指标类数据与相应的信用评级,同时,也会对此类数据按照一定的格式进行数据预处理,并将这些处理后的信用数据上链。数据提供者只能完成数据的上传,不能对数据进行更改和下载处理。数据需求者节点从区块链上获取数据,对模型进行训练,最终获得能根据信用指标准确划分企业信用等级的模型。数据需求者只能进行数据的查询和下载,不能完成数据的上传服务。在区块链征信节点设计完成后,Fabric会利用自带的证书组件为征信节点生成CA证书和msp身份信息文件,为Fabric节点提供身份配置服务。1.2区块链智能合约设计在超级账本HyperledgerFabric中,区块链智能合约也被叫做链上代码,简称链码。链码被部署在HyperledgerFabric的区块链节点中,可以在虚拟化的Docker容器中运行工作,通过gRPC协议进行Peer节点的通信工作,并对分布式区块链账本中的数据进行操作。同时,超级账本提供了多种高级程序设计语言的接口,不仅扩大了平台的兼容性,而且增加了区块链的功能和应用。本文设计的征信评估模型以基于HyperledgerFabric开源框架进行区块链设计,智能合约的开发依照Fabric链码的开发原则。创建者使用高级语言编写征信评估智能合约,并由所有联盟链上成员对合约签名。在该基于区块链征信评估系统的设计过程中,基于fabric的区块链框架的智能合约分为两类,一类是系统智能合约,一类是用户智能合约。系统智能合约在Fabric运行的基础,在区块链节点启动之时便需要部署到区块链上,实现进程交互任务。系统链码共有如下五种类型:1.配置系统链码:负责链码,通道的配置管理。2.背书管理系统链码:负责背书(签名)过程,并可以支持对背书策略进行管理。1.生命周期系统链码:负责对用户链码的生命周期进行管理。链码生命周期包括安装、部署、升级、权限管理、获取信息等环节。4.查询系统链码:负责提供区块链账本信息查询功能,如获取区块和交易等信息。5.验证系统链码:交易提交前根据背书策略进行检查REF_Ref72064746\r\h[11]。用户智能合约是使用JAVA,Golang等程序语言编写代码,处理业务逻辑,它的设计一方面要考虑区块链分布式账本的状态,另一方面要考虑实际的业务场景和开发要求。在本文设计的基于区块链的征信评估模型中,主要设计的用户智能合约有数据发布智能合约和数据请求智能合约两类。数据发布智能合约:该智能合约负责将数据提供者拥有的征信数据上传到区块链中。数据发布智能严格要求采集数据的数量以及格式,要求数据提供者对原始数据进行预处理,仅将必要的信息上传到区块链,上链的数据格式id,x1,x2,…,x数据发布智能合约输入:征信数据参数args输出:键值对形式的征信数据//packagemain//导入shim依赖包,使链码与peer节点通信//typeCreditDataCollectionChaincodestruct{}1:functionaddData(args[])2:ifargs.length=26then3:data.ID<-args[0]//征信信息编号,征信数据唯一标识4:data.Info1<-args[1]//Info1到Info24为24个征信评估指标5:data.Info2<-args[2]6:data.Info3<-args[3]…………26:data.Info23<-args[23]27:data.Info24<-args[24]28:data.Info25<-args[25]//该条征信数据对应的信用等级29:CreditData<-json.Marshal(person)//按照json格式存储数据30:PutState(data.ID,CreditData)//以键值对形式写入区块链31:endfunction数据请求智能合约:该智能合约负责从区块链中获征信数据。当数据需求者(电网企业)需要对其物资供应链类企业进行征信评估时,验证该节点权限信息,若权限满足则调用该合约从区块链中获取数据。获取数据的格式与上链数据的格式相同。数据请求智能合约输入:征信数据标识ID输出:征信数据参数args//packagemain//导入shim依赖包,使链码与peer节点通信//typeCreditGetChaincodestruct{}1:functiongetCredit(creditId)2:queryString=fmt.Sprintf("{\"selector\":{\"docType\":\"%s\",\"creditID\":\"%s\"}}",DOC_TYPE,CreditID)//拼接CouchDB所需要的查询字符串(是标准的一个JSON串)3:result,err=getEduByQueryString(stub,queryString)4:iferr!=nilthen5: returnshim.Error("根据证书编号及姓名查询信息时发生错误")6:ifresult==nilthen7: returnshim.Error("根据指定的证书编号及姓名没有查询到相关的信息")8:returnshim.Success(result)9:endfunction数据上传和数据获取的过程均应遵循区块链共识机制,共识完成后,节点操作信息被存储到区块链账本中。1.3区块链数据存储设计区块链账本保存着所有节点的交易记录,具有有序和防篡改的特性。在HyperledgerFabric中,区块链账本由世界状态和区块链两部分组成,区块链中记录的交易记录决定世界状态。图3-1区块链数据存储L表示账本,包括世界状态和区块链。W表示世界状态,以键值对的形式保存一组账本数据的最新值,一般用数据库的形式表示,如CouchDB。B表示区块链,由哈希值链接的N个区块构造而成,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民事诉讼法试卷及答案
- 刑事诉讼题库及解析
- 西点师蛋糕制作试题及解析
- 初级护师基础护理试题及答案
- 客户质量投诉处理工作自查报告
- 绿化工程使用说明书
- 雨课堂学堂在线学堂云《战略管理(北京物资学院)》单元测试考核答案
- 项目节假日人员增配方案
- 2025年湘潭遴选考试(案例分析与对策性论文)全真模拟试题库及答案
- 施工安全抗SARS冠状病毒管理制度
- 质量经理述职报告
- 2024年保密知识学习竞赛考试题库500题(含答案)
- 糖尿病足敷料选择
- 9生活离不开他们(第一课时) 教学设计-四年级下册道德与法治
- 大国三农-辉煌成就版智慧树知到期末考试答案章节答案2024年中国农业大学
- 第19章 40年代戏剧、散文
- 年降雨频率表
- TZSA 198-2023 复合材料板簧技术规范
- 电致变色玻璃项目融资计划书
- 蒸压加气混凝土砌块干燥收缩检测记录11969-2020
- 2023年娄底涟源市文化和旅游系统事业单位招聘笔试题库及答案
评论
0/150
提交评论