Skip to content

Blob storage and propagation

Albert Armea edited this page Oct 9, 2017 · 2 revisions

At its core, Noise stores and propagates blobs of data across its network in line with epidemic routing. These blobs can contain anything -- chat messages are just one possible use. To make epidemic routing feasible for large scale use, Noise's blobs come with a proof of work and have an expiration time proportional to the difficulty of the proof of work.

In the app, the UnknownMessage class handles blob validation and storage, and the StreamSync class handles sync between two devices over any link that provides input and output streams. Currently, Noise uses a variant of Bitcoin's proof of work and Bluetooth Classic is the only supported link via the BluetoothSyncService class. I plan to switch to a proof of work that doesn't give a severe advantage to users of custom hardware, like Ethash.

Clone this wiki locally