经历了五年的区块链领域工作, 不仅对公链进行了深入的实践与研究,也对联盟链有所涉及, 因此在搭建节点方面的经验可以说是极其丰富的, 所遇到的问题和困难足以积累出一条街道的规模。

所谓的区块链各类节点, 从本质上来说, 就是为了实现链上数据的同步操作以及完成交易验证功能的特定场所或者说是工作位置, 因此, 如果要成功地进行上链操作之前最重要的基础步骤之一, 就是必须清晰地了解每一种类型的节点具体负责执行什么样的任务, 并且掌握它们应该如何去进行搭建和配置。

区块链各类节点有哪些:从零部署一条链必须搞懂的节点分类与选型

区块链各类节点有哪些

大家见到得最多的就是全节点, 它能够保存完整链数据, 可以独立验证每一笔交易, 所以它特别适合用来做核心验证工作。然后还有位置更靠下一级的轻节点, 这个节点仅仅只保存区块头的信息, 它是依靠SPV证明来确认交易的状态的, 现在手机App如果要接入链条的话, 基本上都得靠它来实现。

最后还有一种非常容易被人忽视掉的索引节点, 这种节点是专门给前端程序拿来去做数据检索使用的, 它是不参与到共识过程中的。

在联盟链里面出现了见证节点这样的一个新的东西, 它是由相关的参与方自己来进行指定的。

区块链各类节点怎么分

把它按照功能进行切分, 具体分为验证类型、数据类型以及服务类型这三种。其中, 验证类主要负责处理出块共识相关的事务, 数据类的任务是存储全量账本, 而服务类则是对外暴露API接口。

在生产环境中强烈建议执行分机部署的策略, 如果这么做的话, 可以防止某一个进程发生内存溢出错误而导致整个链的数据都陷入危险之中。

按照信任等级来划分的话也是有讲究的, 全信任节点可以跨域同步数据, 半信任节点只能走公证桥, 我见过一个项目把轻节点放在不受信的VPC里, 三个月后被灌入假交易, 一旦选错信任级别代价会很大。

关于节点选型的事情, 其实并没有一个标准的答案可以套用。大家得去仔细看看共识机制是什么样子的, 还要看看数据量级究竟是多少大。

首先要做的是把分类逻辑这部分的内容彻底地弄清楚, 吃透它。然后再拿着这个逻辑, 对着具体的应用场景一个一个地去进行排除。这种做法比去背诵那些枯燥的概念要实在得多, 也要有效得多。