forked from miguelfreitas/twister-core
-
Notifications
You must be signed in to change notification settings - Fork 2
/
TODO
53 lines (36 loc) · 2.78 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
- Encrypt user_data (which contains all DMs)
- Test wallet encrypt to see if it still works from original bitcoin implementation and what
are the implications to our code.
- Rescan directmessages after importing a privatekey (importprivkey)
- Check libtorrent's limitation on the number of pieces (max_pieces in piece_picker.hpp = 1<<19)
Since post number is constrained by max of 288 posts per day in average, that means we have 5 years
to think about it (for the really heavy users).
- Besides increasing the maximum number of pieces, a more pressing issue to save bandwidth and
torrent download time would be to define the first piece to download/store locally. People don't
need to maintain the entire post history for everybody they follow, they could just keep the last
ones. This has to be implemented.
- Move all crypto to javascript, store only encrypted version of the privatekey (which would be
decrypted only in browser memory). getposts may obtain all DMs encrypted to browser, another
newpostmsg needs to be provided to receive posts with signature field added.
- Store a dht resource "publickey" containing not only the public key itself but also information
needed to validate it by a lightweight client. That includes: block hash, block height and partial
merkle tree inside that block. This resource propagation cannot be sent right after user
registration for obvious reasons (no block yet, other nodes wouldn't accept the signed dht put).
- Implement the mention forwarding mechanism discussed in the paper so user don't need to do polling
and can also be sure to receive all mentions.
- Implement hashtag "storage-less" torrents for post distribution.
- Check stored dht values if their signature is still valid before trying to refresh another node.
Key pair might have changed and currently we receive a lot of errors from other nodes.
- save_file() must truncate file.
- Implement dht-to-torrent gateway, the "swarm" resource (so poster may not need to be member
of his own torrent)
- Estimate number of online followers by quering the "tracker" resource (implement a value within
this resource to report the number of torrent peers)
- Define and enforce html directory to serve from. Do installation scripts.
- Don't accept dht "post"+k if k violates the validatePostNumberForUser() rule.
- Implement -secdatadir= parameter to store sensitive data (wallet, dm) in a separated dir.
- Improve dhtget for the multi case so multiple responses may be joined/concatenated.
- Check pieces before sending to other peers in swarm. The issue here is that whenever
acceptSignedPost is changed to become stricter the old posts (which have been previously
accepted into torrents) may fail to pass in the new test. This causes peers to becomed
massively banned by other peers because they try to send invalid pieces.