主页 > imtoken官网下载2.0 > 白话区块链第 4 部分:区块链分类和架构

白话区块链第 4 部分:区块链分类和架构

imtoken官网下载2.0 2023-09-09 05:07:45

【编辑 Peter Ye 出版社】

以下段落为:第 1 章第 4 节“区块链分类和架构”。

- -开始 - -

通过以上的了解,我们知道区块链系统其实是一个维护公共数据账本的系统,所有的技术单元都是为了更好的维护这个公共数据账本而设计的。 采用共识算法实现节点账本数据的一致性; 通过密码算法保证账本数据的不可篡改和数据传输的安全性; 通过脚本系统扩展了账本数据的表达范围。

从本质上讲,我们甚至可以认为区块链系统实际上是一个专门设计的数据库系统或分布式数据库系统。 在这个数据库中,可以存储数字货币,存储的逻辑可以更复杂。 智能合约和更广泛的业务数据。

在区块链系统的发展过程中,也经历了这样一个阶段。 从比特币开始,早期的区块链系统都是面向数字货币的,比如比特币、莱特币等,现阶段我们可以认为区块链系统是支持数字货币合约的系统; 后来,出现了一个更灵活的系统,可以支持自定义智能合约。 其代表作是以太坊,可以认为是比特币等数字货币体系的延伸。 但以太坊仍然由内置的数字货币支持,延续了比特币体系的金融特性,也使得以太坊的应用更加面向金融领域; 之后的代表就是超级账本项目,尤其是fabric子项目,在这个系统中,超越金融领域的应用,支持各个领域的数据定义。 我们将这三个阶段称为区块链系统的 1.0\2.0\3.0 架构时期。

为了让大家在开发过程中对区块链系统有一个整体的概念,在本节中,我们对常见的区块链系统的架构进行描述,并从不同的角度对区块链系统进行分类。

一、区块链架构 一、区块链1.0架构

如前所述,现阶段的区块链系统主要用于实现数字货币。 我们先看一下示意图:

白话区块链 之4: 区块链分类与架构_区块链

如图所示,整个架构分为核心节点和前端工具。 这里要提到核心节点中“矿工”的作用。 1.0架构系统中的矿工主要承担两个任务。 第一种是通过竞争获得区块数据的打包权后,内存池中的交易数据(在网络中发送但尚未确认入块的交易数据,属于待确认的交易数据)被打包成区块并广播给其他节点; 二是接受系统对打包行为的数字货币奖励,使系统通过这种奖励方式完成新币的发行。

以太坊创始团队有哪些人_以太坊的整体架构有哪几层_以太坊有保值价值吗

在前端工具中,最明显的是钱包工具。 提供钱包工具,供用户管理自己的账户地址和余额; 浏览器用于查看当前区块链网络发生的数据,如最新的区块高度、内存池中的交易数、单位时间内的网络处理能力等; RPC客户端和命令行界面用于访问核心节点的功能。 此时核心节点相当于一台服务器,通过RPC服务函数调用接口提供。

2. 区块链2.0架构

区块链2.0架构的代表产品是以太坊,那么我们可以套用以太坊的架构来说明,先看示意图:

白话区块链 之4: 区块链分类与架构_比特币_02

如图所示,与1.0架构相比,最大的特点就是对智能合约的支持。 在以太坊中,我们使用智能合约开发工具来开发合约程序,编译成字节码,最后部署到以太坊区块链上。 在账本中,部署的智能合约在称为以太坊虚拟机的虚拟机上运行。 正是通过这样一个智能合约的实现,扩展了区块链系统的功能。 同时我们也可以看到以太坊还是支持数字货币的,所以在应用工具中也有钱包工具。

3. 区块链3.0架构

在3.0架构中,超越数字货币或金融应用范围,以区块链技术作为泛解决方案,可应用于行政管理、文化艺术、企业供应链、医疗健康、物联网等其他领域。物联网、产权登记等方面的应用,都可以认为是面向行业的应用。

行业应用普遍需要企业级属性,如身份认证、授权、加密传输等,同时对数据处理性能也有要求。 所以企业级场景的应用往往是联盟链或者私有链。 . 我们先看一下示意图:

白话区块链 之4: 区块链分类与架构_区块链_03

如图所示,首先,在3.0架构中,数字货币不再是必选组件。 当然,如果有必要,我们也可以通过智能合约来实现数字货币。 与之前的架构相比以太坊的整体架构有哪几层,最大的特点是增加了网关控制,实际上增加了对安全保密支持的需求,通过数据审计加强数据的可靠性管理。

