Masters Thesis on Blockstack and IOT devices

Hello Everyone!

I’ve started working on my Masters Thesis and I’ve been thinking about making it about Blockstack and IOT device nodes.
The scenario I have in mind at the moment:
(IOT node here is a device connected to the web, that has multiple sensors linked to it and a interface to share the data)

  1. IOT node owner registers an id in blockstack (a .id or hopefully the .device that’s coming(?))
  2. Owner points the zone file to a data file that has a list of node urls and node public keys
  3. Owner calculates a hash of the data file with his data key and points to it in the zone file too. (Should be mutable. I’m not fully up to date on technical details on how this is done)
  4. The IOT nodes will sign the data they share, with their own key, that is listed in the data file.
  5. Possible user finds the Owner by id from blockstack and is able to verify everything all the way to the data

This way the data file and hash can be updated without costs (bitcoins and time) and the data user only needs to read blockstack to find and verify node data.

I’m wondering what you guys think about this? Is there any “point” to this or am I possibly missing something critical? :slight_smile:
I’ve been reading the papers,forum and website, but most likely I’ve still missed some discussions related to these topics. I would be grateful if you would point me to the right direction :slight_smile:

Thanks in advance!

1 Like

Hey @jukuli, this sounds like it would work. This is basically how blockstack lookup and blockstack set_profile work today: lookup fetches signed off-chain data and verifies its signature and version number against the name’s public key and locally-cached versioning information, and set_profile signs a new profile (with a new version number) and replicates it to the storage providers indicated by the name’s zone file. A set_profile followed by a lookup will return the latest profile information.

Hope this helps!

1 Like

I’m also keen on Blockstack/Gaiahub in the context of IoT where “headless” servers are generating data for a user.

Keeping it abstract my users “own” devices with their *.id Those devices then write data into a collectively owned data store that the user accesses from their application.

This data may be “heavy” (i.e. many Terrabytes).

I noticed there was previous discussion around this sort of thing, but it seems that there is no “official” support for writing data from any place that is not a browser.

I’ll be looking into this… and likely also exploring a federated solution as well (i.e. suppliment with IPFS, StoreJ, etc.)