fabric和以太坊
『壹』 三大主流企业级区块链对比
企业级区块链技术如以太坊的Quorum、Hyperledger Fabric和Corda,在数据隐私性、技术正当性、可伸缩性、最终一致性及互操作性上各有特点。
在数据隐私性上,Quorum采用分区的公共和私有数据模型,但存在数据泄露风险,且依赖于zk-SNARKS,可能不适用于需要量子计算保护的机构。Hyperledger Fabric的通道机制保护隐私,但维护复杂且成本高。Corda点对点模型仅暴露必要的信息,但篡改风险较大。
技术正当性方面,Quorum基于Solidity,虽有共享技能优势,但安全性问题不容忽视。Hyperledger Fabric支持多种编程语言,包括以太坊,但存在通道间互操作性问题。Corda依赖成熟技术,智能合约通过Corda流引擎,法律与代码结合。
在可伸缩性上,Quorum和Hyperledger Fabric分别达到100-200TPS和2000-20000TPS,Corda通过多线程提升至6300TPS。然而,Quorum和Hyperledger Fabric的性能受设计因素影响。
对于最终一致性,PoW共识不适合企业,而Quorum、Fabric和Corda都实现了这一目标。但跨链互操作性目前尚不成熟,Quorum、Fabric和Corda在同质链内的互操作性各有特点。
综上所述,企业在选择企业区块链时,需根据自身需求权衡各平台的优缺点,确保其与业务的契合度。
『贰』 探寻 hyperledger fabric 之介绍
Hyperledger Fabric 是一个针对企业级应用设计的开源分布式账本技术(DLT)平台,它以模块化和可配置的架构在企业环境中表现出色,适用于金融、保险、医疗保健、人力资源、供应链、数字音乐交付等场景。Hyperledger Fabric 最大的区别在于它构建在一种“可准入”的信任环境,允许经过审核的节点加入网络,这种机制确保了节点之间的相互认识,而非公链上节点间的完全不信任状态。联盟链的这种设计牺牲了一定程度的去中心化,以换取更高的安全性和性能,更适合于企业级的协作和竞争环境。Hyperledger Fabric 与区块链的不可能三角(去中心化、安全、性能)观点相符,即提升其中两个要素的性能,通常会导致另一个要素的减弱,而联盟链正是通过牺牲去中心化程度来强化安全性和性能。
Hyperledger Fabric 的智能合约功能支持主流编程语言如 Go、Java、Node.js,无需使用特定的区块链编程语言,例如 Solidity 或 Move。同时,Fabric 还支持可插拔的共识协议,这使得其架构可以根据业务场景灵活选择适合的共识机制。Hyperledger Fabric 由多个关键模块组成,包括许可和免许可区块链、智能合约、交易架构以及隐私保护机制。
许可区块链,或联盟链,是一种网络节点经过审查的区块链网络,相比免许可区块链,其信任程度更高,但仍然存在一定的安全性问题。智能合约在 Hyperledger Fabric 中被称为“链码”,用于实现业务逻辑。Hyperledger Fabric 的交易架构采用执行-排序-验证(execute-order-validate)模型,区别于传统区块链的订单执行架构,提高了效率并降低了负担。每一个智能合约都有一个 Endorsement policies,规定了通道内哪些节点必须执行智能合约并为其背书,以确保交易的合法性。
为解决数据隐私问题,Hyperledger Fabric 通过通道架构和私有数据机制提供隐私保护。在商业环境中,保护数据的私密性至关重要,Hyperledger Fabric 的设计允许在不同企业之间共享数据,同时保持数据的隐私和安全。
Hyperledger Fabric 的性能指标在企业级应用中表现出色,目前能达到 20,000 tps 的吞吐量,显著高于以太坊的 15 tps。总体而言,Hyperledger Fabric 通过其模块化架构、智能合约支持、交易架构优化和隐私保护机制,在企业级应用中提供了一种高效、安全、灵活的分布式账本解决方案。
『叁』 区块链底层技术PK
常见的区块链底层技术:Ethereum(以太坊),EOS,Fabirc,Fisco Bcos,CITA
平台简介
1.Ethereum
以太坊( Ethereum )是由Vitalik Buterin和Gavin Wood领导开发的支持智能合约的 去中心化应用 平台。以太坊提供图灵完备的脚本语言,极大拓展了区块链技术的应用。项目于2013年末发布 白皮书 启动,2015年7月产生创世区块。近期即将进行扩容升级。
2.EOS
EOS 是由BM(Daniel Larimer)领导开发的区块链应用平台,已于2018年6月正式上线。其slogan是“去中心化一切”,旨在为区块链提供更高的性能。
3.Fabric
Fabric是由开源超级账本( Hyper ledger)区块链联盟发布的可用于构建应用的产品级解决方案,并且已有上百个概念证明项目会进行过构建。于2017年7月发布正式版。
4.CITA
CITA是由EEA(企业以太坊联盟)创始成员之一的 Crypt ape秘猿科技自主研发的企业级区块链产品原型。CITA以高可靠性、高性能、高扩展性以及未来适应性为设计目标,于2017年7月发布开源版本。
5.BCOS
BCOS是微众银行、万向区块链、矩阵元联合创建的企业级应用服务的区块链技术平台,为分布式商业提供完备的区块链技术基础设施及服务。2017年7月BCOS第一阶段正式开源。
* Fabric在隐私保护方面做得最出色,有CA机制
国际难题: 跨链技术
为了解决传统互联网世界的信息孤岛问题,区块链使用去中心化网络的结构,试图实现信息共享来解决数据孤岛的问题。然而,众多区块链应用的出现,区块链的链与链之间并不互通,使区块链也面临这一种“孤链”的窘境。不符合区块链的初衷。
如何根据业务功能、隐私保护、数据隔离、性能容量扩展的需求等,在同一个区块链平台实施多链共存。如何在身份准入机制、信息标准、业务形态都不一致的区块链平台之间实施信息和业务交互。有望将成为开发的重要方向。
转自【链世界】: https://www.7234.cn/news/2316
『肆』 各区块链架构的横向比较
各区块链架构的横向比较
时常听人们谈起区块链,从 2009 年比特币诞生至今,各式各样的区块链系统或基于区块链的应用不断被开发出来,并被应用到大量的场景中,而区块链技术本身也在不停地变化和改进。
区块链又被称为分布式账本,与之对应的则是中心化账本,比如银行。与中心化账本不同的是,分布式账本依靠的是将账本数据冗余存储在所有参与节点中,来保证账本的安全性。简单地说,区块链会用到三种底层技术:点对点网络技术、密码学技术和分布式一致性算法。而通常,区块链系统还会“免费附赠”一种被称为智能合约的功能。智能合约虽然不是区块链系统的必要组成部分,但由于区块链天生所具备的去中心化特点,使它可以很好地为智能合约提供可信的计算环境。
为了适应不同场景的需求,区块链系统在实际应用的过程中往往会需要进行各种改造,以满足特定业务的要求,比如身份认证、共识机制、密钥管理、交易频次、响应时间、隐私保护、监管要求等。而实际应用区块链系统的公司往往没有进行这种改造的能力,于是市场上慢慢出现了一些用于定制专用区块链系统的框架,采用这些框架就可以很方便地定制出适用于企业自身业务的区块链系统。
本文将对目前市场上几个典型的区块链框架进行横向对比,看看它们都有哪些特点,以及它们之间到底有哪些区别。为了保持对比的公正性,本文将只针对开源的区块链框架进行讨论。
各区块链架构的简单介绍
1、比特币
比特币(bitcoin)源自一名叫做中本聪(Satoshi Nakamoto)的人在 2008 年发表的一篇名为《比特币:一种点对点的电子现金系统》(Bitcoin: A Peer-to-PeerElectronic Cash System)的论文,文中描述了一种被他称为“比特币”的电子货币及其算法。在之后的几年里,比特币不断成长和成熟,而它的底层技术也逐渐被人们认识并抽象出来,这就是区块链技术。比特币作为区块链的鼻祖,在区块链的大家族中具有举足轻重的地位,基于比特币技术开发出的山寨币(altcoins)的数量有如天上繁星,数不胜数。
从论文中可以得知,中本聪设计比特币的目的,就是希望能够实现一种完全基于点对点网络的电子现金系统,使得在线支付能够直接由一方发起并支付给另外一方,中间不需要通过任何的中介机构。总结来说,他希望比特币的设计能够实现以下这些目标:
● 不需要中央机构就可以发行货币
● 不需要中介机构就可以支付
● 保持使用者的匿名性
● 交易无法被撤销
从电子现金系统的角度来看,以上这些目标在比特币中基本都得到了实现,但是依然有一些技术问题有待解决,比如延展性攻击、区块容量限制、区块分叉、扩展性等。
在应用场景方面,目前大量的数字货币项目都是基于比特币架构来设计的,此外还有一些比较实际的应用案例,比如彩色币、t? 等。
彩色币(coloredcoin),通过仔细跟踪一些特定比特币的来龙去脉,可以将它们与其他的比特币区分开来,这些特定的比特币就叫作彩色币。它们具有一些特殊的属性,从而具有与比特币面值无关的价值,利用彩色币的这种特性,使得开发者可以在比特币网络上创建其它的数字资产。彩色币本身就是比特币,存储和转移不需要第三方,可以利用已经存在的比特币的基础。
t? 是比特币区块链在金融领域的应用,是美国在线零售商 Overstock 推出的基于区块链的私有和公有股权交易平台。
2、以太坊
以太坊(ethereum) 的目标是提供一个带有图灵完备语言的区块链,用这种语言可以创建合约来编写任意状态转换功能,用户只要简单地用几行代码来实现逻辑,就能够创建一个基于区块链的应用程序,并应用于货币以外的场景。
以太坊的设计思想是不直接“支持”任何应用,但图灵完备的编程语言意味着理论上任意的合约逻辑和任何类型的应用都可以被创建出来。总结来说,以太坊在比特币的设计目标之外,还需要实现以下几个目标:
● 图灵完备的合约语言
● 内置的持久化状态存储
目前基于以太坊的合约项目已达到数百个,比较有名的有 Augur、TheDAO、Digix、FirstBlood 等。
Augur 是一个去中心化的预测市场平台,基于以太坊区块链技术。用户可以用数字货币进行预测和下注,依靠群众的智慧来预判事件的发展结果,可以有效地消除对手方风险和服务器的中心化风险。
限于篇幅,基于以太坊智能合约平台的项目就不多介绍了。基于以太坊的代码进行改造的区块链项目也有不少,但几乎都是闭源项目,只能依靠一些公开的特性来推断,所以就不在本文展开讨论了。
3、Fabric
Fabric 是由 IBM 和 DAH 主导开发的一个区块链框架,是超级帐本的项目成员之一。它的功能与以太坊类似,也是一个分布式的智能合约平台。但与以太坊和比特币不同的是,它从一开始就是一个框架,而不是一个公有链,也没有内置的代币(token)。
超级账本(hyperledger)是 Linux 基金会于 2015 年发起的推进区块链技术和标准的开源项目,加入成员包括:荷兰银行(ABN AMRO)、埃森哲(Accenture)等十几个不同利益体,目标是让成员共同合作,共建开放平台,满足来自多个不同行业各种用户案例,并简化业务流程。
作为一个区块链框架,Fabric 采用了松耦合的设计,将共识机制、身份验证等组件模块化,使之在应用过程中可以方便地替换成自定义的模块。除此之外,Fabric 还采用了容器技术,将智能合约代码(chaincode)放在 docker 中运行,从而使得智能合约可以用几乎任意的高级语言来编写。
以下是 Fabric 的一些设计目标:
● 模块化设计,组件可替换
● 运行于 docker 的智能合约
目前已经有不少采用 Fabric 架构进行开发的概念验证(POC)项目在实施过程中,其中不乏一些金融机构做出的尝试,不过由于项目刚刚起步,还没有比较成熟的落地应用。
4、DNA
DNA(Distributed Networks Architecture,分布式网络架构),是由总部位于上海的区块链创业公司“分布科技”开发的区块链架构,可以同时支持公有链、联盟链、私有链等不同应用类型和场景,并快速与业务系统集成。
与以太坊、Fabric不同的是,DNA 在系统底层实现了对多种数字资产的支持,用户可以直接在链上创建自己的资产类型,并用智能合约来控制它的发行逻辑。对于绝大部分的区块链应用场景,数字资产是必不可少的,而为每一种数字资产都开发一套基于智能合约的转账、发行逻辑是非常浪费且低效的。因此,由区块链底层提供直接的数字资产功能是十分必要的。而对于那些完全不需要数字资产的应用场景,同样可以基于 DNA 提供的智能合约架构来编写任意的自定义逻辑来实现。
DNA 的设计目标主要有以下几点:
● 多种数字资产的底层支持
● 图灵完备的智能合约和状态持久化
● 跨链互操作性
● 交易的最终性
目前已有不少金融机构采用 DNA 架构来进行区块链概念验证产品的开发。除此之外,还有一些已经落地的区块链项目,如小蚁区块链、法链等。
小蚁(antshares)是一个定位于资产数字化的公有链,将实体世界的资产和权益进行数字化,通过点对点网络进行登记发行、转让交易、清算交割等金融业务的去中心化网络协议。它采用社区化开发的模式,在架构上与 DNA 保持一致,从而可以与任何基于DNA 的区块链系统发生跨链互操作。
法链是全球第一个大规模商用的法律存证区块链,一个底层基于 DNA区块链技术,并由多个机构参与建立和运营的证据记录和保存系统。该系统没有中心控制点,且数据一旦录入,单个机构或节点无法篡改,从而满足司法存证的要求。
5、Corda
Corda 是由一家总部位于纽约的区块链创业公司 R3CEV 开发的,由其发起的 R3区块链联盟,至今已吸引了数十家巨头银行的参与,其中包括富国银行、美国银行、纽约梅隆银行、花旗银行、德国商业银行、德意志银行、汇丰银行、三菱 UFJ 金融集团、摩根士丹利、澳大利亚国民银行、加拿大皇家银行、瑞典北欧斯安银行(SEB)、法国兴业银行等。
从 R3 成员的组成上也可以看出,Corda 是一款专门用于银行与银行间业务的区块链架构。尽管 R3 自己声称 Corda 不是区块链,但从各项特征来看,它具备区块链的一些特性。
技术对比
1、数字资产
接下来,将对前文中提到的这些区块链框架进行一系列的技术对比,并从多个维度展开介绍它们的区别与相似之处。
区块链的内置代币通常是一种经济激励模型和防止垃圾交易的手段。比特币天生就有且只有一种内置代币,所以在比特币系统中所有的“交易”本质上都是转账行为,除非通过外部的协议层来给比特币增加额外的数字资产。
以太坊和 DNA 具有内置代币,它们的作用除了以上提到的经济激励和防止垃圾交易之外,还具有为系统内置功能提供一个收费的渠道。比如以太坊的智能合约运行需要消耗 GAS,而 DNA 的数字资产创建也需要消耗一定的代币。
以太坊和 Fabric 没有内置的多种数字资产支持,而是通过智能合约来实现相应的功能。这种方式的好处在于,系统设计可以做到非常简洁,而且资产的行为可以任意指定,自由度极高。然而这样的设计也会带来一系列的负面影响,比如所有的资产创建者不得不自己编写重复的业务逻辑,而用户也没有办法通过统一的方式去操作自己的资产。
相比之下,DNA 和 Corda 采用了在底层支持多种数字资产的方式,让资产创建者可以方便地创建自己的资产类型,而用户也可以在同一个客户端中管理所有的资产。对于逻辑更加复杂一点的业务场景来说,他们同样可以利用智能合约来强化资产的功能,或者创建一种与资产无关的业务逻辑。
2、账户系统
UTXO(Unspent Transaction Output)是这样一种机制:每一枚数字货币都会被登记在一个账户的所有权之下,一枚数字货币有两种状态,即要么还没有被花费,要么已经被花费。当需要使用一枚数字货币的时候,就将它的状态标记为已经花费,并创造一枚新的与之等额的数字货币,将它的所有权登记到新的账户之下。在这个过程中,被标记为已花费的数字货币就被称为交易的输入,而创造出来的新的数字货币被称为交易的输出,在一笔交易中,可以包含多个输入和多个输出,但是输入之和与输出之和必须相等。要计算一个账户的余额时,只要将所有登记在该账户下的数字货币的面额相加即可得出。
比特币和 Corda 就采用了 UTXO 这样一种账户机制,而以太坊则采用了更加直观的余额机制:每个账户有一个状态,状态中直接记录了账户当前的余额,转账的逻辑就是从一个账户中减去一部分余额,并在另一个账户中加上相应的余额,减去的部分和加上的部分必须相等。DNA 在账户机制上同时兼容这两种模式。
那么 UTXO 模式和余额模式,究竟有什么优缺点呢?UTXO 最大的好处就是,基于 UTXO 的交易可以并行验证且任意排序,因为所有的 UTXO 之间都是没有关联的,这对区块链未来的伸缩性是有很大帮助的,而基于余额的设计就没有这个优势了;反过来,余额设计的优点是设计思想非常简洁和直觉化,便于程序实现,特别是在智能合约中,要处理 UTXO 的状态是非常困难的。这也是为什么以智能合约为主要功能的以太坊选择余额设计的原因,而比特币、OnchainDNA、Corda 这些以数字资产为核心的架构则更倾向于 UTXO 设计。
关于身份认证,比特币和以太坊基本没有身份认证的设计,原因很简单,因为这两者的设计思想都是强调隐私和匿名,而反对监管和中心化,而身份认证就势必要引入一些中心或者弱化的中心机构。Fabric、DNA 和 Corda 不约而同地选择了采用数字证书来对用户身份进行认证,原因在于这三者都有应用于现有金融系统的设计目标,而金融系统必然要考虑合规化并接受监管,此外现有的金融系统已经大范围地采用数字证书方案,这样便可以和区块链系统快速集成。
『伍』 Hyperledger Fabric 介绍
Hyperledger Fabric是一个专注于私有或联盟许可区块链网络的强大业务驱动区块链框架。以下是关于Hyperledger Fabric的详细介绍:
核心目标:
- 支持私有或联盟许可的区块链网络:使多个组织能够共享控制权,从而提高供应链管理的效率和透明度。
技术特点:
- 可扩展且模块化的分布式账本技术:如IBM和Digital Asset合作创建的DLT,支持高效、可信的业务流程。
- 许可共识机制:与以太坊等公共区块链不同,Fabric采用许可共识,无需匿名矿工,交易验证由参与者身份验证完成,具有更低的延迟。
应用场景:
- 食品供应链:通过全面的可视性和可追溯性,解决传统模式中信息不透明、缺乏互操作性和安全性问题。能够记录食品的全程信息,确保真实性和消费者信任。
关键组件:
- 链码:处理交易验证的核心组件之一。
- 排序服务:与链码共同处理交易验证,实现区块链在供应链中的高效应用。
生态系统:
- Composer等工具:简化了业务网络的构建,其API基于Fabric运行,生成的网络可以直接部署到Fabric环境中。这些工具共同构成了Hyperledger Fabric强大的区块链生态系统,助力企业构建更具透明度和效率的业务流程。
综上所述,Hyperledger Fabric是一个功能强大、灵活且高效的区块链框架,特别适用于私有或联盟许可的区块链网络,能够支持多种业务场景,并提供全面的可视性和可追溯性。