以太坊创始团队有哪些人_以太坊有保值价值吗_以太坊的整体架构有哪几层

在3.0架构中,其实可以看做是一套框架。 通过框架的配置和二次开发,适应各行各业的需求。 比如图中的“可插拔共识”,就是说共识机制是不固定的。 , 但用户可以自行选择配置。

2. 区块链分类

1.根据网络范围

可分为公有链、私有链和联盟链。

(一)公链

所谓公有制,就是完全对外开放。 任何人都可以任意使用。 没有权限设置和身份认证。 不仅任何人都可以参与使用,而且所有发生的数据都可以随意查看。 比特币是一个公共链网络系统。 使用比特币系统时,只需下载相应的软件客户端,创建钱包地址,转账交易,挖矿等操作,即可自由使用。

由于公链系统根本没有第三方管理,它依赖于一套预先约定好的规则来保证每个参与者都可以在不受信任的网络环境中发起可靠的交易。 一般来说,公链适用于任何需要公众参与和数据最大透明度的系统,如数字货币系统、众筹系统、金融交易系统等。

这里有一点需要注意。 在公链环境下,节点数量不固定,无法控制节点是否在线,甚至无法保证节点是否为恶意节点。 我们在上面几章讲解区块链的一般工作流程的时候,提到了一个问题。 在这种情况下,我们如何知道数据已被大多数节点写入并确认? 事实上,在公链环境下,这个问题并没有很好的解决方案。 目前,最合适的方式是不断地相互同步。 最后,网络中的大多数节点都是同步的。 由一致的区块数据形成的链被识别。 主链,也就是所谓的最终一致性。

(2) 私有链

这是一个与公链相反的概念。 所谓私有链,是指不对外开放,只在组织内部使用的系统,比如企业票据管理、会计审计、供应链管理等,或者一些政务管理系统。 私有链在使用过程中,通常会有注册需求,即需要提交身份认证,需要一套权限管理体系。

以太坊创始团队有哪些人_以太坊的整体架构有哪几层_以太坊有保值价值吗

可能有些朋友会有疑惑。 比特币、以太坊等系统虽然都是公链系统,但是如果这些系统都建立在不与外网相连的局域网中,这不就成了私有链了吗? 从网络传输范围来看是可以算的,因为这个网络只要一直和外网隔离,一直只能自己使用,但是因为系统本身没有任何身份认证和权限设置,所以从技术角度来看,这种情况只能算是公链系统客户端搭建的私有测试网。 例如以太坊可以用来搭建私有链环境。 通常这种情况可以用来测试公链系统。 当然,它也可以适用于企业应用。

在私有链环境下,节点的数量和节点的状态通常是可控的,所以在私有链环境下,一般不需要通过竞争来筛选区块数据的加壳者,更加节能环保可以采用友好的方式,如上述共识机制介绍中提到的POS(Proof of Stake)、DPOS(DelegateProof of Stake)、PBFT(Practical Byzantine Fault Tolerance)等。

(3) 联盟链

联盟链的网络范围介于公有链和私有链之间。 它通常用于具有多个成员角色的环境,例如银行之间的支付结算、企业之间的物流等。在这些场景中,它通常由具有不同权限的成员参与使用。 与私有链一样,联盟链系统一般都有身份认证和权限设置,节点数量往往是确定的,非常适合企业或机构之间的交易处理。 联盟链不必完全控制。 比如在政务系统中,有些数据可以对外公开,​​也可以部分公开。

由于联盟链一般用于特定组织之间,像私有链一样,节点的数量和状态也是可控的,通常采用更节能环保的共识机制。

2.根据部署环境

(1) 主链

所谓主链,就是真正部署在生产环境中的区块链系统。 在正式发布之前,软件会经过多次内部测试版本,找出一些可能存在的bug,并用于内部演示,查看效果。 正式版要到年底才会发布。 主链也可以说是由官方客户端组成的区块链网络。 只有主链才会真正得到推广和使用,各项功能设计相对完善。 另外,有时候,区块链系统会因为各种原因出现分叉,比如挖矿时临时出现的小分叉等,这时最长的原链称为主链。

(2) 测试链

这很容易理解。 是开发者为了方便大家学习和使用而提供的一个用于测试目的的区块链网络,比如比特币测试链,以太坊测试链等,当然不是说你必须是区块链开发者才能提供测试链,用户也可以自行搭建测试网。 测试链中的功能设计与生产环境中的主链可能存在一些差异。 比如在主链上采用工作量证明算法进行挖矿,在测试链上可以更改算法,方便测试。

以太坊有保值价值吗_以太坊的整体架构有哪几层_以太坊创始团队有哪些人

