Yumeville

Holochain デベロッパーパルス No.110

DevCamp 8の報告

2022年1月13日

ご存知のように、DevCampには1800人以上の方が申し込んでくださり、私たちもその結果には驚いています。前回のDevCampの登録者数が約200名だったのに対して、大幅に増加したことになります。Holochainのことを知る人が増え、その中から本当に素晴らしいアプリが生まれることを期待しています。

DevCampの主催者には本当に感謝しています。オンライン上で、しかも時差のある大勢の人たちに、かなり難しいテーマを提示し、素晴らしい仕事をしてくれたと思っています。彼らは、熱意、忍耐、そして思いやりをもってファシリテートしてくれました。これは大きなプロジェクトでしたが、彼らは勇気を持って、巧みにそれに立ち向かいました。(このプロジェクトが好きだから、ボランティアでやってくれています。)

主催者は、参加者にとって実りある経験となるよう、いくつかの選択基準を設けました。結局のところ、これはホロチェーンアプリを作るためのトレーニングということなので、おそらくホロチェーンアプリを作ろうとする人しか興味を持ってくれないでしょう。結果として登録者のうち約1000人が参加者として選ばれ、その内約400人が参加しました。

DevCampの2ヶ月間の日程の中で、参加者が減少しているのがわかります。ライブセッションの参加者は、コースの始めと終わりで67%減少しました。平均ではオンラインコースの退会率は85%から97%と言われています。これは、平均以上の人数が、かなり難しい科目の学習に専念したことを示しています。

コースやミーティングの時間が自分のスケジュールと合わなかったり、RustやHolochainの開発が自分には向いていないと判断したり、あるいは、アプリを開発するのではなく、プロジェクトについて少し学びたいという理由で参加した人もいたでしょう。

ホロ社のメンバーもDevCampを手伝ってくれたので、いろいろと調べることができました。その結果、いくつかの重要なことがわかりました。

  • 人々は、単に技術的な問題を解決してくれるからという理由でホロチェーンに興味を持つわけではありません。むしろ、ホロチェーンが象徴する価値観、つまり、エージェンシー、アカウンタビリティ、プライバシー、協力の大切さ、自発的な参加などを信じているからこそ、参加するのです。単に技術の一部を使うのではなく、ムーブメントに参加したいのです。
  • ホロチェーンのコミュニティは、オープンソースのコミュニティの中でもユニークで、より強く、より密接に結び付き、新しい人を助けるために自分の時間を惜しまない情熱的な人々がいて、サポートしているように見えます。(DevCampのオーガナイザーはその一例です!)評判は、自分の功績を自慢するよりも、他の人の成長を助けることにコミットすることを中心に展開されます。
  • また、一つの「コミュニティ」だけが存在するのではなく、少しずつ異なるものを評価したり、プロジェクトの異なる側面に焦点を当てたりするいろいろなコミュニティがあります。ある意味、ホロチェーンの技術とコミュニティの構造は互いにとても似ています。
  • DevCampは、コミュニティの健全性を体験する特別な方法です。もしかすると、コミュニティがホロチェーンのエコシステムの中で最も価値のある部分であると言えるかもしれません。なぜなら、初心者のためのサポート空間を作り、彼らが広くHolochainコミュニティの一員となるのを助けてくれるからです。特にDiscordのサーバーは、DevCamp 8の素晴らしい追加機能となり、これまでのDevCampで行われていたフォーラムよりも活発な会話が行われるようになったのです。
  • ホロチェーンにはやはり急な学習曲線があります。Rustはほとんどの人にとって新しい言語であるだけでなく、Holochainはクラウドともブロックチェーンとも全く異なるものです。DevCampの参加者の多くは、すでにDevCampに参加したことがあっても、知識を補強したり、リフレッシュしたりしたいと考えていました。
  • 多くの参加者は、コース終了までにまだ学ぶべきことがたくさんあると感じているようです。実際、すでにDevCampに参加したことがあり、コンセプトの再確認をしたいという方もいました。これはやはり、ホロチェーンの学習曲線が急であることを示しており、継続的なイベントや、Dev Campの卒業生のためのリソースを提供することが有用であることを示唆しています。
  • 誰もがDevCampやオンラインの学習コミュニティに参加できるわけではありません。忙しい生活や時差など、時間的な制約が最大の障壁となります。ほとんどの人は、録画したセッションのビデオを再生したり、Discordでチャットしたりと、非同期で参加していました。そのような人たちのために、もっとセルフサービスのリソースを開発するとよいでしょう。(幸い、主催者がDevCamp 8の全セッションのビデオをYouTubeで公開してくれているので、これは素晴らしいスタートです!)

