作者:Arman The Parman
来源:https://bitcoinmagazine.com/culture/six-reasons-you-should-run-bitcoin-node
让我来简单解释一下:一个比特币节点就是运行一套软件(通常是 Bitcoin Core)的一台计算机(不管这台计算机长什么样子)。它会承担一些重要的工作:
你的比特币节点需要保存比特币区块链的一个完整副本。它需要跟其他比特币节点相互连接、形成一个通信网络,这个网络会传播比特币交易(交易会保留在各节点的 “交易池” 中,就是等待被包含到下一个区块中(也即进入区块链)的交易的队列)。你的节点需要检查所有添加到区块链上的交易都是有效的,并拒绝无效的交易。它还能提供关于区块链的细节 —— 例如某地址的余额 —— 给其他类型的软件,比如钱包软件。它还能提供区块链的副本给任何新建立的节点。新的节点又会独立检查它所收到的每一笔交易是有效的;它不会 “信任” 自己连接到的节点。
为了运行比特币节点。你需要下载 Bitcoin Core 软件、让它从其它节点那里复制区块链到本地,然后它会自己验证每一个区块。在完成初步的复制和验证工作后,它会自己运行,新的区块大概每 10 分钟会出现一次(这些区块会包含来自交易池的交易)。你的节点会检查这些区块是不是有效的,如果是,就添加到区块链副本的存储中。
耍花招的区块会被拒绝,不是因为别人会拒绝它,也不是因为每个人都仿照邻居的行为,而是因为根据 Bitcoin Core 软件中包含的规则,这样的区块是无效的;从而,运行相同软件的其他人也会拒绝这样的狡猾区块。
(译者注:除了 Bitcoin Core 软件,还有别的软件可以实现上述效果、让你的计算机参与比特币网络。比如:btcd)
你的比特币钱包软件并不保存区块链的付彬,通常也是独立于 Bitcoin Core 的(虽然 Bitcoin Core 也有钱包功能)。你的钱包软件只保存你的密钥。它只是询问一个比特币节点:“嘿,节点老兄,这是我的地址,你看看这个地址里面有钱吗?” 虽然从技术上来说,这不是很准确,但在目前,知道这么多就够了。
运行自己的节点意味着你不需要关心别人的 Bitcoin Core 软件在做什么。你自己运行了 Bitcoin Core,你就不需要信任其他人。你的钱包软件可以从你自己的区块链副本中获得信息(在你的钱包软件和节点之间建立电子连接是技术上有难度而又重要的一环,不是单单运行节点就够的 —— 这留给另一篇文章)。
前言讲完了。下面让我讲讲为什么运行自己的节点有重要意义。
隐私性
当你的钱包软件想告诉你,你究竟有多少比特币时,它会询问随机的公开比特币节点,你的各个地址都包含多少余额。查询得到结果之后,再给你展示,从而你可以在钱包软件的界面中看到你所有的比特币。你还没使用的空地址也会拿去查询。一些监视企业也会运行这样的公开节点。你肯定会说:“什么玩意?”你没听错,真是这样的。
你会告诉一个陌生人(可能就是一家监视公)你的 IP 地址(这就足以用来定位你了)、你拥有一个比特币钱包,以及钱包中所有已经用到的地址和未来即将使用的地址、所有这些地址的余额(包括现有的未来的)。给监视公司提供这些信息是非常危险的。比如说,这些数据可能会被有意地关联起来 —— 出于监管机构的要求 —— 或者无意中被关联起来(考虑黑客攻击)。政府可能会对比特币人征受高昂的财产税,甚至模式,就像美国政府在 1933 年的 6102 法令对黄金做的那样,而黑客可能会以你为目标,尝试勒索你或诈骗你。
免信任性
你可以免信任地确认你收到了真实的比特币。
比如说,当你卖出一些东西、以比特币收款的时候,一个技术高超的买家可能会操纵你的钱包软件连接到的比特币节点。他可能会给你发送假冒的比特币,而你的钱包软件会以为收到了真实的比特币,毕竟那个它连接到的恶意节点是这么说的。诚然,这是概率极低的事情,但是,正是因为你可以通过运行自己的节点来防范这种攻击,才让这类攻击没有流行开来。这种攻击是怎么做到的呢?就是诈骗者用某种方式,让你的钱包软件从恶意节点那里读取了错误的信息。他在那条伪造的区块链上给你转移了假的比特币,但你的钱包软件却认为自己得到了支付。
如果你遭遇了这种诈骗,你可能会接受这些假币作为有效的支付,然后就安排发货。当某一天,你的钱包软件连接到一个诚实的比特币节点时,你的钱包软件的界面就会表明 —— 事实上你从来没收到比特币。你的余额会低于你以为的数额,因为那些假币从未存在于真正的比特币区块链上。
只需让你的钱包连接到你信任的节点,就可以防范这种攻击,但更好的是连接到你自己的节点。“别信任,去验证” 正是比特币人的护身咒语。
如果你不这样做,那就跟你接受黄金作为支付手段、却随便找个人用自己的光谱分析仪(XRF analyser)来检查你收到的黄金是不是真的一样。你并不知道那个人会跟买家一伙,还是一个正直的人。
想必你会说:“别信任?那我下载 Bitcoin Core 软件的时候,不就是信任了我下载到的软件本身吗?我怎么知道我下载到的不是假货?”可以说,既是,又不是。有一些办法可以验证你下载的软件是真的,但那不在本文范围内。
可能你会接着问:“好,那我是不是在信任我下载到的真软件的背后的开发者呢?我在信任他们会按我想的那样编写软件对不对?”是的,除非你是自己编写软件,或者你能读代码,或者你付钱让别人帮你读代码 —— 但那样又将信任转移给了这些受你雇佣的人。总是会有一定程度的信任,但关键是,尽可能减少信任因素。绝大部分人(也包括我),无法阅读代码,也不会去阅读代码,所以会有一些信任因素。信任的对象是,在软件发布之前,会有几百双、几千双开发者的眼睛,会寻找代码中的错误和问题。要变更 Bitcoin Core 的代码并不容易,而这是一个优点,不是一个漏洞。还是拿黄金光谱分析仪来类比,你可能不会自己从头打造一台分析仪来检查手上的黄金,但这也没啥。
保卫
保护比特币的规则、阻止不可取的变更 —— 比如比特币的稀缺性和区块体积限制。
如果一群 “财雄势大” 的人勾结在一起,尝试改变比特币的运行规则(比如说,提高比特币区块体积限制),就像他们在 2017 年做的那样,你可以选择不升级自己的节点、保留自己当前的节点。如果你不是孤身一人,那么会有一群人运行没有更改的 Bitcoin Core ,而另一群人会运行更改后的版本 —— 这就发发生了所谓的 “分叉”。这就是 “Bitcoin Cash” 的由来。更改后的版本被许多人拒绝,但那些输掉战争的人还继续运行他们的更改后的版本、挖掘 bitcoin cash(而非比特币)。那些原来持有比特币的人也得到了 bitcoin cash —— 因为现在出现了共享部分历史的两条区块链,一条是比特币区块链,另一条是 Bitcoin Cash 。
如果那时候你没有运行自己的节点,那你就无能为力。你的钱包可能会连接到一个 Bitcoin Cash 节点,别人可能会用 bitcoin cash(而不是比特币)来给你支付。可能你收到的货币达不到你喜欢的标准,但你就这样不明不白地发了货。
帮助
如果你运行了一个节点,并让它 24 小时运行,这可以帮助整个网络。
参与网络的节点越多,每个人的交易都传播得越快,想要破坏比特币网络也就变得越困难。若要杀死比特币,需要破坏比特币区块链的每一个副本。
尊敬
你可以成为别人口中的 “行家”。
想让每个人都运行自己的节点 可能 挺难的,但我们也不希望让人们都去信任网络上的随机节点。我设想,在每一个社会 “信任圈” 中,都会出现一个技术专家,让人们把自己的钱包连接到 TA 的节点。这种微小的取舍也比连接到随机的公开比特币节点要好得多。
如果你学会了运行自己的节点,那么你自己也就成了一种人形节点 —— 因为未来,你可以帮助其他人运行和使用自己的节点。
帅气
帅气和街坊声誉。
运行你自己的节点是非常酷的,并且可以让你更深地理解比特币的力量。最后你可能会买下更多。
结论
希望这已经让你了解了为什么你应该运行自己的节点。
(完)
Arman The Parman2025-08-11
https://www.btcstudy.org/2025/08/11/six-reasons-you-should-run-bitcoin-node/