3.按对接类型

(1)单链

可以独立运行的区块链系统可以称为单链,比如比特币主链和测试链; 以太坊主链和测试链; 莱特币主链和测试链; 联盟链等。这些区块链系统具有完整的组件模块,形成一个自成一体的系统。

大家要注意,对于一些软件系统,比如基于以太坊的众筹系统或者财务担保系统,这些只能算是智能合约应用,不能算是一个独立的区块链系统。 应用的运行需要一个独立的区块链系统的支持。

(2) 侧链

侧链是属于区块链系统的跨链技术。 这个概念主要是由比特币侧链发起的。 随着技术的发展,除了比特币,越来越多的区块链系统也应运而生。 每个系统都有自己的优势和特点。 不同的链条如何结合,打通信息孤岛,取长补短?

侧链就是这些技术之一。 以比特币为例,比特币系统主要是为了实现数字加密货币,业务逻辑也固化了,所以不适合实现金融智能合约、小额快速支付等其他功能。但是,比特币比特币是目前使用规模最大的公有区块链系统,在可靠性和去中心化保障方面具有相当大的优势,那么如何利用比特币网络的优势运行其他区块链系统呢?

可以考虑在现有的比特币区块链之上构建一个新的区块链系统。 新系统可以拥有很多比特币不具备的功能,比如隐私交易、快速支付、智能合约、签名覆盖量等,这些新功能的使用通过比特币网络创造了更多的其他应用,并且可以与比特币的主要区块链。 简单来说,侧链是一种基于锚定比特币的新型区块链。 目前锚定比特币的侧链包括ConsenSys的BTCRelay、Rootstock、BlockStream的元素链。

大家要注意,侧链本身就是一个区块链系统,侧链不一定非要用比特币作为参考链。 这是一个通用的技术概念。 比如以太坊可以作为其他链的参考链,也可以自己作为侧链和其他链进行锚定。 其实抛开链和网的概念,就是不同的软件之间相互提供接口,增强软件之间的功能互补性。 我们看一下侧链的示意图:

白话区块链 之4: 区块链分类与架构_区块链_04

以太坊的整体架构有哪几层_以太坊创始团队有哪些人_以太坊有保值价值吗

通过这个简单的示意图,我们可以看出区块链系统和侧链系统本身是一个独立的链系统,两者之间可以按照一定的协议进行数据交互。 这样,侧链就可以起到扩展主链功能的作用,很多在主链中不方便实现的功能都可以在侧链中实现,侧链可以通过数据增强其可靠性与主链的交互。

(3) 跨链

过去,我们的电脑没有联网,所有的软件都在单机上运行。 人们认为电脑无非就是这样,他们可以做一些办公工作和玩游戏。 后来有了互联网,各种有趣又强大的应用程序如雨后春笋般涌现,现在我们的生活几乎可以说离不开互联网。 只是一个互连带来了如此多的能量。

区块链也是如此。 目前各种区块链系统层出不穷,有的只实现数字货币,有的实现智能合约,有的实现金融交易平台,有的是公链以太坊的整体架构有哪几层,有的是联盟链等等等等等等,这么多链,五光十色,不同的功能,各种新奇的应用,脑洞大开,不断刷新新的应用方式。

那么,如果这些链系统能够相互联系起来,会发生什么样的化学反应呢? 区块链应用不同于传统软件,具有数据不可篡改、完整性证明、自动网络共识、智能合约等独特属性,从最初的数字货币到未来可能的区块链可编程社会,这些都不会既改变了生活服务方式,也促进了社会治理结构的变革。 如果每条链条都是一根神经,一旦连接起来,就会像一个神经系统,为我们的社会发展带来更新。 智力水平。

还有一个,从技术角度来说,区块链系统之间的互联互通可以相互补充,每一类系统都会有优势和劣势,在功能上相互补充,甚至可以相互验证。 大大提高了系统的可靠性和性能。

- -结尾 - -

未完待续,下一节将介绍《创世元灵:一切源于比特币》。 欢迎继续关注“快乐生活,爱IT”。

现阶段微信公众号平台“快乐生活,爱IT”主要分享软件定义存储(SDS)和VMware vSAN相关文章,偶尔分享虚拟化、云计算、大数据、人工智能、IoT、IT区块链之类的文章,甚至是生活方面的好文章。

欢迎对SDS感兴趣的朋友加入软件定义存储讨论Q群:122295009,在这里可以下载一些原创文章和其他有价值的文档。

同时欢迎您加入“开放讨论群-SDS&虚拟化”微信群,并邀请其他对SDS和虚拟化感兴趣的朋友加入本微信群。