区块链:您应该何时运行自己的区块链节点?

当我们谈论加密和区块链时,首先想到的一件事就是去中心化。我们喜欢一个没有任何中央权威或单点故障的系统的想法。但事实证明,您知道并使用的大多数加密应用程序和钱包都依赖于集中式提供商的后端堆栈。

虽然区块链本身因其创建的去中心化而受到称赞,并且许多协议都是根据它们的去中心化程度来评级的,但您知道和使用的大多数加密应用程序实际上都必须依赖集中式提供商。这些服务运行自己的节点以连接到区块链,并反过来为其客户提供API。

问题是,除了钱包应用程序之外,没有任何好的理由。随着加密货币比以往任何时候都更接近消费者,并最终扩展到甚至电子商务公司,意识到他们的后端堆栈现在需要与区块链密切合作。需要跟踪以太坊中的钱包数量?需要知道特定交易发生了什么?想知道哪些地址从某个地址收到了钱吗?无论您拥有在线商店还是经营投资基金,所有这些活动都可能很重要。

为什么我们需要集中式提供商?

直接连接到区块链的唯一方法是运行节点。节点本质上是一个在计算机上运行的程序,该程序连接到其他节点,以便来回发送信息,验证人与人之间发送的交易的有效性,并存储有关区块链状态的重要信息。

节点是区块链的支柱。它们将您连接到网络,并为您提供做出明智决策所需的所有数据。但是,除了挖掘和验证交易之外,节点还有许多其他用途。节点基本上就像运行加密货币软件并存储区块链副本的服务器。它们就像你自己对区块链上所有信息的个人副本,它们允许你通过发送或接收交易以及与智能合约或分散式应用程序交互来与它进行交互。

如果您想更好地控制资金,您也可以将节点用作个人钱包;这被称为“全节点”,因为它将来自所有帐户的所有交易存储在其硬盘驱动器上-但这意味着它需要比常规钱包更多的存储空间。

如果您想使用这些应用程序之一,则无需自己运行节点-它们运行自己的节点并通过它们进行连接以发送事务。但是,用户可以运行自己的节点,以便他们可以直接与网络交互,而不是通过应用程序或网站进行交互。

但必须明白,由于多种原因,您永远无法在手机上运行节点,但其中一个关键原因是区块链太大了-仅以太坊就占用了746,19Gb。如果你想自己运行一个节点,你必须专用于你的计算机,你不可能通过浏览器扩展或移动应用程序做到这一点。但是你需要一个节点才能从区块链获得可靠的实时数据。另一种选择是简单地使用其他人的节点。

如何信任该数据

区块链是关于无信任的。这就是为什么它如此吸引人。以及为什么您可以确信您的数据存储在公共分类帐上,任何人都可以查看它而无需信任任何实体。

但让我们明确一点:虽然区块链是无信任的,但它们并不是完全不可变的。他们仍然依靠公司和个人来提供对分类账的访问,这意味着如果有人想篡改你的数据,他们可能会有办法这样做。也就是说,有一些自然的威慑力可以防止篡改数据-这些威慑力来自其他希望客户继续使用其服务的公司。任何试图篡改数据的公司都可能很快被所有客户丢弃-所以这是我们不必担心我们的数据被篡改太多的主要原因之一。

如何运行自己的节点

您确实可以运行自己的节点,就像许多开发人员和应用程序实际上所做的那样。虽然这可能很困难,但它肯定是可行的。

当涉及到以太坊网络时,有三种类型的节点:全节点,轻量级节点和存档节点。全节点存储整个区块链,以便解释数据并提供快速同步功能。轻量级节点仅跟踪区块链中经常访问的部分;它们对钱包有用,但对dapps没有用。存档节点甚至懒得保留区块链的副本;它们对于存档信息很有用,但对其他方面却没有用处。

让我们仔细看看节点的类型:

完整节点是在以太坊网络上执行特定功能并为此运行客户端软件的计算机。全节点从区块链下载所有区块,并将其存储在其硬盘驱动器上。这允许用户自己验证交易,而不必信任参与确认交易的其他各方。它还可以防止矿工更改现有区块,因为它们直接从其他已经下载过它们的矿工那里下载。全节点还能够直接与公共区块链上的智能合约进行交互,这允许它们将智能合约部署到公共区块链中。运行全节点是帮助加强以太坊网络的重要方式。但是,这是有代价的。全节点可能会对计算机的硬件和带宽资源造成负担。检索完整数据也可能非常耗时,有时在首次部署节点时需要数天才能同步数据。然后,您必须维护、升级并保持节点联机,以便不必在每次发布软件更新时重复完全同步过程。

