大区块链中节点有哪些类型,区块链节点什么意思

如题所述

第1个回答  2024-09-05
区块链的链分类

前两天有朋友微信上问了许多关于区块链的一些问题,其中一个问题就是区块链的这个链怎么去分类。区块链目前可以分为四类:公链,私链,联盟链以及侧链。北京木奇移动技术有限公司,专业的区块链外包开发公司,欢迎洽谈合作。下面带大家了解区块链这几个链各自的特点以及如何应用,希望对大家有所帮助。

1.公链——人人可参与

公链是指任何人都可读取的、任何人都能发送交易且交易能获得有效确认的、任何人都能参与其中共识过程的区块链。

公链采取了采取工作量证明机制(POW)、权益证明机制(POS)、股份授权证明机制(DPOS)等方式,并将经济奖励和加密数字验证结合了起来,并建立一个原则就是每个人从中可获得的经济奖励与工作量成正比。这些区块链通常被认为是完全去中心化的。

特性:

1.开源,由于整个系统的运作规则公开透明,这个系统是开源系统;2.保护用户免受开发者的影响,在公有链中程序开发者无权干涉用户,所以区块链可以保护使用他们开发的程序的用户;3.访问门槛低,任何拥有足够技术能力的人都可以访问,也就是说,只要有一台能够联网的计算机就能够满足访问的条件;4.所有数据默认公开,尽管所有关联的参与者都隐藏自己的真实身份,这种现象十分的普遍。他们通过他们的公共性来产生自己的安全性,在这里每个参与者可以看到所有的账户余额和其所有的交易活动。

案例:公有链中有许多我们熟悉的身影:BTC,ETH,EOS,AE,ADA等

2.私链——权利掌握在少数人手里

私链是指其写入权限仅在一个组织手里的区块链。读取权限或者对外开放,或者被任意程度地进行了限制。相关的应用囊括数据库管理、审计、甚至一个公司,尽管在有些情况下希望它能有公共的可审计性,但在很多的情形下,公共的可读性并非是必须的。

特性:

1.交易速度快,一个私链的交易速度可以比任何其他的区块链都快,甚至接近了并不是一个区块链的常规数据库的速度。这是因为就算少量的节点也都具有很高的信任度,并不需要每个节点来验证一个交易。2.隐私性好,给隐私更好的保障私有链使得在那个区块链上的数据隐私政策像在另一个数据库中似的完全一致;不用处理访问权限和使用所有的老办法,但至少说,这个数据不会公开地被拥有网络连接的任何人获得。3.交易成本低交易成本大幅降低甚至为零私有链上可以进行完全免费或者至少说是非常廉价的交易。如果一个实体机构控制和处理所有的交易,那么他们就不再需要为工作而收取费用。

案例:Linux基金会、R3CEVCorda平台以及GemHealth网络的超级账本项目(Hyperledgerproject)或在开发或在使用私链。

3.联盟链——部分去中心化

联盟链开放程度和去中心化程度是有所限制的。其参与者是被提前筛选出来或者直接指定的,数据库的读取权限可能是公开的,也可能像写入权限一样只限于系统的参与者。

特性:

1.交易成本低,交易只需被几个受信的高算力节点验证就可以了,而无需全网确认;2.节点容易连接,若是出了问题,联盟链可以迅速通过人工干预来修复,并允许使用共识算法减少区块时间,从而更快完成交易;3.灵活,如果需要的话,运行私有区块链的共同体或公司可以很容易地修改该区块链的规则,还原交易,修改余额等。

案例:瑞波用于日韩国际汇款及日本本国银行间汇款建立了联盟链,同时之前火过一阵子的迅雷链克也是一种半开放的联盟链。

4.侧链——拓展协议

侧链”从严格上来说,其本身并不是区块链,可以理解为区块链的一种扩展协议。早期“侧链”是为了解决比特币区块链技术的限制问题。侧链就像是一条条通路,将不同的区块链互相连接在一起,以实现区块链的扩展。侧链完全独立于比特币区块链,但是这两个账本之间能够“互相操作”,实现交互。

特性:

1.独立性,侧链架构的好处是代码和数据独立,不增加主链的负担,避免数据过度膨胀。侧链有独立的区块链,有独立的受托人或者说见证人,同时也有独立的节点网络,就是说一个侧链产生的区块只会在所有安装了该侧链的节点之间进行广播。2.灵活性,侧链所有的区块链参数是可以定制的,简单的比如区块间隔、区块奖励、交易费的去向等,高级用户还可以修改共识算法。

