去中心化的追逐:比特币与以太坊的全节点
去中心化的概念
在一个分布有众多节点的系统中,每个节点都具有高度自治的特征。节点之间彼此可以自由连接,形成新的连接单元。任何一个节点都可能成为阶段性的中心,但不具备强制性的中心控制功能。节点与节点之间的影响,会通过网络而形成非线性因果关系。这种开放式、扁平化、平等性的系统现象或结构,我们称之为去中心化。
去中心化,不是不要中心,而是由节点来自由选择中心、自由决定中心。简单地说,中心化的意思,是中心决定节点。节点必须依赖中心,节点离开了中心就无法生存。在去中心化系统中,任何人都是一个节点,任何人也都可以成为一个中心。任何中心都不是永久的,而是阶段性的,任何中心对节点都不具有强制性。
比特币的节点
我们这里阐述的主要是全节点,全节点是拥有完整区块链账本的节点,全节点需要占用内存同步所有的区块链数据,能够独立校验区块链上的所有交易并实时更新数据,全节点在区块链分布式账本中主要的作用是负责区块链的交易的广播和验证。
比特币全节点就是通过下载安装比特币客户端(如 Bitcoin Unlimited 版本、Bitcoin core 版本等), 并同步数据来保全完整区块链数据的节点。
当前,完整的比特币网络交易数据大小约为 200GB ,这对一个普通人来说,门槛并没有特别高,你只需要拥有一台几千元的笔记本电脑,下载比特币客户端,就能成为一个全节点,来亲自验证交易,查看账本。
从这一点来看,你不需要相信任何中介,这些分布式的节点会负责实时更新数据,广播和验证交易,每个人都有成为节点的可能。
当然,为了进一步降低确认交易的门槛,Bitcoin Core 0.12.0 版本客户端之后提供的一种修剪节点的功能,这种修剪节点同样可独立完成比特币转账确认,但是它并没把整个区块链的数据都保存到本地,也就无法提供完整的区块链给其它节点。
以太坊的节点
以太坊的全节点叫做“档案节点”,相较于比特币,以太坊系统无疑是更加复杂,比特币专注于一件简单的事情:存储账本和传递价值,这是一个优雅简单的区块链网络;由于以太坊在比特币的基础上,添加了 EVM 虚拟机,具有可计算、可编程功能,除了交易转账之外,它还存储着大量的“状态”数据。
以太坊的状态爆炸,给系统的存储带来了较大的压力。一个完整的以太坊网络数据是比特币的10 倍,接近 2TB,这对一个普通用户来说,存储完整数据是一件困难且门槛很高的事情。
从这一点来看,普通用户独立运行一个以太坊档案节点是困难的。随着以太坊各类应用程序的”涌现“,DApp 对以太坊节点的需求越来越大,但一个普通的 DApp 开发者运行一个以太坊档案节点是没有必要的,所以,几乎所有 DApp 的选择都是依赖于以太坊生态一个最为重要的节点集群的第三方运营商 Infura ,而 Infura 又是托管在亚马逊云服务器上的,所以,他有两层中心化风险。
以太坊对此也有一些解决方案,研发轻节点的客户端,供以太坊“涌现”协议使用。这是一种只下载区块头交易或状态数据的节点,我们称之为简化支付验证(SPV)节点,又称轻节点。
在正常情况下,SPV 轻节点的运行是良好的,但当多数全节点出现不诚实行为的情况下,轻节点的安全保障就会变得很较弱。
由于以太坊网络数据太过庞大,随着以太坊生态的发展,其将要面临的挑战也越来越大。轻节点的目的是使以太坊轻客户端的安全程度能够向全节点靠近,这是否能证明最终有效,还需要时间来验证。
总结
全节点数量的多寡,才代表整个区块链网络系统的安全程度,这也是区块链网络安全的主心骨。总的来说,就目前的情况而言,比特币的节点健康情况要显著优于以太坊,而后者想要解决这个问题,需要付出更多的努力。
Scan QR code with WeChat