Adaptable Research

Versioned Nodes

Versioned nodes are a data model for building collaborative local applications.

It generalizes and merges the ideas underlying Tahoe-LAFS, git, freenet, and other projects, forming a new unit of data interchange better suited than files to providing provider-independent security for distributed collaboration with concurrent modification.


Versioned nodes are a data model for applications to encode data such that various protocols can synchronize nodes between applications. The applications are connected together to form a network, with data flowing through that network to each application that needs it.

f i l e s y s t e m u s a e l c r i a c c a e h p ' e p s s c s l t o o u r d e u s e b c r o a b c a ' h p s e p w s e b s e r v e r f i l e s y s t e m

Data flows differently in node exchange networks than traditional ones. In traditional networks, each host can send a message to any other host, by addressing it to that host. Here, applications communicate by publishing a new version of a node, and the change propagates through the network to other applications that subscribe to that node.