どうせ暇だしダラダラ設計しながら寝よう。
基本的に素人だから気の触れた設計にしてやろう。

暗号化についてはあまり悩まない。
mcryptから流用させてもらおう。
RSA、rijndael、MD5あたりの組合せで悪くないだろう。

ノード接続構造については悩むところだ。
送信者と受信者の間の串役を1つにしてしまうと
誰が何を欲しがり、誰がそれを与えたか、串役には分かってしまう。
もっともSSLのように末端間で公開鍵暗号化通信してしまえば
その中身を知ることはできないのだが、
その直前の検索queryを見てれば想像できる。
串役は常に2個以上にしよう。

ローカルに残るキャッシュファイル、
これは当然全てデフォルトでrijndaelによって暗号化され、
PC持ち主は何をキャッシュしているのか分からないようにする。
鍵の取扱いはあとで考えよう。
データの管理は全てハッシュ値で行う。
ハッシュは全てMD5を使おう。