《区块链技术原理与实践版课件第8章联盟链的应用案例.pptx》由会员分享,可在线阅读,更多相关《区块链技术原理与实践版课件第8章联盟链的应用案例.pptx(69页珍藏版)》请在三一办公上搜索。
1、,联盟链的应用案例,联盟链的应用案例,目录,CONTENTS,01,THE CASE OF CAMPUS CREDIT MANAGEMENT SYSTEM BASED ON WU TONG CHAIN,基于梧桐链的校园征信管理系统案例,02,THE CASE OF GREEN TRAVEL SHARING CAR RENTAL SYSTEM BASED ON WU TONG CHAIN,基于梧桐链的绿色出行共享汽车租赁系统案例,03,THE CASE OF GAME ASSET TRADING SYSTEM BASED ON FABRIC,基于Fabric的游戏资产交易系统案例,目录CONTE
2、NTS01THE CASE OF CAMPUS,引导部分,引导部分,回顾智能合约,区块链2.0为什么有智能合约?智能合约与传统合约的差别是什么?智能合约与单一的计算机自动执行代码差别是什么?智能合约适用于解决哪些问题?,回顾智能合约区块链2.0为什么有智能合约?,智能合约的流程:区块链网络与传统系统之间工作模式,区块链网络向传统系统发出请求,以扩展智能合约的业务逻辑;传统系统将交易事务发给区块链网络;区块链系统通过事件触发传统系统的一系列操作;传统系统通过事件触发区块链系统的一系列操作。,智能合约的流程:区块链网络与传统系统之间工作模式区块链网络向,应用联盟链构造系统的基本流程,分析问题,分析
3、问题,解释利用联盟链构造系统的原因;,设计技术架构,设计应用系统的技术架构;,设计功能,设计应用系统的功能;,设计智能合约,设计区块链系统的智能合约:包括数据结构和智能合约方法,应用联盟链构造系统的基本流程分析问题分析问题,解释利用联盟链,学习目标,知识目标理解智能合约可以解决的问题类型;掌握设计和实施智能合约的方法;掌握智能合约与应用系统的参考集成架构;技能目标智能合约的分析、设计和实施流程学习重点智能合约设计和实施的方法和流程学习难点应用系统与区块链系统之间的工作模式,学习目标知识目标,01,基于梧桐链的校园征信管理系统案例,01基于梧桐链的,校园征信:问题描述,传统校园征信管理系统:耗时
4、/不可维护/易篡改/难于审核,梧桐链:透明/多方共享/易追溯,根据自己所拥有的系统奖励积分正向激励自己多多参与第二课堂活动,直观而权威,学生,记录下学生真实的课外活动情况,掌握可信的学生数据,便于为企业等其他用人机构提供学生简历的真实性审核,学校,校园征信:问题描述传统校园征信管理系统:梧桐链:根据自己所拥,校园征信:管理系统运行流程图,校园征信:管理系统运行流程图,校园征信:平台管理员的角色和职责,平台管理员教务处(信息办)作为校园征信管理系统的管理者,需要统筹管理每个节点的工作职责负责建立区块链网络,运行区块链网络,包括设置成员管理中心,添加管理员节点,添加学生账户及学生部门账户,让各个角
5、色参与到区块链中;可查看所有用户(学生、学生组织)上链的一切信息,其他学生部门及社团中心作为次发行方;制定授予积分规则,设置授予范围,竞赛获奖、志愿服务、社会服务、党组织服务等都纳入考虑范畴,校园征信:平台管理员的角色和职责平台管理员,校园征信:积分发放者的角色和职责,积分发放者:区块链的一个节点不同的部门如校学生会、志愿服务协会,担任审核学生荣誉申请信息及授予学生积分的角色职责例如,校学生会的主要职责如下: 主要提供学生的校内学生工作、竞赛获奖情况(学术、体育等)积分申请及线上/线下审核。根据教务处制定的积分发行规则,比如获得“校三好学生”加10分,或者通过学生志愿活动一次加5分,相关部门在
6、线下实际审核相关证明资料后在线上为这名学生授予积分,动态发行数字积分并记录上区块链 建立本地数据库存储备用信息,以备复查。教务处的备份系统为链上学生信息摘要的备份,不具备每位学生具体信息的备份,校园征信:积分发放者的角色和职责积分发放者:区块链的一个节点,校园征信:积分使用者的角色和功能,积分使用者学生,默认在入学时已被平台管理者(教务处)将个人信息上链。学生在后期并不需要有一个单独的节点。学生只需用学号即可进行登录,初始密码为000000,可自行更改。每位学生都可以登录网络查询区块链上自己的基本信息功能和权利学生可进入教务处主页查看积分规则,并可查看自己的总积分数学生可进入各部门主页线上预提
7、交各类(竞赛、志愿)积分申请,并可查询自己在各部门积分申请情况及进度当正积分累积到一定程度,学生能够通过数字积分线下兑换相应的奖品,或者通过积分等级查看对应奖学金资格,消费时不与人民币等值,校园征信:积分使用者的角色和功能积分使用者,基于梧桐链的校园征信管理系统总体设计,基于梧桐链的校园征信管理系统总体设计,基于梧桐链的校园征信管理系统总体设计,1 系统一中前端向后端服务器发送数据,服务器接收到数据后通过发送 HTTP 请求与区块链服务器交互;2 区块链服务器收到请求后将依据请求的具体内容向区块链系统发送 Proposal,进而 Peer 节点进行内部处理,Proposal 的格式由区块链系统
8、规定。注意:安全性:区块链服务器和区块链系统开放了特定接口供外界调用;智能合约能够在几乎完全隔离、安全的虚拟机环境中运行。,基于梧桐链的校园征信管理系统总体设计1 系统一中前端向后端服,校园征信:区块链服务器处理流程,校园征信:区块链服务器处理流程,校园征信:区块链服务器处理流程,服务器收到 HTTP 请求后,填入参数,调用 Invoke 接口中的 invokeChaincode ( peers, channelName, chaincodeName, fcn, args, req. body. usename, req. body. orgname) 函数后进入区块链系统;通过peers定位
9、节点,在智能合约中,Invoke 函数将通过 fcn 定位到movePoint 函数,将 “ 2014014147”“ 2014014080”“ 100” “234567” 作为参数传入 movePoint 函数;触发执行movePoint 函数,校园征信:区块链服务器处理流程服务器收到 HTTP 请求后,,校园征信:设计智能合约:类与合约,想一想:试试用类图设计合约?需要设计几个合约?合约完成哪些任务?,校园征信:设计智能合约:类与合约想一想:,校园征信:系统账户管理合约,结构体设计,校园征信:系统账户管理合约结构体设计角色权限学生申请与查询管,校园征信:系统账户管理合约类图,校园征信:系统
10、账户管理合约类图,校园征信:积分的发行、流通和消耗,校园征信:积分的发行、流通和消耗,校园征信:校园积分交易合约,校园征信:校园积分交易合约,校园信用:Demo页面展示,校园信用:Demo页面展示,02,基于梧桐链的绿色出行共享汽车租赁系统案例,02基于梧桐链的绿色出行共享汽车租赁系统案例,分析问题:电动汽车分时租赁商业模式的痛点是?,01,车辆运营商具有较强的地城性,获客、运营成本高,02,03,04,车辆运营商之间、充电桩运营商之间各自为政,用户订单、资源和数据割裂,资源不能共享,单一一家运营商车辆往往存在停车难、充电难等问题,租用不同运营商车辆,用户需要装多个APP,重复多次认证,交多次
11、押金,用户在一个APP中只能使用一家的车辆和对应的充电桩,影响用户体验,分析问题:电动汽车分时租赁商业模式的痛点是?01车辆运营商具,区块链技术类型,区块链技术类型公有链联盟链私有链参与者任何人授权的公司,区块链应用:赋能社会治理、实体经济及金融等领域发展,区块链应用:赋能社会治理、实体经济及金融等领域发展,共享汽车租赁系统的优势,01,解决了系统研发过程中涉及的用户跨域认证与交易信息授权追溯问题,02,03,04,打通不同共享汽车运营商、充电桩运营商之间的数据壁垒,实现车辆共享、充电桩共享、用户资源共享、订单共享以及自动结算,用户不仅可以在只交一份押金、只用一个APP的情况下租用全联盟公司所
12、有共享汽车,充电桩也不再是某一公司车辆专用,同时用户私人车辆也可以租用联盟内的所有充电桩,系统的优势,共享汽车租赁系统的优势01解决了系统研发过程中涉及的用户跨域,共享汽车租赁系统功能设计,绿色出行共享汽车租赁系统总体方案,共享汽车租赁系统功能设计绿色出行共享汽车租赁系统总体方案,共享汽车租赁系统:平台角色,共享汽车租赁系统:平台角色角色操作消费者查看可租用的车辆、充,共享汽车租赁系统:总体设计,共享汽车租赁系统:总体设计,共享汽车租赁系统:权限管理,联盟链特点:没有数字资产,不需要挖矿通过严格的身份认证以及线下的法律条款约束各方的诚信行为对平台的参与成员进行身份认证和操作权限的管理CA服务器
13、管理证书的发行和销毁如何应对安全问题?如何实现灵活的权限管理?节点使用数字证书进行验证和加解密,遵循MSP机制,防止出现节点证书重复利用、节点重复登录、节点退出等事件引起的安全问题,共享汽车租赁系统:权限管理联盟链特点:没有数字资产,不需要挖,共享汽车租赁系统技术模块:SDK和非验证节点,SDK:提供区块信息写入、查询、读取等操作,支持相对复杂的查询条件,降低接入梧桐链的难度;提供HTTP Restful的应用网关,使得应用系统的接入更加简单灵活,兼容性更好;非验证节点区块链服务接口:为前端业务系统直接提供数据响应服务,并通过SDK调用区块链写入、查询、读取链上数据;数据格式转换、提供查询数据
14、索引、提供区块链事件通知、部分文件存储、提供部分隐私加密运算以及部分业务逻辑运算等;用户跨域认证机制等很多操作都是ServerA(非验证节点)进行的;非验证节点向客户交互平台提供区块链服务接口以及数据响应服务;非验证节点还可以备份链上数据,存入自有的数据库中,为了提高查询速率、实现复杂条件查询以及备份数据。,共享汽车租赁系统技术模块:SDK和非验证节点SDK:,共享汽车租赁系统:应用层:用户交互平台,用户交互平台则指为用户个人、公司用户等提供访问视图,如 PC 端Web 网页、移动端 APP 等,支持个人用户登录查看车辆发起租车订单进行支付结算,支持公司用户登录管理查看车辆(充电桩)增加认证车
15、辆(充电桩),共享汽车租赁系统:应用层:用户交互平台用户交互平台则指为用户,共享汽车租赁系统:梧桐链应用开发模型,部署配置区块链底层部署公司节点、CA节点、SDK 服务设计、开发和测试智能合约,共享汽车租赁系统:梧桐链应用开发模型部署配置区块链底层,共享汽车租赁系统:智能合约设计,思考:哪些信息需要上链?,共享汽车租赁系统:智能合约设计思考:哪些信息需要上链?,共享汽车租赁系统:智能合约设计的基本思路,用户信息上链:共享用户资源,通过跨域认证实现多家公司的车辆租用; 车辆信息上链:共享车辆,看到多家公司可租用的车辆;充电桩上链:共享充电桩,扩大充电桩覆盖范围;租车订单信息上链与收益结算:合理、
16、公开、透明结算收益。,共享汽车租赁系统:智能合约设计的基本思路用户信息上链:共享用,共享汽车租赁系统之智能合约设计:用户信息上链,共享汽车租赁系统之智能合约设计:用户信息上链字段名字段类型字,共享汽车租赁系统之智能合约设计:用户信息合约,共享汽车租赁系统之智能合约设计:用户信息合约方法名执行方法发,共享汽车租赁系统之智能合约设计:车辆信息上链,共享汽车租赁系统之智能合约设计:车辆信息上链字段名字段类型字,共享汽车租赁系统之智能合约设计:车辆信息合约,共享汽车租赁系统之智能合约设计:车辆信息合约方法名执行方法发,共享汽车租赁系统之智能合约设计:充电桩上链,共享汽车租赁系统之智能合约设计:充电桩上
17、链字段名字段类型字段,共享汽车租赁系统之智能合约设计:充电桩合约,共享汽车租赁系统之智能合约设计:充电桩合约方法名执行方法发起,共享汽车租赁系统之智能合约设计:租车订单信息,共享汽车租赁系统之智能合约设计:租车订单信息字段名字段类型字,共享汽车租赁系统之智能合约设计:订单信息变化,1.用户发起租车订单:非验证服务器将用户发来的用户ID使用用户所属域的公钥加密,将加密后的用户信息及所属公司、用户所租用的车辆ID及所属公司等信息发送至联盟链系统,调用发起用户租车订单智能合约;2.用户开始用车:用户发送开启车门请求,联盟链系统记录订单开始时间;3.用户结束用车:用户客户端服务器发送结束时间、车辆所停
18、充电桩等信息至联盟链系统,调用订单结算智能合约,计算用户整个租车过程所需要支付的车费,并记录联盟链系统中最终支付订单费用的公司;当用户通过第三方支付将费用支付给用户所使用APP所属公司时,该公司节点会发起订单最终结算,调用订单最终结算智能合约,智能合约会根据商业联盟约定好的收益分配策路,从订单结算时划款账户中扣除订单费用,分配收益:根据约定比例,将订单收益分别支付给用户注册域公司、车辆所属公司、充电桩所属公司以及用户所使用APP所属公司。,共享汽车租赁系统之智能合约设计:订单信息变化1.用户发起租车,共享汽车租赁系统之智能合约设计:订单信息变化,共享汽车租赁系统之智能合约设计:订单信息变化,共
19、享汽车租赁系统之智能合约设计:订单合约,共享汽车租赁系统之智能合约设计:订单合约方法名执行方法发起人,03,基于Fabric的游戏资产交易系统案例,03基于Fabric的游戏资产交易系统案例,区块链应用:赋能社会治理、实体经济及金融等领域发展,区块链应用:赋能社会治理、实体经济及金融等领域发展,基于Fabric的游戏资产交易系统案例,传统的游戏交易平台,基于区块链的游戏交易平台,存在交易风险无法摆脱交易过程中的信任问题,区块链为游戏资产提供了更加安全的交易环境,同时赋予了游戏资产投资甚至是收藏价值,本案例提出基于Hyperledger Fabric技术的游戏资产交易系统该系统提供了账号管理功能
20、,道具的生成、发行、获取、转让功能以及道具的市场买卖功能通过调用部署在Hyperledger Fabric中的智能合约,为相关的前后端提供接口智能合约的具体作用是?,基于Fabric的游戏资产交易系统案例传统的游戏交易平台基于,智能合约的流程:区块链网络与传统系统之间工作模式,区块链网络向传统系统发出请求,以扩展智能合约的业务逻辑;传统系统将交易事务发给区块链网络;区块链系统通过事件触发传统系统的一系列操作;传统系统通过事件触发区块链系统的一系列操作。,智能合约的流程:区块链网络与传统系统之间工作模式区块链网络向,回忆Fabric:链码的操作流程,回忆Fabric:链码的操作流程,游戏资产交易
21、系统:功能设计,道具的生成由游戏公司完成,道具的生成,道具生成之后,每一个道具都拥有唯一的ID,但此时道具的初始状态是无法获得的。游戏公司将这些道具发行之后 ,用户方可通过购买、开箱或者触发一些特定的条件获得。首次道具所有人的确权由游戏公司进行,并需要对该ID对应游戏资产的属性进行详细描述。之后所有权的转移,游戏公司无法参与。在用户购买前,公司必须将发售ID的信息公布,防止公司私下申请相同批次ID,道具的发行与初次确权,道具归属的游戏公司可以查看当前游戏中的所有道具的所有信息 ,游戏用户可以查看属于自己的道具的信息。系统也对外提供了查询接口,任何人都可以查询某一道具ID的相关信息,道具的查询,
22、道具的转让存在两种形式:道具赠送与道具交易道具赠送:用户可以将道具赠送给游戏内其他玩家。该过程在游戏内部完成,用户将道具转赠,游戏服务器记录道具所有人变化的信息道具交易:玩家之间的道具买卖发生在交易平台中,交易平台为系统所提供,道具的转让,游戏资产交易系统:功能设计道具的生成由游戏公司完成道具的生成,游戏资产交易系统:流程图,游戏资产交易系统:流程图,游戏资产交易系统:总体设计,游戏资产交易系统:总体设计,游戏资产交易系统:组成部分,交易平台由第三方建设运营,主要作用有:搭建基础通信架构,实现成员之间的连接和通信;成员认证和接入管理;维护公共记录块链,实现对游戏资产的索引记录、交易记录;制定游
23、戏资产规范和交易规则,维持交易秩序;协助交易方完成游戏道具的追溯维权;,交易平台,游戏资产交易的主体。其主要作用包括:监督公共区的区块链记录的正确性;维护自己的游戏资产,能够发起查询,用户,游戏公司与区块链系统对接。其主要作用包括:生成并发售游戏道具;确认游戏资产交易过程中所有人的变更;提供对外的查询服务;负责区块链节点的维护、交易的发起,游戏公司,该部分基于超级账本Fabric v1. 0,记录游戏资产及其变更历史,对上提供接口供调用查询。游戏公司可以对区块链系统进行写入和查询操作,交易平台和游戏用户可以对区块链系统进行查询操作,区块链系统及浏览器,游戏资产交易系统:组成部分交易平台由第三方
24、建设运营,主要作用,游戏资产交易系统之智能合约设计:游戏资产,游戏资产交易系统之智能合约设计:游戏资产变量名变量类型必输/,游戏资产交易系统之智能合约设计:用户管理,游戏资产交易系统之智能合约设计:用户管理变量名变量类型必输/,游戏资产交易系统之智能合约设计:用户管理,游戏资产交易系统之智能合约设计:用户管理变量名变量类型必输/,游戏资产交易系统之智能合约设计:游戏资产合约,游戏资产交易系统之智能合约设计:游戏资产合约,游戏资产交易系统之智能合约设计:用户信息合约,游戏资产交易系统之智能合约设计:用户信息合约,07,课程总结,07课程总结,应用联盟链构造系统的基本流程,分析问题,分析问题,解释
25、利用联盟链构造系统的原因;,设计技术架构,设计应用系统的技术架构;,设计功能,设计应用系统的功能;,设计智能合约,设计区块链系统的智能合约:包括数据结构和智能合约方法,应用联盟链构造系统的基本流程分析问题分析问题,解释利用联盟链,课程总结,联盟链适用于解决怎样的问题? 设计和实施智能合约的方法; 智能合约与应用系统的参考集成架构; 应用系统与区块链系统之间的工作模式。,课程总结联盟链适用于解决怎样的问题?,快速复习,如无题目,可暂时留白,判断题:例如:选择题:智能合约相关的问题联盟链相关的问题,快速复习如无题目,可暂时留白判断题:,参考资料,参考资料,参考资料,文章:基于区块链的游戏资产交易系统http:/ to model smart contracts within software projectshttps:/blog.fundrequest.io/how-to-model-smart-contracts-within-software-projects-ef1e298b21e6视频:Hyperledger Fabric 超级账本实战项目https:/,参考资料文章:,09,课后习题,09课后习题,课后习题,应用智能合约哪些系统总结分析、设计和实施智能合约的基本流程,课后习题,