神奇,一个音乐家想出了让比特大陆ASIC矿机无用武之地的新算法

神奇,一个音乐家想出了让比特大陆ASIC矿机无用武之地的新算法

算法是创造性的。

至少,这是门罗币核心开发者Howard Chu所坚持的理念。最近,Chu发现了一种永久性地将ASIC与加密网络隔离的解决方案——他称之为RandomJS的一种工作证明算法,该算法利用了硬件不能"同时做多件事"的特性。

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

朱棣文在他的家乡Donegal告诉CoinDesk,这个算法和他在音乐实践中运用的想象力是一样的。

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

"音乐是非常数学化的,音乐的基础是数学化的,但同时,它也有创造性,"他告诉CoinDesk。

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

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

人们之所以想摒弃ASIC矿机的缘由在于,矿业巨头Bitmain公司在过去一年进入比特币以外的加密货币社区。更具体地说,Bitmain在3月份发布了Antminer X3 ASIC,它被编程来运行门罗币的底层验证算法cryptonight。

在门罗币的开发者引发了众所周知的"矿工之战"后不久,今年4月,他们通过紧急软件升级,改变了加密货币的算法,使得Antminer X3在协议中毫无用处。

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

但是,由于门罗币所承诺的小型软件变革可能不足以长期对硬件制造商设置障碍,Chu构建了RandomJS作为加密货币的一种更可持续的解决方案。

谈到算法,Chu说:

"RandomJS则是从一个其他人都没有的方向来解决这个问题的。"

神奇,一个音乐家想出了让比特大陆ASIC矿机无用武之地的新算法

随机数学

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

他从2015年就开始研究门罗币了。

Chu认为,RandomJS所采用的新颖的方法,与他的音乐实践密切相关。

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

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

例如,据Chu介绍,虽然SHA 256(比特币的工作证明算法)很容易验证,但从根本上来说,它"太容易"计算,这意味着围绕它构建硬件很简单。

Chu对CoinDesk说:"密码散列在证明某些东西是真实的方面非常棒,但作为一个工作单元,它是可怕的,因为它太容易了。""在芯片中嵌入SHA 256并克隆数千个这样的计算单元真的很简单。"

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

Chu解释说:"我们取一个输入,即前一个散列块,我们用它作为伪随机数生成器的种子。"

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

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

神奇,一个音乐家想出了让比特大陆ASIC矿机无用武之地的新算法

音乐思想

也就是说,Chu的算法可能是阻止ASIC的最独特的技术之一,当然,不是指艺术层面。

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

由于对爱尔兰传统音乐的热爱,他来到了崎岖的海岸线。但在Donegal,他发现风景非常契合当地的音乐。

Chu告诉CoinDesk:"Donegal的小提琴风格是相当高的能量,锋利和断断续续,当我第一次站在马林头上看着海岸和海浪撞击岩石时,我就想,啊,这就是能量。"

因此,朱棣文计划在多尼哥建立一所编程学校,在那里音乐教学也是课程的一部分。

"这将提供灵活性和培训,以及不同的思考方式,"他说。

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

在谈到他对音乐和编程的兴趣时,朱棣文总结道:

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


分享到:


相關文章: