XMR新算法RandomX设计原理

RandomX设计

为了最小化专用硬件的性能优势,工作证明(PoW)算法必须通过定位现有通用硬件的特定功能来实现设备绑定。这是一项复杂的任务,因为我们必须针对来自不同制造商的不同架构的大类设备。

有两种不同类型的通用处理设备:中央处理单元(CPU)和图形处理单元(GPU)。RandomX针对CPU,原因如下:

  • CPU是一种不那么专业化的设备,它更普遍且可以广泛使用。CPU绑定算法更平等,允许更多参与者加入网络。这是原始CryptoNote白皮书[ 1 ] 中所述的目标之一。
  • 不同CPU架构之间存在大型公共硬件指令子集。关于GPU,同样不能说。例如,NVIDIA和AMD GPU没有通用的整数乘法指​​令[ 2 ]。
  • 所有主要的CPU指令集都有很好的文档,可以使用多个开源编译器。相比之下,GPU指令集通常是专有的,可能需要供应商特定的闭源驱动程序才能获得最佳性能。

1.设计考虑因素

CPU限制工作的最基本思想是“工作”必须是动态的。这利用了CPU接受两种输入的事实:数据(主输入)和代码(指定对数据执行的操作)。

相反,典型的加密散列函数[ 3 ]并不代表CPU的合适工作,因为它们的唯一输入是数据,而操作序列是固定的,并且可以通过专用集成电路更有效地执行。

 

2.虚拟机架构

本节介绍RandomX虚拟机(VM)的设计。

原文链接:https://github.com/tevador/RandomX/blob/master/doc/design.md

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值