gpt4 book ai didi

hash - 使用 decl_storage 时,为什么在 StorageMap 中使用 blake2_256 以外的哈希算法

转载 作者:行者123 更新时间:2023-12-03 11:27:50 25 4
gpt4 key购买 nike

上面写着decl_storage!是一个“程序宏”,用于存储数据以使其在后续 block 中可用。

它表示,如果用户能够设置 key 对,那么我们就不能信任该 key 对,因此我们必须使用加密哈希器(例如 blake2_256)来防止“存储中的其他值受到损害”。

为什么要在 StorageMap 中使用除默认 blake2_256 之外的哈希算法 ($hash) (即为什么有人会使用 twox 而不是默认的 blake2_256)?

另外,为什么说它只是为了防止“存储中的其他值受到损害”? blake2_256 不是也用来防止 key 对本身被泄露吗?

最佳答案

blake2_256 哈希器是一种不透明的加密哈希器,它会产生两种成本/有两个缺点:

  • 计算成本较高
  • 不允许迭代存储

因此,有一些替代哈希器可以在您关心它们的情况下改进这些哈希器:

  • twox 哈希器的计算成本很低,因此如果区 block 链控制 StorageMap 的输入,您可以使用它,例如当使用计数器对其进行索引时。
  • blake2_128_concat 哈希器将哈希器的输入连接到哈希的末尾,以允许迭代映射的键(和值)。

在更新的 documentation for decl_storage 中查找更多信息

关于hash - 使用 decl_storage 时,为什么在 StorageMap 中使用 blake2_256 以外的哈希算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56236827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com