一个音乐家的创新性解决方案,这将ASIC从Monero驱逐

原创
2270 天前
12744



创意算法

创意算法,这是一个monero核心开发人员霍华德·朱(Howard Chu)的说法,他专注于保护来自专业采矿硬件的加密,称为ASIC,这是由数十亿美元的采矿业所建造。最近,Chu找到了一种永久性地将ASIC与网络隔离的解决方案,他称之为RandomJS的一种工作量证明算法,该算法利用了硬件不能同时“做多件事”这一特征。

不过,他的算法最有趣的地方可能是,他可能只是偶然发现了创新,因为他喜欢演奏传统的爱尔兰小提琴。

Chu说他的家乡多尼戈尔(Donegal),是爱尔兰最富有田园音乐风格的角落之一,Chu还讲到,这个算法的创作与他在音乐实践中所用的想象力是相通的。

在他看来,音乐和代码在神经学层面是紧密相连的,需要大脑的逻辑和创造性这两方面同时发挥作用。因此,Chu说编程和音乐人才之间存在着频繁的重叠——他在算法中利用了这一点。

“音乐是非常数学化的,音乐的基础是数学,但与此同时,它也赋有创造力,”他讲到。

然后,Chu创建了一个利用随机生成的代码的算法。

由于ASIC只能被设计用于一种算法,因此在算法中使用随机生成的代码会使ASIC虽然快速却无法兼容,因此也就无利可图。通过这种方式,许多开发人员认为ASIC制造商将会避免为频繁切换算法的加密货币项目开发硬件。

推动人们对ASIC阻塞代码产生兴趣的是矿业巨头Bitmain公司在过去一年中进入了比特币之外的加密货币社区。更具体地说,Bitmain在3月发布了Antminer X3 ASIC,它被编程为运行monero的底层验证算法cryptonight。

在monero的开发人员引发了众所周知的“矿工之战”之后不久,今年4月,他们通过进行紧急软件升级,从而来改变加密货币的算法,以便Antminer X3在协议中毫无用处。

此后,Monero的开发人员一直致力于定期进行软件更改,以删除任何重新出现的硬件。

但是,由于monero所承诺的小型软件变更可能不足以长期劝阻硬件制造商,所以Chu将RandomJS作为加密货币的一种更可持续解决方案。

在谈到算法时,Chu说:

“RandomJS正朝着别人没有解决的方向来解决问题。”

随机数学

Chu是一位广受尊重的程序员,他是OpenLDAP项目的高级架构师,该项目创建了一个开源数据库层,并且奠定了电信行业的基础。

自从2015年以来,他就一直致力于为monero效劳(全面的区块链平台数据库)。

根据Chu的说法,他认为RandomJS则是凭借其新颖的方法与他的音乐实践联系在一起。

当ASIC硬件制造商分析软件并构建优化的硬件以运行特定的算法时,RandomJS则采取了相反的方法,分析CPU硬件的功能,这是大多数消费者笔记本电脑的硬件类型——并从那里开始向外构建。

Chu将这项挑战描述为在工作证明协议的两个功能之间取得平衡——计算算法所需的时间和验证算法的速度。

例如,虽然SHA 256(作为比特币基础的工作量证明算法)很容易验证,但根据Chu的说法,从根本上来讲,它 “太容易”计算,这意味着围绕它构建硬件是微不足道的。

 “哈希加密算法真的非常适合证明某些东西是真实的,但它作为一个工作单元是很可怕的,因为它太容易了,”Chu说道, “将SHA 256嵌入芯片并克隆数千个这样的计算单元是非常简单的一件事。”

因此,RandomJS使计算过程变得更加复杂,通过使用区块链数据作为输入来生成随机代码,寻求以更全面的方式来使用CPU功能。

 “我们接受一个输入,即前一个哈希块,我们将其用作为伪随机数生成器的种子。”Chu解释道。

然后,该数据生成用javascript编写的随机算法,当由参与计算机运行时,然后对其进行散列并添加到区块链中。

尽管如此,monero核心团队仍在对算法本身进行评估。据Chu说,有很多事情可能会推迟它的采用。首先,它目前无法在通用硬件(GPU)上运行,而GPU是monero矿业基础设施的主要组成部分。所以其仍然还有很多工作要做。

音乐思维

话虽如此,Chu的算法可能是阻止ASIC的最独特的技术之一,如果不是艺术上的话。

有些人甚至可能会说,随着代码的不断变化,这是一种高能量的方式,这也正是Chu(来自洛杉矶)最初来到多尼戈尔(Donegal)西北的原因。

由于对爱尔兰传统音乐的热爱,他被带到了崎岖的海岸线。

但在多尼戈尔(Donegal),他发现这一景观被反映在了当地的音乐中。

“多尼戈尔(Donegal)的小提琴风格有相当强大的魅力,声音尖锐且断断续续,当我第一次站在马林头上看着海岸,看见海浪与岩石撞击,我就想啊,这就是大自然的力量量,”Chu说着。

因此,Chu计划在多尼戈尔建立一所编程学校,在那里音乐教学也将作为课程的一部分。“这将提升对事情的灵活性和教养以及不同的思考方式,”他说。

根据开发人员的说法,计算机科学教育经常训练学生的逻辑思维,这并没有让他们为现实世界做好准备,而现实世界需要开发人员创造性地解决新问题。

在谈到他对融合音乐和编程的兴趣时,Chu总结道:

“如果没有创造力,你无法做到这一点,如果你没有接受过训练,如果你没有接受过使用你大脑中创造性部分的训练,那么你就很难做到这一点。”

 

·END· 


链条:价值导向,严谨、深度、专业、及时报道区块链。

合作联系:QQ1307872820