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

入门知识 1周前 (09-15) 14次浏览 0个评论

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

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

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

(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 年,也没有用户报告过他们的数据被篡改。

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

普通用户也是如此,给别人100块钱,变成200块钱。这种多中心化的记账模式,真的不可能有组织帮忙修改。因此,区块链实际上对机构和用户提出了更高的要求。也就是说,为自己的行为负责。

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

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

挖矿网Ethos中文站简单易用的挖矿系统,为挖矿产业提供教程软件以及矿机测评交易信息等,挖矿网各种数字货币挖矿收益对比计算,挖矿网介绍挖矿的工具,以及矿场的最新消息等。http://www.ethospool.com/

喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址