让我们以以太坊为例(这个问题对于所有公共区块链都是通用的)。我可以更改代码(例如发送交易但不会扣除帐户余额)并像往常一样运行它。是否有任何潜在的机制阻止这种情况?我的意思是如果我可以运行它的修改版本,系统是如何安全的?
答案 0 :(得分:0)
As for your first question unless you fork and modify the ethereum code you can't make the changes you demand (send transactions without deducting balance). That pretty much answers your last question too, you can find all help you need to deploy code or get the origial source code here. Feel free to modify it.
https://github.com/ethereum
Also the working or Ethereum is not as simple as you think. You can't just write code (smart contracts) and deploy them in the Ethereum-Blockchain and expect them to run for free. You need ether for that which acts as a fuel for ether. To understand how security of Ethereum works you need to first understand the security of blockchain. I wouldn't go into the details but keep note that as you go further back into the chain it gets more and more difficult to modify the codes. Also Ethereum is quite secure, at least as much as you can expect from blockchain although there are security holes that seem to pop up every now and then, but after 50M hack back in 2016 and the following hard-fork Ethereum is pretty secure from average hackers.
So to sum it up, to modify the code you need to make a fork. And this fork is not at all related to the main Ethereum. SO you aren't running a modified version of Ethereum on the chain itself and hence it remains secure. Also you are quite limited when making smart contracts and they don't allow direct modification of the block-chain.
答案 1 :(得分:0)
说,您运行未经修改的以太坊节点,并从您帐户中的某个位置获得3个醚。现在,您重建自己的已修改节点,以便向我发送2个醚,但不会从平衡中减少2个。 发生的事情是,我和世界其他地方将验证并处理您签署的交易,并从您的余额中减少2个醚。我们没有运行修改后的版本,对吗? 你看到了什么?下次你尝试再花2个醚时,你的节点会认为你还有3个ethers,并且会签署并广播一个交易,但是世界上其他人都不会接受你的交易,因为他们知道你只有1个以太。 所以你只对自己有害。