摘要:区块链orderer是什么Ⅰ(译)超级账本官方文档基本概念(三)-节点(Peer)超级账本是Linux基金会发起的项目,意在提供一套企业级区块链应用框...
区块链orderer是什么
Ⅰ (译)超级账本官方文档 基本概念(三) - 节点(Peer)
超级账本是Linux基金会发起的项目,意在提供一套企业级区块链应用框架,便于大家开发基于区块链技术的应用。
Fabric的基本概念
最开始,应用程序会选出一组peer来生成账本更新提议。哪些peer会被选出来是依据的背书策略,这个背书策略决定了哪些组织需要在广播账本更新提议前对更新提议进行背书。这会影响到共识方式,任何一个关心更新提议是否背书的组织都会在广播给peer更新提议并被peer接受前确认提议是否有背书。
peer对一个提议响应进行背书,就是把自己的数字签名加入到响应中,并用自己的私钥对整个响应签名。背书内容随后可以被用于证明这个响应是某个组织的peer生成的。在我们的例子中,如果peer P1属于组织1(Org1),那么背书E1就相当于可以证明L1上的交易T1和响应R1是由Org1的peer P1提供的。
当应用程序得到了足够多的签名的提议响应时,第一阶段就结束了。
我们注意到peer可能返回不同的信息,因此同一笔交易可能有不一致的返回信息。这可能由于响应是在不同时间,不同peer,在不同账本状态下生成的,大多数情况下应用程序可以多次请求更新的提议响应。另外更严重,但概率很小的原因是因为链码的不确定性导致的响应不一致。不确定性是链码和账本的大敌,如果这种情况发生了,对提议交易来说是很严重的,不一致的提议响应肯定不能提交到账本中。一个独立的节点是不可能知道交易结果是非确定性的交易,在检测到非确定性交易前,必须将交易汇总比较(严格地说,即使这还不够,但我们将此讨论推迟到交易部分,其中详细讨论了非确定性)。
在第一阶段结束时,如果应用程序希望如此的话,可以放心丢弃不一致的响应以提前结束交易流程。后面我们会看到如果应用程序使用不一致的响应提交到账本时,会被拒绝。
过程2 打包
第二个交易流程是打包。Orderer节点这个过程关键的点,它接收来自很多应用传来的背书过的提议交易响应。Orderer对交易进行排序,并将大量的交易打包进区块,并准备将区块分发到所有连接到Orderer的peer,包括背书peer。
orderer的第一个角色就是打包账本更新提议。在上图的例子中,应用A1发送给Orderer O1一个被E1和E2背书的交易T1。同时,应用A2发送给Orderer O1一个被E1背书的交易T2。O1将A1传来的交易和A2传来的交易以及其它交易共同打包进区块B2。我们可以看到区块B2里的交易排序是T1,T2,T3,T4,T6,T5,并不一定是按照到达orderer节点的顺序(这个例子展示了一个非常简单的orderer配置)。
Orderer节点会同时收到网络Channel中不同应用程序发送的账本更新提议。Orderer节点的任务就是按照事先定义好的顺序整理这些更新提议,并把它们打包进区块,为下一步的分发做准备。这些区块将构成区块链。一旦Orderer节点生成了期望大小的区块,或者超过最大等待时间,Orderer会向连接到它特定Channel的Peer发送区块。第三个过程会详述这个流程。
区块中的交易排列顺序和交易到达Orderer节点的顺序没有直接关系。交易在区块中可以是任意的排列顺序,这个次序就是交易执行的顺序。重点是有一个严格的交易排序,但具体是怎样的排序并不重要。
区块中的严格交易顺序排列使得Fabric与公链中一笔交易可以被打包进多个不同区块的情况不同。在Fabric中,这不可能发生,由多个Orderer生成的区块就是最终的区块,因为交易被写入区块后,交易的位置顺序就确定了。这意味着Fabric不会存在分叉。一旦交易被写入区块,以后就不能再重写了。
我们可以看到,peer是存储账本和链码的,orderer完全不会存储这些。每一笔交易到达orderer时,orderer只是机械的将交易打包进区块,而不会理会交易的价值,额度等。这是Fabric的一个重要特性,所有交易都会按照一个严格的顺序进行整理,没有交易会被抛弃掉。
到第二阶段结束时,我们可以了解到orderer的责任就是进行必要的,简单的收集交易更新提议,将他们排序,打包进区块,准备分发出去。
过程3 认证
最后一个交易工作流程是分发和验证从orderer到peer的区块,如果验证成功,将会被提交到账本中。
特别的,在每个peer中,在区块中的每一笔交易在更新到账本之前都是验证过的,以保证所有交易都是由相关的组织背书过的。失败的交易会保留,作为日后审查用,并不会更新到账本中。
Orderer除了在过程2中的打包角色外,在过程3中还负责分发区块到peer节点。在这个例子中,O1分发区块到P1和P2。P1处理区块2,然后将区块2添加到P1的账本L1中。同时,P2处理区块2,然后将区块2添加到P2的账本L1中。一旦操作完成,账本L1在P1和P2中都被更新了,每个Peer都可以向连接到他们的应用程序发送处理结果。
Orderer向连接到他的Peer分发区块是过程3的开始。连接到orderer节点的某个渠道的peer,会收到orderer生成的新区块的一份拷贝。每个peer节点都会独立的处理收到的区块,但所有peer处理区块的方式都是相同的。采用这种方式,不同peer中的账本可以达成共识。并不是所有的peer都必须连接到orderer节点,peer和peer之间可以通过gossip协议来传递区块,这样peer也可以独立的处理相同区块。
收到一个区块后,peer会按照交易在区块中出现的顺序依次处理。对于每一笔交易,peer会按照生成这笔交易的链码背书策略检查交易是否被与之相关组织的背书。例如,某些交易可能只需要一个组织背书,而另一些交易需要多个组织同时背书才有效。这个验证过程验证了所有相关组织产生的结果或者输出是否一致。同时请注意,第三阶段的验证和第一阶段不同,阶段一只是应用程序收到背书节点的响应,判断是否需要发送交易提议。如果应用程序发送错误的交易,违反了背书策略,在第三阶段的验证过程中peer还是可以拒绝本次交易。
如果交易背书正确,peer将尝试把交易提交到账本中。为了能写账本,peer必须进行账本一致性检查,保证当前账本的状态与账本更新后的状态一致。这个状态并不总会是一致的,即使交易拥有完整的背书。举个栗子,另外一笔交易可能已经更新了账本中的同一个资产,以至于我们正要更新的交易将永远不会被写入账本。这样的话,每个节点中的账本必须通过网络保持共识,每个节点的验证方式是一样的。
在peer验证完每笔独立交易后,将更新账本。失败的交易会保存下来作为审查资料。这意味着peer中的区块和从orderer中收到的区块一致,除了区块中指示交易成功或失败的标志。
我们也要注意到,第三阶段并没有执行链码,这一步只会在第一阶段完成,这很重要。这意味着链码只在背书节点可用,而不是整个网络中都可用,这保证了链码在背书组织中的安全及私密。这和收到链码的执行结果不同,执行结果会分享到所有在Channel里的peer,不论他是否能背书交易。背书节点的这种设计方式是为了方便扩展。
最后,每次区块被提交到peer的账本中时,这个peer会生成对应的事件。区块事件包含区块的所有内容,而区块交易事件只包含简要信息,比如每笔区块中的交易是否有效。由链码的执行而产生的链码事件也可以在这个时候发布。应用程序可以注册这些事件,当这些事件发生时,可以收到通知。这些通知在交易工作流程的第三阶段和最后阶段完成。
总的来说,我们可以知道第三阶段由orderer产生的区块被不断地同步到账本中。区块中交易的严格排序能让每个peer在区块链网络中始终如一地验证交易并提交到账本中。
Orderer和共识
整个交易工作流程被称为共识,因为所有peer都认同交易的排序和内容,在执行过程中由orderer节点来协调。共识是多步骤的过程,应用程序只会在共识过程结束时收到通知,但通知的时间在不同的peer上可能不同。
我们将会在后面更多的探讨orderer,现在,把orderer仅仅当做从应用程序收集、分发账本更新提议到peer,由peer进行验证及更新账本的过程。
Ⅱ 什么是区块链概念区块链究竟是什么三分钟读懂!
2019年10月25日,新闻联播传递出一个非常重要的信号:国家要大力发展 区块链 。之后,区块链简直就是网红,大街小巷都飘荡着“区块链“的身影。实际上,很多科技企业早已在区块链技术上布局。
尽管说区块链很火,但是很多人对于区块链并不是很了解。
区块链是什么呢?
我们先看一下度娘是怎么解释的。网络显示:区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
区块链为什么会被叫做区块链呢?
区块链是由一个个的区块链接而成,而区块是一个一个的存储单元,记录了各区块节点的交流信息,区块很像数据库的记录,每次写入数据,就是创建一个区块。而随着信息交流的扩大,一个区块与一个区块相继续,形成的结果就叫区块链。
区块链的特点有哪些呢?
区块链主要有以下几个方面的特点:
1、去中心化:在区块链的系统中,每一个节点都有同等的权利和义务,这里没有中心管制。去中心化很好的建立了彼此之前的信任联系,尽管没有一个中央管理机构,但是人们之间可以相互协作相互信任。这主要应用了区块链分布式账本技术。
2、开放性:区块链的数据对所有的人是开放的,除了一些加密的信息不被开放之外,所有人都可以在这里查到数据。
3、独立性:整个区块链系统不依赖其他第三方,所有节点能够在系统内自动安全地验证、交换数据,不需要任何人为的干预。
4、安全性:区块链具有一定的安全性,不可篡改性。因为区块链系统中大家手里都是一样的账本,如果有人想篡改的话,那么只有在控制了超过51%的记账节点,才有可能伪造出一条不存在的记录。当然了,这基本上是不可能的。这主要是源于区块链的核心技术:共识机制,共识机制具备“少数服从多数”以及“人人平等”的特点。
5、匿名性:很多人觉得区块链这么开放,这么透明,是不是我们就没有隐私了?其实不是,虽然说在区块链中的交易信息是公开透明的,但是账户的身份信息是被进行加密的,只有得到了授权,才能访问。
现在给大家讲一个故事,帮助大家更好的理解区块链。
家里一共三口人,爸爸妈妈和哥哥弟弟。去年的时候,家里的账本是由爸爸来负责的,家里所有的进账以及支出都是爸爸一个人在负责。
然而双十一那天,一向节俭的妈妈想在某宝上给自己买一件漂亮的衣衣,一查账本,发现不对劲儿。按理说除了存银行和 理财 的一些钱,家里的日常消费的的钱的去向都在这个账本上,但是怎么看怎么都不对。有的消费明明没有,却被记录在内。
后来,爸爸主动招供,说是自己忍不住买了一包烟。
后来妈妈改了策略,全家人都记账,每个月的消费支出大家都记在自己的账本上。每当家里产生了一笔交易或者消费的时候,妈妈都会喊一声,记账啦,大家就都把交易记载自己的账本上。这就是去中心化记账模式,人人都是中心,人人手里都有账本。
而之前的爸爸记账模式就是中心化记账,如果爸爸一个人想做手脚,很难有人看得出来,而去中心化记账模式很好的解决了中心化记账的弊端,如果爸爸想篡改账本的话,非常难。
比如说,爸爸如果想从账本里拿点儿钱再偷偷买烟的话,钱的数量是有限的,而想拿钱就得改改账本,但是光篡改自己的账本是不行的,他得把包含他在内的三个人的账本都改掉。而这无疑是比登天还难。
所以,很多次爸爸动了抽烟的念头之后,但是无奈现状如此,只得放弃这个念头。
区块链和 比特币 是不是一回事儿呢?
实际上,区块链和比特币并不是一回事儿,它只是比特币的底层技术,比特币是区块链第一个应用的数字货币而已。
2008年中本聪第一次提出了区块链的概念,随后几年,成为了电子货币比特币的核心组成部分,作为所有交易的公共账簿。而区块链首先被应用于比特币。
区块链的缘起是解决信任问题,而且,区块链最成功的一个应用是数字货币。比特币可以说是到目前为止区块链最成功的一个应用。
区块链的应用有哪些?
区块链的应用其实很广泛,除了数字货币,比特币未来的应用还是非常广泛的,区块链技术目前已在不同行业得到了广泛的应用。如商品溯源、版权保护与交易、支付清算、物联网、数字营销、医疗等,推动不同行业快速进入“区块链+”时代。
1、支付清算:区块链可摒弃中转银行的角色,实现点到点支付,减少中转费用,加速资金利用率。
2、商品追溯:比如我们在某宝上买一件衣服,我们可以看到这件衣服的前世今生。
3、证券交易:传统的证券交易需要经过四大机构协调工作,效率低、成本高。区块链技术可独立地完成一条龙式服务。
4、供应链:将区块链技术引入供应链系统,系统内部同步信息、可做到对各个环节把控,更好的完成分工协作,便于事后追责。
5、知识产权:版权上链,我们的摄影作品、音乐作品、文学作品等都会成为我们的信息,信息所有权将得以确认,成为我们的财产。
Ⅲ 区块链是什么意思,怎么理解
区块链,分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
区块链(Blockchain),比特币的一个重要概念,它本质上为一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
注意事项
1、区块链起源于比特币,2008年11月1日,一位自称中本聪(Satoshi Nakamoto)的人发表了《比特币:一种点对点的电子现金系统》一文,阐述了基于P2P网络技术、加密技术、时间戳技术、区块链技术等的电子现金系统的构架理念,这标志着比特币的诞生。
两个月后理论步入实践,2009年1月3日第一个序号为0的创世区块诞生。几天后2009年1月9日出现序号为1的区块,并与序号为0的创世区块相连接形成了链,标志着区块链的诞生。
2、为了实现区块链金融大跨越大发展,为了推动中国经济新发展,加速全球资产流通,实现一代代人为之奋斗不已的复兴梦想,普银集团于2016年12月9日在贵州举行普银区块链金融贵阳战略发布仪式,会上将就区块链实现资产的数字化流通、区块链金融交易模式、并对区块链服务与社会公共产业的应用落地展开探讨。
Ⅳ 什么是区块链技术区块链技术的核心构成是什么
什么是区块链技术?区块链技术的核心构成是什么? 什么是区块链技术:
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。
区块链(Blockchain)是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
区块链技术的核心构成:
区块链主要解决的交易的信任和安全问题,因此它针对这个问题提出了四个技术创新:
第一个叫分布式账本,就是交易记账由分布在不同地方的多个节点共同完成,而且每一个节点都记录的是完整的账目,因此它们都可以参与监督交易合法性,同时也可以共同为其作证。
跟传统的分布式存储有所不同,区块链的分布式存储的独特性主要体现在两个方面:一是区块链每个节点都按照块链式结构存储完整的数据,传统分布式存储一般是将数据按照一定的规则分成多份进行存储。二是区块链每个节点存储都是独立的、地位等同的,依靠共识机制保证存储的一致性,而传统分布式存储一般是通过中心节点往其他备份节点同步数据。 [8]
没有任何一个节点可以单独记录账本数据,从而避免了单一记账人被控制或者被贿赂而记假账的可能性。也由于记账节点足够多,理论上讲除非所有的节点被破坏,否则账目就不会丢失,从而保证了账目数据的安全性。
第二个叫做非对称加密和授权技术,存储在区块链上的交易信息是公开的,但是账户身份信息是高度加密的,只有在数据拥有者授权的情况下才能访问到,从而保证了数据的安全和个人的隐私。
第三个叫做共识机制,就是所有记账节点之间怎么达成共识,去认定一个记录的有效性,这既是认定的手段,也是防止篡改的手段。区块链提出了四种不同的共识机制,适用于不同的应用场景,在效率和安全性之间取得平衡。
区块链的共识机制具备“少数服从多数”以及“人人平等”的特点,其中“少数服从多数”并不完全指节点个数,也可以是计算能力、股权数或者其他的计算机可以比较的特征量。“人人平等”是当节点满足条件时,所有节点都有权优先提出共识结果、直接被其他节点认同后并最后有可能成为最终共识结果。 [8]
以比特币为例,采用的是工作量证明,只有在控制了全网超过51%的记账节点的情况下,才有可能伪造出一条不存在的记录。当加入区块链的节点足够多的时候,这基本上不可能,从而杜绝了造假的可能。
最后一个技术特点叫智能合约,智能合约是基于这些可信的不可篡改的数据,可以自动化的执行一些预先定义好的规则和条款。以保险为例,如果说每个人的信息(包括医疗信息和风险发生的信息)都是真实可信的,那就很容易的在一些标准化的保险产品中,去进行自动化的理赔。
在保险公司的日常业务中,虽然交易不像银行和证券行业那样频繁,但是对可信数据的依赖是有增无减。因此,笔者认为利用区块链技术,从数据管理的角度切入,能够有效地帮助保险公司提高风险管理能力。具体来讲主要分投保人风险管理和保险公司的风险监督。
重庆金窝窝分析:共识机制是区块链技术的核心,共识机制很大程度上决定了整个区块链系统节点之间的相互信任程度,也决定了其他使用者对于区块链上数据的信任程度
区块链技术的构成核心是什么? 重庆金窝窝分析:区块链技术由共识机制、共防机制、分布式存储三大核心技术构成。
三大核心技术由机器信任支持,即通过网络技术支撑实现了交易活动的交易点对点、去中心化、记录信息不可篡改、交易不可逆、信息加密等难题突破。
区块链技术发展随着应用的不断的拓展而越来越红火,这种来自于各行业需求的强大的发展动力让区块链技术产生了日新月异的变化,从而让各行业取得的成果越来越受瞩目,从专业的技术到资源方面都不断的向这个行业集中,从而让区块链技术发展进入了一个全新的阶段,而这种区块链技术发展所带来的影响也倍受瞩目。
谈及区块链技术,便不得不提比特币。很多人都知道,电子货币比特币并不依靠特定的货币机构发行,而是通过特定算法的大量计算产生。事实上,真正支持比特币的核心便是区块链技术。
看不见、摸不着的比特币如何通过区块链技术运作?业界流传的解读是:可以把区块链看成是通过“去中心化”“去信任”的方式,集体维护可靠数据库的技术方案。通俗来说,该技术可被理解为全体参与记账的技术,过去人们使用一台台中心化的服务器记账,而在区块链技术系统中,每个人都可以参与记账,并共同认定记录的真伪。
“通过这项技术,即使没有中立的第三方机构,互不信任的双方也能实现合作。简而言之,区块链类似一台‘创造信任的机器’。”布比公司是国内领先的区块链服务商,在区块链技术平台方面取得多项突破,能够满足数千万级用户规模的场景,并且具备快速构建上层应用业务的能力。
各方参与记录、存储信息的区块链技术采用去中心化的分布式结构,节省了大量的中介成本,能更好地确保数据安全;同时,它拥有不可篡改的时间戳,可以有效解决数据追踪、信息防伪等问题。
将成互联网金融下一个风口?
虽然区块链伴随比特币出现,但该技术的衍生价值已超越了数字货币。布比区块链专注于区块链技术和产品的创新,已拥有多项核心技术,开发了自有的区块链服务平台。以去中心化信任为核心,致力于打造开放式价值流通网络,让数字资产都自由流动起来。布比要做的是一项新的技术和产品——实现真正的价值流通,使得互联网到达一个新的高度。如果有了这个技术的应用,在转移资产的时候就可以没有中心机构了,可以实现我们之间资产的直接转移。
在目前的国际金融市场上,美国中央银行、瑞士银行,以及一些保险、期货公司,都在争相开发区块链技术。方亮介绍,在互联网金融行业中,区块链技术将首先影响支付系统、证券结算系统、交易数据库等金融基础设施;随后该技术也会扩及一般性金融业务,比如信用体系、“反洗钱”等。
“金融领域支付清算体系将朝着去中心化趋势演进,由区块链技术支持的电子账本是无差错、不可篡改的可靠系统,对支付、清算、交易、确权等都有深刻影响。”李岩说。
因此,业界人士认为,区块链技术可能是互联网金融行业的下一个风口。随着万物互联程度加深,中国社会科学院金融研究所所长助理杨涛也表示,区块链将使所有个体都有可能成为金融资源配置中的重要节点,也将促进现有金融体系规则的改良,构建共享共赢式的金融发展生态体系。
区块链技术将影响多个行业
“区块链技术在大数据时代有着广泛的应用。”李岩坦言,目前除了互联网金融领域,区块链技术已在多个领域展开应用,并展现出了大好前景。
比如,医疗保健行业已从区块链技术中收益颇多。现实中患者私密信息泄露情况时有发生,医疗部门的中心化数据库或文件柜式管理已不再是最优选择。医疗机构正通过区块链技术,实现对患者隐私信息的保密。
另外,区块链技术在法律方面也具有重要意义。一些民事领域时常出现举证定责难的情况,而区块链技术则可以记录下每个步骤,帮助司法机关认定具体责任人。
“尤其在涉及资产领域,无论是房产、汽车等实物资产,还是健康、名誉等无形资产,都能利用该技术完成登记、交易、追踪。可以这样说,任何缺乏信任的生产生活领域,区块链技术都将有用武之地。”
区块链技术发展也带来了各行业运营观念的变化,全新的技术与全新的理念促进了各行业的新的发展,这种推动力对于社会的影响,经济活动的促进也是巨大的,很多崭新的行业现象将会陆续发生,而大众也拭目以待,期待这种全新的技术为各行业所用,更好的造福各行业。
所谓区块链技术,也被称之为分布式账本技术,是一种互联网数据库技术,其特点是去中心化、公开透明,让每个人均可参与数据库记录。
用通俗的话阐述:如果把数据库假设成一本账本,读写数据库就可以看做一种记账的行为,区块链技术的原理就是在一段时间内找出记账最快最好的人,由这个人来记账,然后将账本的这一页信息发给整个系统里的其他所有人。这也就相当于改变数据库所有的记录,发给全网的其他每个节点,所以区块链技术也称为分布式账本(distributed ledger)。
金窝窝区块链技术的核心技术是什么?
重庆金窝窝分析区块链技术的核心技术如下:
分布式账本技术、非对称加密技术以及智能合约。
区块链的核心在于,它把所有的信息都存储在独立的个人计算机网络中,使其变成去中心化的、分布式的结构。
这意味着系统不为某个主控公司或某一个人所有,而是每个人都能使用并运行该系统。
特地查了资料解答你嘻嘻!人人链区块链服务,就是让用户在弹性、开放的云平台上能够快速构建自己的 IT基础设施和区块链服务。使用 BaaS 可以极大降低您实现区块链底层技术的成本,简化区块链构建和运维工作,同时面对各行业领域场景,满足用户个性化需求,一站式快速交付定制 BaaS。希望采纳
什么是区块链技术?区块链都已经炒疯了,你却对它一无所知!
区块链是一个由不同节点共同参与的分布式数据库系统,是开放式的账簿系统(ledger)。
它是由一串按照密码学方法产生的数据块或数据包组成,即区块(block),对每一个区块数据信息都自动加盖时间戳,从而计算出一个数据加密数值,即哈希值(hash)。
区块链技术本质上是一种分布式记账技术。它能让每个人手中都有一份即时同步的账本,整个网络中每一笔发生的交易都会有成千上万的备份,并且同步记录。作恶者试图进行篡改账本数据时必须更改大多数人手中的账本才能达成目的。
Ⅳ 区块链之联盟链(三) 认识Fabric
Fabric 是超级账本联盟推出的核心区块链框架,它适合在复杂的企业内和企业间搭建联盟链。根据超级账本联盟的目标, Fabric 被建设为一个模块化的、支持可插拔组件的基础联盟链框架。;
与以太坊系的Quorum不同,Fabric从一开始就只考虑企业间的应用。其独有的channel概念,将企业根据业务目的不同以不同的子网连接起来, 每一个子网对应一个channel,而每个channel有自己独立的区块链。而Quorum很显然是只有一个公网(所有企业节点都加入进去),企业与企业间的私有业务是通过Private Manager 完成的。
理解channel的最简单方法就是,将它类比为一个消息服务提供的Topic,实际上Fabic最早就是基于Kafka 的分布式消息服务来实现。
在Fabric网络中,一个企业可以有一个或多个节点加入整个联盟链;一个企业可以加入1个或者多个Channel(子网); 一个节点可以加入1个或者多个channel。每个channel构成一个子网,所以Fabric 是 一种由子网组成的网络。
那么Fabric是怎么实现智能合约的执行和完成业务上链(将事务结果记录在区块链里)的呢?
与其它框架不同, Fabric 将整个过程分成了三个阶段:
业务背书阶段 : 客户的请求发送的背书节点,通过智能合约完成业务的计算(但不更新状态),并完成背书;将背书结果返回个客户端。
业务的排序阶段 : 客户端将背书结果通过Channel被发送到排序节点(orderer),在排序节点完成事务的排序,并打包到block里,最后下发给所有连接到channel的节点。
业务验证并写入账本阶段 : 通过Gossip 网络,所有Channel的节点都会接收到新的block,节点会验证block中的每一个事务,确定是否有效:有效地将会跟新world state,无效的将会标志为“无效”,不会更新World state,但整个block会被完整的加入到帐本中(包括无效的事务)。
根据以上的描述,Fabric 节点实际可以分为 ,普通节点和Order节点:
Peer, 普通节点, 完成背书(包括只能合约的执行)和验证.
orderer, 排序节点,完成排序。
加入orderer节点的Fabric网络可以被描述如下:
每一个Channel,都定义了所有属于channel的节点,但是并不需要所有节点都连接到Orderer 节点(节点间可以通过gossip 协议通讯来传播私有数据或事务).
在区块链中,共识是区块链的基础。与公有链不同,联盟链的共识要求所有加入账本的事务是确定的、最终的,也就是不可以有分叉,区块与区块间的顺序是一定的,只存在唯一条链。在Fabric 中,这个客观需求正是由排序实现的,所有的事务将被提交给orderer节点获得确定的顺序,并最终打包成block进入帐本。 Fabric 从1.4.1开始支持基于Raft实现排序服务, 可以认为基于Raft实现共识。
基于RAFT的排序服务相对于早期的Kafka 具有更好的分布性,配置更加简单,是联盟链里常用的一个常用的达成共识的算法,Quorum就 默认使用RAFT作为共识层。简单的说,RAFT是一个leader和follower的模式, 所有加入RAFT网络的节点,任意时候都有一个leader, 只有这个leader有权决定事务的顺序,并打包成Block,其它节点只能作为follower提交事务和同步block。
基于FAFT网络,每个企业可以有一个或多个节点参与到Orderer中去。在Frabric中企业间的网络连接可以变化成如下形式:
区块链的使用用户在以太网中被称作EOA(External of Account), EOA的载体是钱包。我们沿用这个概念,来看看Fabric是如何实现用户和发起事务的。Fabric中EOA是一个CA中心发布的certificate(x.509),一个Certificate代表一个Identity(这与以太坊还是有很大区别的, 以太坊中一个EOA其实是一个hash地址),EOA能够参与的channel以及被授权的操作是有channel的MSP( Membership Service Provider)决定的(如下图)。
注:certificate 是一种密码学上验证身份的通用做法; certificate包含了个人的信息,公钥以及发布这个certificate的CA的签名。验证方只需要拥有这个CA的证书(包含CA的公钥),就可以验证这个签名是否正确,certificate的内容是否有篡改。简单的说,通过CA和Certificate,我们可以获得一个可验证的的身份和信任链。
如上图,fabric中通要使用Wallet作为EOA的载体,一个Wallet中可以包含多个Identity(x.509 certificate)。 Identity 通过 CA提供的信任链来验证正确性。
验证了身份之后, Fabric 通过MSP在区块链网络中解决该身份是否代表组织的成员和在组织内具有什么角色。例如,channel首先会验证当前用户Identity是否是有效地身份,然后通过MSP查看其所处的企业和具有的角色,最终确定该用户是否有权执行操作。
可以说,Fabric的访问控制是通过MSP来完成的。在每一个需要访问控制的地方都需要定义一个MSP。 例如,每个channel都定义一个MSP,这个MSP规定了在channel范围内资源的访问权限。 MSP 是Fabric里一个晦涩难懂的概念,也是其赋予企业间安全访问的基础。
前文提到, Fabric 将业务处理和上网分成了三个部分, 背书,排序,验证后加入账本。
其中背书是Fabric执行智能合约的阶段。以太坊中,智能合约是在EVM中执行的,有多种语言支持。 在Fabric,智能合约被称为chaincode: 一个chaincode 可以理解为是智能合约的容器,可以包含一个或多个智能合约, 不用于EVM, chaincode是在 JVM 或NodeJS中执行。
客户应用程序通过智能合约来访问账本,每一个可访问的智能合约都被安装在客户端可以访问的节点上,并被定义在channel里。(有只能合约的节点被称为背书节点,没有只能合约的节点被称未提交节点,提交节点只维护账本)
客户应用提交一个交易请求, 请求到达背书节点, 背书节点首先会验证客户的签名,确保客户的身份有权执行本次交易,接着执行交易提及的智能合约(chaincode),并生成一个背书响应(或者叫做交易提案,tran-proposal)。这个背书响应中通常包含World state 的读集合,写集合, 以及节点对本次交易的签名。这里与以太坊系联盟链最主要的不同是: 背书阶段只模拟交易,并不真正更新交易结果。 而真正更新交易在第三阶段完成。背书节点最后将生成的背书响应fanhui给客户端, 智能合约部分的执行就结束了。
通常一个交易的执行需要多方的签名,所以客户端需要将一个交易发送给多个背书节点,这些背书节点的选择需要满足背书策略的要求。
下图是一个包含有客户、背书节点,提交节点的网络示意图。
根据Fabric官方的参考文档,客户交易的正果过程可使用下图描述。
如上图,从1到3,为背书阶段,4为排序阶段,4.1,4,2, 5为验证提交阶段。 参考 Frabic的节点 概念,可以了解更多在交易细节的概念。
总的来看, Fabric 更专注于企业间,通过上文,可以让大家对Fabric的基本构成与概念有一个总的了解。 Fabric本身并不神秘,都是使用的现有的企业间的技术。要更好的了解,建议参考阅读分布式消息系统和企业的安全基础设施(CA相关)的支持。与以太坊系联盟链实现比较, Fabric 的子网更概念对于复杂企业间应用适应更强,但是其复杂的安全考量,使得运营成本很高,另外,Fabric 使用Certificate做为用户身份,有很大的局限性,在新的2.0里,Fabric对于此处将有所改变。
下一篇,我们将来看看Sawtooth , 由Inter 提供的区块链框架。
区块链之联盟链(一) 认识以太坊
区块链之联盟链(二) 认识Quotum
区块链之联盟链(三) 认识Fabric
区块链之联盟链(四) 认识Sawtooth
Ⅵ 什么是区块链概念
概念:区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
区块链的本质是一个分布式的公共账本,任何人都可以对这个账本进行核查,但不存在的单一用户可以对它进行控制。在区块链系统中的参与者共同维护账本的封信:它只能按照严格的规则和共识进行修改。
区块链发展经历了三个阶段:
1、酝酿期:2009-2012年,经济形态以比特币及其产业生态为主。
2、萌芽期:时期为2012-2015年,区块链随着比特币进入公众视野,新生的钱包支付和汇款公司出现,区块链经济扩散到金融领域。区块链底层技术创新不断。区块链技术从比特币系统中剥离出来。
3、发展期:2016年开始探索行业应用,出现了大量区块链创业公司。2017年ICO的火热让区块链受到前所未有的关注。
(6)区块链orderer是什么扩展阅读:
三区块链的三个特点:
1、区块链的核心思想是去中心化:在区块链系统中,任意节点之间的权利和义务都是均等的,所有的节点都有能力去用计算能力投票,从而保证了得到承认的结果是过半数节点公认的结果。即使遭受严重的黑客攻击,只要黑客控制的节点数不超过全球节点总数的一半,系统就依然能正常运行,数据也不会被篡改。
2、区块链最大的颠覆性在于信用的建立:理论上说,区块链技术可以让微信支付和支付宝不再有存在价值。《经济学人》对区块链做了一个形象的比喻:简单地说,它是“一台创造信任的机器”。区块链让人们在互不信任并没有中立中央机构的情况下,能够做到互相协作。打击假币和金融诈骗未来都不需要了。
3、区块链的集体维护可以降低成本:在中心化网络体系下,系统的维护和经营依赖于数据中心等平台的运维和经营,成本不可省略。区块链的节点是任何人都可以参与的,每一个节点在参与记录的同时也来验证其他节点记录结果的正确性,维护效率提高,成本降低。
一句话概括,区块链触动的是钱、信任和权力,这些人类赖以生存的根本性基础。
Ⅶ 区块链是什么,区块链可以投资吗
区块链 是什么,区块链可以投资吗
区块链技术是继互联网概念推出之后的新兴概念,其主要解决的是社会上的信息不对等,去中心化的服务。举个例子说明什么是区块链技术:
通常我们会把现金存款到银行,每次取钱,转账都必须经过银行系统才可以完成,那么如果用区块链技术去解决这个问题,那么我们的钱就不用放在银行,在给别人转账时只需要在链上传输数据即可,该转账记录数据会被全网记录,随时可以查到该笔金额的消费路径,不需要经过任何中介去完成中间记录。
这个只是区块链技术应用的场景之一,目前区块链技术应用最多的有支付行业、游戏行业,彩票赌博行业等。
对于区块链技术发展的萌芽期,自然会有很多投资人看到发展潜力,准备投资区块链,那么区块链怎么投资?大家都知道伴随区块链技术产生,会产生数字货币,数字货币流通就会产生价值,普通老百姓可以通过购买数字货币来投资区块链,常见的数字货币有 比特币 、以太坊、柚子等,但是其风险极高,比起股票投资的 收益 要高很多,但是其风险也是好几倍,所以在投资区块链的时候,数字货币的选择也是十分重要的。新手投资,还是建议选择主流币,如比特币、以太坊和瑞波币,其价值基本已被认可,具有共识机制,价格不会跌幅很厉害,但是其对应的区块链技术落地最好的还是以太坊。
那么对于专业风控投资者,可以选择投资区块链公司,看中其长远价值和token,现在的区块链公司都会进行发币,也就是所谓的数字货币,但是其价值都是为零,没有实际的流通意义,所以要选择投资区块链公司还是需要看清楚公司所做的项目内容,是否能够真正落地,对人类今后生活的改变潜力有多大。
Ⅷ fabric国密改造记录及思路-具体工作(3)
七、msp成员关系服务模块改造
(1)、fabric的成员身份基于标准的x509证书,秘钥使用的是ECDSA算法,利用PKI体系给每个成员颁发数字证书,通道内只有 相同MSP内的节点才可以通过Gossip协议进行数据分发;
(2)、国密改造需要把x509证书修改成sm2证书,ECDSA算法修改成sm2算法;
(3)、修改程序文件列表如下:
msp/identities.go
msp/cert.go
msp/mspimplsetup.go
msp/mspimplvalidate.go
msp/mspimpl.go
八、Orderer节点模块改造
(1)、orderer节点在fabric架构中处于最核心位置,主要功能是排序打包交易,生成新的区块,然后通过共识算法将数据广播;
(2)、orderer节点模块的共识模式有,solo单机模式,kafka消息队列模式,etcdraft一致性算法模式,最开始采用的是kafka模式,后边为了减少资源开销切换成etcdraft模式;
(3)、如果采用kafka模式共识,需要确认kafaka的tls连接是否支持国密算法,再决定是否对kafka的tls做出修改;
(4)、改程序文件列表如下:
orderer/common/cluster/comm.go
orderer/common/cluster/connections.go
orderer/consensus/kafka/config.go
九、Peer节点模块改造
(1)、peer可是区块链网络的基石,包含了账本和链码,应用程序或管理员都得通过节点去管理网络的资源;
(2)、channel对应账本,一个peer节点可以接入到多个channel, 所以一个节点可以有多个账本副本;
(3)、国密改造中对chaincode和common部分有修改;
(4)、改程序文件列表如下:
peer/common/common.go
peer/common/peerclient.go
peer/common/ordererclient.go
peer/chaincode/common.go
十、vendor目录国密改造
(1)、修改程序文件列表如下:
vendor/github.com/Shopify/sarama/config.go
总结:
到目前为止fabric的国密修改已经完成,修改完毕后通过前面提到的编译方式进行编译,然后进行测试,如有bug再增对性的进行处理,遇到问题和解决问题是比较好的熟悉系统的方式。
Ⅸ 区块链是什么
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。简单来说,区块链就是一种去中心化的分布式账本数据库。
数据存储的意思:
数据存储是数据流在加工过程中产生的临时文件或加工过程中需要查找的信息。常用的存储介质为磁盘和磁带。存储组织方式因存储介质而异。在磁带上数据仅按顺序文件方式存取;在磁盘上则可按使用要求采用顺序存取或直接存取方式。
数据存储方式与数据文件组织密切相关,其关键在于建立记录的逻辑与物理顺序间对应关系,确定存储地址,以提高数据存取速度。在服务器与存储的各种连接方式中,DAS曾被认为是一种低效率的结构,而且也不方便进行数据保护。
直连存储无法共享,因此经常出现的情况是某台服务器的存储空间不足,而其他一些服务器却有大量的存储空间处于闲置状态却无法利用。
Ⅹ 区块链是什么意思 主要有什么用途
最近几年来了,在网上频频出现一个热词,那就是“区块链”,这个词给人一种很高尚、很厉害的感觉,但很多人都不知道区块链是什么意思?以及区块链主要有铅如碧什么用途?下面我们一起来了解已下发相关内容。
区块链 区块链其实就相当于一个去中介化的数据库,是由一串橡配数据块组成的。它的每一个数据块当中都包含了一次比特币网络交易的信息,而这些都是用于验证其信息的有效性和生成下一个区块的。也就是说,区块链本质上是一个去中心化的数据库。
狭义的来讲,区块链是就是一种按照时间顺序来将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。从广义来讲,区块链其实是一种分布式基础架槐举构与计算方式,它是用于保证数据传输和访问的安全的。
另外,区块链是由数据层、网络层、共识层、激励层、合约层和应用层这六个基础架构组成的。关于作用方面,区块链主要是用于解决交易的信任和安全问题。以上就是关于区块链的含义和作用的相关内容,希望能帮到有需要的朋友。