Skip to content

Latest commit

 

History

History
97 lines (86 loc) · 8.25 KB

File metadata and controls

97 lines (86 loc) · 8.25 KB

网络类型

  • 区块链它是一个p2p网络结构的网络系统
  • 在实际的部署过程当中,它还可以有哪些具体的分类呢?

1 ) 按网络范围

  • 简单的说可以分成公有链联盟链私有链,当然这三个范围的划分的其实也并不是一个特别严格的一个定义
  • 一、公有链的主要是指部署在互联网范围之内,没有特别的一个权限的一个设置,也没有其他的一些什么登陆上的一些条件
    • 比如比特币,以太坊,任何人都可以直接下载节点来使用
    • 任何人也可以直接通过一个客户端来连接一个节点,是没有什么限制的
    • 其中的数据,也能够被任意的访问
  • 二、联盟链也就是由若干个节点成员来组成的一个联盟网络,这种类型,主要是使用在商业环境之下
    • 比如说多个商家之间,政府的政务,银行,税务等,他们可以共同组成一个联盟,为某一个具体的场景服务
    • 比如说像企业跟他的客户之间,供应商之间等等可以形成一个联盟网络
    • 所有的银行,比如说国内外的银行,所有的银行之间也可以连成一个联盟
    • 联盟链相对于公有链来讲,它一般是有一个身份鉴权的,并不是所有人都可以直接来联入联盟链这个网络的
    • 它有一个身份鉴权(有一些权限上的一些设置),同时对于数据也有一些更多的保护
  • 三、私有链更多的是在企业的内部
    • 比如一个集团企业,它的各个部门之间, 它的子公司之间
  • 从这个角度来说,这三种,它们的一个主要的区分在于针对不同的应用场景,针对一个网络的分布范围所形成的一个网络部署的差别
    • 比如说比特币本身是一个公有链,但是如果把比特币的节点程序下载下来,我在一个局域网内我也可以部署一个比特币的私有链
    • 它是一个灵活的概念,这三者之间是根据不同的网络范围,根据应用场景的一个划分,并不是一个严格意义上的界定

2 ) 按部署方式

  • 可以划分为:全节点共识节点路由节点以及服务节点
  • 全节点:也叫 full node, 也就是全功能节点
    • 对于区块链的一个节点来说,它包含着一个所有的技术专家组成,比如说p2p网络功能,完整的区块链账本数据,以及网络路由功能,包括共识,区块打包等等这些功能
    • 包含所有功能的这么一个节点就叫做全节点,也就是全功能节点
  • 除了全节点,有些节点可能只是摘取其中的一个功能为主来实行专门的一个节点功能的部署
  • 比如说路由节点
    • 路由节点是不维护一个完整的区块链账本数据的
    • 而且也不负责区块打包这些事务,它仅仅来维持,增强p2p网络的连接能力
    • 它会维护一个路由表,维持网络中很多节点的路由信息,以便于网络节点之间的互联,协助进行网络穿透等服务
  • 共识节点,所谓共识,其实就是跟打包相关, 通过一个共识机制,实行对区块数据的打包这些处理
    • 专门来实行这样的一个公共服务的就是共识节点
    • 比如说像比特币里面有专门来做挖矿的这么一个节点,比如说像矿池程序,这样的节点,就叫共识节点
  • 服务节点是除了以上这些以外,专门提供其他的一些服务的节点
    • 比如说专门提供一些网络功能调用等,以便于客户端访问的这样的一些节点,这个叫服务节点
  • 当然除了这4种分类以外,我们根据自己的需求也可以去部署一些特定功能的节点
  • 这种就是按部署方式来划分的一些网络中的节点类型

