Definitions

Here are some definitions of entities within the system

NameDescription
NodeA server which stores and serves parts.
ProviderAn individual or organization which owns, secures, and operates nodes.
TenantAn individual or organization which owns content.
ContentA versioned set of data which is owned by a tenant.
SpaceA group of providers and tenants, where providers agree to run nodes that serve content owned by a tenant according to a common set of rules.
PartA part is a sequence of bytes stored in the space, referenced by its hash.
Content Object VersionA collection of parts created by a tenant, referenced by its hash.
Content ObjectA collection of versions.
KMSA tenant-owned server which holds keys for encrypting/decrypting content which the tenant stores in the space.

The following entities are identified as follows:

EntityIdentifierSubstrate Type
ProviderProviderId10-byte array
NodeNodeId10-byte array1
SpaceSpaceId10-byte array
Content ObjectContentObjectId10-byte array
Content Object VersionCObjVersionId32-byte array
KMSKMSId10-byte array
1

Could node id just be an unsigned 32-bit integer and do some round robin or mod-magic for assigning partitions?