案例:LSK,RDN,ARDR等币种是利用的侧链技术。

对于目前整个数字货币领域而言,今年可能仍然是底层公有链项目的竞争大赛,原因是目前公链作为区块链的基础设施还是存在明显的不足,尚且无法实现真正的安全、可靠和高效。这也明显制约着整个区块链产业的发展。

浅析FabricPeer节点

HyperledgerFabric,也称之为超级账本,是由IBM发起,后成为Linux基金会Hyperledger中的区块链项目之一。

Fabric是一个提供分布式账本解决方案的平台,底层的账本数据存储使用了区块链。区块链平台通常可以分为公有链、联盟链和私有链。公有链典型的代表是比特币这些公开的区块链网络,谁都可以加入到这个网络中。联盟链则有准入机制,无法随意加入到网络中,联盟链的典型例子就是Fabric。

Fabric不需要发币来激励参与方,也不需要挖矿来防止有人作恶,所以Fabric有着更好的性能。在Fabric网络中,也有着诸多不同类型的节点来组成网络。其中Peer节点承载着账本和智能合约,是整个区块链网络的基础。在这篇文章中,会详细分析Peer的结构及其运行方式。

在本文中,假设读者已经了解区块链、智能合约等概念。

本文基于Fabric1.4LTS。

区块链网络是一个分布式的网络,Fabric也是如此,由于Fabric是联盟链,需要准入机制,所以在网络结构上会复杂很多,下面是一个简化的Fabric网络:

各个元素的含义如下:

对于Fabric网络,外部的用户需要通过客户端应用,也就是图中的A1、A2或者A3来访问网络,客户端应用需要通过CA证书表明自己的身份,这样才能访问到Fabric网络中有权限访问的部分。

在上面的网络中,共有四个组织,R1、R2、R3和R4。其中R4是整个Fabric网络的创建者,网络是根据NC4配置的。

在Fabric网络中,不同的组织可以组成联盟,不同的联盟之间数据通过Channel来隔离。Channel中的数据只有该联盟中的组织才能访问,每一个新的Channel都可以认为是一条新的链。与其他的区块链网络中通常只有一条链不一样,Fabric可以通过Channel在网络中快速的搭建出一个新的区块链。

上面R1和R2组成了一个联盟,在C1上交易。R2同时又和R3组成了另外一个联盟,在C2上交易。R1和R2在C1上交易时,对R3是不可见的,R2和R3在C2上交易时,对R1是不可见的。Channel机制提供了很好的隐私保护能力。

Orderer节点是整个Fabric网络共有的,用来为所有的交易排序、打包。比如上面网络中O4节点。本文不会对Orderer节点进行详细说明,可以把这个功能理解为比特币网络中的挖矿过程。

Peer节点表示网络中的节点,通常一个Peer就表示一个组织,Peer是整个区块链网络的基础,是智能合约和账本的载体,Peer也是本文讨论的重点。

一个Peer节点可以承载多套账本和智能合约,比如P2节点,既维护了C1的账本和智能合约,也维护了C2的账本和智能合约。

为了可以更深入了解Peer节点的作用,先了解一下Fabric整体的交易流程。整体的交易流程图如下:

Peer节点按照功能来分可以分为背书节点和记账节点。

客户端会提交交易请求到背书节点,背书节点开始模拟执行交易,在模拟执行之后,背书节点并不会去更新账本数据,而是把这个交易进行加密和签名,然后返回给客户端。

客户端收到这个响应之后就会把响应提交到Orderer节点,Orderer节点会对这些交易进行排序,并打包成区块,然后分发到记账节点,记账节点就会对交易进行验证,验证结束之后,就会把交易记录到账本里面。

一笔交易是否能成功是根据背书策略来指定的,每一个智能合约都会指定一个背书策略。

Peer节点代表着联盟链中的各个组织,区块链网络也是由Peer节点来组成的,而且也是账本和智能合约的载体。

通过对上面交易过程的了解可以知道,Peer节点是主要的参与方。如果用户想要访问账本资源,都必须要和peer节点进行交互。在一个Peer节点中,可以同时维护多个账本,这些账本属于不同的Channel。每个Peer节点都会维护一套冗余账本,这样就避免了单点故障。

