Willow protocol

A set of higher order protocols for synchronizing data stores. Can be used for building distributed, peer-to-peer or decentralized applications. Has a low memory and bandwidth footprint and is flexible to many types of use cases. Access to data can be controlled through fine grained permissions.