IRI 1.5.0 – 新的tip选择算法和其他改进

IOTA区块大康2018-06-23 22:46:08  阅读 -评论 0  阅读原文

我们正在不断的改进IOTA参考实现(IRI),并使其更接近IOTA白皮书。对于我们所做的任何更新,都需要进行大量的计划、研究、开发和测试。IOTA的IRI团队一直在努力改进目前的tip选择算法。我们很高兴能够在IRI 1.5.0版本中推出一个完整重写的tip选择算法。

想要更详细的了解Tangle?请参考:图解介绍缠结。

IRI 1.5.0中引入的新tip选择算法改变了很多东西。本文将简要介绍这些变化,但是如果您想更深入的了解这个新实现,请参阅:Tip选择算法文档。

累积权重

在以前的IRI版本中,我们对每个交易使用了简化的权重计算算法。根据Tangle的拓扑结构,以前的方法可能导致结果不能很好地代表Tangle中交易的实际权重,现在已经变更为Tangle白皮书中提出的内容。取而代之的是根据直接或间接引用的交易量来表示每个交易权重的实际值。虽然新方法的计算成本更高,但我们开发了一种算法,使我们能够以高效的内存方式进行计算。

固定子图

权重计算是一个高成本的过程,为了解决这个问题,我们现在使用的是图(graph)的一个固定部分(fixed portion),称为子图(subgraph),我们在其上进行计算。子图是由一个旧里程碑和当前tip之间的图的一部分形成的。子图返回多少个里程碑是由用户定义的"Depth"值定义的,直到预定义的"maxDepth"值。以前的方法也存在其他缺点,比如有一种理论上的可能性,即新的交易会比walker能够以更快的速度地加入到计算中,这种情况在固定子图(Fixed subgraph)上不会发生。

忽略无效交易

之前的IRI实现在遇到无效交易时停止了walker,并返回到该点为止的最后一个有效交易,walker也停在这一点。这使得臭名昭著的blowballs得以形成。我们现在已经改变了这种行为,这样walker会简单地忽略无效交易,将它从批准者列表中移除,并继续在另一条路径上漫步。这使得Tangle变得更加安全。采用先前的方法,对手可能会利用创造blowballs的方式来影响整体确认率。

当大量的交易引用单个特定的交易时(通常是一个里程碑),就会出现Blowballs现象。通过在blowball内部"诱捕"进入的交易,会阻止Tangle的有机成长。[图片来自IOTA StackExchange]


新的转移函数

我们已将IRI中的转移函数更改为指数函数。我们已经对函数的指数版本进行了研究和模拟,并且我们确信它代表了我们在转移函数中需要的行为。该函数还实现了一个'alpha'参数,它使我们能够控制漫步的随机性。我们可以使用该参数来调整功能,以便在漫步的不同部分获得最佳效果。

其他改进

改变tip选择算法的一个非常重要的部分就是记录算法是如何工作的。如前所述,请参阅tip选择算法文档来了解详情。

最后的一个要点是,我们还努力提高了代码的可读性和可测试性,这将使代码的维护和IRI的改进变得更简单。我们也希望它能让您和社区成员能更容易的直接为IRI项目作出贡献。

免费Coin?

如果您正在使用我们的Devnet(以前的testnet),您或许会很高兴听到我们现在已经使免费测试coin的获得变得超级简单。我们创建了一个水龙头网站,在那里你可以申请coin,只需提供你的IOTA地址就行了!

请在IOTA Discord的#testnet频道上反馈水龙头网站的任何问题。

弃用testnet网址

请注意,testnet的所有网址现在已被弃用。我们在将来会删除所有testnet.iota.org网址,并启用新的网址:devnet.iota.org。

发行说明

当新版本可用时, 发行页面上会提供完整的发行说明。