Peer节点根据在交易中的不同角色,可以分成背书节点(Endorser)和记账节点(Committer),背书节点会对交易进行模拟执行,记账节点才会真正将数据存储到账本中。

账本可以分成两个部分,一部分是区块链,另一部分是CurrentState,也被称之为WorldState。

区块链上只能追加,不能对过去的数据进行修改,链上也包含两部分信息,一部分是通道的配置信息,另一部分是不可修改,序列化的记录。每一个区块记录前一个区块的信息,然后连成链,如下图所示:

第一个区块被称之为genesisblock,其中不存储交易信息。每个区块可以被分为区块头、区块数据和区块元数据。区块头中存储着当前区块的区块号、当前区块的hash值和上一个区块的hash值,这样才能把所有的区块连接起来。区块数据中包含了交易数据。区块元数据中则包括了区块写入的时间、写入人及签名。

其中每一笔交易的结构如下,在Header中,包含了ChainCode的名称、版本信息。Signature就是交易发起用户的签名。Proposal中主要是一些参数。Response中是智能合约执行的结果。Endorsements中是背书结果返回的结果。

WorldState中维护了账本的当前状态,数据以Key-Value的形式存储,可以快速查询和修改,每一次对WorldState的修改都会被记录到区块链中。WorldState中的数据需要依赖外部的存储,通常使用LevelDB或者CouchDB。

区块链和WorldState组成了一个完整的账本,WorldState保证的业务数据的灵活变化,而区块链则保证了所有的修改是可追溯和不可篡改的。

在交易完成之后,数据已经写入账本,就需要将这些数据同步到其他的Peer,Fabric中使用的是Gossip协议。Gossip也是Channel隔离的,只会在Channel中的Peer中广播和同步账本数据。

智能合约需要安装到Peer节点上,智能合约是访问账本的唯一方式。智能合约可以通过Go、Java等变成语言进行编写。

智能合约编写完成之后,需要打包到ChainCode中,每个ChainCode中可以包含多个智能合约。ChainCode需要安装,ChainCode需要安装到Peer节点上。安装好了之后,ChainCode需要在Channel上实例化,实例化的时候需要指定背书策略。

智能合约在实例化之后就可以用来与账本进行交互了,流程图如下:

用户编写并部署实例化智能合约之后,就可以通过客户端应用程序来向智能合约提交请求,智能合约会对WorldState中数据进行get、put或者delete。其中get操作直接从WorldState中读取交易对象当前的状态信息,不会去区块链上写入信息,但put和delete操作除了修改WorldState,还会去区块链中写入一条交易信息,且交易信息不能修改。

区块链上的信息可以通过智能合约访问,也可以在客户端应用通过API直接访问。

Event是客户端应用和Fabric网络交互的一种方式,客户端应用可以订阅Event,当Event发生时,客户端应用就会接受到消息。

事件源可以两类,一类是智能合约发出的Event,另一类是账本变更触发的Event。用户可以从Event中获取到交易的信息,比如区块高度等信息。

在这篇文章中,首先介绍了Fabric整体的网络架构,通过对Fabric交易流程的分析,讨论了peer节点在交易中的作用,然后详细分析了peer节点所维护的账本和智能合约,并分析了peer节点维护账本以及peer节点执行智能合约的流程。

文/Rayjun

[1]

[2]

[3]

区块链的分类

目前区块链分为三类,其中混合区块链和私有区块链可视为:广义私有链,公共区块链公共区块链。意味着世界上任何个人或团体都可以发送交易,交易可以由区块链有效确认,任何人都可以参与其共识过程。公共区块链是目前最早的区块链,也是使用最广泛的区块链。每个比特币系列的虚拟数字货币都以公共的区块链为基础,世界上只有一个区块链对应这种货币。

拓展资料

1.工业区块链行业blockchains:组内多个预选节点指定为记账员,每个区块的生成由所有预选节点共同决定(预选节点参与共识过程),其他接入节点可以参与交易,但不干扰核算过程(本质上,它是管理簿记,但它成为分布式簿记。多少预先选择的节点和如何确定每个块的簿记员成为区块链的主要风险点),其他任何人都可以通过区块链的开放API进行有限的查询。私人区块链Private区块链((privateblockchains)):只有区块链的总账技术用于记账。它可以是一个公司或个人独家书面许可的区块链。这个链与其他分布式存储方案没有太大的不同。目前(2015年12月),保守的巨头(传统金融)想要尝试私有的区块链,而公共链的应用,如比特币,已经产业化,私有链的应用产品还在探索中。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的一种新的应用模式。区块链是比特币的一个重要概念。本质上,它是一个去中心化的数据库。

