繁体   English   中英

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

[英]How is the blockchain system(for instance ethereum) if i can change the code of the node and run it usually?

以以太坊为例(这个问题对于所有公共区块链都是通用的)。 我可以更改代码(例如发送交易但不减少帐户余额)并像往常一样运行它。 有没有阻止这种情况的潜在机制? 我的意思是,如果我可以运行它的修改版,那么系统如何安全?

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

同样,工作或以太坊也不如您想象的那么简单。 您不能只是编写代码(智能合约)并将其部署在以太坊区块链中,并期望它们免费运行。 您需要以醚作为醚的燃料。 要了解以太坊的安全性如何工作,您需要首先了解区块链的安全性。 我不会详细介绍,但是请注意,随着您进一步深入研究链,修改代码变得越来越困难。 同样,以太坊是相当安全的,至少与您对区块链的期望一样多,尽管似乎有时会突然出现安全漏洞,但是在2016年发生了5000万次黑客攻击之后以及随后的硬叉以太坊从平均水平来看是相当安全的黑客。

综上所述,修改代码需要创建一个fork。 而且这个分叉与主要的以太坊根本不相关。 因此,您不在链上运行以太坊的修改版,因此它仍然安全。 同样,在进行智能合约时您非常有限,并且它们不允许直接修改区块链。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM