Hash Pointer Collaboration Protocol

The Hash Pointer Collaboration Protocol (HPCP) is a simple decentralized, distributed protocol for getting the latest merkle-root of a constantly changing Dataset. It is currently implemented over IPFS pubsub.

The HPCP allows an origin hash to point to a new merkle-root. When a node detects conflicting updates, the two trees are merged, and a new update is published with the combined results.

There are two message types in HPCP, query and update.

Query

?zdpuAkpdrcAM6fid4f6MEexZF6xHNzRVowpDxzzv3AVnpjiDJ

The query will broadcast to all nodes listening to the HPCP topic. If a node has a different hash in memory, it will respond with an update

Update

zdpuAkpdrcAM6fid4f6MEexZF6xHNzRVowpDxzzv3AVnpjiDJ:zdpuAkpdrcAM6fid4f6MEexZF6xHNzRVowpDxzzv3AVnpjiDJ

Any time the merkle-root changes, or a query is received, an update is published and local caches will be updated.