运行节点要符合加密世界无处不在的精神:去信任,要验证。原文标题:《详解区块链节点:如何有效地运营自己的节点?》
撰文:SupraOracles
区块链节点通过它们的连接、交互组成网络,该网络通过共识机制将新区块添加到链上,本文将解释如何有效地运营自己的区块链节点。
01什么是区块链节点?
在深入讲解如何运行节点之前,我们有必要了解一下什么是区块链节点。通常在计算机网络中节点可以是计算机或任何涉及在计算机网络内接收和发送数据的设备,因此在区块链网络中每个账本参与者都是一个节点。
基于P2P网络的原理,公有链技术本质上是去中心化跟开源的,在大多数网络中,公有链没有专用服务器,不是一个授权机构,依赖于用户之间的共识。节点通常通过共享状态信息、对其协议的治理进行投票以及验证传入交易的新块来在网络内进行通信。
Beosin:SEAMAN合约遭受漏洞攻击简析:金色财经报道,根据区块链安全审计公司Beosin旗下Beosin EagleEye 安全风险监控、预警与阻断平台监测显示,2022年11月29日,SEAMAN合约遭受漏洞攻击。Beosin分析发现是由于SEAMAN合约在每次transfer函数时,都会将SEAMAN代币兑换为凭证代币GVC,而SEAMAN代币和GVC代币分别处于两个交易对,导致攻击者可以利用该函数影响其中一个代币的价格。
攻击者首先通过50万BUSD兑换为GVC代币,接下来攻击者调用SEAMAN合约的transfer函数并转入最小单位的SEAMAN代币,此时会触发合约将能使用的SEAMAN代币兑换为GVC,兑换过程是合约在BUSD-SEAMAN交易对中将SEAMAN代币兑换为BUSD,接下来在BUSD-GVC交易对中将BUSD兑换为GVC,攻击者通过多次调用transfer函数触发_splitlpToken()函数,并且会将GVC分发给lpUser,会消耗BUSD-GVC交易对中GVC的数量,从而抬高了该交易对中GVC的价格。最后攻击者通过之前兑换的GVC兑换了50.7万的BUSD,获利7781 BUSD。Beosin Trace追踪发现被盗金额仍在攻击者账户(0x49fac69c51a303b4597d09c18bc5e7bf38ecf89c),将持续关注资金走向。[2022/11/29 21:10:04]
来自不同地理位置的多样化和分散的节点有助于建立一个更强大的共识机制。如果有足够多的节点维护他们的区块链账本副本并继续区块生产,那么网络可以无限期地运行下去。
Beosin:Skyward Finance项目遭受攻击事件简析:金色财经报道,根据区块链安全审计公司Beosin旗下Beosin EagleEye 安全风险监控、预警与阻断平台监测显示,Near链上的Skyward Finance项目遭受漏洞攻击,Beosin分析发现由于skyward.near合约的redeem_skyward函数没有正确校验token_account_ids参数,导致攻击者5ebc5ecca14a44175464d0e6a7d3b2a6890229cd5f19cfb29ce8b1651fd58d39传入相同的token_account_id,并多次领取了WNear奖励。本次攻击导致项目损失了约108万个Near,约320万美元。Beosin Trace追踪发现被盗金额已被攻击者转走。[2022/11/3 12:12:36]
也正因此,由于每一个用户对于整个网络的安全性和完整性都至关重要,成为某个加密项目社区的一员不仅是件令人兴奋的事,也是一种责任。
安全团队:Audius项目恶意提案攻击简析,攻击者总共获利约108W美元:7月24日消息,据成都链安“链必应-区块链安全态势感知平台”安全舆情监控数据显示,Audius项目遭受恶意提案攻击。成都链安安全团队简析如下:攻击者先部署恶意合约并在Audius: Community Treasury 合约中调用initialize将自己设置为治理合约的监护地址,随后攻击者调用ProposalSubmitted 提交恶意85号提案并被通过,该提案允许向攻击合约转账1,856w个AudiusToken,随后攻击者将获得的AudiusToken兑换为ETH,总共获利约108W美元,目前获利资金仍然存放于攻击者地址上(0xa0c7BD318D69424603CBf91e9969870F21B8ab4c)。[2022/7/24 2:34:31]
02如何运营区块链节点?
慢雾:Inverse Finance遭遇闪电贷攻击简析:据慢雾安全团队链上情报,Inverse Finance遭遇闪电贷攻击,损失53.2445WBTC和99,976.29USDT。慢雾安全团队以简讯的形式将攻击原理分享如下:
1.攻击者先从AAVE闪电贷借出27,000WBTC,然后存225WBTC到CurveUSDT-WETH-WBTC的池子获得5,375.5个crv3crypto和4,906.7yvCurve-3Crypto,随后攻击者把获得的2个凭证存入Inverse Finance获得245,337.73个存款凭证anYvCrv3Crypto。
2.接下来攻击者在CurveUSDT-WETH-WBTC的池子进行了一次swap,用26,775个WBTC兑换出了75,403,376.18USDT,由于anYvCrv3Crypto的存款凭证使用的价格计算合约除了采用Chainlink的喂价之外还会根据CurveUSDT-WETH-WBTC的池子的WBTC,WETH,USDT的实时余额变化进行计算所以在攻击者进行swap之后anYvCrv3Crypto的价格被拉高从而导致攻击者可以从合约中借出超额的10,133,949.1个DOLA。
3.借贷完DOLA之后攻击者在把第二步获取的75,403,376.18USDT再次swap成26,626.4个WBTC,攻击者在把10,133,949.1DOLAswap成9,881,355个3crv,之后攻击者通过移除3crv的流动性获得10,099,976.2个USDT。
4.最后攻击者把去除流动性的10,000,000个USDTswap成451.0个WBT,归还闪电贷获利离场。
针对该事件,慢雾给出以下防范建议:本次攻击的原因主要在于使用了不安全的预言机来计算LP价格,慢雾安全团队建议可以参考Alpha Finance关于获取公平LP价格的方法。[2022/6/16 4:32:58]
通常来说,节点分两种主要类型:一种是存储完整账本的全节点,这种节点通过验证数据来保证区块链上数据的安全性和正确性;另一种是轻节点(lightweightnode),即每个参与的用户。每一个轻节点都需要连接到一个全节点,以便同步网络的当前状态并能够参与运行。
慢雾:Spartan Protocol被黑简析:据慢雾区情报,币安智能链项目 Spartan Protocol 被黑,损失金额约 3000 万美元,慢雾安全团队第一时间介入分析,并以简讯的形式分享给大家参考:
1. 攻击者通过闪电贷先从 PancakeSwap 中借出 WBNB;
2. 在 WBNB-SPT1 的池子中,先使用借来的一部分 WBNB 不断的通过 swap 兑换成 SPT1,导致兑换池中产生巨大滑点;
3. 攻击者将持有的 WBNB 与 SPT1 向 WBNB-SPT1 池子添加流动性获得 LP 凭证,但是在添加流动性的时候存在一个滑点修正机制,在添加流动性时将对池的滑点进行修正,但没有限制最高可修正的滑点大小,此时添加流动性,由于滑点修正机制,获得的 LP 数量并不是一个正常的值;
4. 随后继续进行 swap 操作将 WBNB 兑换成 SPT1,此时池子中的 WBNB 增多 SPT1 减少;
5. swap 之后攻击者将持有的 WBNB 和 SPT1 都转移给 WBNB-SPT1 池子,然后进行移除流动性操作;
6. 在移除流动性时会通过池子中实时的代币数量来计算用户的 LP 可获得多少对应的代币,由于步骤 5,此时会获得比添加流动性时更多的代币;
7. 在移除流动性之后会更新池子中的 baseAmount 与 tokenAmount,由于移除流动性时没有和添加流动性一样存在滑点修正机制,移除流动性后两种代币的数量和合约记录的代币数量会存在一定的差值;
8. 因此在与实际有差值的情况下还能再次添加流动性获得 LP,此后攻击者只要再次移除流动性就能再次获得对应的两种代币;
9. 之后攻击者只需再将 SPT1 代币兑换成 WBNB,最后即可获得更多的 WBNB。详情见原文链接。[2021/5/2 21:17:59]
首先,要部署区块链节点,新节点运营商必须要达到硬件和软件要求门槛,例如兼容的操作系统、足够的可用磁盘空间、RAM内存和网速。接着,运营商需根据他们所期望的参与程度下载所需的核心软件。
针对所有区块链,你都可以在运行节点上配置所需的设备、内存要求和处理能力。市场上有门槛较低的链,但也有其他一些链因为网络设计导致节点运行困难而昂贵。当然,昂贵的节点运行要求运营商的大量财务投入,可以在成本上筛掉一些试图投机的恶意节点。
例如,比特币的网络允许用户运行全节点或轻节点。对于比特币全节点来说,必须下载存储区块链历史记录并保存在本地文件中,在撰写本文时,其硬盘内存需超过380GB。
区块链节点通过它们的连接、交互和在全节点的情况下共同组成网络
再拿以太坊举个例子,根据复杂程度不一,可运行的节点为:全节点、轻节点和存档节点。
全节点更具独立性,对自己的数字资产拥有更完整的主权,不像轻节点那样需要依赖其他节点访问区块链。全节点可以连接到区块链的主网络,也可以在测试网或其他安全环境上运行,以测试和开发新软件。
轻节点对没有强大硬件或带宽能力的用户很友好,因为不需要下载以太坊的完整历史、钱包余额或智能合约代码。可以在手机或其他更小、功能更弱的设备上运行,但它们可以通过检验区块头的状态根,从而验证数据的有效性。
全节点对网络负有更大的责任,需要更复杂的硬件和软件,但他们的努力在金钱方面得到了更直接的回报。
就运营商资源而言,以太坊存档节点可能是运行难度最高的节点之一。它们需要更多的硬件设备来运行,也需要使用大容量的RAM和磁盘空间。即便使用先进的设备,新的以太坊存档节点同步也需要花费数周时间,如果使用速度较慢的HDD硬盘同步存档节点,则该节点将无法实现完全同步,因为新块生成的速度将超过这类计算机同步的速度。另外,如果客户端的节点版本出现任何错误,则该节点需要重新同步。无形的时间消耗,增加了整个运营成本。
当然,为了防止节点脱机,运行节点时应该进行定期检测,可以向兼容节点发送请求或从区块链请求数据。不然的话,如果遇到节点崩溃的情况需要手动重启设备,这很可能会之前通过验证或挖掘新块产生的收入都将丢失。
03节点运营的难点
节点运营商通常会有带宽限制与硬件性能方面的问题。很多节点运营商会向互联网提供商获取无流量限制的服务,值得注意是要警惕网络被其他不明原因占用的情况。在早期的比特币网络中,病签名曾被上传到区块链,导致Windows用户的病软件检测到病后仍遇到了问题。虽然用户的设备并没有受到感染,但他们运营节点的整体性能受到了损害。
为了解决技术以及操作门槛跟效率问题,许多区块链节点运营服务公司应运而生。节点运营商部署必要的资本和资源来连接其基础设施,并维护其与所需区块链相关的功能。
区块链服务提供商托管运行企业和其他实体的节点,为节点运营者提供诸多好处,降低了节点运营者的时间成本或专业知识要求。
根据每个客户的需求,区块链服务提供商可以达成对已集成公链的完全访问,只要运营者满足最低要求,包括在所需网络上的最低投资。服务提供商则会承担节点操作相关的繁琐内容,让客户可以专注于他们本身的专业领域而不用在操作上耗费精力。
目前市场上比较流行的区块链服务提供商有Blockdaemon、Infura、GetBlock、Alchemy、QuickNode、Figment等等。
04节点运营是否真的有利可图?
启动和维护节点有助于区块链的去中心化。在某些网络上,运行一个节点可以为运营商提供回报,因为该节点会因验证新交易和参与产生新区块的投票过程而获得报酬。
但同时,区块链节点运营也会消耗大量时间和资源,在投入和产出比上,对矿工或验证者来说是有利可图的。全节点的报酬丰厚,因为它们验证区块并存储整个区块链账本,因此验证节点可以产生可预期的收入。
尽管运行轻节点不会产生加密回报,但它仍然有助于增强用户和其他节点之间的信任、安全和隐私。拥有自己的节点意味着您无需信任第三方网络的状态或提交给网络进行验证的交易的真实性。
为了更好地说明这一点,假设您是一家仅接受实物黄金作为服务付款交易站的所有者,现在您想验证黄金是否是真实的并且确认具体的数量,您是会将其发送给检查员网络,还是安排在内部进行所有验证?换句话说,运行你自己的节点符合加密世界无处不在的精神:去信任;要验证。
来源:金色财经
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。