mt logoMyToken
总市值:
0%
恐慌指数:
0%
币种:--
交易所 --
ETH Gas:--
EN
USD
APP
Ap Store QR Code

Scan Download

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

收藏
分享

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,那么未来将是非常光明的。



责任编辑:小明

免责声明:本文版权归原作者所有,不代表MyToken(www.mytokencap.com)观点和立场;如有关于内容、版权等问题,请与我们联系。