掘金圈 小产权房 私有链、联盟链、公有链它们之间有什么不同之处?企业如何选择区块链呢?

私有链、联盟链、公有链它们之间有什么不同之处?企业如何选择区块链呢?

区块链最初是以比特币的形式出现的,公开透明,公平竞争。之后,世界开始探索如何在不同的环境中使用区块链,很多人认为这可能不需要全球参与,也不需要挖掘,我们只需利用区块链的可追踪性,通过更少的节点就可以获得拜占庭将军的容错性,于是私有链诞生了。

但是私有链仍然处于中心地位,而且很难保持去中心化:即一致决策。于是,又产生了一种适合于企业体联盟的联盟链(consortium blockchain)。

公有链

公共链接对世界上的任何一个人开放,对所有人开放,发送,接收,验证交易。区块链中的所有人都可以参与共识过程——共识过程决定哪一个区块可以加入区块链,因此公共链“通常”被认为是完全去中心化的。
特点:不可篡改、匿名公开、低技术门槛、真正去中心化。每一个参与者都能看到所有账户余额及其交易活动。

缺陷:分散化治理依赖于共识决策,如果更新迭代缓慢,自行开发,当前的技术发展框架,初期建设成本高。如果企业直接采用公共链,就会遇到扩张问题,也会出现企业需求得不到满足的问题(通常是在侧链上妥协,但侧链很容易引起怀疑)。

例如:比特币,以太坊。

私有链

私有链表是完全私有化的区块链,指只有一个组织拥有对区块链的写授权。阅读权利或者开放,或者受到某种程度的限制。全网由成员机构共同维护,网络接入通常是通过成员机构的网关来实现的,共识过程由事先选定的节点控制。这种类型的区块链被称为“部分去中心化”。

特征:交易速度快,保护隐私,且费用极低;但仍保留不可篡改性。

不利因素:由于完全中心化的特点,私有链的价格(如果有发行的话)是可操作的,而代码是可修改的,因此集中风险更高。

由于企业对区块链的探索和需求,最近出现了两种类型的区块链的混合,其中一种叫做联盟链,它保留了私有链的隐私,同时保持了多节点共识治理的特征。

联盟链适用于B2B场景,如机构间交易、结算或清算。如在银行间进行支付、结算、清算等系统,可采用联盟链的形式,以各银行的网关为记账节点。

一般来说,外部观察者可以查询,但不可交易,联盟链是指由预选节点控制其协商一致过程的区块链;区块链可能让所有人都能读懂,区块的 Root Hash及其 API (应用程序接口)对外公开,该 API允许外部用于进行有限次数的查询,并获取区块链状态的信息。这类区块链可以看作是“部分去中心化”。

与私链相似,联盟链的开放度和去中心化程度都有一定限度,其阅读、记录的权利由组织决定。和私有链最大的不同之处在于,联盟链是为联盟如行业服务的,而私有链是为企业内部服务的,如企业内部服务。
目前,区块链正从四个方面进行技术优化。

第一,共识算法,正从低频低效转向高频率高效;

第二,治理方式,从链上加工到链下协同;

第三,服务分片,由全体员工向区域通知;

第四,组织结构,由单链到多链的组合;

到底联盟链的优势在什么地方,企业或组织该如何选择适合自身业务模式的区块链开发方式,接下来就是比较了。

公有链和私有链块链有什么共同点?

第一,两者都是分散的“对等”网络,其中“每个参与者”负责维护数字签名交易的共享,并在每个节点上添加一份分类帐,同时通过一种称为共识的协议来保持副本同步。

尽管有些参与者怀有恶意,但这两种情况都能在一定程度上保证帐本的不可修改性。

这就是说,我们在公链、私区块链或其他公共分布式帐本平台(例如去信任、不可篡改、消除中介、提高效率等)下所了解到的特性和内容(例如去信任、不可篡改、消除中介、提高效率等),都是从区块链本身出发的。

然而,这也引出了一个有趣的问题:什么特性可以区分它们呢?

这个问题的答案很简单,主要的区别是谁可以加入网络,执行共识协议,以及维护共享帐目。这种解释在一定程度上是正确的,但是除了需要对区块链进行认证和授权外,还需要理解私有分布式帐簿平台的潜力。

所以,为了区分链的公私属性,简单理解就是内部参与节点和外部观察者的访问权限。但是,这样去区分将产生的问题是,链上的治理与参与者的能见度之间的关系,以及如何制定它将根据采用者的需要进行折衷,这将在本文的后半部分中讨论。

