mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2024-12-19 21:17:54 +00:00
bf416af49e
This prepares for invitation-based reciprocal-permission Accounting. In the scheme I'm developing, nodes publish "I accept shares from Y" messages, which are assembled into a graph, and server will accept shares from any client node reachable in this graph. For this to work, the serverX->clientY edge must be connectable to the serverY->clientZ edge, which means "clientY" and "serverY" must be connected. If clientY and serverY are two distinct keys, they must be cross-signed. Life is easier if there's just one key "Y", rather than distinct client- and server- keys. Calling this one key "server.privkey" would be confusing. "node.privkey" and "node.pubkey" makes more sense. One-server-per-node is a pretty easy restriction. Originally I was thinking that the client.key should be provided in each webapi call, just like a filecap is, making a single node useable by multiple users (Accounting principals), and not providing any ambient storage authority. But I've been unable to think of a comfortable WUI for that (at least without requiring javascript), nor a friendly way to transfer account authority (e.g. writecaps that include storage authority). So I'm more willing to have one-client-per-node these days. (and note that this rename doesn't seriously preclude many-clients-per-node or zero-clients-per-node anyways, it just makes one-client-per-node less awkward) |
||
---|---|---|
.. | ||
allmydata | ||
buildtest |