Skip to content

Plan infrastructure #12

@perguth

Description

@perguth
  • Data transport primitives
    The basic building blocks to handling connections between blob-stream instances. Can be seen as the hardware layer: Every database, like every computer RAM modules needs wires to connect the chips together. These transport primitives constitute those wires.
    • simple-peer (1:1 data)
      Direct connection primitive.
    • webtorrent (n:n sharing)
      Cloud primitive.
    • IPFS (n:n sharing)
      Cloud primitive (NodeJS only).
  • Database
    What actually constitutes our decentralized database. All blob-stream instances contain various parts of the whole database. Disjunct groups of connected blob-stream instances collectively also inhabit disjunct regions of the database.
    • hyperlog
      The actual "database": The append-only log and its interface.
    • Connection management
      • swarmlog
        Our actual "database connection process": A thin wrapper that give the client the ability to connect to the database. The signalhub-server that swarmlog is connected to itself symbolizes one of two keys that are necessary in order to have full (as in read/write) and direct (as in "not mediated by other blob-stream instances") access to a certain region of the database.
    • Database access
      Reading and writing in relational databases means selecting and accessing a table. Here it means selecting regions of data that are held together a pair of two certain keys but that are spread over different blob-stream instances.
      • Invite URL
      • facebook-login
        This should somehow allow us to discover other blob-stream instances run by the same user. - I don't know how.
      • cipherhub
        Get the pubkey for a certain Github username. Look up in the DHT on which hub that user is reachable for blob-stream. Connect to that hub, sync with that user.
      • Helper
        • hyperlog-sodium
          A helper that generates what actually serves as an "access key" to a certain database region. This key serves to always unlock the exact same database region. And that regardless from whichever blob-stream instance the access originated.

img_20160525_185010

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions