Yumeville

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

P2PネットワーキングがHolochain RSMに組み込まれる!

令和2年11月12日

概要

何度も書きましたが、コアの開発チームはHolochain RSMを開発し続けています。新しい機能はアプリ開発者のためのバグ修正と一緒にちょうど組み込まれました。機能的にHolochain Redux(旧ホロチェーン)に匹敵するという「leapfrog」の目標に近づいています。

また、様々なチームメンバーがHoloPort Nanoをテストしています。現在のところテストの範囲は限られていますが、今のところすべてがうまくいっているようです。

一方、Holo Hostingチームは、OSと重要なホスティングアプリをHolochain RSMに移植する作業を行っています。

トピック

  1. Holochain RSMの更新情報:ネットワーク、ブリッジングなど
  2. HoloPort Nanoテストのアップデート:今のところすべて良好
  3. HPOSとHoloのホスティングアプリがHoloChain RSMに移植される

Holochain RSMの更新情報:ネットワーク、ブリッジングなど

先週、Holochain RSMが「leapfrog」という目標にどれだけ近づいているか(性能正しさなど、ある意味ではすでに超えているとは思っていましたが)を知って、とても驚きました。特に、ネットワークはほぼ完成しています。以下が詳細です。

  • これは、中央集中型のスイッチボードサーバを必要としない、真のピアツーピアネットワークです。
  • ブートストラップサーバを介したパブリックインターネット上でのピアディスカバリ(ピアの発見)はほぼ完成しています。Holochainの最初のGoベースのバージョンと同様に、このサーバは「eclipse attack」に強い高品質のピアディスカバリをサポートすることを意図しています。しかし、これは集中化ポイントでもあるので、将来的にはhAppの開発者やエンドユーザーが独自のブートストラップサーバを実行して選択することができるようになるでしょう。
  • 継続的なピアディスカバリー、つまり、すでにネットワークに参加している人たちの間で新しいピアをゴシップすることも、まもなく完成します。
  • 公開インターネット上のピア通信は、プロキシサーバの使用によってサポートされています。プロキシサーバーはゴシップ通信を復号化することはできず、送信者と受信者のアドレスだけを見ることができます。誰でもプロキシを実行することができますが、今のところデフォルトでは誰もが一つのサーバを介してプロキシを実行します。これにより、近いうちにデバッグやテストが容易になります。
  • ローカルネットワーク上でのピアディスカバリと通信はまだサポートされていません。
  • ャーディングはまだサポートされていないですが、次のマイルストーンに入っています。

Zome間の通信 (ブリッジングを含む) も登場しました。これは、1つのDNA内の2つのZome、または一人のコンダクター内の2つのDNAがお互いに通話をすることができる`call`機能です。DNA間のブリッジはアプリのインストール時に設定する必要がないので、2つのDNAが好きなときにお互いを呼び出すことができます。これは両刃の剣であり、注意して使用するのがベストです。このトピックに関する情報は、昨年のこのフォーラムのスレッドで読むことができます。

ブリッジコールはHolochainのケイパビリティ(capability)ベースのアクセスモデルを採用するようになったことに注意してください。単一cell内のzome間の呼び出しや、単一のエージェントキーでインスタンス化されたcell間の呼び出しについては、デフォルトで出来ます。しかし、異なるエージェントキーでインスタンス化されたcell間の呼び出しの場合、呼び出される側はまず呼び出す側のためにアクセストークンを作成しなければなりません。(どちらの場合も、呼び出し側はケイパビリティトークンを渡さなければならないことに注意しましょう)。

また、`call` はマクロではなく適切な Rust 関数であることに気づくかもしれません。これはホストAPI全体をRust関数に変換する計画の最初のステップです。これがあなたのIDEに入力型と出力型に関するより良いコードインテルのヒントを与え、あなたの助けになることを願っています。

アドレス (エントリハッシュ、ヘッダハッシュ、エージェント ID) のシリアライズとデシリアライズが少しシンプルになりました。これにより、DNA と UI の間でアドレスを簡単に行き来できるようになります。

コンダクターの設定ファイルの形式が TOML から YAML に変更されました。コンフィグファイルのフォーマットには階層的なものが多く、YAMLの方が読み書きしやすいと考えています。

Holochain RSMには本当に早く機能が統合されてきていることに気がつきます。1つは、コードベースがシンプルになったことで作業がしやすくなったこと、もう1つは、リリースサイクルの早い段階でバグや開発者の人間工学的な問題を発見して修正できるように、アプリ開発者から早い段階でフィードバックを得ていることです。これにより、後々になって作業に戻って修正する必要がなくなり、ベロシティを高く保つことができるようになります。これは好循環なことです。

HoloPort Nanoテストのアップデート:今のところすべて良好

HoloPort Nanoのテストユニットが、国際配送や税関を通って、ようやくチームメンバーの元に届きました。1つ目は起動すること、2つ目はNanoのアーキテクチャ用にコンパイルされたHoloPortオペレーティングシステムであるHPOSの最新バージョンにアップデートすることです。これらのテストはすべてのケースで合格しています。

 

消費者ノードのCPUとRAMが最高速度になっていないことに気づいたので、RedGridチームになぜHolochainを最大限に使用しなかったのか聞いてみました。彼らの答えは、消費者ノードがクラッシュするバグがあったからだとのことでした。今朝、Holochainのコアの開発チームがバグの修正を見つけ、毎秒500回の書き込みでテストできたとの情報を得ました。このバグ修正がRedGridの手に渡ると、彼らは少なくとも 5 倍以上の改善を見ることになるだろうと私は予想しています。それはつまり、Holochain旧バージョンより40000倍の速度で書き込みが可能になるということです。

これだけでは移行する理由にならないと言われる方がいるかもしれませんが、RedGridの開発チームはなんとコードベースを約半分に縮小することに成功し、その結果、より保守性が向上しました。

このような劇的な改善を目の当たりにして、私は興奮しました。Holochainのコアの開発チームは、ゼロからHolochainを書き直すという創始者Art氏の提案を考慮したときに、大きなリスクを冒しましたが、それが実を結びました。

HPOSとHoloのホスティングアプリがHoloChain RSMに移植される

Holoホスティングチームは、HoloPortのオペレーティングシステムにHoloChain RSMを組み込む作業を続けています。サービスロガー、Holoホスティング、HoloFuelというコアなDNAは、現在RSMにも移行中です。並行して、3つのコアなDNAを使用するHost ConsoleとPublisher Portalは、まだ開発中です。

また、基盤となるオペレーティング・システムであるNixOSも、バージョン19.09からバージョン20.09にアップグレードされています。

ここでは、HoloPortにログインしたときに表示されるホストコンソールのモックアップをいくつか紹介します。これらの機能の多くは開発中であり、後のリリースまで利用できませんが、ホスティング体験がどのように見えるかの感覚を与えてくれるのが気に入っています。

最後に、小さなチームでHoloFuelリザーブアカウントの実装に取り組んでいます。これには、HoloFuel購入者と管理者のためのUI、HoloChainとEthereum間の相互運用性、リザーブアカウント管理のためのビジネスルールなど、多くのコンポーネントが含まれます。Holo Hostingエコシステムの重要なコンポーネントであるこのUXとセキュリティ面については、今後も開発を進めていく予定です。

開発状況

最新版

https://holochain.loveにて使用可能なバージョン

  • Holonix: 0.0.81
  • Holochain Core: 0.0.51-alpha1
  • hc-happ-scaffold: 0.1.2

出典:Real P2P Networking Coming To Holochain RSM