昨天我读到一篇关于Blockchain的文章,根据它,区块链是非常安全的吗?我不明白它是如何安全的?区块链如何使数据安全,即使它是可供正常人使用?
发布于 2018-09-21 18:45:52
@saurabh提供了一个非常好的解释,它是一个复杂的主题,需要详细解释,请阅读更多关于不同的共识和工作算法的证明,以真正找到区块链的美。网上有很多好的博客供你浏览。请允许我向您简要介绍一下我对分发的分类账的有限知识。
区块链在理论上是防篡改的(有人仍然可以对区块链进行51%的攻击,但这需要巨大的计算能力)
为什么会这样呢?原因有二:
每个块唯一的密码指纹
协商一致协议,网络中节点在共享历史上达成一致的过程。
指纹,被称为哈希,最初需要大量的计算时间和能量(这一次和能量的增加或减少取决于矿工的总计算能力)。因此,它可以证明将块添加到区块链中的矿工做了计算工作以获得比特币奖励(因此,据说比特币使用“工作证明”协议)。此散列只是包含在此块中的所有事务的merkle散列。它也作为一种密封,因为改变块将需要生成一个新的哈希。然而,验证哈希是否与其块匹配是很容易的,一旦节点完成了,就会用新块更新分块链的各自副本。这是协商一致的协议。
最后一个安全元素是散列还充当块链中的链接:每个块包含前一个块的唯一散列。因此,如果您想追溯地更改分类帐中的一个条目,您必须计算一个新的散列,不仅针对它所在的块,而且还要为每个后续的块计算。您必须比其他节点向链中添加新块的速度更快(平均每10分钟添加一个新块)。因此,除非您的计算机比其他节点加起来更强大(即使这样,也不能保证成功),否则所有更改都需要在10分钟的窗口内完成,添加的任何块都将与现有的块发生冲突,而其他节点将自动拒绝您的更改。这就是使区块链防篡改,或“不可变”的原因。
,如果您部署自己的块链并提供工作证明,会发生什么?,这实际上取决于您的块链上已经存在了多少块,以及工作算法证明的难度。如果复杂度较低,很少有矿商参与下一个区块的竞争,那么任何拥有与所有矿商加在一起的计算能力更强的人,都可以做出自己的有效分叉,交易符合他们的需要。
我想在n-10块操作一个事务?
假设现在比特币区块链中的块数是n,而你想要在n- 10块修改一笔交易,那就是时间上的10块。
矿工们将竞争下一个区块n+1第四块,时间框架约为10分钟,你也可以竞争,但你要想赢,你必须有计算能力,而矿工大约是51200544 /s。如果你有1TH/s的采矿能力,你解决一个区块的机会是1/ 51200544,假设计算1 TH/s的硬件成本在1000美元左右,就算出一个想法的成本。
如前所述,每个块在报头中都包含一个merkle散列,这取决于块中包含的每个事务和一个需要解决的困难(物料矿工计算)。这个merkle根包含在下一个块的头中。
因此,如果您想在n-10块更改一个事务或多个事务,则需要对n-10块执行两项操作。1.当事务发生变化时,再次计算merkle根。2.解决困难。
由于merkle根已经改变,您需要解决在这个块后面的每个块的困难,直到此时,才能使它成为一个有效的分支。
所有这一切的时间框架只有10分钟,因为在接下来的10分钟内,另一个街区将被矿工推在链条上。
发布于 2018-09-21 18:10:00
块链的基本概念:一个分布式数据库,它维护一个不断增长的有序记录列表。
不断增长的记录列表称为块,它们使用加密技术进行链接和保护。每个块包含前一个块的加密散列、时间戳和事务数据。
它是一种开放的分布式分类账,可以以可验证的方式高效地记录双方之间的交易。
为了使用分布式分类账,块链通常由对等网络共同管理,共同遵守用于节点间通信和验证新块的协议。一旦记录下来,任何给定块中的数据都不能追溯更改,而不需要对所有后续块进行更改,这需要网络多数的协商一致意见。
发布于 2018-10-03 09:19:54
例如:在Blockchain中,“可供正常人使用的数据”如下所示

在这种情况下,这些数据可以用于验证事务。了解这些数据对任何涉及这些数据的人都是无害的,而且,没有人可以仅仅因为能够访问这些数据而操纵事务或区块链。
如果有人想要更改/操作块2 (请参阅图片)中的数据并将其添加到块链中,就像@GraphicalDot解释的那样,这是一件非常困难的事情。
https://stackoverflow.com/questions/52448843
复制相似问题