首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哪种内存硬散列算法可以将低计算能力和高计算能力的设备等同起来,以利用IoT中的块链?

哪种内存硬散列算法可以将低计算能力和高计算能力的设备等同起来,以利用IoT中的块链?
EN

Security用户
提问于 2015-01-08 11:58:48
回答 2查看 867关注 0票数 4

最近,IBM和微软显示出他们的兴趣(IBM邮报微软邮报)利用比特币的区块链来开发物联网(IoT)。让我们假设,在不久的将来,将在智能汽车中实现的区块链技术将覆盖道路条件或交通数据。比特币的Blockchain是基于一个SHA256的工作证明或找到一个证据,当被散列超过一个目标。这有助于解决双重支出的问题。

在上面描述的未来智能汽车的例子中,大多数诚实的节点都是计算能力很低的设备(比如raspberry pi),因此,如果实现的挖掘算法不能限制设备的挖掘能力,那么对手很容易执行双支出攻击。

在问题中,"如何确保密码散列在计算机上是安全的,而在移动设备上却不会太慢?“Mr.nsl正在寻找一种密码散列算法,它能够在快速CPU和慢移动设备的安全性和速度之间实现平衡。我正在寻找一种算法,可以抵抗快速CPU/GPU使用他们的计算能力,以超越优势的网络上的低计算设备。因此,我有两个假设,如何处理这个问题:

  1. 利用散列功能,可以在一定程度上在低计算和快速计算设备(例如膝上型计算机和raspberry PI之间)之间提供公平/平衡。
  2. 在连接到网络节点中的对等节点时,如果版本相同,则节点将继续交换verack (一种连接标记)消息。因此,也许这些设备应该和安装的客户端一起发送它们的计算能力。因此,如果请求的对等节点拥有太多的计算能力,那么没有其他节点会连接到他。

因此有疑问,

  1. 尽管我理解解决工作证明直接影响到一个人的计算速度,但一个密码人能否建议我一种能满足假设#1的内存硬散列算法,即对raspberry pi (目前的最大内存为512 MB )有利,而不让一台平均8GB的计算机超过一个网络并执行双开销攻击?
  2. 此外,在与节点握手时,是否可以在物理上发送真正的计算能力?

谢谢

EN

回答 2

Security用户

发布于 2015-02-10 00:03:23

虽然在阿尔特钱币界讨论内存有限的算法(基于类似比特币的想法的“替代”密码硬币),但它们并不主要解决“低端”通用计算机(例如RasPi)与高端通用计算机之间的差距,但它们被用来防止特殊用途硬件超出计算能力(每瓦特计算能力)多个数量级。其思想是散列不需要太多的芯片空间,您构建一个芯片,它并行计算多个散列,只需多次复制/粘贴到一个例子中。另一方面,内存确实需要空间,而兆字节的内存需要大量的空间(看看当前的处理器芯片图片)。大量的模具空间被缓存占据,而不是由计算引擎占用)。对于比特币,特殊用途的比特币开采芯片(FPGA矿商和后来的ASIC矿商)大约两年前“接管了世界”,因为它们的性能优于通用机器。这就是为什么像DogeCoin这样的硬币使用sukosevato已经提到的Scrypt算法的原因。

RasPi内存(0.5GB)和狂热者的PC (32GB)之间的比值可能比这些设备之间的CPU功率差异还要大,因此内存受限无助于RasPi的追赶。事实上,如果你不能阻止一个设备有n倍的计算能力,n倍于一个较小的设备的内存,那么它的行为就像n个较小的设备。

总之:我不认为基于CPU和内存操作的散列算法不会给快速(游戏)PC带来比Pi (Pi)更大的优势(Pi仍然有很大的计算能力)。

在回答你的第二个问题时,sukosevato又说对了:没有办法阻止一台设备声称它的计算能力比它的实际能力要低。如果一个快速设备假装是一个缓慢的设备,如果它系统地利用了它的优势,它就会被捕获--如果你知道一个设备的哈希速度,你就知道它在一定的时间间隔内成功地铸造了多少枚硬币。如果它通过解决较小的哈希问题来获得“小设备奖金”,并且提交了比您实际使用小型设备更多的解决方案,网络可能会试图禁止您。

我所看到的防止设备声称计算能力太低的唯一合理方法是使显示增加的计算能力比隐藏它更有利。唉,这直接转化为:速度更快的设备必须能够将全速优势转化为利润,否则它可能会试图玩得稍微不公平,并利用“慢速设备奖金”。

票数 2
EN

Security用户

发布于 2015-01-10 21:36:49

我对比特币不太熟悉,也不知道它与IoT有什么关系。据我所知,内存硬散列函数的最佳示例是氪石

我可以在一定程度上回答你的第二个问题。您可以很容易地向节点发送一些随机的字节串,并尽可能频繁地在特定的时间范围内告诉它散列。通过这种方式,可以为节点的性能建立一个下限。他们越频繁地破解它,它就越快。但是,没有什么能阻止一个非常快的节点简单地对其进行100.000次散列,然后在剩下的时间内不做任何动作,就像它是一个速度较慢的节点。因此,真正计算能力的下限是可能的,上界是不可能的,因为更快的计算机总是可以假装速度慢。

票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/78687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档