funded

Daedalus Turbo - 10x Quicker Sync

$165,000.00 Received
$759,000.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Impact / Alignment
Feasibility
Auditability
解决方案

A new download algorithm better utilizing network bandwidth, a quicker algorithm for wallet-history reconstruction, temporary sync apps, and an integration into Daedalus and Cardano Node.

Problem:

Daedalus, the decentralized Cardano wallet, is painfully slow, taking a whole day to sync initially and hours to resync when used only occasionally - an unfavorable impression of Cardano for new users

Yes Votes:
₳ 299,495,215
No Votes:
₳ 235,830,058
Votes Cast:
2000

This proposal was approved and funded by the Cardano Community via Project F9: Dapps, Products & Integrations Catalyst funding round.

[impact] 请描述你建议的解决方案。

在描述解决方案之前,用更多的细节来描述问题是很重要的,因为细节有助于理解为什么有理由相信有可能将同步时间优化10倍,这是一个相当宏大的目标。

根据作者在建立和优化分布式计算系统方面的经验,一个合理的软件优化目标是使软件有足够的性能,使硬件成为瓶颈。通常,这种硬件瓶颈是网络带宽、CPU利用率或存储系统的带宽。

**"代达罗斯 "是否很好地利用了可用的硬件资源?

在思考这个提议的时候,我对Daedalus和Cardano Node进行了深入的研究,看看这个软件离充分利用这三大资源还有多远。根据我的计算,它离这些限制都很远(超过10倍)。以下是我的计算结果。

