【ITニュース解説】Building Decentralized Knowledge: Our MyZubster Journey with Docker, Monero, PGP, Tor and Verifiable GitHub Contributions
2026年10月02日に「Dev.to」が公開したITニュース「Building Decentralized Knowledge: Our MyZubster Journey with Docker, Monero, PGP, Tor and Verifiable GitHub Contributions」について初心者にもわかりやすく解説しています。
ITニュース概要
MyZubsterは、開発者のGitHub活動をDockerやMonero、PGPなどの技術で検証し、分散型知識共有と信頼できる専門スキル構築を目指すオープンソースプロジェクトだ。独立ノード連携を実験し、再現可能な技術ガイドを公開していく。
ITニュース解説
DanielとNicolaは、「MyZubster」というプロジェクトを通じて、分散型の知識共有システムを構築する実験を進めている。このプロジェクトの目的は、独立した開発者が自分自身の技術インフラを作り、お互いから学び、活動を記録し、最終的には「検証可能な」技術ポートフォリオを確立することである。彼らは、GitHubでの活動や技術的な実験、他の開発者への指導、そして身につけた知識が、再現可能なテストや暗号技術によって裏付けされた「職務経歴書(CV)」につながる可能性を探っている。
彼らの取り組みは、分散化という概念を抽象的に語るだけでなく、実際に構築し、そのプロセスを記録することに焦点を当てている。まず、MyZubsterを自分のコンピューターにインストールし、Dockerという技術を使って開発環境を構築することから始めた。そして、開発用の独立したコンピューター(ノード)を彼らのサーバー(VPS)に接続し、PGP、Monero、ブロックチェーンといった暗号技術を段階的にテストしている。重要なのは、各技術的な節目ごとに、他の開発者もその手順を再現できるように詳しいガイドを作成することである。
このプロジェクトでは、開発者同士が知識を共有し、互いに学び合うことを重視している。例えば、NicolaがMyZubsterを自分のコンピューターに導入する際、Danielがサポートし、さらにChatGPTのようなAIアシスタントも活用して環境設定を進めている。NicolaはDockerを使ってMyZubsterの最小限の動作版(MVP)を構築し、APIやAI関連のコンポーネント、そして彼自身のコミックプロジェクトも開発している。ここで重要な問いは、開発者が自分のコンピューターの制御を失うことなく、独立した環境を運用しながら、より大きなエコシステムに参加できるか、という点である。
この問いを検証するため、彼らは「独立ノード」の実験を設計した。Nicolaは自分のコンピューターで環境を管理し、一方、彼らのサーバーには「ブリッジ」と呼ばれる別のプログラムが配置される。このブリッジを通じて、特定の承認された情報だけがNicolaのコンピューターと彼らのインフラ間でやり取りされる。この仕組みは意図的に限定されており、Nicolaのコンピューター全体や個人データへのアクセスは必要なく、二つのシステムが承認された技術的なリクエストとレスポンスを交換できることだけを証明することを目指している。
実際に、彼らはサーバー側のブリッジコンポーネントの開発を始めた。Ubuntuが稼働する仮想プライベートサーバー(VPS)上に、Docker ComposeというツールとPythonのサービスを使ってブリッジをデプロイした。このブリッジは、インターネットに直接公開されないように、サーバーの内部アドレス(ループバックアドレス)にのみ接続されるよう設定された。管理用のリクエストと、将来の独立ノードからのリクエストに対しては、それぞれ異なる認証情報が設定された。初期のテストでは、ブリッジコンテナが正常に動作し、認証されたリクエストを受け付けて、シミュレーションされたノードからの応答を処理できることが確認された。これは、二つのシステム間の通信における最初の成功である。しかし、これはまだシミュレーション段階であり、Nicolaの実際のコンピューターはまだ接続されていないことを彼らは明確にしている。今後は、HTTPSによる安全な通信設定や、実際の外部接続テスト、セキュリティレビュー、そしてNicolaのローカルコネクタのデプロイが課題となる。
彼らが提案するアーキテクチャでは、Nicolaのコンピューターからサーバーへの通信は、Nicolaの側から開始されるアウトバウンドのみの接続となる。これにより、NicolaのローカルAPIが直接インターネットに公開されることはない。また、初期の連携では、明示的に承認された「読み取り専用」の操作に限定される予定である。例えば、Nicolaが作成している「Nicola Comics」というプロジェクトのカタログ情報を、安全な方法で共有することが考えられている。この実験を通じて、物理的に離れた二つのシステム間でリクエストとレスポンスが完全に交換されることを実証し、さらにコンピューターの切断、リクエストのタイムアウト、無効な認証情報といった状況で何が起こるかもテストする。これにより、独立ノードが常にその運用者の制御下にあることを確認したいと考えている。
プロジェクトが進むにつれて、彼らはUbuntu開発サーバーの準備、Dockerのインストールと設定、システムのローカル実行、制限されたAPIの設定、独立した環境間の認証済み通信の確立、そして再現可能な技術的証拠の収集に関する実践的なガイドを公開する予定である。目標は、単にソフトウェアを配布するだけでなく、そのソフトウェアを理解し、設定し、テストし、維持するために必要な知識も共有することである。
分散化に向けたロードマップにはいくつかの段階がある。Dockerを使ってシステムを独立して実行するローカルインフラの構築、サーバー上のブリッジサービスの開発とテスト、Nicolaのローカル環境の接続、HTTPSと認証による安全な通信の実現などが初期の段階である。さらに、PGPによる署名、鍵の所有権、そして検証可能な作成者の特定、Moneroのウォレット情報の安全な参照、Tor Onionサービスによるプライベートな接続性、そしてブロックチェーンを活用した知識の検証などが計画されている。最終的には、開発者が自身のスキルを、独立して検証可能な成果物と結びつけられるような「公開開発者プロフィール」の作成を目指している。
Moneroは、彼らがさらに研究したいと考えている技術の一つである。システムにはすでに、Moneroを含む仮想通貨の選択機能があるが、これは安全な決済システムの実現とは異なる。彼らの当面の目標は、MoneroのウォレットRPCインターフェースを調査し、アプリケーションがウォレット関連の情報を安全に監視する方法を学ぶことである。最初の実験は、隔離された環境で、資金の移動を伴わない「読み取り専用」の操作に焦点を当てる。
PGP(Pretty Good Privacy)も、知識検証システムの一部として検討されている。既存のユーザーモデルにはPGP公開鍵を保存するフィールドがあるが、公開鍵を保存するだけでは、対応する秘密鍵を誰が管理しているかは証明できない。そこで、次のステップとして「鍵の所有証明」の実験が提案されている。例えば、開発者が自分の秘密鍵を使って、認証されたアカウントに関連する一時的な課題に署名し、システムが登録された公開鍵を使ってその署名を検証する、といった方法である。これにより、特定の技術文書や知識記録が、特定の鍵の所有者によって署名されたことを証明できるようになる。
Tor Onionサービスも、実用的な研究の対象となっている。システムにはTor v3 OnionサービスのためのDockerインフラがすでに存在し、彼らのサーバーでも稼働している。彼らは、選ばれたサービスを別のネットワークを通じてアクセス可能にしながら、適切なセキュリティ境界を維持する方法を文書化したいと考えている。Docker内でTor Onionサービスを設定する方法、永続的なOnion識別子を安全に管理する方法、内部アプリケーションサービスを公開されるインターフェースから分離する方法などが含まれる。
ブロックチェーン技術も、検証可能な技術文書をサポートする方法として調査されている。NicolaのGitHubリポジトリには、Ethereum Sepoliaテストネット上でのプルーフ実験やPythonの検証ユーティリティが含まれている。これらの実験は、GitHub活動、バージョン管理された文書、暗号学的ハッシュ、公開ブロックチェーンの証明、そして独立して再現可能な検証手順の関係を研究するのに役立つ。例えば、SHA-256ハッシュ値は文書の正確なバイト列を特定でき、ブロックチェーンのトランザクションは、そのハッシュ値が記録されたことを証明できる。しかし、ハッシュの一致は文書の整合性を証明するものであり、その文書を開発者が書いたこと、指示を正常に実行したこと、特定のスキルを習得したこと、あるいは言及されたすべての活動に参加したことまでは自動的に証明しないという重要な限界がある。
これらすべての取り組みは、「公開GitHub活動から検証可能なCVを構築する」という彼らの長期的な目標につながる。従来の職務経歴書は自己申告に依存することが多いが、GitHubは技術活動のより具体的な記録を提供する。しかし、コミットだけでは、すべての貢献を説明したり、特定の開発者がリポジトリのすべての技術を理解していることを証明したりすることはできない。彼らのアイデアは、いくつかの異なる種類の証拠を結びつけることである。開発者のプロフィールには、宣言された知識、記録された活動、技術的な検証、知識共有、そして公開された情報が含まれるようになるだろう。これにより、開発者が主張するすべてのことを自動的に証明するものではなく、宣言されたこと、記録されたこと、そして実際に検証できることを他の人々が理解するのに役立つ、証拠に基づいた技術ポートフォリオが生まれる。
「Zorgax」は、MyZubsterのより広範な実験の一部であり、開発者が技術的な手順をナビゲートし、ドキュメントを理解し、承認された証拠を検証し、最終的には他の参加者によって作成された役立つガイドを発見するのを助けることを目指している。ただし、Zorgaxはセキュリティ上の抜け道となるべきではない。AIアシスタントが、ユーザーが自然言語で操作を要求しただけで、ウォレット、秘密鍵、シェルコマンド、または公開権限に自動的にアクセスするべきではない。重要なアクションには、適切に範囲を限定された承認と、明示的な人間の承認がロードマップで必要とされている。
彼らは、ソフトウェアと同時にドキュメントも進化させたいと考えている。意味のある技術的な節目を完了するたびに、対応するガイドを公開する予定だ。有用なガイドには、実験の目的、必要なソフトウェア、環境の説明、インストールと設定の手順、再現可能なテストコマンド、予想される結果、セキュリティ上の考慮事項、関連するGitHubコミット、成功したテストの証拠、残りの制限事項、そして将来の開発タスクが含まれる。これにより、同じ開発活動からソフトウェアの改善と、独立して研究、再現、共有できる技術知識の創造という二つの異なる成果が生まれる。
当面の優先事項は、MyZubsterのサーバー側ブリッジとNicolaの独立したローカル環境との安全な接続を完了することである。サーバー側のプロトタイプはすでに動作し、初期のテストに成功している。次の目標は、HTTPSの設定とセキュリティ制御のレビュー、Nicolaのオプトイン型ローカルコネクタの準備、二つの別々のマシン間の実際の通信の実証、そしてそのプロセスを再現可能なDockerガイドとして文書化することである。さらに、PGPとMoneroの隔離されたプロトタイプ開発、そして追加のTor Onion接続性テストも進める。これらのステップが完了した後で初めて、より広範な統合を検討する予定だ。彼らは段階的に構築し、成功だけでなく失敗も文書化し、実験的な機能を本番サービスとは別に維持したいと考えている。
彼らの目標は、単にコンピューターを接続することではない。ソフトウェア、記録された活動、そして共有された技術知識を通じて、独立した開発者たちをつなぐことを目指している。Docker、独立ノード、Tor、Monero、PGP、GitHub、そして暗号学的検証といった技術を実験することで、協力的なオープンソースプロジェクトが、より透明性の高いプロフェッショナルなポートフォリオをどのようにサポートできるかを探求している。すべての開発者が、自分が何を構築し、何を学び、そしてそれらの結果を達成するのに役立った技術プロセスを説明し、共有する機会を持つべきだと考えている。検証可能な職務経歴書は、暗号技術だけでは成り立たない。再現可能な技術的証拠、正確な帰属表示、透明な制限事項、そして関係者の参加が必要となる。このプロジェクトは、まさにその方向性を探求しており、構築を進めながら、他の開発者も一緒に実験できるように知識を公開していく方針である。