3 ) 按层次结构

  • 按照层次结构来划分,主要有三种:主链, 侧链, 中继链
  • 比如说主链,对一个区块链系统部署以后,主要运行的一个区块链网络,这个就叫主链
    • 比如说比特币主链,以太主链等
  • 为主链,锚定主链服务而提供了一些其他增强功能的链,叫侧链
    • 比如基于比特币的闪电网络,基于比特币的主链提供的一些其他的一些增强功能
    • 在比特币中,如果说每一笔转账都走比特币网络,那有可能引起一个网络拥堵
    • 在用户操作比较频繁忙的时候,我们可以设置一条比特币的侧链,在侧链中可以进行一些小的转账支付
    • 最终每隔一个周期在主链上执行一次支付结算,那么这个就叫做侧链
  • 中继链,实际上是一个更加宽泛的概念,它是为链与链之间的通信服务的
  • 主链与侧链的关系更多的是有一个锚定关系,侧链往往不会单独去运行,而是以主链为一个参照
  • 而中继链,比如说是比特币网络与以太网络之间,或者以太网络与EOS之间等等,不同的区块链系统之间,它们如何来交换数据?
    • 咱们可以专门来实现一个中继链来处理
  • 这些就是按照一个网络层次结构来划分的
    • 比如说以主链为参照,锚定主链的,就叫做侧链
    • 为区块链之间的数据交互来服务的叫做中继链
  • 按层次结构可以做一个简单的这样的一个划分,其实这些是根据不同的应用场景来划分
    • 因为无论是主链,侧链,中继链,它们本身都是一个独立的,完整的区块链系统
    • 只是站在一个功能层次结构的视角上来进行的一个划分

4 ) 按应用范围

  • 按照一些特定的功能场景来做一个总结
  • 有些区块链系统的功能是以数字货币为主的,比如比特币,莱特币等,那么它叫数字货币区块链系统
  • 有些以资产交易功能为主,比如说像BTS,也就是比特股
  • 有些是以跨链交互为主的,比如像是Cosmos
  • 有些是以存证溯源为主的
  • 这些功能往往它并不是说完全是孤立的
    • 比如说提供提供资产交易的这样的一个区块链系统可能本身也包含一个数字货币的功能
    • 提供跨链交互功能的这么一个系统,它本身可能也能用于存证溯源,或者说是一些资产交易的功能
    • 它的功能之间并没有一个严格的隔离,只是对于一个区块链系统来说,它在设计之初会有一个既定的一个主要的目标和特点
    • 比如比特币,在比特币网络中虽然也是可以来做一些存证的功能,但它更主要的功能是实现了一个数字货币
  • 还有一些是有一个通用基础功能的,比如以太坊,EOS等它们是一个通用功能
    • 在这个链上,从编程角度来讲,它几乎什么都能干,它既能去实现一个数字货币,也能去实现一个资产交易,也能做一些跨链交互,啥都能干
    • 啥都能干未必说是一个最好的设计,对于区块链系统来讲,往往在应对不同的应用场景来说,会有它的一些优势,也会有它的一些短板
    • 比如说专门为资产交易来设计的区块链系统,它对交易功能的支持,往往会强于通用性的设计
  • 还有些是以支付结算为特点的,当然支付结算本身,像银行之间实现一个支付结算的一个网络
  • 按照应用范围远不止这6种,这里只是做了一个示例
  • 随着区块链的发展,它的应用场景呢也在不断的被发现,按应用来划分,它的延展性还是比较大的

小讨论

  • 区块链系统是一个单一的运行程序吗?(对一个区块链系统它是不是只有一种节点运行程序?)
  • 全节点相比其他节点主要特点是什么?
  • 未来会出现很多的区块链系统吗?
    • 因为现在实际上到目前为止已经出现了很多的公链,联盟链系统
    • 在未来在很多应用场景中,有没有必要出现更多的区块链系统
    • 还是说基于某一类系统就可以支持各种应用场景
  • 公有链与联盟链的主要差异是什么?
  • 跨链技术主要需要解决的问题是什么?
    • 跨链技术是一个很大的范畴
    • 这里我们主要解决的问题,就是说在跨链过程当中,我们假设很多技术本身可以实现,那么它最关注的问题点是什么?
    • 比如说在跨链数据的交互当中,交互的安全性,可靠性等等