Holochain 0.0.122:大きなゴシップ性能の改善

最近のホロチェーンリリースは、ほとんどがメンテナンスリリースでした。

しかし、今日のリリースでは、新年早々ビッグニュースが飛び込んできました。これをシェアするのを私は個人的に楽しみにしていました。最近、コア開発者の一人が、Elemental Chatのテストで見られたパフォーマンスのボトルネックをトラブルシュートしていました。ゴシップされるDHTオペレーションは1秒間に40の割合で統合されていましたが、この数値が異常に遅いことが判明しました。

DHTではこのようにデータが処理されます:エージェントがソース チェーンにエレメント(あるデータ)をコミットすると、これにより多くのDHTオペレーションが作成されます。これらの操作は、DHT上のピアに送信されるメッセージであり、ローカルのDHT シャードの更新も行います。以下は、「create app entry」エレメントによって生成されるオペレーションの例です。

  • StoreElementオペレーションは、新しいヘッダのハッシュの付近にヘッダを格納します
  • StoreEntryオペレーションは、エントリーとヘッダーのコピーを、新しいエントリーのハッシュの付近に格納します
  • 最後に、RegisterAgentActivityオペレーションにより、データ生成者の公開鍵の付近にヘッダー のコピーが保存されます。これにより、データ生成者の公開鍵の付近は、ソースチェーンの分岐を検出したり、 他のデータ検証ノードにソースチェーンの必要部分を提供することができるようになります。

これらの各オペレーションは、隣接するノードによって「統合」されなければなりません。つまり、検証され、DHTシャードに保存されることを指します。これは、データ生成者が最初にこれらのオペレーションを送信したときに、発生します。しかし、新しいピアが DHT に参加してシャードの構築を開始したり、ピアが消えて残りのピアがデータの網羅範囲を拡大したりすることで、継続的に発生します。これらのピアは、新しいデータの場合はより頻繁に、過去のデータの場合はより低い頻度で、一定の間隔で発生するゴシップを通じてこの情報を共有します。

Elemental Chatのテストでは、履歴データのゴシップループがホロポートの速度を低下させました。これは、シャーディングがまだ有効になっていなかったため、誰もが他のみんなとすべてのゴシップを共有していたことが一因でした。しかし、このパフォーマンスの問題を捕らえるためには非常に役立ちました。

解決策は、これらのオペレーションを保存するデータベーステーブルと、それを操作するクエリとともに最適化することでした(#1167)。これにより、オペレーションは1秒間に1000回の割合で統合されています。これは25倍の増加です!

また、開発者として知っておくべき変更点は他にもあります。

  • コンダクターAPIは、ソースチェーンに手動でエレメントを挿入することができるようになりました。これはHoloホスティングのソースチェーンの冗長性の構築や、ネイティブインストールされたHolochainインスタンスのソースチェーンのバックアップと再構築に使用されます。(#1166)
  • 互換性を破る変更点:リンクを操作するためのPathの指定方法が変更されました。(#1167)
  • 互換性を破る変更点:2つのシーケンス番号の間、2つのハッシュの間、または最新の要素と一定数前の要素の間の範囲によってソースチェーンをクエリーできるようになりました。すべてのクエリーのレンジは包括的です。(#1142)
  • 上記の互換性を破る変更点により、Holochain 0.0.122はHDK0.0.118と互換性を持っています。

完全な変更履歴をはこちら

以上、2022年の年明けからのニュースでした。今年は、私たちのプロジェクトがベータ版へと移行し、開発者の間でより広く採用されるようになるにつれ、より多くのことを共有できるようになることを楽しみにしています

(写真提供者:Tegan Mierle on Unsplash)