IOTA本地快照功能即将推出

IOTA区块大康2018-09-04 22:54:00  阅读 -评论 0  阅读原文

在过去的几个月中,随着越来越多的开发者开始实施基于Tangle的解决方案,IOTA网络的活动显著增加。虽然这是一个非常有前途的发展状态,反映了IOTA越来越多的采用,但它也导致了数据库体积的增加,这可能会给硬件资源(特别是磁盘空间)有限的节点带来问题。

IOTA基金会一直在定期的执行全局快照(查看全局快照的视频说明和最近的一次全局快照),通过这种方式来修剪交易历史记录,并将得到的余额合并到一个新的创世状态,允许节点使用空数据库重新开始。然而,对于不断增长的帐本体积来说,这种处理方式越来越不切实际,因为它要求我们:

  • 暂时停止协调员。
  • 生成快照状态。
  • 为社区提供时间来验证生成的文件。
  • 最后重启协调员。

解决方案 - 本地快照

为了解决这个问题,我们一直在努力的实现一个名为Local Snapshots(本地快照)的功能。本地快照功能一直是IOTA路线图的核心部分。现在正在对该功能的初始实现进行内部测试,我们会及时向大家通告接下来的步骤,但是我们必须先对所有已经实施的更改进行校验,并收集与这个新功能的行为有关的足够指标。

本地快照期间的控制台输出

对节点运营者的意义

在深入研究本地快照的技术方面之前,我们想简要总结一下这个新功能为节点运营者带来的变化:

  • 在搭建新节点时,可以基于小型本地快照文件进行同步,不再需要使用大型数据库文件来引导节点,这样节点可以在几分钟内完全同步。
  • 节点对磁盘空间的需求大幅减少 - 实际上我们已经有节点运行在只有几百MB的硬盘空间中。
  • 由于不再需要全局快照,因此理论上节点可以在无需维护的情况下运行数年。
  • 节点应该能够每秒处理数千个交易,而且不再会出现数据库体积过大的问题。

本地快照的工作原理

为了理解本地快照的工作原理,我们首先需要澄清一些与Tangle工作方式有关的事情:

  • Tangle是一种数据结构,它的tips有很大的不确定性,但是随着时间的推移,确定性会逐渐提高。
  • 因此,随着时间的推移,交易处在未确认状态的时间越长,那么该交易突然成为共识的可能性就越小。这就是需要对pending时间过长的交易执行"reattach"的原因。
  • 为了验证交易并参与IOTA的共识,只需要知道pending交易的近期历史以及帐本的当前状态(余额)。

...

本地快照背后的基本原理相对容易理解,可以分为不同的方面:

修剪旧交易并保持余额

  • 首先选择一个足够旧的已确认交易,并将此交易用作本地快照的"锚点"。
  • 然后,修剪该交易直接或间接引用的所有交易,并相应地清理数据库。
  • 在清理旧交易之前,检查哪些余额受到它们的影响,并将得到的帐本状态保存在本地快照文件中,随后IRI将其用作新的起始点。

固化入口点(新节点的快速同步)

虽然对于已经与网络完全同步的节点来说,全局快照时修剪旧交易并不是个问题,但是对于尝试进入网络的新节点来说,这会产生问题,因为它们不再能够轻松的检索可追溯至上一次全局快照的完整交易历史。

即使我们假设他们能够通过向permanodes请求丢失的交易来检索完整的历史记录,但是仍然需要很长的时间才能追赶上帐本的最新状态。这个问题并不新鲜,也是许多节点运营者使用另一个同步节点的数据库副本引导其节点的原因之一。

为了解决这个问题,我们不仅可以使用本地快照文件来作为保持节点状态的一种方法,而且还可以基于一个完全相同的文件(可以由社区和IF定期共享该文件)开始引导新节点的搭建。

要使用本地快照文件引导新节点,我们需要存储包括余额在内的更多细节:

  • 首先,一个新的同步中的节点需要知道它可以在何时停止固化交易链,并且只考虑subtangle固化。为了能够做到这一点,我们判定出那些被我们删除的,拥有未处于孤立状态的审批者的交易,并将他们的哈希值存储在"固化入口点"列表中。
  • 一旦节点到达其中的一个哈希值,它就会停止请求其批准并将交易标记为固化的(比如全局快照后的999999 ....99交易)。

这使我们可以将本地快照文件作为引导机制,以便快速的(在几分钟内)同步新节点,与使用整个数据库副本来引导新节点相比,本地快照文件更易提供和检索。

