聊聊|聊聊 CITA 节点的那点事
admin
2023-08-16 21:05:38
0次

本周想和大家聊聊 CITA 节点那点事。主要包括以下三方面内容:

  • 普通节点
  • 共识节点
  • 节点个数
普通节点 定义
普通节点,其含义是该节点可以同步区块链上的交易,并且对交易进行验证执行,同时,还可以接受 DApp 的 JSON-RPC 请求;但它并不参与共识投票,也不会主动发起区块让其它节点投票。也就是如 节点分类 中定义的那样,普通节点除了没有出块和投票的权限外,其它能与与共识节点相同。
有些客户也把 CITA 的普通节点称做只读节点,其含义都是同一个,大家需知晓。
如何获得一个普通节点
在向 CITA 网络中添加一个节点时,首先需要获得一个对应链的节点配置文件。
假设有一条链已经在运行(为了下文件描述的方便,暂称 chain_x),现在需要在 chain_x 上添加一个普通节点。要完成这个操作:
首先需要回到原来生成 chain_x 的目录。也就是之前你用命令初始化链的那个目录,你是否还记得如下面的初始化链的命令:
$ bin/cita create --chain_name chain_x --super_admin “0x37d1c7449bfe76fe9c445e626da06265e9377601” --nodes “127.0.0.1:4000,127.0.0.1:4001,127.0.0.1:4002,127.0.0.1:4003”
就是需要把到这个地方!!然后执行:
$ bin/cita append --chain_name chain_x --node “127.0.0.1:4004”
这个 append 命令执行成功后,就能在在 chain_x 目录下获得一个新的节点配置文件,如:
$ ls chain_x/
0 1 2 3 4 template
其中 4 便是新生成的节点配置文件。
将这个配置文件分发到对应该的服务器启动,新节点将自动加入 chain_x 网络,而这个新节点便是一个 普通节点 。
有这里,我有必要解释一下,为什么一定要回对之前的初始化目录?最重要的原因是,新添加的节点需要使用与 chain_x 其它节点相同的 创世块 ,否则它将无法同步 chain_x 的块,也就无法加入 chain_x 这个网络。
所以,当大家开始运维一条 CITA 链时,在这里有两个 Tips 给到大家:
  • 请妥善保管好这个初始化的目录,因为后面添加节点需要用到它;
  • 在运行单个节点时,最好把对应单个节点的配置从初始化目录中独立出来,初始化目录单独管理会比较好一些。
除了 append 的可以获一个普通节点,还可以将一个共识节点降级为普通节点。这在下面的共识节点小节中会详细说明。
如何删除一个普通节点
CITA 使用的是 p2p 网络来接入新节点,当一个普通节点关闭后(包括关机或关闭相关进程),它将自动退出网络。
p2p 是自由接入的网络,理论上讲一个符合条件的普通节点是可以随时自由地进出网络的。链的管理者如果想去删除一个普通节点,让其强制退出网络,需要使用防火墙机制禁止对应节点的 tcp 连接。
共识节点 定义
共识节点具有出块和投票权限,交易由共识节点排序并打包成块,共识完成后即被确认为合法区块。
简单地说,共识节点就是参与出块的节点。
如何获得一个共识节点
  • 所有在初始化时生成的节点都是共识节点。
  • 可以将一个普通节点升级为共识节点。
【聊聊|聊聊 CITA 节点的那点事】如将公钥地址为 0x59a316df602568957f47973332f1f85ae1e2e75e 的节点升级为共识节点:
$ cita-cli scm NodeManager approveNode
–address 0x59a316df602568957f47973332f1f85ae1e2e75e
–admin-private 0x5f0258a4778057a8a7d97809bd209055b2fbafa654ce7d31ec7191066b9225e6
–url http://127.0.0.1:1337
可以看到,这个需要传入 --admin-private,即链的管理员私钥,所以大家在创建链以后,一定要妥善保管好私钥,因为后面链的维护和管理都需要管理员私钥。
重要 Tips :
大家在增加共识节点前,最好确保这个节点已经是普通节点,并且已经同步到最高的区块。否则,可能因为这个新增的共识节点没有到达最高区块而无法参与共识,从而影响链的容错能力。
不要一次增加多个共识节点,要待前一个增加完成,并且正常出块后再增加下一个。否则可能会因新增的节点暂时无法参加共识而导致整个链无法出块。
如何删除一个共识节点
准确地说,应该是取消一个共识节点的出块与投票权限,即将其降为普通节点。
如取消公钥地址为 0x59a316df602568957f47973332f1f85ae1e2e75e 的节点共识权限:
$ cita-cli scm NodeManager deleteNode
–address 0x59a316df602568957f47973332f1f85ae1e2e75e
–admin-private 0x5f0258a4778057a8a7d97809bd209055b2fbafa654ce7d31ec7191066b9225e6
–url http://127.0.0.1:1337
节点个数 之前有好几次与客户交流的时候曾提到以下的问题:
  • 使用 CITA 一定要部署 4 个节点吗?
  • 使用 CITA 部署多少个节点合适?
