Spritely and Federation Futures : Porta & Bella

Porta & Bella allow for the storage and distribution of files while keeping their contents only known to those who have been authorized to access them by receiving the appropriate capability URI. Porta refers to our mushroom friend, who provides immutable file storage, and Bella refers to the vine, who allows for updates by stringing together multiple Porta entries.

In addition to their security properties, Porta & Bella allow for portability because the names of such files aren’t dependent on where they live. No matter if the files are kept on your hard drive, on your personal server, on a cloud service provider, or stuffed in a USB key in a shoebox under your bed (or all of the above), the same Porta-Bella URI can refer to all of them.

This means, for instance, that if nodes go down on the ActivityPub network but both their contents and profiles are stored as Porta-Bella documents, users can easily point their account at a new server without a loss of functionality or history. (See the Golem demo as an example.) Combining Bella updateable documents with ActivityPub profiles is therefore also a practical decentralized identity solution.

Note that Porta and Bella at this point have been prototyped and their functionality demonstrated, but this prototype is not ready for public use, with their implementations subject to change. The prototypes went under the names of Magenc and Crystal and will be renamed soon. The Porta-Bella design is derived largely from the Tahoe-LAFS project, but a bit tuned more to the needs of Spritely.