区块链学堂——公有链、私有链、联盟链、侧链、互联链

news/2024/5/6 20:15:44

想知道更多区块链技术知识,请百度【链客区块链技术问答社区】
链客,有问必答!!

要设计一个区块链系统架构,首先要针对特定的用户需求和应用场景,选择或者定制最合适的区块链类型。
   区块链严格定义上被划分为3种类型:公有链,私有链、和联盟链,但是在实际应用中单一的某种链常常无法满足用户需求,就出现了多种类型的结合,比如私有链+联盟链、联盟链+公有链等不同组合形式,最后产生了侧链和互联链。掌握了这5种区块链类型的各自特点,是理解和设计区块链网络系统架构的基础和核心,其重要性不言而喻。
一:公有链(Public blockchains)
公有链是对所有人公开,用户不需要注册和授权就能够匿名访问网络和区块,任何人都可以自由加入和退出网络,并参与记账和交易。
公有链是真正完全意义上的去中心化区块链,它通过密码学(非对称加密)算法保证了交易的安全性和不可篡改性,在陌生的网络(非安全)环境中,建立了互信和共识机制。在公有链中共识机制一般是工作量证明(POW)和权益证明(POS)。
公有链因为人人可参与,无需授权的特点又被称为非许可链,即不需要验证身份即可参与一切网络活动。目前比特币、以太坊、超级账本、大多数山寨币以及智能合约都是建立在公有链上,其中公有链的始祖是比特币区块链。
公有链适用于数字货币、电子商务、互联网金融、知识产权等应用场景。
二:联盟链(Consortium blockchains)
联盟链仅限于联盟成员,因其只针对成员开放全部或部分功能,所以联盟链上的读写权限、以及记账规则都按联盟规则来“私人定制”。联盟链上的共识过程由预先选好的节点控制,一般来说,他适用于机构间的交易、结算、或清算等B2B场景。比如人民银行开发一个基于联盟链的结算、清算系统,工建中农等银行作为联盟成员加入这个系统,获得相应的授权,就可以实时进行不同银行之间的实时结算、清算,与现有的中心化系统相比,这样不仅大大提升了结算、清算效率,几乎不需要人工参与,还能大大降低结算、清算成本。联盟链几乎不采用工作量证明共识机制而是采用权益证明或PBTF等共识算法。
联盟链由参与成员机构共同维护,并提供了对参与成员的管理、认证、授权、监控、审计等全套安全管理功能。2015年成立的R3联盟,就是银行业的一个联盟链,目前已加入的成员多达40多个,包括世界著名的银行摩根大通、汇丰、高盛等。
联盟链适用于行业协会、高级别机构组织、大型连锁企业对下属单位和分管机构的交易和监管。
三:私有链(Private blockchain)
私有链对单独的个人或实体开放,仅在私有组织,比如公司内部使用,私有链上的读写权限,参与记账的权限都由私有组织来制定。比如企业内部的办公审批、财务审计;政府行业的预算和执行。私有链的主要价值在于提供安全、可塑源,不可篡改,自动执行,这是传统系统很难同时做到的。
因为私有链加入结点少,所以交易速度快。私有链的交易速度可以比任何其他的区块链都快,甚至接近了并不是一个区块链的常规数据库的速度。而且因为就算少量的节点,也都具有很高的信任度,所以并不需要每个节点来验证一个交易(无需挖矿)。
由于私有链和联盟链都需要授权加入和访问,私有链和联盟链也被称作许可链。
私有链适用于企业、组织内部。
四:侧链(Side Chains)
严格来说侧链不是区块链的一种类型,它只是在现实应用中,开发者对区块链的一种延伸(扩展),而特别取了个绰号。目前,市场上公开的虚拟货币系统,绝大多数都是基于比特币系统进行规则修改或扩展而来,因为比特币的设计规则已十分固定,难以做出较大修改和扩展,于是这些代币系统的开发者门干脆以比特币平台为基础,重构出一条区块链,然后使用新的规则,发布新的虚拟货币,这条重构出来的区块链就被称为侧链。普遍认为能和比特币区块链进行交互,并能与比特币挂钩的区块链就是侧链。


http://www.niftyadmin.cn/n/2008628.html

相关文章

SpringCloudStream 构建消息驱动的微服务框架 集成kafka_http://blog.spring-cloud.io/blog/sc-stream.html

SpringCloudStream 构建消息驱动的微服务框架 2016-09-02/Wang Sihan前言 Spring Cloud Stream,用精简的语言概括,他本质上其实就是让开发人员使用消息中间件变得简单。 他基于Spring Integration并利用Spring Boot提供了自动配置,提供了极为…

JavaScript之变量提升

###场景### 开始读es6的时候,一开始介绍的是let和const指令,文章中就提到一个概念 > 变量提升。原文是这样说的:let不像var那样会发生“变量提升”现象。对我这个菜鸟来说,what?什么是变量提升。经过一番度娘以后&a…

Reddit引入Envoy支持架构改造,性能显著提升

Reddit引入Envoy到其后端框架,作为服务到服务代理以支持其正在进行的架构改进。通过采用Envoy作为服务到服务第4层/第7层代理,他们发现在可观察性、易采用性和性能上有显著的改进。Reddit引入Envoy到其后端框架,作为服务到服务代理以支持其正…

spring事件机制_http://enjiex.iteye.com/blog/1070094

Java提供了事件机制,在使用spring的时候,我们可以把普通的java事件操作定义为bean集成到bean容器中,但还有一种更方便的方式,即使用spring已集成的事件支持。在使用Spring的事件支持时,我们需要关注以下几个对象&#…

解决Spring Cloud中Feign/Ribbon第一次请求失败的方法___http://www.jb51.net/article/106944.htm

这篇文章主要给大家介绍了关于解决Spring Cloud中Feign/Ribbon第一次请求失败的方法,文中给出了三种解决的方法,大家可以根据需要选择对应的方法,需要的朋友们下面来一起看看吧。前言 在Spring Cloud中,Feign和Ribbon在整合了Hyst…

行内元素有哪些?块级元素有哪些? 空(void)元素有那些?

首先:CSS规范规定,每个元素都有display属性,确定该元素的类型,每个元素都有默认的display值,如div的display默认值为“block”,则为“块级”元素;span默认display属性值为“inline”&#xff0c…

windows10安装nodeJs及环境配置

学习于https://www.cnblogs.com/zhouy...

微信nickname乱码(emoji)及mysql编码格式设置(utf8mb4)解决的过程__https://segmentfault.com/a/1190000004594385

自己的练习项目中涉及保存微信的nickname,之前一直正常使用,但是突然遇到一个之前没有遇到的问题。经过调试发现错误如下:Incorrect string value: \xF0\x9F\x99\x88\xF0\x9F... for column nickname at row 1 经过仔细查看发现可以获得nickn…