首页 > 其他分享 >超级账本与区块链应用场景

超级账本与区块链应用场景

时间:2023-04-15 18:33:41浏览次数:40  
标签:场景 Fabric 用户 链码 区块 账本 节点

区块链3.0

去中心化应用的新需求

区块链技术在行业应用中的条件

行业应用的用户是有一定的范围的,一般限制在一个市场或某一个企业内部。这就要求应用具有身份认证和许可授权的功能。其次,企业往往需要数据在传输过程中不会被窃取。要求应用具有保护交易信息传输的设计。

因此,对于提供给企业使用的行业应用,一般不会采用公共所有类型的区块链网路,而是采用组织私有类型的区块链网络。

区块链3.0架构与超级账本

在超级账本中,区块链技术不再仅限于数据货币或者金融的应用范畴之内,它成为了一种广泛使用的解决方案,支持各个行业的数据定义,如医疗健康、物联网、企业供应链、行政管理等。

超级账本是区块链3.0时代的代表作品。

除了身份认证、许可授权、数据保护,支持定制化的组织私有区块链网络的创建是区块链3.0架构中的一项新的特性。

区块链3.0架构

区块链3.0架构中增加了一个网关控制,目的是为了增加安全性、如成员注册、身份认证以及授权管理等。

区块链3.0架构的区块链将核心节点中一直沿用的共识协议改为了可插拔共识协议(共识机制可使用也可以不使用)。

超级账本与区块链应用场景_区块链

超级账本(Hyperledger Fabric)

超级账本利用区块链技术,实现的是一种公开、透明且去中心化的企业级分布式账本

由于是面向企业的服务项目,因此在区块链类型上等公有链系统有很大的区别。

超级账本中的项目是独立的框架,设计者可以将一些企业需要实现的功能都封装在一起,作为一个框架提供给用户。

超级账本继续提供对智能合约(在超级账本中叫“链码”)的支持,增加了完备的身份认证和权限管理以及可插拔的共识协议、整体的框架化。

超级账本也是开源项目(Apache v2许可协议)。

超级账本的项目

  • Fabric项目:最早被提交的子项目,关注度最高的项目。
  • Sawtooth项目:全新的基于硬件芯片的共识机制Proof of Elapsed Time (PoET)
  • lrohai项目:更好的支持移动应用开发
  • Blockchain Explorer项目:浏览器工具 Cello项目:实现区块链即服务(Blockchain as a Service,BaaS)

Fabric

Fabric的典型运行模型

用户通过客户端参与到区块链网络中(客户端不是一个节点,它是用于支持用户与节点组件交互的工具,客户端有很多功能,比如网络的配置更新、启动、停止,操作链码等。目前Fabric主要提供了基于命令行的客户端。)

用户在参与到Fabric区块链网络之前,要先像CA节点登记注册,从CA节点那里取得合法的数字身份证书(注意:CA节点只负责数字身份证书的签发,个参与交易)。

用户客服端拿到数字身份证书后, 客户端会自动为用户进行数字身份书的部署,随后可访问Fabric网络中的对应资源。

在Fabric中完成一次交易的整体步骤

在正式的交易被执行前,用户客户端要将交易的提案( Proposal)提交给背书者 (Endorser)进行背书。

背书者对交易的合法性或者对交易发出者的身份合法性进行检查。背书策略会规定需要得到背书节点的数量要求。

在得到背书后,还要经历一个全局排序(Order)过程。

排序服务是由排序者(Orderer)节点提供的,是对一段时间内产生于同一通道的一批交易按照交易发生的顺序排列好并组织成区块。排序的作用就是是网络内的节点达成交易顺序的共识(排序者不能参与到交易中来、也不能进行背书)

排序者将新的区块发布出来后,还要经过一个确认的过程,有确认者(Committer)节点执行。

确认者节点在经过一定的时间间隔后,就会从排序者节点那里获取新的区块数据,并对区块中的交易数据结构、签名完整性、以及交易是否重复等必要信息进行检查,通过检查后,区块会被保存到自身所备份的区块链账本上。

超级账本与区块链应用场景_数据_02

Fabric的节点

节点有三种: CA节点Orderer节点Peer节点

3类节点被封装在独立的组件中,分别是fabric-ca组件,fabric-orderer组件和fabric- peer组件。

Peer节点的工作主要围绕区块链账本展开。数量最多的就是Peer节点,Peer节点都能 实现验证者Committer的功能,但只有一部分Peer节点具有背书者Endorser的功能

Orderer节点主要与区块链的共识有关,Orderer不会参与到交易中来。

CA节点只对Fabric网络中的成员身份进行管理,CA节点的数量是相对比较少的,同样不会参与到交易中来。

链码(Chaincode)

Fabric中的链码分为用户应用链码和系统链码。

  • 用户应用链码由应用开发人员编写,在节点上的隔离沙盒(Docker容器) 中运行,提供对上层应用的支持。
  • 系统链码是已经编写好的,并且嵌入在Fabric的内容,负责Fabric节点自身的处理逻辑,应用开发人员一般不必对系统链码进行修改。

目前最流行的是采用Go语言编写用户应用链码。

数字身份证书

Fabric 使用的是椭圆曲线数字签名(ECDSA)算法来生成公钥和私钥。如果公钥的分发过程中被截获甚至篡改,那么安全性将不复存在。

因此,Fabric使用数字身份证书来解决公钥在传输过程中存在的不安全问题。数字身份证书可以用来证明某个公钥就是属于某位用户,一旦公钥发生了改变,数字证书的证明作用也就消失了。借用数字证书的这种机制,公钥的安全分发有了很好的保障。

数字证书也有很多类别,例如,加密数字证书实现了对含有加密信息的公钥的保护,签名验证数字证书则有效地保护了用于进行解密签名和身份验证的公钥。

数字证书和签发和管理均由CA节点完成,证书的格式基于X.509的标准规范。

组织

一些拥有共同根证书或者证书来源于同一个中间CA的成员可以理解为处于同一个Fabric的组织(organization)中。

拥有共同信任根的好处就是成员之间的相互信任度比较高,一些除了私钥之外的敏感数据可直接相互交换。

通道

通道是Fabric为了方便多个组织或成员之间进行交易或数据交换而专门设计的,允许加入通道内的成员或组织进行彼此间的交易或数据交换。

通道外的用户无法访问通道内的交易信息,保证了隐私性。

通道分为应用通道(Application Channel)和系统通道 (System Channel)

通道的创建和管理都是由排序者节点Orderer负责。

区块链技术的典型应用场景

区块链技术优势

  • 首先,不引入第三方中介服务机构,较好的实现了去中心化。
  • 其次,账本数据分散保存在各个节点,账本数据很难被篡改。
  • 还有,合理采用公钥加密和哈希加密,保护用户隐私。
  • 最后,允许分布式网络中有部分节点出错,有较好的分布式容错性

区块链技术实现版权登记

版权需要确权,只有经过权威机构等级确定过的版权才算是合法的版权。

区块链将作品同作者的签名一同打包为区块并保存在本地区块链中,然后广播给和版权相关的单位进行保存。

使用区块链技术实现版权登记主要利用了区块链技术的数据无法篡改性,从经济角度来看,版权登记需要用到的成本也更加低廉。

目前,一些社区平台正在尝试利用区块链技术实现版权登记。例如,UC头条就对一些原创的头条通过区块链技术进行版权认证,此外,CSDN和简书也正在尝试对平台部分的原创帖子进行基于区块链技术的版权登记认证。

广告传媒的去中心化

可以将一个阅读者节点阅读、点赞、和分享一条信息的行为看作;

这个行为会被广播,很快就能被与他具有最近连接关系的节点接收到;

这些节点再次阅读、点赞、和分享这条信息。

超级账本与区块链应用场景_区块链技术_03

矿工费是媒体在发布消息的时候填写在里面,随着这条信息的不断被“挖”,信息包含的矿工费值也逐渐下降。(矿工费可以是某些app的金币等等)。

使用区块链技术实现去中心化的广告传媒,其中的媒体就好像是在用户发起一则交易一样,可以选择放入一定的交易费,一条信息的发送就是一则交易的创建。

只不过,在广告传媒的场景下,矿工的数量可能很多而媒体的数量相对较少。

媒体投放的广告费被更有效地利用,激发用户阅读、观看兴趣。

