最近、IRC プロトコル (RFC 1459、2810-2813) について調べていて、独自のサーバーを実装することを考えていました。
私は必ずしも IRC プロトコルに忠実に従うことを検討しているわけではありません (結局のところ、これは楽しみのために行っているのです)。
プロトコルや IRC 仕様について、気に入らない点がいくつかあります。1 つ目は、ニックネームが所有されていないことです。NickServ のようなサービスは存在しますが、公式のプロトコルには含まれていません。一方、 NickServのようなものを適切に実装すると、配布の目的が損なわれます (つまり、NickServ が実行されている場所が 1 つと、そのためのデータ ストアが 1 つあります)。
サーバーごとにニックネームを管理する方法があることを期待していました。これに関する問題は、登録されたニックネームを持つ 2 つのサーバーがあり、それらがリンクする場合、衝突が発生する可能性があることです。
1 つの中央データ ストアを使用せずに、これを回避する方法はありますか? つまり、サーバーを疎に接続したままにし (それぞれが独立したエンティティとして存在するが、相互に接続することもできる)、ニックネーム間の一意性を維持することは可能ですか?
この質問が漠然としていることは承知していますが、これ以上の言い方は思いつきません。私は実際のはい/いいえの答えよりも提案を探しています。したがって、サーバーの独立性を維持しながら、ネットワーク内でニックネームの一意性を実現する方法について何かアイデアがある場合は、ぜひ聞いてみたいと思います。IRC プロトコルに厳密に従う必要はないことに注意してください。目的に合わせて変更しても問題ありません。:)