主页 > imtoken2.0下载 > 如何修改区块链中的数据?请结合技术和现实场景来描述?

如何修改区块链中的数据?请结合技术和现实场景来描述?

imtoken2.0下载 2023-07-29 05:14:48

我不是专家,只是有点涉猎,所以我会强行回答。

首先我解释一下区块链的数据结构是什么,为什么不能被篡改。

区块链是一个去中心化(多)中心化分布式数据库。该数据库是由密码学方法生成的一系列数据区块链有序链接而成。区块包含一定时间内产生的不可篡改的数据记录信息。

(PS:没找到合适的图,大家看看,B前面有一个数据块A,只有一个当前的hash0怎么知道自己的区块链地址,没有之前的hash值,其他都一样。)

必备知识;

o 加密Hash()函数的单向性:Hash(x) = y,通过y很难找到x

o 哈希链:假设有顺序生成的块 A、B、C。然后我们可以像这样计算一个哈希。注意“||”表示串联

h0= 哈希(A)

h1 = 哈希(B || h0)

h2 = 哈希 (C || h1)

h2是我们计算的hash header,h2的值取决于前一系列数据的内容和计算顺序。如果持有 A,B,C ,无论修改 A,B,C 的任何内容还是 A,B,C 的出现顺序,都无法再次计算出正确的 h2。

当然你会说,那我就按照修改后的内容继续统计,走你自己的路,就是要和其他节点不一样。但是,区块链之所以能够成为一个去中心化、诚实可信、数据记录难以破解、不可篡改的系统,是因为它可以保证在最短的时间内将最新的区块链准确地加入到区块链中,并且节点存储的区块链信息是一致的,不分叉甚至抵抗恶意攻击。这个过程变成了一种共识机制。

目前主流的共识机制包括:pow、pos、dpos、pbft等,具体原理见(),总之,少数服从多数。你可以大致理解,在自己的数据库上修改数据是没有用的。整个系统不会同意,只会遵循设定的机制。

我们可以得出结论,区块链可以保证链上数据的真实性怎么知道自己的区块链地址,无需修改。例如比特币,一个自给自足的系统,在没有中央组织维护的情况下安全运行了 8 年,也没有用户报告他们的数据被篡改。

但现在区块链与比特币不同。 ,区块链正处于与其他行业逐渐融合的阶段,需要与真实场景融合。例如,千向金融在布盟区块链上发行了自己的理财产品。用户购买了其理财产品之一。结果,千向金融不小心向用户发送了2份(例如,这可能不会发生)。这些数据写入布盟区块链后,会存储在布盟的各个节点上。 ,即使千向金融自己修改数据,其他节点不修改修改数据,修改数据无效。如果千向想要纠正这个错误,需要和用户讨论:你好,请问我给你的额外理财产品可以吗?

普通用户也是如此,给别人100块钱,变成200块钱。在这种多中心化的会计模式下,真的不可能有机构帮忙修改。因此,区块链实际上是正确的。机构和用户有更高的要求。也就是说,他们必须为自己的行为负责。

当然,你会说中央机构不会修改它,因为是用户的错误,但不会有任何区别。比如在银行,如果你的银行卡丢了,只要你提供身份证,银行就会重新为你申请,因为数据库在银行,银行可以进行这样的操作。但是区块链应用是不可能的。数据由所有节点共同维护,机构不可修改。

好吧,如果真的需要修改的话,也不是没有可能。你可以从以太坊的 dao 被黑事件中吸取教训,进行软分叉或硬分叉。但这个成本非常沉重,需要大多数节点的同意。在一定程度上可以看成是一种由节点链外人为补充的共识。