轻量级节点是一种以太坊客户端,不会从区块链下载所有区块。相反,他们只下载与他们自己的帐户余额有关的那些。这意味着轻量级客户端不需要太多的磁盘空间或带宽,因为它们只需要跟踪影响其帐户余额的最近交易,而不是区块链上发生的所有事情。关于轻量级客户端,最重要的是要了解它们并非完全不可信。他们仍然使用全节点作为网络的网关,因此,必须相信它不会以任何方式撒谎或他们。对于一些想要绝对隐私的人来说,这可能是一个问题,但对于大多数用户来说,这很好,因为他们在使用以太坊钱包时不需要绝对隐私。

存档节点是另一种类型的节点,它存储来自曾经创建的每个块的所有数据,并构建历史区块链状态的存档。即使在客户端完成同步后,存档节点也会保留历史数据,这使得它们对于区块浏览器或链分析服务等应用程序非常有用。在以太坊的情况下,这些节点可以在任何机器上运行,但通常在具有大量磁盘空间的服务器上运行。您拥有的存储空间越多,您的存档仍可访问的时间就越长!

可帮助您运行自己的节点的应用

以太坊基金会为不同的编程语言维护了几个不同的客户端。这些客户端对开发人员非常有用,因为它们允许他们使用各种编程语言与网络和其他网络节点进行交互。基金会最常见的客户包括Go,Rust,Java和CBillions项目组.NET技术堆栈编程语言编写的以太坊实现,可在包括ARM在内的所有主要平台上运行。Nethermind客户端可用于创建私有以太坊网络或分散式应用程序

Erigon是一个完全重新架构的以太坊实现,是用Go编写的。但是,未来的计划要求将其移植到其他语言。该客户端可以在不到2TB的存储空间下在三天内完成完整的存档节点同步,使其非常高效。Erigon提供了几个功能,使其成为设置节点应用程序的不错选择。它易于安装,配置和运行,它有一个活跃的开发社区,经常更新和错误修复,并且支持多种操作系统,包括Windows,Linux和MacOS。

Besu是一个基于Java的以太坊客户端,支持智能合约和dapp开发,部署和操作用例。它也是开源的,因此您可以将其用于自己的项目,而不受任何限制或费用。

OpenEthereum客户端是用Rust编写的,并且是GPLv3许可的。虽然它不再得到积极支持,但它仍然具有许多功能,对于想要通过以太坊支持定制自己的产品或服务的开发人员非常有用。

使用以太坊的开发人员可以选择实施他们的项目。如果以太坊基金会不支持您的首选语言,您可以使用可用的第三方客户端之一来提供其他语言支持。对于这些客户端中的任何一个,您仍然必须定期更新二进制文件,并考虑在出现复杂请求时进行缩放。但是,您将获得自己的解决方案的所有好处和信心。

如果您是研究人员或只是对区块链感兴趣的人,我们建议您尝试设置和运行自己的节点。这样,您将了解有关它的更多信息,并可以直接参与其中。

在顶部构建应用程序

在区块链之上构建应用程序可能是为网络增加价值的好方法,但它并不总是最佳选择。如果你正在构建一个需要公开发布的应用,那么依靠第三方提供的结构化API来处理繁重的工作更有意义。

大多数以加密为中心的应用程序都是基于集中式运营商提供的API构建的。您可以专注于利用区块链中的数据构建高级应用程序,而不是作为系统管理员工作。它可以是一个简单的机器人,可以向您发送有关交易的通知,也可以像支付系统一样复杂,该系统将能够从区块链接收闪电般快速的数据,并通知其客户已完成的交易。几乎所有的分析服务和对冲基金都使用第三方节点来获取千兆字节的数据并制定投资策略,并研究区块链行为,各种波动和异常。即使在加密合规和AML程序中也成为大多数客户和政府机构的必要甚至期望

区块链技术仍处于起步阶段,该行业才刚刚开始探索其潜力。但有一件事是肯定的:区块链上的数据将成为一项大生意。我们已经看到一些最大的区块链发展得如此之快,与Web2.0类似,我们需要集中式服务,为那些刚刚开始涉足加密货币的企业企业提供无缝的客户体验。最后,任何感兴趣的人仍然可以直接与区块链连接-但我们作为一个行业需要提供集中式服务,帮助这些传统企业向其客户提供数据-开发人员在这些区块链之上构建dapps。

换句话说,我们不只是在谈论在区块链之上构建应用程序;我们正在谈论的是构建可以轻松与现有系统交互的应用程序,以便没有障碍阻止企业采用区块链技术,同时仍然能够为客户提供他们期望从当今传统企业软件解决方案中获得的相同可靠数据。

在加密行业你想抓住下一波牛市机会你得有一个优质圈子,大家就能抱团取暖,保持洞察力。如果只是你一个人,四顾茫然,发现一个人都没有,想在这个行业里面坚持下来其实是很难的。

想抱团取暖,或者有疑惑的,欢迎加入我们

感谢阅读,我们下期再见!

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:15ms0-4:562ms