如果我可以更改节点的代码并正常运行,区块链系统(例如以太坊)如何?



让我们以以太坊为例(这个问题对所有公共区块链都是通用的)。我可以更改代码(例如发送交易但不推断帐户余额)并照常运行它吗?是否有任何潜在的机制可以防止这种情况?我的意思是,如果我可以运行它的修改版本,系统如何安全?

至于你的第一个问题,除非你分叉和修改以太坊代码,否则你不能做出你要求的改变(在不扣除余额的情况下发送交易)。这几乎也回答了您的最后一个问题,您可以在此处找到部署代码或获取原始源代码所需的所有帮助。随意修改它。
https://github.com/ethereum

此外,工作或以太坊并不像您想象的那么简单。你不能只是编写代码(智能合约)并将它们部署在以太坊区块链中,并期望它们免费运行。你需要以太作为以太燃料的东西。要了解以太坊的安全性如何工作,您需要首先了解区块链的安全性。我不会详细介绍,但请注意,随着您进一步回到链中,修改代码变得越来越困难。以太坊也是相当安全的,至少与您对区块链的期望一样多,尽管似乎时不时会出现安全漏洞,但是在 2016 年 50M 黑客攻击之后,以下硬分叉以太坊对于普通黑客来说是相当安全的。

所以总结一下,要修改代码,你需要做一个分叉。而且这个分叉与主以太坊完全无关。因此,您没有在链上运行以太坊的修改版本,因此它仍然是安全的。此外,在制作智能合约时,您受到很大限制,并且它们不允许直接修改区块链。

假设,您运行一个未修改的以太坊节点,并从您帐户中的某个地方获得 3 个以太币。现在你重建你自己的修改节点,这样你就向我发送了 2 个以太币,但不会从你的余额中减少 2 个。 发生的事情是,我和世界其他地方将验证和处理您签署的交易,并从您的余额中减少 2 个以太币。我们不运行修改后的版本,对吧? 你看这是怎么回事?下次您尝试再花费 2 个以太币时,您的节点会认为您还有 3 个以太币,并会签署并广播交易,但世界上的其他人都不会接受您的交易,因为他们知道您只有 1 个以太币。 所以你只伤害自己。

最新更新