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.

⑭提案している解決策を説明してください。

解決策を説明する前に、問題をより詳細に説明することが重要です。なぜなら、その詳細は、同期時間を10倍に最適化することが可能であると信じることが妥当である理由を理解する助けになるからです。これはかなり野心的な目標です。

筆者の分散コンピューティングシステム構築と最適化の経験から、ソフトウェアの最適化目標は、ハードウェアがボトルネックにならない程度にソフトウェアの性能を上げることです。一般的に、ハードウェアのボトルネックは、ネットワーク帯域、CPU使用率、ストレージシステムの帯域幅などです。

**ダイダロスは利用可能なハードウェア資源をうまく利用していますか?

この提案を考えるにあたり、私はダイダロスとカルダノノードをより深く観察し、ソフトウェアがこれら3つの主要なリソースをどの程度完全に活用しているのかを確認しました。私の計算によると、どの限界からも非常に離れています(10倍以上)。以下は私の計算結果です。

1.ネットワーク。Cardano Ledgerは現在、約60GBのストレージを消費している。 これは非圧縮の場合です。圧縮を無視すると、250MBits/sec(〜30MBytes/sec)のインターネット接続を持つユーザーは、60GBを約30分でダウンロードできることになります(60GB / 30MB/sec 〜 2000秒 または 33分)。つまり、現在の完全同期にかかる12〜24時間の10倍以上の速さです。 2.CPU。CardanoはBlake2b(<https://www.blake2.net/>)ハッシュ関数を使用しており、1CPUあたり1秒間に最大1GBのデータを検証することができます。最新の8コアのシステムであれば、1秒間に8GBのハッシュ処理能力があることになる。8GB/secで計算すると、60GBの台帳を7.5秒で処理できることになります。次に、Cardanoは高速で安全なEd25519楕円曲線公開鍵暗号を使用しており、1CPUあたり毎秒3万件の署名を検証することができる。8コアのシステムでは、1秒間に240,000の署名を検証することができる。各カルダノブロックが100署名、350エポック、21600ブロックを1エポックで検証する必要があると仮定すると、ブロックチェーン全体の検証は1時間よりも早く終わるはずです:(350エポック x 21600ブロック x x 100署名/240000検証/秒) = 3150秒。 だから、今回も10倍速。 3.ストレージです。最近のPCIe SSDは最低でも1GB/secの速度で読み書きができ、最新機種では7GB/secに迫る勢いです。1GB/secという遅い速度でも、60秒で全台帳を読み取ることができる。Daedalusが12〜24時間かかるのと比べると、1万倍もの差がありますから、ストレージがボトルネックになっているわけではありません。

以上の計算を行った後、さらに現実的な改善方法があることを検証するために、3つの簡単な技術実験を行いました。その実験内容については、本節の最後に記載する。

改善案について

上記の計算と実験の結果から、最適化の主眼は次のようになる。

  1. 同期時のネットワーク使用率の改善。
  2. ウォレット履歴の再構築を担当するコードの改善。

また、アルゴリズムの改良だけではユーザーエクスペリエンスを向上させることはできないため、これらのアルゴリズムは一般に公開されるソフトウェアに統合されなければなりません。

そのため、次のような計画になっています。

1.新しいダイダロスのセットアップに、ネットワーク上でより効率的に過去のブロックチェーンデータを配信する方法を準備する。現時点では、ネットワーク容量がクライアントの数に応じてうまくスケールし、分散化の全体的なアプローチと一致するように、BitTorrentプロトコルの変形が最もシンプルな可能性があると思われます。 2.2.ディスク上のブロックチェーンからウォレット履歴をより迅速に再構築するためのアルゴリズムを準備する。ここで、少なくとも2つのアプローチが魅力的です:インデックス作成とマルチコアCPUの有効活用です。インデックスを作成することで、あるウォレットに影響を与えるトランザクションが存在する可能性が高い(あるいは確実に存在する)ブロックチェーンブロックのみをスキャンすることができます(B-Treeインデックスやハッシュテーブルなど、データベース領域からの堅牢なソリューションが多数存在します)。マルチコアを利用する場合、与えられたウォレットの履歴に関連するブロックの検索は、ユーザーの待ち時間を短縮するために並列で行うことができます。 3.3. WindowsとMac OS用のダイダロスランチャー/ラッパーデスクトップアプリ、およびLinux用のコマンドラインユーティルを作成し、一般ユーザーが迅速な同期の恩恵を受けられるようにする一方、IOHKがダイダロスおよびカルダノ・ノード自体の主流コードに含めるためのアルゴリズムを検討する。 これらのアプリは、少なくともネットワーク上のブロックチェーンの迅速な転送をエンドユーザーに保証することになります。ラッパーアプリでダイダロス用のウォレットデータを事前に初期化することが可能かどうかは、まだ研究する必要があります。 4.4. 高速Peer-to-Peerダウンロードのためのピア数が足りない場合でも、クライアントアプリがブロックチェーンを迅速にダウンロードできるように、必要なネットワークインフラ(高いネットワーク帯域幅を持つ地理的に分散したサーバー、配布用のブロックチェーンのスナップショットを定期的に作成)を構築すること。 5.5. ブロックチェーンデータのネットワーク転送やディスクへの保存時に、圧縮アルゴリズムをどのように活用するのが最適かを検討する。LZ4のような非常に高速な解凍速度(1コアあたり1000MBytes/sec)を提供するアルゴリズムは、他のタスクに使用できるCPUリソースの残りを確保する上で興味深いものである。 6.6. GitHub Issues と Pull Requests を作成し、IOHK と協力して、新しいアルゴリズムを Daedalus と Cardano Node プロジェクトの主流のコードに統合するプロセスをサポートする。

この計画は、より深く調査することで代替案が見つかる可能性があるため、暫定的なものです。この計画の目的は、状況を改善するための具体的で実行可能なアクションがあることを示すことです。

技術的/アルゴリズム的な詳細について

  • ネットワークの使用率を向上させるために、現在の計画(より深い調査によってより良い代替案が見つかった場合は変更する可能性があります)は次のとおりです。
  • BitTorrentのようなプロトコルを使用する。つまり、ターボシンクのプロセス中、クライアントコンピュータはピアツーピアのダウンロードネットワークの一部となり、最新のブロックチェーンデータをダウンロードするだけでなく、他のクライアントと共有することができる。
  • トラッカーレスプロトコルのサポート、ネットワーク上のノードのピアツーピア交換など、関連するピアツーピアの拡張機能をすべて使用します。
  • 古典的な、最も希少なブロックを優先的に共有するポリシーを使用する。
  • ウォレットヒストリー再構築のパフォーマンスを向上させるために
  • マルチコアCPUの活用という、シンプルかつ低リスクな方法があります。
  • ウォレットの履歴を再構築するために必要な最初のステップは、ウォレットの秘密鍵に由来する送信または受信アドレス(ウォレットは多数存在する可能性があります)との取引を含むブロックチェーンブロックを識別することです。 このステップを関連ブロックの特定と呼ぶことにしましょう。
  • ウォレットの履歴を完全に再構築するためには、関連するブロックを特定することが必要ですが、ほとんどのウォレットで は、関連する取引を含むブロックはごく一部(1%未満)であることが朗報です。
  • 実行時間を短縮する最も単純な方法は、利用可能なすべてのコアを使用して、与えられたアドレスが対象のウォレットに由来するかどうかを検証する公開鍵暗号演算を実行することだけです。つまり、これは最小限の計画です。
  • 関連するブロックが特定されたら、今使われているのとまったく同じ再構成プロセスを使うことができますが、元のブロックの1%よりはるかに少ない処理を要求します - ブロックチェーンの多くのブロックで取引がないものが多いので。
  • 別のアプローチ
  • ほとんどの人気のあるCardanoウォレットは、支払いキーと同時にステークキーを生成します。ステークキーは変更されず、取引に使用されるすべての支払いアドレスから直接抽出できるという良い知らせがあります。
  • そこで、ブロックごとにインデックス(特殊なデータ構造)を作成し、与えられたステークキーで記述されたウォレットからそのブロックに取引があったかどうかを迅速にチェックできるようにすることが考えられています。
  • このインデックスは事前に計算され、Turbo Sync方式で配布されるブロックチェーンデータと一緒に共有することができます。
  • このインデックスを持つダイダロスは、インデックスによって示唆されたブロックのみを調べることで、検証の複雑さを100倍以上減らすことができます(与えられたウォレットを参照する取引を含むブロックの割合は、ほとんどの場合100分の1未満です)。

実験1-ブロックチェーン履歴の迅速な転送」。

以下の実験は、オンディスクブロックチェーンをネットワーク容量をフルに活用した速度で転送できることを証明するために行われました。

  1. 新しい仮想マシン(私はLinuxを使用)を作成し、新しいDaedalusのコピーをインストールします。
  2. ダイダロスを起動し、ローカルファイルシステムを作成させる(Linuxでは$HOME/.local/share/Daedalus/mainnetの下)。
  3. 数分のランタイムの後、Daedalusを停止する。 4.ダイダロスがインストールされ、完全に同期されている別のコンピュータを使用する。今回はWindowsのコンピュータを使用 5.%APPDATA%Daedalus Mainnet/chain/blockhain」と「%APPDATA%/Daedalus Mainnet/chain/ledger」からローカルブロックチェーンのコピーを取り、そのファイルをアーカイブに入れる。非圧縮で約60GB、圧縮すると20GBになります。 6.6. アーカイブを高速回線(1GBit/sec)のサーバーにアップロードする。 7.7.アーカイブをLinuxの仮想マシンにダウンロードする。もちろん、このダウンロードもネットワークをフル活用できた。 8.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という異なるOS間で互換性があります。

実験2:同期されたブロックチェーンデータを用いたウォレット履歴の復元

多くのユーザーにとって、Daedalusをインストールして同期した次のステップは、新しいウォレットを作成するか、以前に作成したウォレットを復元するかのどちらかです。そこで、次のようなことをやってみました。

1.Daedalusを100%に同期させた同じ仮想マシンを持ち出す。 2.以前作成したウォレットを復旧させる。 3.3. Daedalusがウォレットの全履歴の準備ができたと報告するまでの時間を測定。

私の場合、6時間かかりました!これは、完全に同期された台帳データがすでにローカルディスクに保存されている状態での話です!

この実験により、以下の点が証明されました。

1.ネットワークがボトルネックでなくなったとしても、ウォレットヒストリーの再構築アルゴリズムには膨大な時間がかかる。 2.2.この時間は、ローカルストレージシステムがディスクからデータを読み込むのに必要な時間の1000倍以上であり、アルゴリズムの最適化の大きな可能性を示唆しています。

実験3 - ウォレットの支払いアドレスからステークキーを抽出する

私がどうしても答えたかったことの1つは、ブロックチェーンの中で、あるウォレットに関連する取引があるブロックだけをダイダロスが分析する方法があるかどうかということです。もしそれが可能であれば、ブロックチェーン全体がエポック毎(5日毎)に21600のブロックを生成するのに対し、ほとんどのウォレットの履歴は100以下の取引しかないので、100倍以上のスピードアップが容易に可能になります。その方法の一つは、あるブロックがあるウォレットに関連するデータを持っているかどうかを素早くチェックできる新しいデータ構造を作ることです。しかし、実際にはほとんどのカルダノウォレットは支払いアドレスだけでなくステークキーも生成し、そのキーは変化しないので、支払いアドレスから抽出し、与えられた支払いアドレスが与えられたウォレットに関連しているかどうかを検証するために使用することができるのです。この仮説を検証するために、私は以下のことを行いました。

  1. EdmurgoのCardano Serialization libをTookした: https://github.com/Emurgo/cardano-serialization-lib 2.2. DaedalusとYoroiで生成した同じウォレットの複数の支払いアドレスからstake keyを抽出するのが簡単かどうか、非常に簡単なスクリプトを書いた(以下コピー)。 3.3. 手持ちの複数のウォレットに関連する支払いアドレスから同じstake keyを返せるかどうか確認しました。

その結果、同じウォレットからのすべての支払いアドレスは、抽出された同じステークキーを持っており、これは潜在的に、与えられたウォレットに関連するトランザクションを含むブロックを見つけるためのクイック検索インデックスを作成するために使用することができます。

Node.JS用のスクリプトです(インポートされたパッケージが最初にnpmでインストールされていることが前提です)。

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

> const addresses = [ &lt;a list of Cardano addresses starting with addr> ];

> for (アドレスのconst addrStr) { {…

> let addr = CardanoWasm.Address.from_bech32(addrStr).Addr = CardanoWasm.Address.from_bech32(addrStr);

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

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

> }

### ### 【IMPACT】 提案したソリューションが提出したChallengeにどのように対処するのかを説明してください。

Daedalus Wallet は、Cardano のエコシステムの中で最も人気のある Dapps の 1 つです。本提案は、初めてCardanoを使うユーザーが、分散型ウォレットを設定し、時々残高を確認し、取引をするというユーザー体験を劇的に(10倍)向上させることを目的としています。この体験を改善することは、Cardanoエコシステムのほとんどの人々やCardanoを探求している人々にとって目に見えるものであると思われます。したがって、この提案は、Cardanoのアクティブユーザー数と、彼らのエコシステムへの関与を大きく後押しする可能性が高い。

本提案は、Dapps, Products, and Integrationsチャレンジの以下のKPIを直接サポートします。

  • Yoroiのような中央集権的なライトウォレットではなく、真に分散化されたCardanoウォレットであるDaedalusの利用を増加させることです。
  • 主要な分散型ウォレットが使いやすくなるため、Cardanoブロックチェーンに定期的にアクセスする人の数が増えます。
  • 時々ウォレットを使う方が便利なので、トランザクションの実行回数が増えます。
  • 主要な既存製品であるダイダロスウォレットの品質が向上します。
  • 主要な既存製品であるダイダロスウォレットの使用率が上がる。

さらに、改善される主要な基礎コンポーネントの1つであるブロックチェーン-履歴の同期は、Cardano Stake Poolの運営者にも使用されているため、この提案は、より迅速な災害復旧(復旧不可能なサーバークラッシュの後に新しいノードをセットアップ)のためのツールをstake pool運営者に与えることによって、Cardanoエコシステムのネットワーク全体の安定性を向上させることができるのです。なぜなら、ステイクプールノードのセットアップの最初のステップは、台帳の同期と全く同じだからです。

最後になりますが、圧縮アルゴリズムの最適な活用方法の研究は、分散型モバイルウォレットの作成に道を開くことができます。70GBを消費するモバイルアプリは多くのユーザーにとって非現実的でしょうが、20GBや30GBで済むアプリなら、より実現可能性が高くなります。 しかし、1ヶ月間使用しなかった場合、5~10分程度で再同期できるようにすれば、完全分散型のモバイルウォレットをより現実的に使用することができるようになります。

プロジェクトの成功を妨げる可能性のある主なリスクは何ですか?

本提案における最大のリスクは以下の通りです。

  • ブロックチェーンのデータを転送する際に、クライアントのネットワークを完全に飽和させることができるアルゴリズムが見つかること。たとえ、新しいアルゴリズムの統合に課題がある可能性があることです。主要なアルゴリズム自体は、過去20年以上にわたってインターネットコミュニティによって戦わされてきたものです。例えば、BitTorrentプロトコルは20年以上前から利用可能で、ユーザーのネットワークチャネルの全帯域幅でデータを転送することが可能です。 ですから、私の考えでは、ここで失敗するリスクは低いと思います。

  • より効率的な、あるいは最新のノートパソコンやコンピュータのマルチコアCPUを活用した、ウォレットヒストリー再構築のアルゴリズムを見つけることです。検証の質に関して妥協は許されないので、こちらの方がより深刻なリスクと言えるでしょう。一方、データベースの分野では、インデックス(本の巻末にあるような、関連情報を素早く見つけるための特別な構造)のような手法が積極的に活用され、大きな成功を収めています。インデックスを作成しない場合でも、複数のプロセスを並行して実行し、特定のウォレットのトランザクションを含むブロックを検索することで、エンドユーザーの待ち時間を短縮できるソリューションとなりえます。

  • 発見されたアルゴリズムをDaedalusやCardano Nodeプロジェクトにシームレスに統合できるようにすること。筆者の資金提供者としての経験から言うと、IOHKチームは多忙であり、複雑なソリューションの迅速な統合を期待するのは現実的でありません。このリスクに対処するため、本提案は2つのことを行います。

  • スタンドアロンのDaedalus Turbo Appを提供し、Daedalusのランチャーとして機能させ、Daedalusがブロックチェーン全体を自ら同期する必要がないようにします。

  • 開発したアルゴリズムが現実的に主流のコードに統合できるよう、調整、新たな反復、バグフィックスに十分なリソースを確保すること。

    ⑭ 提案を実現するためのタイムラインと主要なマイルストーンを含む詳細な計画を提示してください。

**月1-4日

  • カルダノノードコードのネットワークボトルネックの調査。
  • BitTorrent や BitTorrent ストリーミングなどの BitTorrent ライクなプロトコルを主に見ながら、ネットワークを十分に活用するための概念実証のソリューションの実験。
  • 成果物**:最大250MBits/秒のネットワーク帯域幅を完全に飽和させることができる概念実証の同期ツールです。

**5~8ヶ月目

  • ブロックチェーンデータの迅速なダウンロードを可能にする、WindowsとMac OS用のラッパーアプリとLinux用のコマンドラインユーティリティを用意する。
  • ネットワーク転送速度とディスクストレージの使用をさらに最適化するために、様々な圧縮方法を実験する。
  • 配信中**:WindowsとMac OS用のDaedalus Turbo Appsの初期バージョンが利用可能です。
  • Linux用コマンドラインツールの初期バージョンがダウンロード可能です。

**9~12ヶ月目

  • DaedalusとCardano Nodeで財布の履歴を再構築するためのコードを調査する。
  • ウォレット履歴の再構築を高速化するためのインデキシングアルゴリズムの適用方法について調査します。
  • ウォレット履歴の再構築を高速化するために、マルチコアCPUをより良く利用するためのオプションを調査します。
  • 成果物**:より高速なウォレット履歴再構築アルゴリズムの概念実証の実装。
  • オプションの成果物**:技術的に有意義であれば、ラッパーアプリにアルゴリズムを統合する。

13-24ヶ月目

  • Daedalus と Cardano Node に概念実証を統合する最適な方法を検討する。
  • 新しいアルゴリズムを Daedalus と Cardano Node に統合するために、IOHK をサポートするためのコードとドキュメントを準備する。
  • Cardano Node と Daedalus の GitHub メンテナと繰り返し作業し、アルゴリズムをプロジェクトに統合する。
  • 潜在的なバグの修正
  • 可能な限り、アルゴリズムのパフォーマンスをさらに最適化する。
  • Deliverable: GitHub issuesに具体的な要望や提案を記載する。
  • Deliverable:** GitHub pull requests for cases that implementation is straightforward to help the IOHK team to quicker integrate the improvements.

**テクニカルノート

  • ラッパーアプリは、ElectronとNode.JSで記述されます。これは、ダイダロス自身が使用しているのと同じ技術スタックで、将来の主流コードへの統合を単純化し、コードの再利用の可能性を高めます。
  • Linux用のコマンドラインユーティリティは、3つのクライアントアプリケーション間でコードの再利用を最大化するために、Node.JSで記述される予定です。Windowsアプリ、Mac OSアプリ、Linux CLI。
  • ネットワーク利用については、libtorrent(BitTorrentプロトコルの堅牢なC++ライブラリ)が使用される予定です。
  • ウォレットの履歴を素早く再構築するためのアルゴリズムは、ハードウェアの性能を最適化し、HaskellやNodeなどの異なるプログラミング言語/環境で利用できるように、CまたはC++で記述される可能性が高いです。 JSです。
  • Cardano Nodeが使用するHaskellランタイムで新しいアルゴリズムを利用できるようにするには、Haskellの「Foreign Function Interface」(FFI)が使用されます。
  • Node.JSの環境下で新しいアルゴリズムを利用できるようにするには、Node.JSの「Native Addons」インターフェイスを使用します。

N.B: この提案書を書いている時点では、著者は Fund7 で資金提供された 6 ヶ月のプロジェクトに取り組んでいるところである。Fund9 の結果が出る頃には、そのプロジェクトでの活発な活動は終了しているはずです。従って、そのプロジェクト作業は、この提案の実現可能性に関してリスクを生じさせるものではありません。

⑭予算の内訳を具体的に教えてください。

これはユニークなプロジェクトなので、ボトムアップの見積もりは間違っている可能性が高いが、コストドライバは変わらない可能性が高いので、ボトムアップのコスト見積もりではなく、主要なコストドライバを提示する方がより理にかなっている。

以下、主なコストドライバーを紹介します。

  • 研究・開発費 - 40
  • 同期時のネットワーク利用を最大化するアルゴリズム
  • ウォレット履歴の再構築時に複数のコアを使用できるようにするアルゴリズム
  • ウォレットの履歴を再構築する際に、無関係なブロックを除外できるようにブロックチェーンに事前インデックスを付けるアルゴリズム。
  • IOHKのメインストリーム・プロジェクトであるDaedalusとCardano Nodeにアルゴリズムが統合されるまでの間、より迅速な同期を可能にするWindowsとMac OS用のDaedalus用スタンドアロンランチャーアプリです。
  • Linux用コマンドラインユーティリティ(Stake-Poolオペレータ用):メインストリームレポジトリへの統合を待つ間、より迅速な同期を利用することができます。
  • IOHKが運営するDaedalusとCardano Nodeの主流プロジェクトにアルゴリズムを統合するために必要な、追加の反復作業、バグ修正、サポート活動のための予備費です。
  • 分散システムの品質保証とテスト - 10
  • ピアツーピア同期コードの最終版を検証するために、大規模テスト用のクラウドハードウェアを全世界で1000ノードレンタルします。コストは1ノードあたり1時間あたり1ドル以上なので、1000台のサーバーで1時間テストするだけでもすでに1,000ドルのコストがかかる。このようなテストは、コードの新バージョンの準備が整うまで毎週必要になる可能性があります。
  • ADAボーナスとして、Daedalus TurboのランチャーアプリとCLIツールを、ソリューションの初期テスト段階で実行することに同意してくれるユーザーを募集しています。
  • 税金、金融費用、手数料 - 50
  • 筆者はドイツに住んでいるが、Fund7での資金提供者としての経験から、税金の支払いや前払い(ドイツでは財務当局が年度内に税金の前払い要請をすることができる)のために大きな準備が必要である。
  • カタリストの資金が振り込まれてから、実際にフィアットに交換されるまでのADA/USDの変動は、実際には大きなものです。悲しいことにADAは24時間以内に最大5-10%変動し、カタリストが支払いのために計算した為替レートが、取引所での実際の取引の際に実際とは異なることがあります。過去6ヶ月間、ADA/USDはほとんど減少しており、資金提供プロポーザラーにとって大きな金銭的出費となりました。
  • 暗号化取引所のスプレッドと取引手数料 ADA→USDT/BUSD + USDT/BUSD→EUR
  • 銀行の手数料

Research & Developmentの部分は、以下の専門家のレートによって費用が発生します。

  • 最初の12ヶ月の間
  • プリンシパルエンジニア:分散コンピューティングシステムおよびアルゴリズム。
  • シニアエンジニア - Node.JS & Electron.
  • シニアシステムおよびネットワーク管理者
  • プロジェクトの後半12ヶ月の間。
  • シニアエンジニア - Haskell & Cardano blockchain。
  • プリンシパルエンジニア:分散コンピューティングシステムとアルゴリズム。

上記の技術領域は需要が高いため、以下のようなコスト構造になっています。

  • 最初の12ヶ月のR&D予算:350k EUR
  • R&Dの後半12ヶ月の予算:25万ユーロ。
  • テストと品質保証の予算:6万ユーロ。

税金やADAで提供される資金に関連する追加費用を含めると、合計で660,000,000ユーロとなる。

このプロジェクトはユーロ建てで予算が組まれており、24ヶ月のプロジェクトであるため、EUR/USDのレート変動を考慮する必要がある。過去5年間のEUR/USDレートは、1USDあたり1.25~1.05EURの範囲で変動していた。そこで、平均レートである1.15を使用して、要求される米ドル資金を導き出しました。

米ドルでの要求予算は、$759000 = 660k EUR * 1. 15 (EUR/USD)です。

[FEASIBILITY] 作業する人の詳細を教えてください。

提案者は、検索エンジン、分析用ビッグデータ処理システム、機械学習のスケーラブルな応用など、高性能な分散コンピューティングシステムの構築に20年近い経験を有しています。また、Fund7での資金提供者、Plutus Pioneer、Atala PRISM Pioneerなど、Cardanoエコシステムでの幅広い経験を持っています。

著者は、ドイツ・ベルリンでブティック型デジタル化エージェンシーを経営しています。私たちは、チーム全体が目の前の問題とそれを解決するための技術を深く理解することで、最高の技術的ソリューションが生まれると信じています。そのため、私たちは一度に数件の厳選されたプロジェクトのみを手がけ、10人以下のチームで実施可能なプロジェクトのみを対象としています。このような制限を設けることで、チーム内に必要な情報をすべて伝達し、全員がプロジェクト全体をよく理解できるようにしているのです。

著者は、フリーランスの専門家(デザイナー、フロントエンドおよびバックエンドの開発者、品質保証の専門家、データサイエンティスト、システム管理者等)と多くの契約を結んでいます。この契約は、フリーランサーに一定の最低購入サービス数を保証し、フリーランサーは急なプロジェクト追加に対応できることを保証している。本提案に参加する具体的な専門家は、資金調達が確定した時点で決定しますが、アルゴリズムの研究開発およびプロジェクト管理は、著者が個人的に責任をもって行います。

著者の詳細はLinkedInでご覧いただけます: https://www.linkedin.com/in/alexsierkov/

[FEASIBILITY] 出資を受けた場合、後のラウンドでさらなる資金調達のためにCatalystに戻る予定ですか?その理由も含めて教えてください。

いいえ。この提案は、約束されたインパクト、すなわち10倍の速さの同期を、将来の資金調達ラウンドに偶発することなく、カルダノユーザーが利用できるようにするために、単一の資金調達項目として構成されています。 この決断の背景には、予算の大半を最適なアルゴリズムやソフトウェア統合のポイントを探ることに費やすことになり、エンドユーザーからは特に見えない活動になってしまうということがあります。もし、プロジェクトをいくつかに分割してしまうと、予算の大半を費やして進捗があっても、ユーザーにインパクトを与えられないという事態が起こりかねない。高額なプロジェクトであるため、予算がついたらエンドユーザーに確実にインパクトを届けることに重点を置くことにしたのです。

⑭プロジェクトの進捗を把握するために何を測定するのか、また、それらをどのように測定するのかを説明してください。

このプロジェクトは、ダイダロスの同期時間を短縮することが目的なので、すべての測定基準はその目的とそれに影響を与える主要な要因に集中しています。

  • 同期時間。
  • 同期時間:最新のハードウェア(8コアのラップトップと250MB/秒のインターネット接続)で、ダイダロスをゼロから同期するのにかかる時間です。
  • 再同期時間:1ヶ月間使用しなかった後、再同期するのにかかる時間。
  • アクティブシンクロ時のクライアントネットワーク使用率。
  • ネットワークスループットMBits/sec
  • ピーク/平均 利用可能な帯域幅の % が使用されました。
  • アクティブな同期中のクライアントの CPU 使用率。
  • 処理スループット。CPU コアごとの MBytes/秒。
  • 全コアでのCPU使用率のピーク/平均%。
  • ダイダロス起動時間 - アイコンがクリックされてから、新しく作成されたウォレットの残高が表示されるまでの時間。
  • 事前に同期されたデータなし。
  • 最後のエポックまでのデータが事前同期されている状態。
  • 1時間前までのデータが同期されています。

また、本プロジェクトでは、開発したアルゴリズムをIOHKが運営する主要プロジェクトであるDaedalusとCardano Nodeに統合していくため、統合プロセスを測定するために以下の指標を使用することが可能です。

  • GitHubで作成され、解決された課題の数。
  • GitHubで作成され、マージされたプルリクエストの数。

統合の最終結果(エンドユーザーが実際に新しいソフトウェアから利益を得ること)を確認するため。

  • Turbo Syncプロトコルに参加したユニークなIPアドレスの月間数。

最後になりますが、メインストリームのプロジェクトが完全に統合されるのを待つ間、ユーザーにインパクトを与えるために、一時的にアプリを構築し、その採用率を測定するのは良いことだと思います。

  • WindowsとMac OS用のDaedalus Turboランチャーのダウンロード数。
  • ステイクプールオペレーター用Linux CLIツールのダウンロード数。

定期的な進捗とKPIのアップデートは、以下のサイトで公開される予定です。

  • プロジェクトのウェブサイト - 提案が資金提供された場合に作成され、この提案のコメントとしてリンクが追加され、視認性を高め、Catalystチームへの月次進捗報告書に記載されます。

  • プロジェクトの github リポジトリ - 提案に資金が提供された場合に作成され、リンクはこの提案のコメントとして追加され、触媒チームへの月次進捗報告で提供されます。

    このプロジェクトの成功はどのようなものですか?

ステージ1:

  • Turbo Syncプロトコルを用いてブロックチェーンの履歴を同期してからダイダロスを起動するWindows/Mac OS用ランチャーアプリが一般公開される。
  • Turbo Syncプロトコルを活用し、Cardano Nodeをゼロから素早く作成するLinux用コマンドラインユーティリティ一式が一般に公開されています。
  • 250MBits/秒以上のネットワーク接続で、ブロックチェーンの履歴のフルコピーをダウンロードするのにかかる時間は60分以下です。
  • ブロックチェーンの履歴を1ヶ月分ダウンロードするのにかかる時間は、250MBits/秒以上のネットワーク接続で5分以内です。

ステージ2:

  • より迅速なダウンロードと迅速なウォレット履歴の再構築のための新しいアルゴリズムは、DaedalusとCardano Nodeに統合され、設定として利用できるようになりました。
  • この設定は、インストール時に、それぞれの設定インターフェイスまたは設定ファイルで有効にすることができます。
  • Turbo Syncを有効にすると、250MBits/秒以上のネットワーク接続と8コア以上のCPUで、ブロックチェーンの履歴のフルコピーのダウンロードとウォレットの履歴の再構築にかかる時間は60分以下となります。
  • Turbo Syncを有効にした場合、ブロックチェーンの履歴を最大1カ月分ダウンロードし、その1カ月間のウォレットの履歴を再構築するのにかかる時間は、250MBits/秒以上のネットワーク接続と8コア以上のCPUを使用した場合、5分以下です。

ステージ3:

  • Turbo Syncは、DaedalusとCardano Nodeでデフォルトで有効になっています。

    #################################################### この提案が、Catalystで以前に資金提供されたプロジェクトの継続なのか、全く新しいプロジェクトなのか、情報を提供してください。

これは全く新しい提案です。

コミュニティ・アドバイザー・レビュー (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