在这里首先想回答的是 CITA 可以部署 1 个节点,而不是大家常理解的必须部署 4 个节点。
以下,我想从三方面谈谈 CITA 的节点个数问题。
多副本性
CITA 天生就是一个多副本系统,当其中一个副本出错、被意外删除或其它原因导致不可用时,能够自动地从其它节点同步数据。
其实多副本系统部署在不同机器甚至是不同地理位置的机器才能发挥它的最大功效。如果你只有一台机器(或云主机),其实部署一个 CITA 节点就可以了,因为在同一台机器上部署多个 CITA 节点,其容错能力并没有提高,如果这台机器宕机了,整个链也就不能工作了。
那么,部署 2 个或 3 个 CITA 节点是不是就没有意义了呢?在我看来,是有意义的!虽然它没有节点容错能力,但如果你能在不同地理位置部署 2 个或 3 个 CITA 节点,意味着它是一个多副本系统;一方面,它可以承载不同地理位署的业务流量,同时,当其中一个节点的数据不可用时,可以从其它节点恢复正确的数据。
容错性
CITA 采用的是类 PBFT 共识,具有一定的容错能力,其容错的节点个数(这里讲的是共识节点个数):
n = (N - 1) / 3, 其中 n 与 N 都是自然数
当你希望获得 1 个节点的容错能力时,你就至少要部署 4 个共识节点,当前希望获得 2 个节点的容错能力时,就至少要部署 7 个共识节点,依次类推。
这里所讲的容错能力,是指即使有 n 个节点出错、宕机、或做恶,整个 CITA 区块链系统还能够正常工作。
验证能力 大家可能比较困惑 普通节点 能做什么,以及应该部署几个合适。
我觉得 普通节点 主要给你带来两方面的能力:
  • 验证能力。即当你的希望验证区块链上的所有交易(可能是因为你不信任联盟中的那几个共识节点,万一他们集体做恶的话,我怎么知道?),你就可以要求部署一个普通节点。
  • 承载流量。普通节点与共识节点一样,可以承载业务的流量。如果你有比较稳定可靠的业务流量,可能你更倾向于自己部署一个普通节点做为自己的业务流量接入。

相关内容

热门资讯

大浪淘金APP黑幕揭秘:内盘操...   大浪淘金APP平台最隐蔽的黑幕,在于其完全封闭的内盘交易系统。这个看似与国际市场接轨的交易平台,...
告别固定工资实现财富自由?一品...   普通投资者被广告宣传诱导,注册就送现金,充值返现金券等等这些宣传方式,都是在引流到平台开户,不怕...
哈易购APP打着现货交易幌子搞...   网络上各类白银、铂金等贵金属投资广告铺天盖地,不少平台以"现货交易"为名,暗中却从事着非法期货交...
5元起投!高额收益?中国白银、...   上海华通白银国际交易中心有限公司(以下简称“华通白银国际”)打着“白银、铂金现货订购”的旗号,实...
"九州订购APP、起...   近年来,贵金属投资热度持续攀升,但乱象也随之而来。一些不法分子趁机搭建虚假交易平台,打着"低门槛...
坚锅淘金APP投资者频繁爆仓亏...   坚锅淘金APP对外宣称是贵金属现货交易平台,日常出入金看似畅通无阻,给人一种合规运营的假象。但事...
斗金订购APP“5元订购现货”...   斗金订购APP“5元订购现货”骗局揭秘:充值易、回本难,越陷越深!  许多投资人在未核实平台合规...
贵金属APP乱象曝光:&quo...   当前市场上部分贵金属类APP未取得正规交易资质,涉嫌误导消费者参与白银、铂金等商品的非合规交易!...
华通白银、银宝街APP被指虚假...   警惕现货白银投资陷阱:上海华通白银背后的平台涉嫌非法期货交易  近年来,各类现货白银交易平台以“...
充值送300,月入过万?别被量...   如今,网络上充斥着大量未经批准的贵金属及其他产品订购交易平台。这些平台普遍缺乏合法经营资质,却将...
鑫汇智投APP贵金属非法期货、...   鑫汇智投APP贵金属非法期货、人为控盘,大量投资者遭恶意收割  鑫汇智投APP长期以“低门槛、高...
矅光智策APP非法贵金属交易骗...   不少投资人在矅光智策APP上进行贵金属交易后出现了严重亏损。许多人在下载该平台时,根本不清楚其是...
飞鸽订购APP非法期货交易骗局...   飞鸽订购APP非法期货交易骗局,很多投资者根本没搞懂规则就盲目充值,买涨买跌跟买cai票一样!平...
天龙白银APP被操控的非法期货...   中小投资者在网络平台参与商品现货订购交易,表面看似合规合法,实则暗藏诸多难以察觉的风险。商品现货...
下载送试玩金?千万别碰!带你揭...   当前,许多贵金属APP交易平台正采用欺诈性营销手段。它们通过抖音等短视频平台,以“5元起投”“充...
泡泡淘金APP骗局:打着&qu...   泡泡淘金APP骗局:打着"商品订购"幌子,实则非法期货收割投资者!投资需谨慎,切勿轻信“高额回报...
南商云购APP虚假电子盘背后的...   南商云购是虚假电子盘吗?它是否具备合规的交易资质?这个曾经的"现货电子盘"如今摇身一变,披上了"...
警惕"祥龙订购&qu...   祥龙订购APP、掌上银牛APP等平台背后的运营方——四川禄宏商品现货市场有限公司,仅具备现货交易...
中国白银、华银:虚假宣传、后台...   中国白银APP宣称是上市公司“中国白银集团”与“上海华通白银国际交易中心”旗下的现货交易平台,提...
起底“优品订购”APP非法期货...   “优品订购”APP根本不具备任何合法的交易资质。其背后的运营方仅凭随便注册一家公司、开发一款交易...