2

iPollo菠萝计算新品发布会|领略John Tromp的“极简主义”精神

 2 years ago
source link: http://www.iterduo.com/posts/116116
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
iPollo菠萝计算新品发布会|领略John Tromp的“极简主义”精神

iPollo菠萝计算新品发布会|领略John Tromp的“极简主义”精神

小玲儿 2020-12-17 15:04

2020年12月15日16:00,由iPollo菠萝计算、算力互联和POW POWER联合主办iPollo G1-Mini新品发布会圆满成功,同时代表着家用分布式计算节点将正式开启!本次发布会我们邀请到了Cuckoo Cycle布谷鸟算法 发明人 John Tromp,John一口流利的荷兰地道英语让许多社区的小伙伴听的云里雾里,不过不用担心,我们已经精心的翻译和整理过了,以飨读者!

以下是POW POWER编辑部筛选后摘录的直播精彩内容:

提问

Qustions

&

解答

Answers

Q1:您是CuckooCycle布谷鸟算法的发明人,您可以分享一下布谷鸟算法究竟实现了什么样么?它的诞生的背后有怎样的故事?您还记得2014年你设计它的时候的情景吗?

John Tromp:Cuckoo Cycle是第一个瞬间可验证的内存消耗的PoW算法。与后来出现的其他类似的PoW算法(如Equihash和MerkleTreeProof)相比,它可以更好地利用静态RAM (SRAM),特别是它能够以最小的延迟完全随机访问位。基于SRAM的求解器,也被称为*lean*求解器,在概念上也非常简单,如github上Cuckoo Cycle板块所示。

