摘要: 区块链节点的深度指南
近日,区块链服务网络BSN已启动国际节点的部署,预计在BSN商用前可完成20个国际节点的部署。除了联盟链和私有链(均为许可链Permissioned Blockchain),BSN境外节点和境外门户还将允许支持公有链(Permissionless Blockchain)节点的部署和运行。本文的目的是作为科普文章让大家更好地理解公有链各类节点的区别和特点。内容直接翻译自:nodes.com
也许您正考虑或刚开始使用区块链加密技术,但还没有真正理解节点的概念。在本文中,您将阅读到所有节点相关的信息,了解什么是区块链节点,它们如何运行以及它们在加密货币中所扮演的角色。
区块链网络中的节点是什么?
首先,让我们了解一下区块链节点的概念。简单地说,代币网络中的每个参与者都是一个节点。根据不同的特征,节点分为不同的类型,使用者需要特定的硬件才能托管或连接到其中的一个。
基于P2P(点对点)网络的原理,公有链技术本质上是去中心化的,这是其吸引广大公众的关键特性之一。在大多数网络中,公有链没有专用服务器,不是一个授权机构,而是用户之间的共识。由于每一个用户对于整个网络的安全性和完整性都至关重要,因此,成为某个加密货币社区的一员不仅令人兴奋,也是一种责任。
以比特币为例,这里有两种类型的节点:一种是存储副本链的全节点,这种节点通过验证数据来保证区块链上数据的安全性和正确性;另一种是轻节点,即每个参与的用户。每一个轻节点都需要连接到一个全节点,以便同步网络的当前状态并能够参与运行。
分布式网络中的共识机制
在前文中提到了共识,这是一种加密术语。区块链网络以区块形式运行、确认被写入区块信息的有效性并(或)执行的规则称为“共识机制”。
如前所述,加密货币在分布式的P2P网络上运行。可以想象,与很多人达成共识机制必然会导致规则过于复杂,这就是共识算法起作用的地方。最常见的是工作量证明(PoW)和权益证明(PoS),两者之间的差异将在后文进行介绍。无论选择哪种数字货币,它们都有一个关键的相同点——依靠全节点执行规则和验证交易。虽然必须通过某种类型的节点来达成共识机制,但是P2P网络的优点在于任何人都可以成为全节点,从而实现更高级别的独立性和分散性。
以前文给出的比特币为例:用户可以自由下载整个区块链并验证区块,由此创建越来越多的分类帐副本并用作参考,从而提高了整个网络的安全性。与以太坊相比,原始加密货币提供了最高级别的权力下放,例如:成为验证者需要由一定数量的用户投票,且可用头寸受到限制。但也因此产生了操纵区块链网络的方法。
区块链最常见的潜在威胁是51%攻击,即一半以上的网络“算力”集中在一个实体中(可以表现为单一用户或多用户之间的协作)。这样一来,该实体就可以根据自己的意愿更改共识机制,这可能会导致垄断。每个参与者要么被迫继续遵循新规则,要么硬分叉(在后文解释),要么放弃这个项目。虽然在区块链的日常运行中有严格的执行规定,但为了发展网络,需要社区投票决定变更,从而能够长期发展。
区块链节点的类型
简单地概括,节点分为两种主要类型:全节点和轻节点。另一种描述节点的术语是提供钱包功能的客户端。完整的区块包含区块链历史的副本,即所有创建的区块。轻节点或SPV(简单付款验证)节点都是仅下载区块头并为用户节省硬盘空间的钱包。下文将详细探讨不同的子类型。
全节点(Full Nodes)
全节点充当分布式网络中的服务器,它们的主要任务是维护其他节点之间的共识规则以及交易验证。它们还存储区块链的副本,使整个区块链网络更加安全,并启用自定义功能,例如:即时发送和非公开交易。
在为区块链网络的升级做出决策时,由全节点对提案进行投票。如果超过51%的全节点不同意该提案,那么该提案将被跳过。在某些情况下,这可能会导致分叉,即区块链网络无法就某项变更达成共识,因此各行其是,形成了两个链。这种情况最著名的例子是比特币现金叉。
精简节点(Pruned Nodes)
一种类型是精简节点,这种节点的特征是最初它从头下载区块,一旦达到设置的限制,便删除最旧的区块,仅保留其区块头信息和链位置,例如:如果将储存容量限制设置为550MB,则存储的将是该硬盘空间可容纳的所有最新块,但要达到这样的状态,必须先通过整个区块链来验证所有先前的区块。
精简节点被认定是全节点,因此也可以验证交易并参与共识。
归档节点(Archival Nodes)
归档节点是大多数人在谈论全节点时所指的节点,他们设想了一个在其数据库中托管整个区块链的服务器。正如前文提及的内容,归档节点的主要任务是保持共识机制并验证区块。精简节点和归档节点之间的区别是二者在服务器或计算机上占用的硬盘驱动器空间量不同。
归档节点可以分为两个子类型:可向区块链添加区块的子类型和不能添加区块的子类型。
可向区块链添加区块的节点
可以向区块链添加区块的节点是区块链的主要组成部分,它们的运行方式取决于所执行的共识机制,并且至少需要一个完整的归档节点才能运行。
矿工(挖矿节点)Miners (Mining Nodes)
这是一个已经被大众熟悉的概念,矿工实际上是节点(全节点或轻节点),它们存在的目的是证明该节点已完成创建区块所需的工作。因此,共识也被称为工作量证明。如前文所述,为了完成任务,矿工需要自己是一个全节点,或者从网络上的其他全节点接收数据,以了解区块链的当前状态以及下一个区块的所需参数。
区块链加密货币的参与者使用硬件组件(例如:CPU,GPU或ASIC)来解决密码问题,每个具体任务的第一个完成者将其结果广播到网络,以便通过全节点进行验证。一旦达成共识,就可以将其结果作为区块添加到现有的区块链中。除了获得该区块的交易费用,矿工还会获得预定义数量的数字货币奖励,这种奖励被称为创币或创币交易。这是该区块中的第一笔交易,它是免费的,因为矿工自己创建了该区块。
权益质押(权益质押节点)Stakers (Staking Nodes)
权益质押可以与传统的法定存款相比较,它同样可以被购买和持有,并获得利息作为回报。但与法定存款不同的是,虽然权益质押的共识机制标准并不统一,但以权益质押方式来进行获利的主要特征就像买彩票。权益质押是一种机会游戏,进入的门槛较低。但与挖矿相比,确定性较低,有时可能会产生安全性的隐患。
权益质押节点的最终目标是根据一组预先制定的规则和运气因素确定谁将创建下一个区块并获得奖励,影响因素包括货币年龄(拥有货币的时间)、拥有货币的数量以及它们在网络中所有可用货币的比例。权益质押过程不需要任何昂贵的硬件设备,只需要让加密钱包全天候在线运行即可,这可以通过Raspberry Pi等设备完成。
为了能够进行权益质押,权益质押节点必须是一个完整的归档节点,即下载加密货币的核心钱包并将整个区块链保留在设备上。如果想更深入地探讨这一概念,或者想了解哪些是头号权益质押数字货币,请访问www.staking.com。
授权节点(Authority Nodes)
前文介绍的公有链节点都可以在无需任何授权的情况下加入网络并运行,这就是公有链的特质——去中心化。公有链共识算法的解决方案囊括采用某种程度的集中化来获得诸如提高速度之类的好处。共识算法包括委托权益证明机制、授权拜占庭容错算法、权威证明等。
利用共识算法的区块链网络需要固定数量的授权节点,具体数量由社区投票或开发团队决定。与全节点一样,这些节点的任务是创建和验证区块,同时将信息分发给网络上的用户。所有未选择为授权节点的参与者都将运行轻节点(轻型节点),这些轻节点的运行依赖于广播数据。
主节点(Masternodes)
与全节点相比,主节点本身不能向区块链添加区块,只有矿工或权益质押节点才是能在区块链上添加区块的节点。主节点的作用是保留交易记录并进行验证。通过运行主节点,不仅可以保护网络安全,还可以分享服务收益。
要建立主节点,您需要锁定一定数量的资金作为抵押。您应该全天候在线,在专用虚拟服务器上托管被认为是一种好习惯。如果您想了解更多有关如何设置自己的主节点或最好的主节点数字货币信息,请访问masternodes.com。
轻(SPV)节点 Lightweight (SPV) Nodes
轻节点或简单支付验证(SPV)节点是另一种日常加密操作中使用的区块链节点。您可能已经对它有过印象,但是您可能更习惯把它定义为“轻钱包”。
这两种类型的节点依靠全节点为它们提供必要的信息与区块链通信,由于它们没有存储链的副本,因此它们仅能查询一个区块的当前状态,并进行广播交易处理。
由于上述特性,运行SPV节点不需要很多资源,也正因如此,这种节点在安全性上作出了牺牲。
闪电节点(Lightning Nodes)
闪电节点是一个非常有趣的概念,它们既不是全节点,也不是轻节点。
闪电节点概念的背后是在区块链外部的用户之间建立连接,以此减轻网络负载,显著缩短传输时间,并提高加密货币的可用性。闪电网络的交易费用确实很低,通常大约相当于10至20 satoshi。
闪电节点的工作方式是在实体之间搭建单独的支付渠道。以百吉饼商店和鲍勃为例:鲍勃和商店创建了一个类似保管箱(多重签名地址)的东西,他们俩都有各自的钥匙。鲍勃存入自己的资金,并用它们支付百吉饼。每笔交易均需双方同意,并且几乎是即时发生的。一旦鲍勃有足够的百吉饼或者没钱了,他或商店就可以关闭连接,获取最新的资产负债表,并将其广播到网络上。
用这种方式,交易各方可以直接交互,不必等待每笔交易被确认,从而减少浪费空间的网络数据,降低区块链的负载。此外,如果有人想与同一方进行交易,闪电节点将搜索中介数量最少且传输费用最低的路径,从而减少等待时间和其他成本。
这样,各方可以等待彼此之间的交互并降低区块链的负载,而不必等待每笔交易被确认并在网络上传浪费空间的数据。此外,如果其他人想与同一方打交道,则闪电网络将搜索中介数量最少且转移费用最低的路径,从而减少等待时间。
分叉后的节点发生了什么?
在了解了不同类型的加密货币节点如何运行后,让我们探讨一下如何将其与网络共识机制和分叉联系起来。
在前文中曾提到,如果全节点之间没有达成至少51%的协议,则对网络更改的提议将被拒绝。但是,如果网络社区中有足够数量的人仍想接受更改,网络就会发生分叉。开发人员将使用加密货币的源代码创建一个新的客户端,并实现提议中对网络的更改。用户愿意按提议修改网络,就下载新版本客户端以支持现在的分叉链。
硬分叉
简而言之,硬分叉是对区块链网络共识机制的更改。每一个与之前使用的客户端版本不兼容的更改都被视为硬分叉,可能因更改而引起硬分叉的共识参数包括:新的区块奖励、区块时间、从PoW到PoS的过渡、主节点的实现等。
一旦一个硬分叉被启动,网络上每一个尚未更新到新版本客户端的节点都会因为其操作无效而被共识机制一致拒绝。这就是开发人员和社区通常避免重大更改的原因之一,因为这意味着一些人将被排除在外,过渡阶段可能会危及网络的安全。
软分叉
另一种将更改引入网络的方法是软分叉。与硬分叉相反,这种类型的更改不会强制用户更新其节点。
以比特币增加隔离见证功能为例:到目前为止,无论是否使用此功能的客户端都可以在BTC的区块链上进行交易。一旦网络上95%的客户端更新到支持隔离见证的版本,共识规则将自动更改并拒绝所有没有该功能的旧交易。不强制用户立即更新,使网络更新的过渡更加顺畅。
虚拟专用服务器(VPS)及其在节点上的使用
是否使用虚拟专用服务器取决于个人喜好。如果您决定运行主节点、闪电节点或是权益质押节点,VPS将是非常适用的,因为您只需支付少量费用即可获得针对“DDoS服务“攻击的保护,而且无需维护任何硬件,也不必担心带宽功能。
如果您没有采取足够的安全预防措施,只要您将加密货币存储在钱包中,您的服务器就有可能被人侵入并窃取资金。这些都是基础知识,建议您在决定是否租用一台VPS服务器之前,先对其进行详细研究。
常问问题
为什么我要托管一个全节点?
如果您渴望支持给定数字货币的区块链网络,或者只是不想依靠其他全节点来获取信息,则可以托管自己的数据库并存储区块链的副本。这样更加安全,但是设置时间会更长。
主节点比全节点好吗?
本文已论述了主节点和全节点,它们的功能相似。如果您的目标是获利,那么运行主节点将是您的最佳选择。
我可以通过托管区块链节点获利吗?
答案是肯定的,但取决于您决定托管哪种类型的节点。使用主节点,您将获得服务报酬,但是您必须考虑锁定在主节点本身的初始投资。另一个选择是权益质押节点,它将为您提供被动收入,您的收入随着对其投资的增加而增加。
一台计算机上可以运行多少个节点?
取决于您的硬件功能。一个钱包只能同时运行一个实例,因此您需要使用虚拟机。如果您决定使用VPS,则需要确保您使用不超过80%到85%的可用资源,否则您的节点可能会被提供商关闭、限制或采取其他的措施。
哪些是最佳的VPS提供商?
提供商的选择完全由您自己决定,但根据我自己的经验和市场研究,顶级供应商包括:Amazon EC2、DigitalOcean Droplets、Vultr和Microsoft Azure等。