1 of 11

Single Owner Chunks

Nugaon, Ethereum Hungary 23.02.16

2 of 11

Content Addressing

  • Fingerprint of data
  • Used for
    • integrity checks
    • request to download content
    • immutable resource

3 of 11

Chunk Tree

4 of 11

Single Owner Chunk

  • Identity Anchored Address Space
  • Querying information about an identity
  • Pointer to any content addressed file
  • Request(soc_address)�Vs.�Request(soc_address, wrapped_address_prefix)

5 of 11

Feeds

  • Identifier is splitted into Topic and Index
  • Topic has the same purpose as the Identifier
  • Index can be used to differentiate multiple versions of the same Topic
  • Substitutive, Accumulative,�Alternative

6 of 11

Sequential feed

  • The index is a simple Uint64 number
  • First update has 0 index
  • Each update increment the latest valid index

0

1

2 (latest)

3

ContentHash0

ContentHash1

ContentHash2

7 of 11

Epoch-based feed

  • Logarithmic lookup
  • Index is anchored �to the upload time
  • Time resolution differs�in levels, �2^0 sec -> 2^31 sec
  • Top-down lookup and�insertion
  • Efficient in high numbered �sporadic updates

8 of 11

Fault Tolerant Feed Stream

  • Index is anchored to the time
  • The timestamp is mapped to sequential index
    • First update has 0 index
  • Additional properties are the update period and the initial timestamp (T0).
  • Best lookup happens O(1), otherwise it will find the closest match
  • It returns with successful hit instead of terminating by timeout.

100

101

102

103 (Tx index)

ContentHash100 or ∅

ContentHash101

ContentHash102

ContentHash103

9 of 11

Graffiti Feed

  • DApp consensus
  • Private Key is based on some resource
  • Everybody can read and write
  • Data source signaling
  • Dynamic application that is served by only the Swarm Network
    • Web3 forum
    • Messaging

10 of 11

Feeds with Content Addressed Chunks

  • Generate 10x257 content addresses from payloads that can be only produced by the uploader
    • Each address represents a bit
      • 256 bit of the content address reference
      • 1 bit dirty flag
  • Share these addresses with others (e.g. in the HTML page’s meta tags)
  • Upload corresponding chunks for the true bits of the update reference
  • Clients looks for the latest dirty flag
  • Parallel requests for the 256 addresses

11 of 11