少し前に、Kademlia (KAD) プロトコルをいじりました。私はそれがどのように機能するかを理解し、それを使用して分散データストアを作成する可能性があるという考えを得ました.
いずれにしても、問題が 1 つあります。Kademlia には、データ パッケージごとにそれを「所有」するノードがあります。データが要求されると、次のノードに伝播されますが、TTL が割り当てられます。その後、削除されています。Kademlia の考え方は、「所有者」ノードは、データが期限切れになる前に他のノードのデータを更新するというものです。
私が理解している限り、これは「所有者」ノードがネットワークを離れてもデータをキャッシュすることにつながりますが、それはしばらくの間だけです。所有者ノードが戻ってこない場合、そこから他のノードにコピーされたすべてのデータは遅かれ早かれ期限切れになるため、しばらくするとデータがなくなります。
これは、人々がファイルを共有したい P2P ネットワークでは問題ありませんが、分散型データ ストアではそれほどうまくいきません。
どうすればこれに対処できますか?
または - これを考慮した Kademlia に似た別の P2P プロトコルはありますか? 私の想像では、「完璧な」解決策は、複製されたデータを保持する N 個のノードが常に存在する場合です。そのうちの 1 つが離れるとすぐに、残りの N-1 ノードが別のノードを探してデータをプッシュするため、再び N ノードになります。
そのようなプロトコルは存在しますか?