2.同时,作为比特币的底层技术,它是一系列与加密方法相关联的数据块。每个数据块包含一批比特币网络交易信息,验证其信息的有效性(防伪)并生成下一个区块。事实上,区块链这个词并没有出现在英文原版的比特币白皮书中,而是出现在区块链中。在最早的比特币白皮书中,区块链被翻译为区块链。这是汉语“区块链”最早出现的时间。国家互联网信息办公室于2019年1月10日发布《区块链信息服务管理条例》,自2019年2月15日起施行。从狭义上讲,区块链是一种按时间顺序组合数据块的链式数据结构,以及由密码学保证的防篡改和可伪造的分布式分类帐。广义上讲,区块链技术是一种新的分布式基础设施和计算方法,它使用区块链数据结构来验证和存储数据,使用分布式节点共识算法来生成和更新数据,使用密码学来确保数据传输和访问的安全性,采用由自动脚本代码组成的智能契约对数据进行编程和操作。

节点的类型有哪些?

比特币P2P网络中的各个节点相互对等,但是根据所提供的功能不同,各节点可能具有不同的分工,每个比特币节点都是钱包、矿工、完整区块链、网络路由节点的功能集合。

主流区块链技术有哪些

本文试图对区块链有关技术流派和主流平台进行一个概览,作为学习区块链技术体系的导览,意在抛砖引玉,促进区块链开发社区的讨论与共识。区块链技术的流派未战先谋局,你想投入区块链开发这个领域,至少先要搞清楚现在有哪些玩家,各自的主张和实力如何。划分区块链技术流派并无一定之规,据我所见,或可有以下四种方式:第一是按照节点准入规则,划分为公有链、私有链和联盟链。公有链的代表自然是比特币和以太坊,私有链则以R3Corda声名最盛,联盟链的代表作品是Hyperledger名下的Fabric。公有链注重匿名性与去中心化,而私有链及联盟链注重高效率,而且还往往设置了准入门槛。公有链、私有链与联盟链之间的这些不同都在技术中有所体现,比如私有链和联盟链假设节点数目不大,可以采用PBFT算法来形成共识。而公有链假设有大量且不断动态变化的节点网络,用PBFT效率太低,只能采用类似抽彩票的算法来确定意见领袖。这就意味着,私有链与联盟链很难变成公有链,而用公有链来作联盟链或私有链虽然容易,却也并非即插即用。此种差异,学者不可不察。第二是按照共享目标,划分为共享账本和共享状态机两派。比特币是典型的共享账本,而Chain和BigchainDB也应属此类,这几个区块链系统在各个节点之间共享一本总账,因此对接金融应用比较方便。另一大类区块链系统中,各个节点所共享的是可完成图灵完备计算的状态机,如以太坊、Fabric,它们都通过执行智能合约而改变共享状态机状态,进而达成种种复杂功能。第三是按照梅兰妮·斯旺所描述的代际演进,将区块链系统分为1.0、2.0和3.0三代。其中1.0支撑去中心化交易和支付系统,2.0通过智能合约支撑行业应用,3.0支撑去中心化的社会体系。比特币和Chain应属于区块链1.0系统,而以太坊和Fabric是区块链2.0系统,目前尚无成功的区块链3.0系统出现,不成功的尝试倒是有那么一个,就是著名的TheDAO。第四是按照核心数据结构,分为区块链和分布式总账两派。区块链这一派在系统中真的实现了一个区块的链作为核心数据结构,而分布式总账这一派,只是吸取了区块链的精神,并没有真用一条区块链作为核心数据结构,或者虽然暂时用了,但声明说吾项庄舞区块链,意在分布式总账耳,若假以时日,因缘际会,未尝不可取而代之也。主流区块链技术平台了解流派划分,仍是只能用来指点江山,吹牛论道,要动手,总要有个切入点。区块链货币据说已经有上千个了,但值得关注的技术平台大概只有数十个,而如果要进入区块链开发领域,打下一个好基础,练出一身好功夫,捞到几个好offer,则值得深入研究学习的平台,屈指可数。首先当然是比特币。比特币作为区块链的第一个也是目前为止最成功、最重要的样板工程,已经上线运行了八年多,本身没有发生任何严重的安全和运维事故,其稳定与强悍堪称当代软件系统典范。比特币BitcoinCore是一个代码质量高、文档良好的开源软件,从学习区块链原理、掌握核心技术的角度来说,BitcoinCore是最佳切入点,能够学到原汁原味的区块链技术。当然,BitcoinCore是用C++写的,而且用了一些C++11和Boost库的机制,对学习者的C++水平提出了较高的要求。学习比特币平台开发还有一个优势,就是可以对接繁荣的比特币技术社区。目前围绕比特币进行改进和提升的人很多,人多力量就大,诸如隔离验证、闪电网络、侧链等比较新的想法和技术,都率先在比特币社区里落地。比如侧链技术的主要领导者Blockstream是由密码学货币元老AdamBack领衔的,而Blockstream是BitcoinCore最大的贡献者之一,所以一些有关侧链的技术在比特币社区里讨论最充分。但比特币作为一个典型的区块链1.0系统,是不是支撑其他类型区块链应用的最佳技术平台,存在很大的争议。另外,也不是所有人都有能力和必要精通区块链底层技术。所以对那些急于冲到区块链领域里做(quān)事(qián)的人来说,可能更直截了当的学习目标是以太坊和HyperledgerFabric。在以太坊上面用Solidity进行的智能合约开发是切入区块链开发最简单的方式,没有之一。以太坊的理想非常宏大,由于配备了强大的图灵完备的智能合约虚拟机,因此可以成为一切区块链项目的母平台,是驮住整个区块链世界的大乌龟。在以太坊上开发一个类似比特币的加密货币,是一个不折不扣的小目标。一般有经验的开发者在文档指导下,半天到一天即可入门。问题在于,入门以后又如何?靠写Solidity是否就可以包打天下?这是大大存疑的。我们也可以反过来说,如果以太坊+Solidity是区块链的终极解决方案,那么怎么还会出现那么多区块链技术门派呢?特别是,以太坊似乎并没有给现实世界中巨型的中心化组织们留下一条活路,这种彻底不妥协的革命态度有可能也成为以太坊推广的障碍。当前以太坊项目的开发进展并不顺利。一个比较突出的问题是项目过多,力量分散,导致项目质量参差不齐。但尽管如此,跟其他区块链2.0平台相比,以太坊提供的开发环境是最简单最完善的。初学区块链的人绝对有必要学习以太坊,从而对区块链和智能合约建立起一个最“正宗”的认识。主流区块链技术平台的第三支就是Fabric,它是Hyperledger的第一个也是最知名的孵化项目。Fabric最早来自IBM的OpenBlockchain项目,到2015年11月,IBM将当时已经开发完成的44,000行Go语言代码交给Linux基金会,并入Hyperledger项目之中。在2016年3月一次黑客马拉松中,Blockstream和DAH两家公司将各自的代码并入OpenBlockchain,随后改名为Fabric。到目前为止,Fabric与Intel提供的SawtoothLake并列为Hyperledger的一级孵化项目,但前者得到的关注远超后者。从技术角度来说,Fabric思路不错,重点是满足企业商用的需求,比如解决交易量问题。众所周知,比特币最大的短板是它每秒钟7个交易的上限,完全无法满足现实需要。而Fabric目标是实现每秒钟10万交易,这个量接近刚刚过去的双十一交易量瞬时峰值,完全可以满足正常条件下的行业级应用。Fabric用Go语言开发,也提供多种语言的API。特别值得一提的是,Fabric比较充分地运用了容器技术,比如其智能合约就运行在容器当中。这也是Go语言带给Fabric的一项福利,因为Go语言静态编译部署的特征很适合开发容器中的程序。Fabric还有一些特点,比如其membership服务可以设置节点准入审查,这是典型的联盟链特征。再比如其共识算法是可定制的。Fabric的短板是体系较为复杂,虽有文档,但缺少经验的开发者学习起来障碍比较大。然而由于其定位清楚,迎合了不少企业的心态,所以已经有多家机构在基于Fabric秘密研发行业内的联盟链项目。

logo设计

创造品牌价值

¥500元起

APP开发

量身定制,源码交付

¥2000元起

商标注册

一个好品牌从商标开始

¥1480元起

公司注册

注册公司全程代办

¥0元起

    官方电话官方服务
      官方网站八戒财税知识产权八戒服务商企业需求数字市场
相似回答
大家正在搜