【提问】一旦在块中写入数据,是否可以修改数据?


#1

一旦在块中写入数据,是否可以修改数据?如果想要修改,该如何操作?


#2

不,这是不可能的。如果需要进行任何修改,要么编写特定方法进行更新,要么是在私链上进行“分叉”。


#3

写入之后无法修改,及时修改,修改的记录也会保存,所以并不是常规意义上的修改。


#4

……不可更改就是一个特性……

就拿智能合约来说,部署到链上就改不了规则了,。

如果dapp想升级,就只能重新发布合约


#5

我不同意不能修改的说法。任何数据都是可以修改的,为什么说区块链不可修改,是因为需要共识,因为大家都在一条链上,所以所有数据应该是一致的。那么你的修改就需要满足共识算法。


#6

你说的这个修改……能覆盖原来的数据吗?

应该不能吧,即使是满足共识算法,你改了,但是你是在新的本子上写东西,还是在旧的本子上把那个东西抹去了呢……还是在旧本子上增加东西,只是是原来的东西无效了……


#7

我觉得这个问题在往下就类似“世界上没有两片相同的树叶”一样。好吧,我觉得有必要定义我的回答是常规意义的修改。然而如果仅仅是认为区块链是无法篡改数据的,那么我觉得有些片面,基于上面的回答,任何事物的客观存在都是无法被抹除的,那么所谓的“修改”自然就不存在:grinning:。所以我不同意楼上的说法


#8

:face_with_raised_eyebrow: :stuck_out_tongue_closed_eyes:

这两个表情就20个字啦


#9

是不能修改的,只是理解概念不一样,有的人说你回滚不就改了吗,但是如果另一种理解方式其实还是没改,所以我觉得是不能修改的。


#10

信息不可篡改

一旦信息经过验证并添加至区块链,就会永久的存储起来,除非能够同时控制住系统中超过51%的节点,否则单个节点上对数据库的修改是无效的,因此区块链的数据稳定性和可靠性极高。


#11

写入数据就无法修改,除非掌握超过51%的算力。


#12

公开,透明,不可更改是区块链的特性,数据一旦写入块中,几乎不可更改。


#13

不可以改…… 就像智能合约发布了就不能改代码了。必须重新部署一样


#14

不可修改。
1:因为每一个最新块都是由上一个块的hash和本块自身的数据生成本块hash的,有一点点的修改,hash值都会有巨大的改变,如果你想修改某个块那必须一同修改之后的所有块。
2:需要让参与共识的节点承认(如果你修改的数据不合法那当然不能通过共识),并且让你修改后的新链长度大于之前的链,因为各个节点都是以最长链为标准的。

比如现在最新块的number为100,你想修改number为10的块,那必须一同将10~100块的hash都改了,并且保证数据合法和长度大于之前的链长度