本次版本更新包括以下内容:

  • 修改tip选择算法(#778)
  • 验证alpha值(#817)
  • TipSelection:更新API参考(#773)
  • 可用处理器数量的插入检查。 (#758)
  • 改进的Docker支持(#744)
  • 更快的PearlDiver(PoW)(#733)
  • Kerl哈希速度提高(#628)
  • 路由返工日志(#727)

其它小型更新和修复

  • 修复了attachmentTimestampUpperBound的值(#777)
  • 修正了'getBalances','tip'参数解析(#776)
  • 添加哈希到'tx_trytes' ZMQ主题(#739)

感谢Alon Elmaliah和Alon Gal 。

Tip:如果文中遇到难以理解的地方,建议您结合文后附加的官方原文进行阅读。

英文链接:

https://blog.iota.org/new-tip-selection-algorithm-in-iri-1-5-0-61294c1df6f1

中文链接请点左下角"阅读原文"。

IOTA微信群管理员账号:IOTACHINAWeChat

声明:链世界登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。此文如侵犯到您的合法权益,请联系我们kefu@lianshijie.com

参与讨论 (0 人参与讨论)

相关推荐

区块链是下一个大事件还是只是最新的时尚?

区块链是下一个大事件还是只是最新的时尚?

许多专家表示,区块链是自互联网以来互联网上最大的创新。区块链是技术的未来,还是只是一种时尚?在这两种情况下,区块链仍然是底层技术。

案例分析共识算法演进轨迹的主要推手

案例分析共识算法演进轨迹的主要推手

共识算法,按照标准的解释,就是规定在区块链上合法的区块如何产生,并对同一高度相互冲突的区块链进行选择。通俗的说,就是解决谁说了算的问题。使用这些规则的目的是让参与者在一个没有可信特定参与者的系统中形成共识,这意味着是在一个参与人彼此完全陌生的环境里达成协商一致的过程,共识机制就是提供了在这个环境下协作交流的制度条件,而共识算法便是共识机制的技术实现手段。共识算法需要通证经济体系的支撑,否则,其支撑

深入理解零知识证明算法之Zk-stark——FRI协议

深入理解零知识证明算法之Zk-stark——FRI协议

前言终于到了“理解零知识证明算法值Zk-stark”系列的收尾。在前面的三篇文章里,我们依次介绍了zk-stark算法的整体结构、算法的第一部分:Arithmetization、算法的第二部分:Low Degree Testing。在我们正式介绍FRI协议之前,我们先看一个简单的场景。

深入理解零知识证明算法之Zk-stark:Low Degree Testing

深入理解零知识证明算法之Zk-stark:Low Degree Testing

前言本系列的第二篇文章,以超市收据为例,描述了Arithmetization 的具体过程。本文将以另外一个例子为基础,在回顾Arithmetization 过程的同时,将内容引申到多项式的LDT过程。为了方便验证者Bob验证,Alice首先要对Claim进行Arithmetization转换。

金色现场丨中国银监会原副主席蔡鄂生:区块链应用是一种创新的经济模式

金色现场丨中国银监会原副主席蔡鄂生:区块链应用是一种创新的经济模式

2019年12月5日-6日,由海南省工业和信息化厅主办,海南生态软件园及火币中国承办的"海南自贸港数字经济和区块链国际合作论坛"在中国海南省海口市举行。全球五大洲、十余个"一带一路"国家及地区14位部长,400余位金融业领袖、国际权威学者、头部科技企业代表出席本次论坛,共同讨论"数字化浪潮重构全球金融新秩序"、"区块链技术赋能全球产业生态"等主题。会上,南南合作金融中心主席,中国银监会原副主席蔡鄂

一文看懂加密算法为何物

加密,简而言之,加密就是借助一种或多种算法将明文信息转换成密文信息,信息的接收方通过密钥对密文信息进行解密获得明文信息的过程。根据加解密的密钥是否相同,加密算法可以分为对称加密、非对称加密和对称加密与非对称加密的结合三种形式。而在区块链技术中所使用的加密算法最常见的当属哈希算法和非对称加密两种。哈希算法哈希算法(Secure Hash Algorithm,SHA)是区块链数据加密应用最多、最常规的

一文读懂 Monero 的公平挖矿算法 RandomX

一文读懂 Monero 的公平挖矿算法 RandomX

门罗币在 12 月 1 日凌晨通过硬分叉升级的 RandomX 算法,就是这类尝试中值得关注的一个。一些芯片的 RandomX 算力比较永久储存协议 Arweave 也将集成 RandomX当然,对于这类新兴的算法来说,需要尽可能避免安全风险。审计结果报告中未发现 RandomX 有任何严重缺陷,其他的一些问题已经在代码中修复。

Grin 推出最新挖矿算法,预计将于 2020 年 1 月 15 日执行硬分叉

区块律动 BlockBeats 消息,Grin 近日宣布将发布最新 PoW 算法 Cuckaroom,该算法使 GPU 挖矿到 ASIC 挖矿的转变更为平稳。在二级的算法中,存在保证奖励因此 GPU 矿机无需和 ASIC 矿机竞争。同时 Grin 将在 2020 年 1 月 15 日左右执行第二轮硬分叉,届时老算法 Cuckaroo 的采用率将会被逐步降低。

麦妖榜
更新日期 2019-09-03
排名用户贡献值
1牛市来了30910
2BitettFan24187
3等待的宿命23810
4区块大康20369
5六叶树20310
6linjm122719429
7天下无双16192
8lizhen00215280
9让时间淡忘14586
10yelanyi050511349
返回顶部 ↑