公司需求

本文的后面一段将分析企业应该如何选择适合自己的链种。首先,我们来讨论一下典型的企业客户需求,然后再讨论供应链。

1.机密性(保密)

保密是保证只有参与某项交易的实体才拥有该部分知识和存取的特征。在有潜在竞争对手参与的联盟网络中,必须在伙伴间启用区块链通道,这对联盟的所有成员来说是不可见的。利用密码或零知识证明(zero-knowledge-proof)方案,可使各参与节点之间的数据保密。只要明白在联盟中需要有透明的交易就行了。这一要求很难在很多区块链平台上实现,因为大多数区块链平台都已建立了交易执行架构,其中网络的每个成员都在网络的区块内执行交易来同步其状态。某些私有和许可区块链解决方案(例如 Hyperledger)可以实现保密性,利用不同架构(执行顺序验证)、内部内部本地支持创建私有通道以及共享区块链基础架构。

2.产量(through-put)

产量是衡量一个时间段内进行的交易数量的指标。区块链结构中,是写到区块链的每秒速度。当前运行在关联数据库或分布式数据库上的解决方案,已经能够实现数万个事务(交易)/秒的吞吐量(Visa的 TPS:22000),并且区块链中的更多节点需要同步,这必然会影响效率。但是,一些人可能会认为,假如能够建立信任、不变性等,在性能较低的情况下可以折衷,在这方面,大部分具有私有性质的公有区块链都处于完全不同的状态。私有区块链提供了比大多数公有区块链更高的吞吐量,因为它们的共识设计不需要包含对采矿者的激励(Incentives),而且区块链成员的身份是已知的,因此激励可能会失去信誉,而且私链的可扩展性集中于吞吐量,而非节点数量。

3.最终结果(finality)

对于区块链结构,终局性指的是结构完整的确定性困难,因为一旦所有的块被提交到区块链中,它们就不能被撤消。使用者在进行交易时,希望在交易完成后能够确信交易不会随意改变或取消。

由于用区块链编写的交易是不可撤销的,或者企业提交的交易不会成为孤儿块(orphaned block),最终决定企业必须等待多长时间才能获得保证的结果。

它也是商业考虑的重要标准。和很多业务流程一样,如果区块链网络需要等上一小时才能完成传统业务流程。多数公共区块链采用基于随机算法的节点选择方法来生成新区块,耗费时间和精力。

所以大部分的私有区块链采用基于投票的共识算法。在多数节点投票的情况下,可以最后确定块。对于公链,由于共识对信息交换的要求较高,因此几乎直接限制了终局扩展。对私有区块链来说,这通常不会成为一个大问题,因为参与者的数量比一般的公有链环境要低好几个数量级,并且被部署到 WAN中,它具有低延迟和保证吞吐量。

联盟链简介——以 Hyperledger为例

Hyperledger (超级帐本)是一个开源项目,旨在推动区块链的跨行业应用,由 Linux基金会于2015年12月发起,其成员包括金融、银行业、物联网、供应链、制造业和科技业的领先者。

基本所有领域的世界知名企业或区块链公司都是 Hyperledger成员之一:

-区块链新创: ConsenSys、数字身份、R3、 Onchain

著名技术公司: Cisco、 Fujitsu、 Hitachi、 IBM、 Intel、 NEC、 NTT DATA、 Red Hat、 VMware

· 知名金融企业:ABN AMRO, ANZ Bank, BNY Mellon, CLS Group, ME Group, the Depository Trust & Clearing Corporation  (DTCC)

LinuxFoundation的超级账本项目,想要创造一个软件开发者和企业团体一起合作构建区块链框架的环境。这是一种基础结构,通常使用 Hyperledger的相关项目进行联盟或私有链开发,它们都是非货币的行业级应用。

什么是 HyperLedger Fabric?

2015年, Linux基金会创建了 HyperLedger Fabric,它是一种区块链体系结构(blockchain infrastructure),许可制(Permissioned)。它最初是由 IBM和 Digital Asset向 Hyperledger项目提供的。

Fabric致力于推动跨行业的区块链技术,它不是制定单一的区块链标准,而是鼓励一种合作的方式,即发展块链技术,通过社区开放源码的方式,并逐步引入关键标准。

HyperLedger Fabric是 HyperLedger区块链项目中的一种,和其他的区块链技术一样,它也有一个账户,使用了智能合约,而且是一种参与者可以管理交易的系统。

由于 HyperLedger Fabric组织的成员必须通过注册才能访问,所以这是一条许可联盟链。MSP,也就是成员服务提供商,可以通过 Membership服务提供商注册。