1.网络。Cardano Ledger目前消耗了大约60GB的存储空间。 这是未压缩的。暂时不考虑压缩,一个拥有250MBits/sec(30MBytes/sec)互联网连接的用户应该在大约半小时内下载60GB(60GB/30MB/sec2000秒或33分钟)。因此,比现在完全同步所需的12-24小时快了10倍以上。 2.2.CPU。Cardano使用Blake2b(<https://www.blake2.net/>)哈希函数,每个CPU每秒可以验证多达1GB的数据。考虑到一个现代的8核系统,这给了8GB/秒的散列能力。在8GB/秒的速度下,60GB的账本可以在7.5秒内处理完毕!接下来,Cardano使用快速和安全的Ed25519椭圆曲线公钥加密技术,它可以验证每个CPU每秒30,000个签名。在一个8核系统上,每秒有240'000个签名。假设每个Cardano区块需要验证100个签名,350个纪元和21600个区块,那么整个区块链的验证速度应该比一个小时还要快:(350个纪元x每个纪元21600个区块x每个区块100个签名/每秒240000次验证)=3150秒。 因此,又比现在的时间快了10倍。 3.存储。现代PCIe固态硬盘的读写速度至少可以达到1GB/秒,最新的型号接近7GB/秒。即使采取1GB/秒的较慢速度,整个账本也可以在60秒内读完。这里与Daedalus需要的12-24小时相差10000倍,所以存储绝对不是这里的瓶颈。

在进行了上述计算后,我们进行了三个快速的技术实验,以进一步验证是否有切实可行的方法来改善这种情况。本节末尾对这些实验进行了描述。

改进计划

上述计算和实验结果表明,优化的主要重点应是。

  1. 改进同步过程中的网络利用率。
  2. 负责重建钱包历史的代码的改进。

此外,由于仅仅拥有更好的算法并不足以改善用户体验,这些算法应被整合到向公众提供的软件中。

因此,计划如下。

1.准备一种方法,通过网络将历史区块链数据更有效地传递到新的代达罗斯设置中。目前,最简单的可能解决方案似乎是BitTorrent协议的一个变种,以确保网络容量与客户数量有良好的扩展,并与去中心化的整体方法相一致。 2.2.准备一种算法,从磁盘上的区块链中更快地重建钱包历史。这里,至少有两种方法是有吸引力的:索引和更好地利用多核CPU。索引将允许 "代达罗斯 "只扫描那些可能(或肯定)有影响特定钱包的交易的区块(在数据库领域有许多强大的解决方案,如B-树索引、哈希表等)。对于多核利用,搜索与特定钱包历史相关的区块可以并行进行,以减少用户的等待时间。 3.3. 为Windows和Mac OS创建一个Daedalus启动器/包装桌面应用程序,为Linux创建命令行实用程序,让普通大众从快速同步中受益,同时这些算法由IOHK审查,以便纳入Daedalus和Cardano Node本身的主流代码。 这些应用程序将保证至少在网络上更快地传输区块链给终端用户。如果有可能通过包装程序预先初始化Daedalus的钱包数据,我还需要研究。 4.创建必要的网络基础设施(具有高网络带宽的地理分布式服务器;定期创建用于分发的区块链快照),以确保客户应用程序能够快速下载区块链,即使在高速点对点下载的对等体数量不足的情况下。 5.5.研究如何在区块链数据的网络传输和磁盘存储期间最好地利用压缩算法。算法,如LZ4,它提供了极高的解压速度(每一个核心1000+MBytes/sec),确保有剩余的CPU资源可用于其他任务。 6.通过创建GitHub问题和拉动请求与IOHK合作,支持他们将新算法整合到Daedalus和Cardano Node项目的主流代码中的过程。

这个计划是暂定的,因为在更深入的调查中可以发现其他的解决方案。这个计划的目的是表明有具体可行的行动可以采取,以改善这种情况。

技术/算法细节

  • 为了提高网络的利用率,目前的计划(如果深入研究发现有更好的替代方案,则可以改变)是
  • 利用类似BitTorrent的协议,这意味着在Turbo-Sync过程中,客户端计算机将成为点对点下载网络的一部分,不仅下载最新的区块链数据,而且与其他客户端共享。
  • 使用所有相关的点对点扩展,如支持无轨协议、网络上节点的点对点交换等。
  • 使用经典的优先考虑最稀有区块的共享政策。
  • 为了提高钱包历史重建的性能
  • 一个简单但低风险的方法–利用多核CPU。
  • 重建钱包历史的必要的第一步是识别包含有发送或接收地址(一个钱包可以有很多)的交易的区块链,这些地址来自钱包的私钥。 让我们把这一步称为相关区块的识别。
  • 尽管识别相关区块对于完全重建一个钱包的历史是必要的,但好消息是,对于大多数钱包来说,只有一小部分区块(不到1%)包含相关交易。
  • 减少运行时间的最简单方法是简单地使用所有可用的核心来运行公钥密码学操作,验证一个给定的地址是否来自感兴趣的钱包。因此,这是计划中的最低限度。
  • 一旦确定了相关的区块,我们可以使用与现在完全相同的重建过程,但要求它做的事情远远少于其原始区块的1%–因为大多数人在区块链的许多区块中没有交易。
  • 一种替代方法。
  • 大多数流行的Cardano钱包在生成支付密钥的同时也生成了一个赌注密钥,好消息是赌注密钥不会改变,可以直接从交易中使用的任何支付地址提取。
  • 我们的想法是为每个区块创建一个索引(一个特殊的数据结构),允许快速检查该区块中是否有来自一个给定股权钥匙描述的钱包的交易。
  • 这个索引可以预先计算并与通过Turbo Sync方法分发的区块链数据一起共享。
  • 有了这个索引,"代达罗斯 "可以将验证的复杂性降低100倍以上(在大多数情况下,包含参考给定钱包的交易的区块的百分比低于1/100),只需查看索引所建议的区块。

实验1–区块链历史的快速转移

下面的实验是为了证明磁盘上的区块链可以以充分利用可用网络容量的速度传输。

1.创建一个新的虚拟机(我使用了Linux),并安装一个新的Daedalus副本。 2.启动 "代达罗斯",让它创建其本地文件系统存储(在Linux下,它在$HOME/.local/share/Daedalus/mainnet下)。 3.在运行数分钟后停止 "神匠"。 4.用另一台安装了 "代达罗斯 "并完全同步的计算机。在这种情况下,使用了一台Windows电脑 5.从"%APPDATA%\Daedalus Mainnet\chain\blockhain "和""%APPDATA%/Daedalus Mainnet/chain/ledger "中取出一个本地区块链副本,并将文件放入一个存档。这大约是60GB的未压缩文件,而压缩后是20GB。 6.6.将档案上传到一个有高速连接的服务器上(1GBit/sec)。 7.7. 将档案下载到Linux虚拟机上。当然,这种下载能够充分地利用网络。 8.将文件解压到$HOME/.local/share/Daedalus/mainnet/chain/blockchain和$HOME/.local/share/Daedalus/mainnet/chain/ledger。 9.9.在虚拟机内启动Daedalus,测量时间,直到它报告完全同步。

在我的案例中,在这样一个预先初始化的设置上,启动时间包括同步到100%只花了5分钟。所以,这个实验证明了以下几点。

1.以全网速度传输区块链的历史状态是很容易的。 2.Daedalus和Cardano Node使用的磁盘格式在不同的操作系统之间是兼容的,在这种情况下是Linux和Windows。

实验2–用同步的区块链数据重建钱包历史

对于许多用户来说,在安装和同步Daedalus后的下一步是创建一个新的钱包或恢复以前创建的钱包。因此,我做了以下工作。

1.拿出同一台虚拟机,将 "大神 "同步到100%。 2.2. 恢复我之前创建的钱包。 3.3. 测量了直到Daedalus报告说钱包的完整历史已经准备好的时间。

在我的例子中,这花了6个小时!这是在完全同步的分类账数据已经存储在本地磁盘上的情况下!

这个实验证明了以下观点。

1.即使网络不再是瓶颈,钱包历史重建的算法仍然需要大量的时间。 2.2.它所花费的时间是本地存储系统从磁盘上读取数据所需时间的1000倍,这表明在算法优化方面有很大潜力。

实验3–从钱包支付地址中提取股权钥匙

我真正想回答的一个问题是,是否有办法让Daedalus只分析区块链中与特定钱包有关的交易的那些区块。如果这是可能的,这可以很容易地实现100倍甚至更多的速度,仅仅是因为大多数钱包在其历史上只有不到一百笔交易,而整个区块链在每个纪元(每5天)都会创建21600个区块。这样做的方法之一是创建一个新的数据结构,允许快速检查一个给定的区块是否有与一个给定的钱包相关的数据。通常情况下,这很难做到,因为每个钱包可以有许多支付地址,但在实践中,大多数Cardano钱包不仅产生一个支付地址,而且还产生一个赌注密钥,该密钥不会改变,可以从支付地址中提取,然后用来验证一个给定的支付地址是否可能与一个给定的钱包有关。为了测试这个假设,我做了以下工作

  1. 拿到了Edmurgo的Cardano序列化库:https://github.com/Emurgo/cardano-serialization-lib 2.写了一个非常简单的脚本(下面有一个副本),看看从Daedalus和Yoroi生成的同一个钱包的多个支付地址中提取木桩钥匙是否容易。 3.3. 检查该脚本是否会对我所拥有的几个钱包的任何付款地址返回相同的赌注密钥。

结果是,是的–同一钱包的所有支付地址都有相同的提取的赌注密钥,这有可能被用来创建一个快速搜索索引,以找到包含与特定钱包相关的交易的区块。

Node.JS的脚本(假设首先用npm安装了导入的软件包)。

> import * as CardanoWasm from '@emurgo/cardano-serialization-lib-nodejs';

> const addresses = [&lt;一列以addr> 开始的Cardano地址 ]。

> for (const addrStr of addresses) {

> 让addr = CardanoWasm.Address.from_bech32(addrStr)。

> let stakeCred = CardanoWasm.BaseAddress. from_address(addr).stake_cred()。

> console.log(addrStr, '=>', 'stake:', Buffer.from(stakeCred.to_keyhash().to_bytes().buffer).toString("hex") )。

> }

###[IMPACT] 请描述您提出的解决方案如何解决您提交的挑战。

Daedalus钱包是Cardano生态系统中最受欢迎的Dapp之一。本提案旨在大幅(10倍)改善首次使用Cardano用户的用户体验–建立一个去中心化的钱包和偶尔检查余额和进行交易的体验。改善这种体验可能对Cardano生态系统中的大多数人和那些刚刚探索Cardano的人来说是可见的。因此,这个提议可能会成为Cardano活跃用户数量和他们与生态系统接触的主要助推器。

这项提议直接支持Dapps、产品和整合挑战的以下关键绩效指标。

  • 它增加了真正去中心化的Cardano钱包Daedalus的使用,而不是中心化的轻型钱包,如Yoroi。
  • 它增加了Cardano的采用–经常与Cardano区块链互动的人数,因为主要的去中心化钱包更容易使用。
  • 它增加了执行的交易数量,因为偶尔使用钱包更方便。
  • 它提高了一个主要的现有产品的质量 - Daedalus钱包。
  • 它增加了一个主要的现有产品–Daedalus钱包的使用率。

此外,由于将被改进的关键底层组件之一–区块链历史同步–也被Cardano股权池运营商使用,该提案可以通过为股权池运营商提供更快的灾难恢复工具(在无法恢复的服务器崩溃后设置新的节点)来改善Cardano生态系统的整体网络稳定性。这是因为设置股权池节点的第一步正是同步账本的过程。

最后但并非最不重要的是,对如何最好地利用压缩算法的研究可以为创建去中心化的移动钱包开辟一条道路–一个消耗70GB的移动应用程序对许多用户来说可能是不现实的,但一个只需要20GB或30GB的应用程序可能更可行。 同样,保持一个移动钱包应用程序在后台始终运行,以确保其同步是不现实的 - 这将很快耗尽手机电池,但有一个更快的重新同步,在一个月的不活动后只需要5-10分钟,使使用一个完全分散的移动钱包更现实。

/[IMPACT] 有哪些主要的风险可能会阻止你成功地交付项目,请解释你将如何减轻每个风险?

这个建议背后最大的风险是。

  • 找到一种能够在传输区块链数据的同时使客户的网络完全饱和的算法。即便如此,在整合新算法的过程中,也有可能出现挑战。主要的算法本身是经过互联网社区在过去20年的战斗考验的。例如,BitTorrent协议有20多年的历史,能够以用户网络通道的全部带宽传输数据。 因此,在我看来,这里失败的风险很低。

  • 找到一种更有效或更好地利用现代笔记本电脑和计算机的多核CPU的钱包历史重建算法。这是一个更严重的风险,因为在验证的质量方面不可能有任何妥协。同时,诸如索引(是的,就像书的结尾一样–一种特殊的结构,可以更快地找到相关的信息)等方法在数据库领域被积极使用并取得了巨大的成功。即使索引是不可行的,用多个进程并行搜索包含特定钱包交易的区块,仍然可以成为一个解决方案,可以减少终端用户的等待时间。

  • 确保将发现的算法无缝整合到Daedalus和Cardano Node项目中。根据作者作为资助提案人的经验,IOHK的团队很忙,所以期望快速整合复杂的解决方案是不现实的。为了解决这个风险,本提案做了两件事。

  • 提供一个独立的Daedalus Turbo App,它将作为Daedalus的启动器,确保Daedalus不必自己同步整个区块链。

  • 为调整、新的迭代和错误修复预留足够的资源,以确保所开发的算法能够现实地整合到主流代码中。

    [FEASIBILITY] 请提供一份详细的计划,包括交付提案的时间表和关键里程碑。

第1-4个月

  • 调查Cardano节点代码中的网络瓶颈。
  • 实验概念验证的解决方案,以充分利用网络,主要研究类似BitTorrent的协议,如BitTorrent和BitTorrent流。
  • 可交付的**:一个概念验证的同步工具,能够完全饱和网络带宽,高达250 MBits/秒。

第5-8个月

  • 准备Windows和Mac OS的封装应用程序和Linux的命令行实用程序,这将使区块链数据的快速下载对公众开放。
  • 实验各种压缩方法,以进一步优化网络传输速度和潜在的磁盘存储使用。
  • 可交付:Daedalus Turbo Apps的初始版本可用于Windows和Mac OS。
  • 可交付:用于Linux的初始版本的命令行工具可供下载。

第9-12个月

  • 调查 "代达罗斯 "和Cardano Node中负责钱包历史重建的代码。
  • 调查应用索引算法以加速钱包历史重建的选项。
  • 研究如何更好地利用多核CPU以加快钱包历史的重建。
  • 可交付的。一个更快速的钱包历史重建算法的概念验证实现。
  • 可选择的交付成果**:如果技术上有意义,将算法整合到封装的应用程序中。

第13-24个月

  • 调查如何最好地将概念证明整合到Daedalus和Cardano Node中。
  • 准备代码和文档,以支持IOHK将新算法整合到Daedalus和Cardano Node中。
  • 与Cardano Node和Daedalus的GitHub维护者反复合作,将算法整合到项目中。
  • 修复潜在的错误
  • 尽可能地进一步优化算法的性能。
  • **可交付的:**GitHub问题与具体要求和建议。
  • 可交付的: GitHub拉动请求,用于实施直接的情况,以帮助IOHK团队更快整合改进。

技术说明

  • 封装程序将用Electron和Node.JS编写–与Daedalus本身使用的技术栈相同,以简化未来与主流代码的集成,并增加代码重用的可能性。
  • Linux的命令行实用程序将用Node.JS编写,以最大限度地提高所有三个客户端应用程序之间的代码重用。Windows应用、Mac OS应用和Linux CLI。
  • 对于网络的利用,可能会使用libtorrent(BitTorrent协议的强大C++库)。
  • 用于快速重建钱包历史的算法可能用C或C++编写,以优化硬件性能,并使其可用于不同的编程语言/环境,如Haskell和Node。 JS。
  • 为了使新算法在Cardano Node使用的Haskell运行时中可用,将使用Haskell的 "外来函数接口"(FFI)。
  • 为了使新算法在Node.JS环境中可用,将使用Node.JS的 "本地插件 "接口。

**注:**在撰写本提案的时候,作者正在进行一个为期6个月的由Fund7资助的项目。等到Fund9的结果出来时,该项目上的积极工作将完成。因此,该项目工作不会给本提案的可行性带来风险。

/[FEASIBILITY] 请提供详细的预算明细。

这是一个独特的项目,所以提出主要的成本驱动因素而不是自下而上的成本估算更有意义,因为自下而上的估算很可能是错误的,但成本驱动因素可能保持不变。

以下是主要的成本驱动因素。

  • 研究& 开发 - 40%
  • 在同步过程中最大限度地提高网络利用率的算法
  • 一种在钱包历史重建过程中解锁利用多个核心的算法
  • 一种预索引区块链的算法,以便在重建钱包历史时排除不相关的区块。
  • 用于Windows和Mac OS的Daedalus独立启动程序,允许在算法被整合到IOHK的主流项目:Daedalus和Cardano Node时从更快的同步中受益。
  • 一套用于Linux的Stake-Pool操作人员的命令行工具,允许在等待整合到主流存储库时使用更快速的同步。
  • 为额外的迭代、错误修复和支持活动储备资金,以便将算法纳入IOHK运行的主流项目:Daedalus和Cardano Node。
  • 分布式系统的质量保证和测试–10
  • 租用云硬件进行大规模的测试 - 全球1000个节点,以验证点对点同步代码的最终版本。每1个节点的成本是每小时1美元以上,所以仅仅是1000个服务器的一个测试,一小时的成本就已经达到了1千美元。随着新版本代码的准备就绪,这样的测试可能每周都需要进行。
  • 对于那些同意在解决方案的早期测试阶段运行Daedalus Turbo启动器应用程序和CLI工具的用户,ADA将给予奖励。
  • 税收、财务支出和费用––50%
  • 作者在德国,根据在Fund7中作为出资人的经验,有必要为缴税和预付款(在德国,财政部门可以要求在一年内预付税款)做大量的储备。
  • 在实践中,Catalyst资金支付和实际兑换成法币之间的ADA/USD波动很大:悲伤的ADA在一个24小时内可以波动高达5-10%,而且Catalyst为支付计算的汇率可能不是在交易所实际交易时的实际汇率。在过去的6个月里,ADA/USD大多在下降,给受资助的提案人造成了很大的财务支出。
  • 加密货币交易所利差和交易费用 ADA对USDT/BUSD + USDT/BUSD对欧元
  • 银行费用。

研究& 开发部分的费用是由以下专家的费率驱动的。

  • 在最初的12个月内。
  • 首席工程师-分布式计算系统和算法。
  • 高级工程师 - Node.JS & Electron.
  • 高级系统和网络管理员。
  • 在项目的第二个12个月内。
  • 高级工程师–Haskell & Cardano区块链。
  • 首席工程师–分布式计算系统和算法。

上述专业技术领域的需求量很大,导致了以下费用结构。

  • 前12个月的研发预算:35万欧元
  • R&D的后12个月的预算:25万欧元。
  • 测试和质量保证的预算:6万欧元。

总共是66万欧元,包括税收和与ADA提供的资金有关的额外财务支出。

这个项目的预算是以欧元计算的,由于这是一个为期24个月的项目,有必要考虑到欧元/美元汇率的波动。在过去5年中,欧元/美元的汇率在1.25至1.05欧元/美元的范围内波动。因此,1.15的平均汇率被用来计算所需的美元资金。

要求的美元预算为759000美元=66万欧元/*1。 15(欧元/美元)。

###[FEASIBILITY] 请提供将从事该项目工作的人员的详细信息。

该提案的作者在建立高性能分布式计算系统方面有近20年的经验,如搜索引擎、分析性大数据处理系统和机器学习的可扩展应用。此外,作者在Cardano生态系统中拥有广泛的经验:Fund7的资助提案人,Plutus先锋,Atala PRISM先锋。

作者在德国柏林经营一家精品数码化机构。我们相信,当整个团队既深入了解手头的问题,又了解用于解决该问题的技术时,就能创造出最好的技术解决方案。为了实现这一目标,我们每次只做几个精选的项目,而且只做团队规模在10人以下就能实施的项目。这些限制确保我们有能力在团队内沟通所有必要的信息,以确保每个人都能很好地理解整个项目。

作者与自由职业者(设计师、前端和后端开发人员、质量保证专家、数据科学家、系统管理员等)保持着一些运行合同。这些合同保证自由职业者购买一定数量的服务,自由职业者保证他们可以在短时间内被加入到项目中。参与本方案的具体专家将在资金确认后确定,但作者将亲自负责算法的研究和开发以及项目管理。

关于作者的更多信息可以在LinkedIn上找到:https://www.linkedin.com/in/alexsierkov/

[FEASIBILITY] 如果你得到资助,你会在以后的一轮中回到催化剂公司寻求进一步资助吗?请解释为什么/为什么不。

这个提议被组织成一个单一的可资助项目,以确保所承诺的影响–10倍的同步速度将成为Cardano用户可用的,而没有任何关于未来融资回合的意外情况。 这个决定背后的原因是,大部分预算将花在找出最佳算法和软件集成点上,这些活动对终端用户来说不是特别明显。如果项目被分成几个部分,可能会出现这样的情况:大部分的预算被花掉了,取得了进展,但影响却没有传递给用户。由于这是一个昂贵的项目,因此决定在获得资金的情况下,重点确保向终端用户交付影响。

[AUDITABILITY] 请描述你将衡量什么来跟踪项目的进展,以及你将如何衡量这些?

这个项目是关于减少Daedalus的同步时间,所以所有的衡量标准都是围绕这个目标和影响它的关键因素。

  • 同步时间。
  • 在现代硬件上从头开始同步 "神匠 "所需的时间:一台8核笔记本,250MBits/sec的互联网连接。
  • 在现代硬件上,即一台8核笔记本,250MBits/秒的互联网连接,在一个月没有活动后重新同步所需的时间。
  • 主动同步期间的客户网络利用率。
  • 网络吞吐量。MBits/sec
  • 峰值/平均占可用带宽的百分比。
  • 客户端在同步过程中的CPU利用率。
  • 处理量。每个CPU核心的MBytes/秒。
  • 所有核心的CPU利用率的峰值/平均%。
  • Daedalus启动时间 - 从点击图标到显示新创建的钱包余额的时间。
  • 在没有数据预同步的情况下。
  • 预同步到最后一个纪元的数据。
  • 预热到最后一个小时的数据。

此外,由于该项目依赖于将开发的算法整合到IOHK管理的主流项目中:Daedalus和Cardano Node,以下指标可用于衡量整合过程。

  • 创建和解决的GitHub问题的数量。
  • 创建和合并的GitHub拉动请求的数量。

为了验证整合的最终结果(终端用户真正从新软件中受益)。

  • 每月参与Turbo Sync协议的独特IP地址的数量。

最后但并非最不重要的是,在等待主流项目的全面整合时,将建立临时应用程序,以向用户提供影响,因此,衡量其采用情况是很好的。

  • 用于Windows和Mac OS的Daedalus Turbo启动器的下载数量。
  • 用于Stake-Pool操作员的Linux CLI工具的下载量。

定期的进展和KPI更新将被发布到。

  • 项目网站 - 在提案得到资助的情况下,将创建一个链接,作为该提案的评论,以提高知名度,并在每月的进展报告中提供给催化剂团队。

  • 项目的github资源库 - 在该提案得到资助的情况下,将创建一个链接,作为该提案的评论,以提高知名度,并在每月的进度报告中提供给催化剂团队。

    [AUDITABILITY] 这个项目的成功是什么样子的?

阶段1:

  • 在启动 "代达罗斯 "之前,使用Turbo Sync协议同步区块链历史的Windows和Mac OS的启动器应用程序可供公众使用。
  • 一套用于Linux的命令行实用程序,利用Turbo Sync协议更快地从头开始创建一个Cardano节点,已向公众开放。
  • 在网络连接为250 MBits/秒或更高的情况下,下载区块链历史的完整副本所需时间为60分钟或更少。
  • 在网络连接为250 MBits/秒或更高的情况下,下载一个月的区块链历史所需时间为5分钟或更少。

第二阶段:

  • 更快的下载和更快的钱包历史重建的新算法被整合到Daedalus和Cardano Node中,并可作为一个设置。
  • 该设置可以在安装期间和各自的设置界面或配置文件中启用。
  • 在启用Turbo Sync的情况下,下载区块链历史的完整副本和重建钱包历史所需的时间为60分钟或更短,网络连接为250 MBits/秒或更好,CPU为8个或更多核心。
  • 启用Turbo Sync后,下载一个月的区块链历史并重建该月的钱包历史所需时间为5分钟或更短,网络连接为250 MBits/秒或更好,CPU为8个或更多内核。

第三阶段:

  • 涡轮同步在Daedalus和Cardano Node中是默认启用的。

    /[AUDITABILITY/] 请提供信息,说明该提案是催化剂中以前资助的项目的延续,还是一个全新的项目。

这是一个全新的提案。

社区顾问评论 (1)

Comments

Monthly Reports

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3分钟24秒
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4分钟3秒
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3分钟48秒
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2分钟16秒
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3分钟14秒
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3分钟19秒
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4分钟59秒
    Darlington Kofa
0:00
/
~0:00