ZenCash 关于调整 Equihash 算法潜在性的声明
ZenCash 社区正在就将于 2018 年 6 月底投入使用的比特大陆 AntMiner Z9 Equihash ASIC(专用集成电路)矿机的潜在影响进行激烈的讨论。作为一个 ASIC 矿机,它与使用 GPU(图形处理单元)挖矿相比,效能预计要高出 12 倍以上。 而自 ZenCash 发布以来, GPU 一直都是 ZenCash 首选的挖矿工具。社区关于这个主题的讨论大部分内容可以在 ZenCash 的 Github 主页上看到:https://github.com/HorizenOfficial/zenissues/142
来自社区的热情反馈对我们非常有帮助,并直接影响到我们团队未来的发展方向。
这为何是个潜在问题
有些人觉得使用比特大陆生产的 ASIC 矿机来挖掘 ZenCash 没什么大不了的,而另外一些人则担忧这将造成过度的中心化与集中控制。比特大陆向全世界的人出售他们的矿机,同时他们自己也在挖矿。因此,一旦他们开发出更强大的矿机,并且能够保持 50% 以上的挖矿算力,那么他们就会有能力极大地影响某个加密货币的未来走势。
这样一来,ZenCash 就存在着被一家矿机公司高度控制的风险,该公司有能力通过他们的算力来决定是否允许 ZenCash 区块链进行升级。
不过,ZenCash 有能力修改哈希算法,这会使 Z9 矿机无法继续挖掘 ZenCash。这是诸多去中心化的拥护者们推荐采取的行动,被简称为“硬分叉”。之所以叫做硬分叉,是因为自算法修改之日起,任何没有运行 ZenCash 新版软件的人就都不再是该网络的一部分。硬分叉存在可能的风险,因为在全网达成共识的过程中可能会出现问题。
有些人建议 ZenCash 改变哈希算法,以此保证优化度供GPU 挖矿,即便是维持一小段时间也好,或是在未来一旦有新的 ASIC 矿机上市就立马调整算法,使其作废。为了支持 GPU 挖矿,大家说使用 GPU 的矿工是 ZenCash 最早的一批支持者和推动者,GPU 对于世界各地的许多人来说是容易购买到的,并且 GPU 挖矿将新出的 Zen 以一种去中心化的方式分配给全球各地的许多人,有效预防了 ZenCash 算力和未来表决权被中心化的潜在可能。
现阶段活跃的开发与讨论
ZenCash 与许多其他的加密货币不太一样,因为并非每个区块中挖出的所有 ZEN 都分配给矿工。ZenCash 预定将于 7 月初进行重大升级,在此之后挖矿奖励的 70% 将分配给矿工,30% 将分配给下列各方:
- 安全节点运行者 – 10%
- 超级节点运行者 – 10%
- 社区资金 – 10%
与其他许多项目相比,ZenCash 在新出加密货币的分布上要去中心化得多,但是大部分挖矿奖励仍然会发放给矿工,这意味着他们有能力影响在硬分叉期间的进行的事。
ZenCash 有许多正在进行中的软件更新,这些更新既可以提高去中心化程度,又可以增加新功能。ZenCash 有五大软件升级和改进来源:
- Zcash 的软件改进 – Sapling 将成为今年更新的重头戏
- 移动端钱包上的受保护交易 – 这是个颠覆性创新
- 受保护交易的选择性披露
- 只显示受保护交易的密钥,实现一对多的即时通信和发布
- 比特币的软件改进 – 修复了许多较小的性能问题,并支持一些在比特币上理应存在的特性。
- ZenCash 社区贡献 – Arizen、Swing 及移动端钱包
- IOHK 研究和技术规格的实现,通过 InfoPulse 合约开发
- 治理与储备金 – 在预算和政策制定上实现匿名投票
- 可延展性改进,以实现更快、更高的交易量处理能力。
- ZenCash 开发路线图,包括:
- 为分散的安全节点和超级节点跟踪与报酬支付而打造的侧链
- 旗舰版钱包
- 侧链所带来的一些新功能
ZenCash 是一个由社区治理的加密货币。重大决定在社区成员出没的各种地方受到讨论,包括 Discord、Telegram、GitHub、官方论坛和 twitter。热衷于影响项目方向的社区活跃分子加入了 ZenCash 团队,有些人呆了一小段时间,有些人则呆了很久。非盈利性 Zen 区块链基金会的创始人和董事认为自己只是社区成员,受其他社区成员的委托从而调控社区资金的流向,以确保其使用符合社区明示的意愿。
最重要的开发项目之一(其涉及到调控大部分社区资金)是部署治理和储备金机制,这将有助于改进社区意愿的确定方法。
通过定期发布博客文章、双周会谈直播中提供问答环节,以及接受加密货币媒体的多次采访,ZenCash 社区始终参与并了解 ZenCash 团队正在进行的活动。这种参与方式目前看来效果很好,随着项目不断取得进展,社区将继续踊跃参与到 ZenCash 中来。
去中心化优先原则
ZenCash 开发团队对 ZenCash 社区的所有成员负责,并按照以下优先次序来开展工作:
- 赋予人们权力,并使人们能够放心地将 ZenCash 用于公共、私密和匿名交易、即时通信和出版,从而最大限度地提高自己的自由度。
- 继续软件开发,直到可以放心地将项目完全交给 ZenCash 社区管理,并且尽可能实现完全去中心化。
- 不断扩展并支持 ZenCash 社区、用户与合作伙伴。合作伙伴的名单很长,包括下列各方:
- 使用 ZenCash 交易的个人和企业
- 钱包和应用服务商
- 加密货币交易所
那些建议调整 ZenCash 哈希算法以使 ASIC 矿机在短期内无效的人强调:去中心化是这么做的主要原因;这看来ZenCash 社区十分在意去中心化程度。
- 矿工们将他们的算力分散在许多矿池中。这可以通过查询哪些矿池正在挖矿来得知:https://explorer.zen-solutions.io/blocks
- Ledger 硬件钱包大受欢迎,人们愿意把 ZenCash 从交易所提到本地钱包里保管。
- 安全节点的数量每周都在持续增加,此外人们还计划搭建超级节点。
- ZenCash 将在越来越多的交易所上市(包括去中心化交易所),从而将 ZenCash 的所有权与交易扩散到世界各地的不同角落。
调整算法是解决 Equihash(或 ZenCash 可以使用的其他哈希算法)的专用 ASIC 矿机的短期方案。随着加密货币越来越流行,将有更多的硬件生产商努力制造专用的挖矿硬件。如果有多家 ASIC 矿机生产商彼此竞争,制造硬件并将其出售给世界各地许多不同的矿工,那么对于中心化和单个实体获得区块链控制权的担忧就会减少。
调整 ZenCash 哈希算法的可能性
ZenCash 采用的哈希算法是继承自 Zcash 的 Equihash。优化的哈希函数是由密码学资深从业者创造的。原版 Equihash 白皮书描述了它是如何被创造的,并且可以得到怎样的优化和调整,值得一读。
ZenCash 从 Zcash 继承的主要特性之一是 zk-SNARKs 的实现,它支持受保护地址和交易。没有受保护交易,ZenCash 将失去隐私保护特性。ZenCash 受保护交易即将从Zcash 的 Sapling 版本中获得重大升级,从而在移动设备上实现受保护交易。虽然这不是必须的,但尽可能保持上游兼容性以整合这些新特性不失为周全之举。
ZenCash 社区有可能决定将本项目的 Equihash 算法改为其他可以尝试阻止 ASIC 矿机挖矿的算法。这些调整应当与其他的开发优先事项、开发工作的可用资金、以及令有能力的开发者进行额外作业的可行性一道考虑,从而进行实施。
随着 ZenCash 根据社区的优先事项持续成长和发展,我们预计代码库将继续分叉,特别是当 IOHK 涉足的大型研究项目得到实现时。这是可延展性升级,就目前而言计划升级为基于 Phantom 协议的 DAG。在 ZenCash 的成长过程中,我们有机会改变哈希算法,并且将隐私实现脱离 zk-SNARK 的现有类型。
幸运的是,Equihash 算法足够灵活,可以在不完全被替换的情况下进行调整,因此可以相对较快地进行改动,免除了大量的软件开发工作。
Equihash 算法具有影响求解的参数,称为 N 和 K 参数。它们会影响不同的处理能力和内存的组合在求解时花费的时间以及解的大小。Zcash 在发布前所选用的参数是 N = 200 和 K = 9。Zcash 发布后,密码学家确定 144 和 5 这两个值似乎能产生更小、也更抗 ASIC 的解。
在这种情况下,抗 ASIC 是指需要更大的内存,参数 200,9 的最佳内存量约为 512MB,而参数 144 和 5 则需要近 2.5GB 的内存。将内存集成到 ASIC 矿机中是昂贵的,因此较高内存要求的哈希算法会更抗 ASIC。我们可以将此版本的 Equihash 算法称为 Equihash-144-5 以用作区分。
ZenCash 的社区成员不知道比特大陆 Z9 蚂蚁矿机是否可以被修改,以通过调整后的 N 和 K 参数来进行 Equihash 挖矿,因为该设备的实际架构不曾受到披露。它可能是一个配备有限内存的专用 ASIC,或者它可能是一个带有外存的可重编程的密码学优化计算设备。根据架构的不同,改变 Equihash 的 N 和 K 参数可能会阻止比特大陆在一段时间内生产 Equihash-144-5 专用矿机。
Equihash 算法的潜在调整的准备工作
硬分叉对加密货币社区来说是一件大事,因为它会给许多人带来不便,并且软件升级的地方越多,用户经历停机的可能性就越大,此外,在系统升级时,用户将无法发送和接收所持的 ZenCash。
ZenCash 团队制订了一份硬分叉升级清单,其中包括以下活动和其他更多相关信息:
- 在 GitHub 私人开发分支的基础上创建新版本的 zend 软件。
- 测试、识别问题并修复私有 devnet 上的 zend 软件。
- 在 Github 上公开新的开发分支。
- 为不同版本的Linux、Mac 和 Windows 系统编译二进制文件。
- 将更新版的二进制文件整合进其它 ZenCash 软件中:
- Linux、Mac、Windows 版本的 GUI 钱包
- 类似 Z-NOMP 这样的矿池软件
- 区块浏览器
- 安全节点跟踪和报酬支付系统
- Arizen 和移动端钱包后端服务器
- 社区开发人员和运行者在测试网络上测试开发分支。
- 确定问题、修复并制作改进,直到开发分支在测试网络上稳定运行为止。
- 设置升级日期时至少提前一个月。确定在哪一预计区块高度进行升级。
- 至少在硬分叉区块高度到达前两周通知所有 Zend 软件用户强制升级,这样他们就可以升级、测试并集成内部系统。任何未通过硬分叉成功升级的人会经历额外的系统停机时间。大多数人将在硬分叉之前和之后经历一段维护期。
- 所有的交易所,例如 Bittrex 和 OpenLedger
- 支付处理工具,例如 CoinPayments
- 应用,例如 OpenBazaar
- 第三方钱包,例如 Coinomi
- 硬件钱包,例如 Ledger
- 矿池运行者
- 安全节点运行者
- 向社区和尽可能多的用户告知关于硬分叉和强制性钱包升级的事情。任何不升级钱包的人都将无法处理 ZenCash 交易。
将 ZenCash 的 Equihash 算法调整为 Equihash-144-5
ZenCash 团队致力于将项目的诸多方面都尽可能地去中心化。
针对去中心化安全 / 超级节点跟踪和报酬支付以及侧链上的治理/储备金机制,当前的软件开发项目将对 ZenCash 产生去中心化影响,而且它们仍处于创建早期。在它们接近部署阶段之前,许多小型矿工的挖矿活动对去中心化贡献颇多。
在项目开发的这一阶段,单个公司生产硬件和用其挖矿(并掌握 ZenCash 绝大部分算力)的能力是一个重大威胁。
为了解决这一威胁,ZenCash 团队打算执行以下决策制订流程:
- 确定创建硬分叉软件更新所需的工作量,这一更新需要修改 Equihash 算法的 N 和 K 参数以提升挖矿内存要求,同时还要改进 Equihash 求解性能。
- 在完成早已安排好的 7 月 1 日性能硬分叉升级后,为算法硬分叉升级创建一个时间表。
- 研究比特大陆 Z9 矿机的能力,以确定将算法调整为 Equihash-144-5 是否能有效地减少潜在的中心化,而且这种调整方式还不能被立即报复。
- 研究其他供应商将 Equihash ASIC 矿机推向市场的时间表。
我们已经为这一调整分配了团队资源,并鼓励社区成员在提出意见和建议之外,能够贡献出时间和精力。我们十分欢迎对决策制订有帮助的、来自社区的贡献!
调整的时机将基于 7 月 1 日 ZenCash 升级后第二个硬分叉成功完成的速度。我们团队正努力赶在 7 月 1 日硬分叉后的 4-6 周内完成此项工作;随着潜在事件的临近,我们将确定一个更具体的日期。
ZenCash 开发团队与社区合作,保留审查和更改硬分叉决定的权利,特别是当发现更改 Equihash-144-5 算法不会有效促进挖矿的去中心化的情况下。
ZenCash 未来将持续进步并获得成功
随着 ZenCash 加密货币和平台的不断壮大和发展,以及 ZenCash 社区成员的积极持续参与,沿着路线图前进将使得 ZenCash 成为一个更为强大和更具韧性的项目。出现一些状况和问题是不可避免的,但它们可以通过与开发团队积极互动,并对目标和路线调整随时提供反馈的活跃社区来解决。
目前,一家生产 ASIC 矿机的公司对去中心化产生的潜在威胁是我们社区所强烈关注的。ZenCash 开发团队将认真工作,对 Equihash 算法进行硬分叉升级以在短期内解决这一威胁。
在这一过程中,我们社区无疑将继续与来自多家公司的 ASIC 矿工进行对话,并探讨这些设备将如何 / 是否会对 ZenCash 项目构成风险。ZenCash 具有许多潜在风险,开发工作应侧重于以适度和有计划的方式应对不同的风险,从而将未来取得成功的机会最大化。
作者简介:
Rolf Versluis(网名为 BlockOps)是匿名币 ZenCash 的联合创始人兼首席工程师。Rolf 是一位经验丰富的数据网络安全专家,拥有超过十年的设计、安装和修复系统的经验,曾在他创立的 IT 公司中担任首席技术官。
在加密货币行业中,Rolf 除了在 ZenCash 担任职务之外,还运营着许多私人矿场,拥有超过 600 个运营系统,并管理着一个博客和 YouTube 频道,为全世界的加密货币矿工提供指导和帮助。
对于 ZenCash 和挖矿业来说,Rolf 可以利用到他在工程界的背景以及十四年的管理和领导经验(针对具有 60 个员工的 IT 公司),以及作为一名前美国海军核潜艇官员在夏威夷海域服役四年的经验。