HyperLedger Fabric也提供了一些可插入组件。账户数据可以以多种格式存储,可以转换和输出一致的机制,并支持不同的 MSPs。

HyperLedger Fabric还提供了创建通道(channel)的功能,它允许一组参与者创建单独的、共同维护的交易账户。对一些可能是竞争对手的网络来说,这是一个特别重要的选择,因为它们并不希望自己的每一笔交易都被公开。举例来说,在某些联盟链中,参与者只是希望为某一家公司提供交易信息,而其价格并不希望被其他成员看到。

共享帐本

另一个子系统是 HyperLedger Fabric下面的两个子系统:世界状态(world state)和事务日志(transaction log)。

每位参加者在其所属的 HyperLedger Fabric的网络上都有一份帐本副本。

第一,世界状态(world state)逐渐地描述总帐的状态,即总帐数据库。

全局状态允许程序轻松地获得当前帐本状态的当前值,而无需通过遍历整个事务日志进行计算。缺省情况下,当 Ledger状态表示为Key-Value时, Hyperledger Fabric在这方面提供了一定的灵活性:由于可以创建、更新和删除状态,世界状态可以频繁变化。

第二是区块链,它记录了决定世界状态的所有变化的交易日志。通过将块与块链中的块相连接,可以收集事务,从而了解导致当前世界状态的事务(交易)历史是什么。块链的数据结构与世界的状态有很大的不同,因为它是不能被修改的。这是一个不可变的块序列,每个块包含有序事务的集合。

智能合约

使用 Chaincode编写了 HyperLedger Fabric的智能契约,并在应用进程外部调用该契约,而应用进程需要与帐本进行交互。多数情况下, Chaincode只与总帐的数据库组件进行交互,比如世界状态(查询它),而不与事务日志进行交互。

chaincode可以实现为多种编程语言,目前 chaincode支持使用 GO语言编写, Java和其他语言的支持也将逐渐加入到未来发行版中。

企业对企业(B2B)网络的参与者可能非常敏感,因为这取决于网络需求。对于其它网络,隐私不会成为首要考虑因素。

对 HyperLedgerFabric的支持要求网络在关键运行需求中考虑到隐私(使用通道),并且要求相对开放的网络。

尽管交易可能是由网络中不同的参与者生成的,但必须按交易发生的顺序记录在帐本上。为了达到这个目的,必须建立交易的顺序,而且必须在帐本中建立一种拒绝错误交易(或者恶意交易)的方法。

协商一致机制是计算机科学的一个全面研究领域,目前有许多方法来实现它,每种方法都有不同的优缺点。举例来说, PBFT (拜占庭式容错)可以提供一种机制,让文档拷贝彼此通信,从而维持每一个拷贝的一致性,甚至在“节点腐败”的情况下也是如此。

另一种说法是,在比特币中, PoW (Proof-of-work)是通过一个称为“挖矿”的过程来实现的,在这个过程中,竞争的电脑会竞相解决一个加密难题,这个难题定义了以后所有过程的顺序。

通过 HyperLedger Fabric的设计,网络启动者可以自行选择一种共识机制,这种机制最能代表参与者之间的关系。正如隐私一样,也需要一系列需求,从高度结构化的关系网络到更对等的网络。

就 HyperLedger Fabric共识机制而言,该机制目前包括 SOLO和 Kafka,不久将扩大到 SBFT (拜占庭式容错)。

公司应该选择什么样的链条?

总体而言,通过设定参与者(节点)的加入权限是否需要经过认证(Permissioned)和非许可、开放(Permissionless),可以确定隐私权,链的透明程度,以及加入是否可以公开,这两者之间的区别在于公链和私链。在公链和私链之间,为了满足企业联盟的需要,定义了一个联盟链。

当前常见的构建链式方式有四种,下图以信任是否建立、网络中节点对其自身的信任为横轴,纵轴是结点能否保持匿名度来量化。举例来说,左上边的例子是比特币区块链,右上边的例子是未来以太坊(非许可),左下边的例子是 Hyperledger Fabric,右下边的例子是满足企业需求的私有链(如: JP Morgans的 Quorom),企业可以根据自己的需要选择要向以下四个方向发展:

本文来自网络,不代表掘金圈立场,转载请注明出处:http://www.jjq6.com/qukuai/20210106/221.html

作者: summer

上一篇
下一篇

发表评论

邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

18665872968

在线咨询: QQ交谈

邮箱: 1584605069@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部