Допустим, мы пилим некий аналог скайпа, умеющий в синхронизацию истории переписки без центрального сервера.
Как вы бы реализовали сабж?
Я придумал такой вариант - каждая сторона считает хэш от всей локально сохранённой истории переписки и потом они обмениваются этими хэшами. Если они не совпадают, считаются хэши от половинок истории, снова сравниваются, и так далее, пока не дойдёт до отдельных сообщений, после чего сообщения, отсутствующие у другой стороны, отсылаются пачкой.
Есть идеи получше?