(https://github.com/tromp/cuckoo/blob/master/doc/simplesolve).

由于ASIC通常只有两种电路,即逻辑电路和存储器(以SRAM的形式),两种电路具有完全不同的特性,一个ASIC友好的PoW算法应该关注其中一种或另一种,并避免任何不必要的复杂性。

比特币的基于SHA256的PoW算法是最终逻辑证明的一个候选。你可以把Cuckoo Cycle看作是最终SRAM证明的一个候选。

Cuckoo Cycle的故事开始于2013年底,当时丹·拉里默(又名bytemaster)提出了“动量”工作量证明,声称消耗内存,并提供30BTC反证证明。

(https://bitcointalk.org/index.php?topic=313479.0).

这让我开始思考基于内存的PoW算法可能的替代方案。我不记得具体是怎么做的,但作为一个有算法和数据结构背景的计算机科学家,我不知怎么地联想到所谓的布谷鸟哈希表,其行为与二部图中的循环有关,然后我提出了一个初始设计。

在GitHub Cuckoo主页上你可以找到我在GrinCon's做的两个演示视频,视频中我解释了布谷鸟在哈希表中的起源。在那年的倒数第二天,我在bitcointalk论坛上发帖,表示“我对比特币的对ASIC友好的工作量证明(pow)的替代算法很感兴趣。”

(https://bitcointalk.org/index.php?topic=392128.msg4225174)

基于内存的POW算法有两个主要优点:

1)减少能源浪费

2)将挖矿平衡从ASIC-farms搬回台面上来,让更多的人在矿业“彩票”中获得公平的机会

scrypt的设计初衷是以内存消耗为主要难点的,但在这方面只取得了很小的成功。

最近,Invictus Innovations也提出了具有完全相同目标的动量工作量证明算法Momentum pow,但结果证明,这也是在内存和所耗时间上进行权衡。讨论请参阅

https://bitsharestalk.org/index.php?PHPSESSID=8cf66a1c5dbb5822f255c4a37bb0e8f4&topic=22.60

理想的pow算法需要一定数量的内存(若干个GB),而没有内存-时间之间合理的权衡;换句话说,如果只有最小内存量的一半,那么它的效率就会非常低。在这个领域还有其他的研究吗?有没有其他针对消耗内存的Pow计划被提出?我有一些想法,正在考虑把它们放在白皮书中,但我想确保我知道所有之前的发表是值得的。

在2014年1月/ 2月,我在github repo上发布了《Cuckoo Cycle》的白皮书及其实现。在几个月内,David Andersen确定了可以节省大量内存的边缘修剪技术,该技术很快被整合到算法的实现中。第二年1月,白皮书在2015比特币研讨会上发布。在那次会议上,我与佐科·威尔科克斯(Zooko Wilcox)详细讨论了在他即将推出的ZCash中使用Cuckoo算法的可能性,但他最终还是更喜欢由密码学家设计的PoW算法。Cuckoo Cycle将不得不等待Grin的到来,以看到其被采用。

Q2:CuckooCycle算法被应用于Grin挖矿。您也是Grin非常核心的开发者。我认为我们今天这个Q&A不需要再去跟大家介绍Grin是什么样的一个项目。但我很好奇,您是什么时候加入到Grin,为什么你会想要加入他,并且一直持续到现在?你看好的是Grin的什么?

John Tramp :从2016年8月首次公布  MimbleWimble的那一刻起,我就对它很感兴趣,它展示了非常优雅的设计,并承诺在可伸缩性、隐私和简单性方面进行改进。

长期以来,我一直是极简主义的拥护者,喜欢去除不必要的复杂性。这可以从我对《算法信息论》的研究中看出,《算法信息论》考虑的是计算特定输出的最小可能程序。为了使这个理论具体化,我设计了尽可能简单的编程语言,称为二进制Lambda演算。当我在2个月后听说Ignotus plan将以Cuckoo Cycle作为PoW算法执行Mimblewimble时,我感到更加激动。经过这么多年,Cuckoo Cycle不仅被采用,而且被最有前途的区块链设计采用! 这促使我联系了Ignotus,讨论如何正确使用Cuckoo Cycle循环参数。我发现他对区块链设计的偏好和我的非常匹配,所以我渴望在我能做的地方贡献自己的力量。我很高兴看到他接受了固定的区块奖励,因为我一直认为区块奖励的快速下降会导致糟糕的财富分配情况。

选择Rust作为实现语言也是非常超前的,它具有强类型、代数数据类型、内存安全、一致的格式以及高质量板条箱的研发库等特性。我想不出有哪一个Grin的特征是我不喜欢的。在我忘记之前,我还应该提一下,Grin的开发人员是我曾经共事过的最有技巧、最有能力、讲道理、最可爱的人。

Q3:去年六月份,官方论坛证实匿名创始人Ignotus Peverell因个人原因离开。这让人联想到中本聪离开比特币,但也让社区的一些支持者感到担心。请问您觉得IgnotusPeverell的离开,对社区、对Grin产生了什么样的变化?现在有多少核心成员在进行Grin代码的开发?您认为目前进度、效果如何?

John Tramp : 硬分叉的时间已经确定,我们不希望Ignotus在硬分叉完成前就离开我们。所以它来得有点出乎意料。就像中本聪的离开一样,人们最初感觉项目失去了领导力,特别是在核心开发者中,失去了一个我们喜欢与之交谈的朋友。过了一段时间人们才适应这个现实。没有一个单一的指导和愿景来源,没有一个人可以打破在如何推进不同的意见时的僵局。但我们意识到,这就是数字货币真正去中心化的意义。不应该只有单一的官方的声音。

在Grin的 github repo网页上,最近有5个贡献者提交了代码。Grin++ repo有2个活跃的贡献者,Ironbelly则有1个,各种贡献者正在为所支持的项目编写代码,如最近的Grin Defender Online和IPFS block explorer。

尽管最近遭受了51%的攻击,Grin的价格已经有所恢复,我看到社区的情绪也随之上升。看到交易所终于开始采用Slatepack,这极大地提升了我们对其的信心,移动客户端也取得了巨大进展。

Q4:明年1月份Grin就会进行最后一次既定的硬分叉,您可以简单为我们介绍一下,过去三次Grin的硬分叉,和这既定的最后一次(第四次),他们分别完成了什么功能,给Grin带来了什么样的改变?请为我们介绍一下Grin这两年成长的路线?

John Tramp : 2021年1月中旬即将进行的硬分叉并不是Grin的最后一次硬分叉,但它是在计划发布前需进行的4次硬分叉中的最后一次。

真正与ASIC相抗衡需要一个双管齐下的方法。第一种是通过使用内存,或复杂性,或两者的组合,来挫败ASIC的设计。第二种是进行频繁的、不可预测的调整,使其无法达到投资回报率ROI。在Grin之前,所有所谓的抗ASIC的 PoW算法在第二个方法上都失败了(Scrypt, X11, Cryptonight, Equihash, ethash, X16R等等)。

https://forum.grin.mw/t/grin-v2-0-0-node-wallet-released

- Cuckaroo29 -> Cuckarood29 (from undirected cycle in bipartite graph to directed cycle in bipartite graph)

- Node API change

- new bulletproof rewind scheme

- Wallet API change V1 -> V2

- Slate change V0,V1 -> V2

- Fix critical vulnerability in txhashset zip file https://forum.grin.mw/t/critical-vulnerability-in-grin-1-0-1-and-older-fixed-in-1-0-2)

https://forum.grin.mw/t/grin-v3-0-0-hard-fork-upgrade-jan-2020

https://forum.grin.mw/t/grin-grin-wallet-3-0-0-released

- Cuckaroo29d deprecated for Cuckarood29m (directed cycle in monopartite graph)

- Node API change

- Commit to spent bitmap (fixes critical vulnerability https://forum.grin.mw/t/medium-severity-vulnerability-sucessfully-patched-in-grin-v3-0-0-public-disclosure-of-cve-2020-6638/6969)

https://forum.grin.mw/t/grin-grin-wallet-4-0-0-beta-1-released

- Cuckaroo29m deprecated for Cuckarood29z (undirected cycle in monopartite graph)

- Node API change

- Fixes critical vulnerability in Cuckaroom node bits setting https://forum.grin.mw/t/critical-pow-vulnerability-closed-the-accidental-birth-of-a-new-pow

https://forum.grin.mw/t/grin-v5-0-0-network-upgrade-hard-fork-4-january-2021

- Cuckaroo29z deprecated, no more secondary PoW

- change fee calculation, limit to 40 bits, add 16 priority levels

- change Difficulty Adjustment Algorithm to wtema-240

- add support for Parallel Initial Bytes Download

- no critical vulnerability fix that I'm aware of:-)

我没听懂你所说的Grin最近两年的成长路线是什么意思。

Q5:What’snext?Grin下一步的技术重点会是什么?在您看来,未来一年Grin会有什么样的变化?GrinAsic芯片的诞生会给Grin注入多大的力量?

John Tramp : 从后者开始,仅耗费100W就生成1.4gps意味着挖掘效率提高了近4倍,因此我们可以期待看到更高的图形处理率。由此造成的gpu盈利能力的损失有一个明显的不利方面,那就是使挖Grin变得不那么可操作。但与此同时,它也使得图形处理能力的出租变得更加困难,因为Grin ASIC的拥有者将比GPU的拥有者更不愿意出租他们的图形处理能力。所以gpu盈利越少,Grin就越能抵御51%的攻击,这对长期安全至关重要。再加上永远不变的每秒固定奖励1 Grin,这将使Grin成为最安全的PoW数字货币之一,且不依赖于巨大的费用。

未来几年可能会出现另一个硬分叉,例如在主网上启用NRD内核,并用空间效率更高的BulletProof+取代BulletProof。

2021年,Grin还可以期待许多不需要硬分叉就能实现的改进,如现有的rfc所示 https://github.com/mimblewimble/grin-rfcs/pulls.这就包括交易流、安全交易取消、payjoin支持和完整PIBD的付款证明。两步交易流也很受欢迎,但这是否可以通过现有的Schnorr签名实现,或者更理想的情况下,通过不同的签名方案实现,是一个未决的问题。除此之外,我们希望开发交易聚合服务,这样用户就可以选择将交易发送到每日或每小时的聚合服务器,以在确认速度和不可链接性之间进行权衡。如果我们能够实现足够的交易量和每小时聚合量,以在不可链接性上超过Monero,那么未来将是非常光明的。

责任编辑:小明


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK