区块链的节点与组织

区块链节点是区块链最重要的基础设施之一,没有节点,就没有区块链。区块链的节点除了作为不同功能的通讯节点外,还参与了区块链网络的算力贡献。通讯节点,任何连接到区块链网络的计算机或其他设备,都可以被视为区块链网络的通讯节点,通讯节点之间互相进行着交流,主要通过区块链的点对点协议传输交易和区块信息。算力贡献节点,主要指区块链网络中全节点类型的出块节点,这些节点直接参与区块链网络的出块计算,是区块链网络不可或缺的重要节点。

区块链节点还可以根据不同性质细分为归档节点、全节点、轻节点,不同类型节点的区别在于保留存储的数据量不同,归档节点最全,轻节点最少。不同类型节点数据存储方面,归档节点会存储区块链网络中的所有历史区块数据,全节点对于Checkpoint前的区块只存储区块头而不用存储区块内的具体交易信息,Checkpoint后的区块存储方式和归档节点一致,轻节点对于所有区块都只存储区块头。

通常情况下,如果想参与挖矿,运行一个全节点即可;如果想作为RPC服务来使用则需要运行一个归档节点;轻节点则主要作为钱包来使用。

不过,在联盟链环境下,一般只有归档节点一种。联盟链中的每个节点的权限都完全对等,各节点在不需要完全互信的情况下就可以实现数据的可信交换。

公链作为开放网络,一般没有组织之说。区块链组织主要是针对联盟链的。联盟链是由多个私有链组成的集群,由多个组织共同管理,每个组织管理一个或多个节点。联盟链的各个组织组成利益相关的联盟,共同维护区块链的健康运转。联盟链的节点只有通过全部组织授权后,才可以加入或退出网络。

联盟链的组织代表着背后的机构,参与整个联盟链的投票和治理。比如,部署合约,需要所有的组织投票通过,才可以部署成功。

同时,联盟链组织之间还可以分工协作,比如组织A负责用户模块,组织B负责交易模块,组织C负责查询模块,组织D......。这种可以实现链业务的解耦,便于维护、管理和升级。