首页 文章

为什么有必要根据区块链的难度来计算哈希?

提问于
浏览
-3

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

00000C66DA510B7C524F7EF33279BCA641E2E8BF94B6B15AC6343CD2B706F673

要么

00000C66DA510B7C524F7EF33279BCA641E2E8BF94B6B15AC6343CD2ASDFERTY

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

1 回答

  • 0

    您无法选择区块链块的哈希值 . 每个块都有一些数据(包括前一个块的散列),然后是"nonce",然后是整个事物的加密散列 . 加密哈希的一个基本设计属性是没有人知道如何选择输入以使输出成为特定值 .

    区块链矿工整天做的是计算 HASH(prev_hash || new data || 1)HASH(prev_hash || new data || 2)HASH(prev_hash || data || 3) ,......直到他们达到一个数字,使哈希出现所需数量的前导零 . 这是他们证明他们所做的工作 . 然后他们使用nonce和hash发布块,并且通过比较确认 HASH(prev_hash || new data || n) 具有所需的前导零数,因此只接受了大量的工作,因此块被接受 .

    工作证明不是区块链的强制性功能,事实上,如果我们能找到一个好的替代方案,那将是非常好的,因为工作证明是比特币消耗的电量与整个瑞典国家或其他任何东西一样多 . 到目前为止 . 区块链只是一系列数据块,与加密哈希和签名链接在一起 . 什么样的工作证明 - 包括"hash must have so many leading zeroes"规则在内的是什么 - 使得某人难以控制哪个矿工将成功开采下一个区块,这被认为意味着“没有人可以迫使分布式系统接受他们的下一个街区,而不是其他人 . “

    如果上一段中的一些断言看起来有点呃,对你不稳定,那你就绝对正确了 . 这就是为什么加密货币仍然是一个活跃的研究领域,而不是每个人都在使用的东西 .

相关问题