一个完整的区块链网络中包含许许多多的节点,理论上每一个节点都可以是一个完整功能的节点,具备矿工/交易/验证等功能;但是在实际使用中人们可以根据实际情况需要和条件限制来决定一个节点主要扮演怎样的角色,根据实际承担的功能不同可以把节点划分为3类:
1. Miner 矿工节点
这类节点一般运行在算力强大的硬件之上,唯一的目的就是快速的挖矿。矿工节点只存在采用POW(Proof-of-Work)机制的区块链项目中,因为挖矿的本质就是大量的数据运算;所以在POS(Proof-of-Stake)机制的区块链项目中就没有矿工的概念。
2. Full node 全节点
这部分节点的工作是对新生成的区块和交易做验证,因此他们要拥有完整的区块数据。同时这部分节点还担任部分路由功能,帮助其他节点互相发现。由此看来在一个健全的区块链网络中这部分节点是十分重要的。
3. SPV 简化交易验证节点
Simplified Payment Verification的简写,这部分节点并不保存整个区块链的完整数据,但是依然可以验证部分交易,比如那些发送到指定地址的数据。一个SPV节点从Full node获取数据,多个SPV节点可以连到同一个Full node,SPV节点的存在是一些钱包应用的基础,这些钱包应用并不需要保存庞大的区块链数据但是依然可以验证交易。