-
Notifications
You must be signed in to change notification settings - Fork 8
Blob storage and propagation
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.