Chunks Cli Poc
Chunks presents a decentralised way to distribute content. The content is generated by a webmaster, and spread out to the interested peers in a decentralised way via bittorrent and its DHT. And it's all nicely wrapped up with electron, so it should be smooth to use.
It's basically doing this :
git clone https://github.com/pldubouilh/chunks-gui.git
npm install .to install the deps
sudo npm install -g electron-prebuiltto download electron-prebuild
How to use
Click on the menu, and add my test server key :
Meanwhile the dht should do its magic and connect itself up. Re-open the menu, and click on the key you just added. My test blog will be loaded and displayed. Updates will incrementally be downloaded every 5 mins.
For the servers side stuff look at chunks-server. Have a look, posting your own content should be fairly seamless !
Security & resilience considerations
- Each node is refreshing the dht slot every 5 minutes, to keep the dht as updated as possible
- Sybil attacks. This paper
- Some kind of solution would be to poll multiple times and get some kind of vote system ?
- Vote : see bt-dht #79
- Multiple DHT spots (and keypair) to mitigate Sybil. Sharing same token, so possible to detect update easily.
- Investigate the possibility to use each key once, with some kind of chain so we could always be on the move.
- Update keys OTG
- Move to a chrome extension
- Keep one backup of older stuff ?
- Keys on DNS entry > See RFC2538 ?
- Gracefully exit (destroy all the things)
- Treat spam click - Load bar to mitigate people's crazyness ?
- Rename key dblclick on label ?
- Switch to turn off all networking
- Switch to roll previous backup
- Auto connect after user clicked, but DHT wasn't connected
This project wouldn't exists without webtorrent. Many thanks to @feross and all the amazing contributors !