请问节点是不是可以理解为P2P中的各个联入的站点,区块链是保存于各个节点上的数据链,各个节点上的区块链即时更新最新的数据而且内容保持完全一致。
比如我的电脑联入这个P2P网络,就会自动更新最新的区块链,这个p2p网络中的所有节点都有一个内容一致的区块链?
--------
首先你要知道,节点(node)只是一个词,在网络相关的文献里很常见,在不同的语境,不同的系统里会有不同的意思,并不是所有的区块链乃至p2p网络里提到节点都指的一个东西。
其次,区块链这东西是什么,现在也没有明确定义。看你问题里的区块链似乎是指数据结构,但是,在现在的一般语境下,区块链是指这个分布式数据库的技术,包括这个数据结构,底层的p2p网络,以及共识算法。所以,一般谈区块链就是区块链系统,不要和p2p网络混为一谈,把这概念引进来只会让你理解起来更复杂。
区块链是个分布式系统,系统里有很多节点,这些节点你只要单纯地理解为通过互联网相连的电脑或者服务器就好了。然后根据区块链性质的不同,成为节点的方式也不同,当然,对于节点的定义也不同。对于像比特币这样的公有链,理论上来讲,你下载完整的区块链,参与交易和挖矿,才算是节点。然而,在现在的比特币里,矿工,完全节点,轻量节点,甚至普通用户,在不同的语境下都可能被称为节点。但无论如何,比特币的系统与其说是“连入网络就会自动更新区块链”,不如说是你想要挖矿或者是交易(同时你不信任其他人的验证结果),就必须更新整条区块链,这不是一个自动义务的事情,而是自愿的事情。
对于公有链而言,是你想从链上获益就必须按照规则成为节点,而不是相反。而私有链和联盟链则反过来——你先成为节点,然后按照规则行事。