标签:场景,Fabric,用户,链码,区块,账本,节点
From: https://blog.51cto.com/u_15736437/6192408

相关文章

  • 【触想智能】安卓工控机具备的优势与应用场景分析
    安卓工控机是一款搭载安卓系统的工业控制计算机,具备一般计算机特性,它的作用和一般计算机类似,但是安卓工控机在工业环境中使用,对使用环境要求是比较高的。 一、安卓工控机相对于一般的计算机(常见的商业电脑),它具备以下优势。1、平稳性:安卓工控机具备有RS232......
  • vue项目在打包时Some chunks are larger than 500 kBs after minification(一些区块在
    https://blog.csdn.net/qq_45284938/article/details/129707796 加上适应的配置项  根目录上vite.config.ts 文件 outDir:BUILD_DIR,//指定打包文件的输出目录emptyOutDir:true,//打包时先清空上一次构建生成的目录 build:{outDir:BUILD_DIR,......
  • Three.js教程:3D场景中插入新的几何体
    推荐:将NSDT场景编辑器加入你3D工具链其他工具系列:NSDT简石数字孪生3D场景中插入新的几何体前面课程绘制了一个立方体效果,下面通过three.js的球体构造函数SphereGeometry()在三维场景中添加一个球几何体。SphereGeometry构造函数SphereGeometry(radius,widthSegments,height......
  • 区块链学习(10)-事件
    一、在Solidity中,emit关键字用于触发事件(Event)。事件是智能合约与区块链外部环境(如前端应用或者监控系统)进行通信的一种方式。当某些条件满足或某些操作发生时,智能合约可以通过触发事件通知外部环境。事件会将相关数据记录在交易的日志中,外部监听器可以订阅并解析这些日志,以便在事......
  • Spring很常用的@Conditional注解的使用场景和源码解析
    你好,我是刘牌!介绍今天要分享的是Spring的注解@Conditional,@Conditional是一个条件注解,它的作用是判断Bean是否满足条件,如果满足条件,则将Bean注册进IOC中,如果不满足条件,则不进行注册,这个注解在SpringBoot中衍生出很多注解,比如@ConditionalOnProperty,@ConditionalOnBean,@Conditi......
  • 云计算技术的新趋势:混合云架构的优势与应用场景
    云计算技术的不断发展,混合云架构成为了新的趋势。混合云架构可以将公有云和私有云结合使用,从而提高企业的灵活性、安全性和成本效益。本文将详细介绍混合云架构的优势和应用场景,帮助读者更好地了解混合云架构的重要性和前景。一、混合云架构的定义和优势混合云架构是指企业在使用......
  • Three.js教程:鼠标操作三维场景
    推荐:将NSDT场景编辑器加入你3D工具链其他工具系列:NSDT简石数字孪生为了使用鼠标操作三维场景,可以借助three.js众多控件之一OrbitControls.js,可以在下载的three.js-master文件中找到(three.js-master\examples\js\controls)。然后和引入three.js文件一样在html文件中引入控件Orb......
  • Midjourney魔法解锁:打造电商AI模特,实现无限场景换装
    在网上看到过下图这样一篇《模特不存在了》的帖子:是一个卖内衣的店主,通过Midjourney把石膏模特身上的衣服,穿到了AI生成的模特身上。网上看到的把石膏模特的内衣穿在了AI模特身上可以看到这张图片上左侧的衣服,几乎无差别的穿到了AI模特的身上。但这个帖子没有公布方法和技巧,那......
  • 6.case语句之场景示例:Rsync启动脚本
    1.编写一个rsync的启动停止脚本   实现:startstopstatusrestart   1.如何启动rsync        /usr/bin/rsync--daemon   2.如何停止rsync    pkillrsync #注意:千万不要使用rsync作为脚本的名字   3.参考系统中其他的服务的......
  • MATLAB代码:基于改进K-means算法的含电动汽车负荷源荷场景聚类
    MATLAB代码:基于改进K-means算法的含电动汽车负荷源荷场景聚类关键词:有序聚类 改进k-means聚类电动汽车负荷聚类风光场景聚类 仿真平台:MATLAB主要内容:代码主要做的是基于改进k-means算法的场景生成,具体为含有电动汽车负荷的场景聚类问题,其中,光电和电负荷用有序聚类方法,风......