为什么全节点对免许可的区块链如此重要?

作者:SSI Ambassador

一个比特币节点就是一个通过比特币点对点网络协议来参与全球比特币网络的计算机。这种协议让网络中的节点可以彼此沟通、传播区块和交易。

一个全节点存储着全部历史交易,它们都是写到区块链这种数据结构里面的(译者注:这是一种误解,全节点的定义是具备实时验证新出现的区块的能力。在比特币中网络中有一种 “pruning node”,它仅保存最近的一些区块,但保存了网络最新的状态(UTXO 集),因此也能实时验证区块,也属于全节点)。它们具备根本性的左右,因为它们是网络中发生的每一笔交易和每一个区块的验证者。当一个新区块在网络中广播时,全节点会根据本地的账本副本来确定资金有没有被重复花费、是否立即可用。

通过运行全节点,运营者变得完全独立,因为 TA 不需要依赖于任何第三方(比如区块浏览器或者钱包软件供应商)。信任诚可贵,验证价更高。为了实现独立性和交易确定性,保管着大量资金的公司和个人都应该运行全节点。

手机钱包所用的节点

几乎所有的手机钱包都依赖于第三方的服务端,来发送和验证交易。因为这些智能手机无法下载超过 200 GB 的区块链数据,它们通常被称为 “轻节点”。

有一种机制,可以让电源有限的客户端验证比特币交易而无需运行全节点,叫做 “简易支付验证(SPV)”。一个比特币的 SPV 钱包只需要比特币最长链的每一个区块的区块头副本,这可以通过向网络中的节点查询来得到,还可以多方比对直至出现显然的最长链。然后,钱包使用 SPV 客户端,请求证明一些交易被某个区块确认的默克尔证据。这样的证据证明网络已经确认了这笔交易。

(译者注:这样的证据需要用到区块头中的 “交易默克尔树根” 数据。这就是为什么轻节点需要向全节点请求区块头。)

(译者注:在当前的比特币生态,SPV 机制已经被明确认为是缺点比较明显的机制。取而代之的是 BIP 158 致密区块过滤器。值得一提的是,在移动端钱包使用这些机制,都是为了减少所需的信任程度,使得钱包软件不至于沦为某个服务端的用户接口。)

如果 SPV 足以验证交易,为什么还要有全节点呢?

如果没有全节点的话,运行 SVP 轻客户端的节点根本就无法假如网络。但是,还有一个更根本的理由:情节点不会验证每一笔交易,因此,它实际上信任全节点会保证区块和交易会根据共识规则得到正确的验证。因此,每一个全节点都为整个网络的健壮做出了贡献(而轻节点并没有)。

此外,SPV 模式仅适用于比特币协议。(译者注:这也是一种误解。)

运行全节点的好处

运行全节点保证了节点运营者可以完全掌控自己的钱。因为软件、硬件和交易数据都在自己的掌控之下。比特币的所有意义都在于参与网络的个体不需要信任任何第三方。这就是为什么我们也管它叫 “免信任系统”。

此外,运行全节点对网络也有很大的好处,它让网络变得更加去中心化,反过来也提高了抵抗攻击的抗性。(……)

全节点在所有权、地理和实现上的去中心化,将更进一步保护这些去中心化协议的核心价值。

(译者注:一个作者没有提到的好处是,全节点可以更好地保护你的交易隐私性。)

更大的图景

基于免许可区块链的产品,是开放、公开、无国界、中立和抗审查的,是对抗监控式资本主义反民主商业活动的最佳方式,也是为个人用户赋能的最佳方式。

我们还有机会谱写货币的故事的下一个章节。在开放和公开的网络,与监控式资本主义控制准入的网络之间作出你自己的选择。只要你想保持活力,成为一个真正颠覆性的网络的一部分,而不是乞求许可,那么选择是很容易的。