里程碑(更快的同步)

  • 虽然固化入口点可以使我们尽可能快的停止固化过程,但是仍然需要一些时间来了解在我们选择的截止点之后发生的所有后续里程碑。
  • 由于我们希望本地快照文件成为引导新节点的可行且有效的方式,因此我们还会在本地快照文件中保存所有后续的里程碑哈希,以便新节点可以立即请求丢失的里程碑,不用被动地等待它们的邻居广播里程碑。

Permanodes

由于数据的修剪将通过一个简单的配置设定来控制,因此现在可以运行保留完整交易历史的permanode。在此之前,由于全局快照是一个网络范围的事件,所以无法实现permanode。

...

然后,自动重复获取本地快照的整个过程,这样节点就能够以相对恒定的空间需求运行,而且无需进行不必要的维护。

概要

即将推出的本地快照功能不仅可以解决随着IOTA采用的不断增长而出现的磁盘空间不足的问题,还可以简化新节点的设置,并允许组织和社区成员运行permanodes。

我们将在未来几周内开放"本地快照"功能的测试。更多信息将发布在IOTA Discord的#snapshots频道中。

原文链接:

https://blog.iota.org/coming-up-local-snapshots-7018ff0ed5db

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

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

相关推荐

宝马将于今年推出其区块链驱动供应链解决方案

宝马将于今年推出其区块链驱动供应链解决方案

暴走时评:汽车制造商宝马集团计划今年向10个供应商推出其区块链供应链解决方案。业内发展 Wendt透露,宝马现在打算与2018年创立的Mobility Open Blockchain Initiative的其他成员共享PartChain解决方案。

世界卫生组织与IBM, Oracle合作推出基于区块链的新冠数据平台

世界卫生组织与IBM, Oracle合作推出基于区块链的新冠数据平台

暴走时评:包括IBM, Oracle在内的大企业正与世界卫生组织合作利用区块链技术来开发一个开放数据中心平台,验证新冠大流行相关数据的真实性。

西班牙主流银行Santander计划在墨西哥推出与Ripple合作的跨境支付系统

西班牙主流银行Santander计划在墨西哥推出与Ripple合作的跨境支付系统

翻译:Penny 西班牙主流银行Santander银行计划在2020年在墨西哥推出由Ripple支持的国际支付系统One Pay FX。One Pay FX系统 正如Santander银行先前描述的那样,基于Ripple的RippleNet技术,One Pay FX独立于XRP,不需要数字货币即可运行。

美国疫情严峻,“数字美元”推出或将成最优选

美国疫情严峻,“数字美元”推出或将成最优选

美国在面对疫情所做的无限制发放国债打算转嫁危机的做法,更加让其他国家对此嗤之以鼻。所以,美国打算发行“数字美元”寻求维护自身地位的做法也并不难理解。

Tezos 将推出首款基于该区块链的 NFTs 游戏测试版,支持加密货币及法币购买

Tezos 将推出首款基于该区块链的 NFTs 游戏测试版,支持加密货币及法币购买

律动 BlockBeats 消息,Tezos 的联合创始人凯瑟琳布莱特曼 正准备推出一款名为「Emergents」的以加密为动力的卡片收集游戏的测试版本,该游戏基于 Tezos 区块链网络。卡将使用 XTZ 为单位定价并支付,不过也将支持法币购买。

NFT 代币借贷平台 LEND721 已在以太坊主网推出完整测试版

律动BlockBeats 消息,ERC-721 代币借贷平台 LEND721 近日宣布已在以太坊上发布,其 lend721.app 完整测试版已在以太坊主网推出。平台允许任何 ERC-721 代币持有者将代币存入 LEND,并从中赚取利息,因此借款人需为借出 ERC-721 支付抵押品 ,直至借出截止日期。

比特大陆推出矿机运维品牌「算力卫士」,可提供运维、研发、矿池一站式服务

律动 BlockBeats 消息,比特大陆推出矿机运维品牌「算力卫士」,向市场提供专业化运维服务。据比特大陆旗下蚂蚁矿机官方公众号发布称公司将面向全球挖矿市场提供矿机运维和维修服务,服务品牌为「算力卫士」,英文名「Hash Guard」。

比特币避险功能将在更大的危机中显现

比特币避险功能将在更大的危机中显现

在新冠疫情爆发期间,比特币的价格表现令人大失所望。比特币的暴跌并不能证明它不是避险资产。它只是向我们表明了,比特币被设计成了一种应对更大危机的避险资产。

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