【问题标题】:why is it necessary to calculate hash based on difficulty in blockchain?为什么需要在区块链中根据难度计算哈希?
【发布时间】:2019-01-27 23:14:24
【问题描述】:

例如,如果某个块需要某些 5 个前导零,那么我们不能写一个 32 字节的随机散列,它有 5 个前导零,比如

00000C66DA510B7C524F7EF33279BCA641E2E8BF94B6B15AC6343CD2B706F673

00000C66DA510B7C524F7EF33279BCA641E2E8BF94B6B15AC6343CD2ASDFERTY

另外,如果我正在设计自己的区块链,那么选择任何没有散列的随机数会对区块链的安全性产生影响吗?

【问题讨论】:

  • 找到具有 x 前导零位的散列的目的是让它变得困难。创建一个带有 x 前导零的随机字符串一点也不难。
  • 另外值得注意的是RSTY也不是十六进制值。
  • 会影响区块链的整体安全吗?
  • 是的,而且毫无意义。如果您不关心成本因素,您可以只使用哈希而不需要任何前导零位。

标签: blockchain


【解决方案1】:

您不能选择区块链块的哈希值。每个块都有一些数据(包括前一个块的哈希),然后是“随机数”,然后是整个事物的加密哈希。加密哈希的基本设计属性之一是没有人知道如何选择输入以使输出成为特定值。

区块链矿工整天都在计算HASH(prev_hash || new data || 1)HASH(prev_hash || new data || 2)HASH(prev_hash || data || 3),......直到它们达到一个数字,使哈希值带有所需数量的前导零。这就是他们证明他们已经完成的工作。然后他们发布带有随机数和散列的块,与 验证 相比,HASH(prev_hash || new data || n) 具有所需数量的前导零,因此只需要少量工作,因此该块被接受.

工作量证明不是区块链的强制性功能,事实上,如果我们能找到一个好的替代方案,那就太好了,因为工作量证明使比特币消耗的电力与整个瑞典国家一样多或者最近发生的任何事情。区块链只是一系列数据块,与加密哈希和签名链接在一起。工作量证明的作用——包括“哈希必须有这么多前导零”规则的作用——使某人难以控制哪个矿工将成功挖掘下一个区块,那就是争论的意思是“没有人可以强迫分布式系统接受他们的下一个块,而不是其他人的。”

如果上一段中的一些断言对你来说有点,嗯,不稳定,你是绝对正确的。这就是为什么加密货币仍然是一个积极研究的领域,而不是每个人都一直在使用的东西。

【讨论】:

    猜你喜欢
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    • 2017-05-10
    • 2023-03-22
    相关资源
    最近更新 更多