Kolmoblocks: send data as self-extracting programs for IPFS

Hey, IPFS folks,

We are the “networks of the future” team at Huawei and we wanted to share a thing we have been working on recently: we call it Kolmogorov complexity data blocks, or kolmoblocks.

The key idea behind kolmoblocks is to share data as self-extracting programs for a dedicated sandboxed environment (we are planning to use Webassembly). Kolmoblock programs can reference other data blocks as its dependencies by their crypto-hash based id.

Kolmoblocks enable the following:

  • Data block composibility: you can communicate to the requesting node that the data block of interest can be reproduced by composing other data blocks; it could get really handy if the client node already has some parts of the needed data in some form
  • Distribute the code to read the data’s format along with the data itself. Let’s say there is a new video codec that is perfect for your content. You don’t have to wait until its adopted by the client software (e.g. browsers or video players), in order to start using it; you just distribute the algorithm as another kolmoblock. The client will only need to download it once; the sandboxed runtime means its safe to run the code from trustless networks

The project is open and free (as in speech) from the onset, its MIT licensed. We are just starting our journey; and there is so many questions to resolve, but the promise is huge.

The project’s webpage:

The IPLD team has been exploring similar waters and has been there first; and we wanted to thank them for their pioneering work in this domain, and look forward to collaborating with them in every way.