diff --git a/docs/whitepaper.md b/docs/whitepaper.md index f7ed9fa8..fae80b15 100755 --- a/docs/whitepaper.md +++ b/docs/whitepaper.md @@ -103,10 +103,31 @@ In this threat model, "protected" means available in plaintext only to those whi ## Threat Actors -Onionr assumes that traffic/data is being surveilled by a multitude of actors on every level but the local machine. Some examples of threat actors that we seek to protect against include Internet service providers, local area network administrators, +Onionr assumes that traffic/data is being surveilled by powerful actors on every level but the user's device. + +We also assume that the actors are capable of the following: + +* Running tens of thousands of Onionr nodes +* Surveiling most of the Tor and I2P networks + +## Protected Data + +We seek to protect the following information: + +* Contents of private data. E.g. 'mail' messages and secret files +* Relationship metadata. Unless something is desired to be published publicly, we seek to hide the creator and recipients of such data. +* Physical location/IP address of nodes on the network +* All block data from tampering + +### Data we cannot or do not protect + +* Data specifically inserted as plaintext is available to the public +* The public key of signed plaintext blocks +* The fact that one is using Tor or I2P + * The fact that one is using Onionr can likely be discovered using long term traffic analysis ## Assumptions We assume that Tor onion services (v3) and I2P services cannot be trivially deanonymized, and that the cryptographic algorithms we employ cannot be broken in any manner faster than brute force unless a quantum computer is used. -Once supposed quantum safe algorithms are more mature and have relatively high level libraries, they will be deployed. \ No newline at end of file +Once quantum safe algorithms are more mature and have relatively high level libraries, they will be deployed. diff --git a/onionr/communicator.py b/onionr/communicator.py index 6af66fac..b4e68b68 100755 --- a/onionr/communicator.py +++ b/onionr/communicator.py @@ -670,7 +670,7 @@ class OnionrCommunicatorTimers: self.daemonInstance.threadCounts[self.timerFunction.__name__] = 0 # execute thread if it is time, and we are not missing *required* online peer - if self.count == self.frequency: + if self.count == self.frequency and not self.daemonInstance.shutdown: try: if self.requiresPeer and len(self.daemonInstance.onlinePeers) == 0: raise onionrexceptions.OnlinePeerNeeded diff --git a/onionr/static-data/bootstrap-nodes.txt b/onionr/static-data/bootstrap-nodes.txt index fe11c63d..82cc2a2d 100755 --- a/onionr/static-data/bootstrap-nodes.txt +++ b/onionr/static-data/bootstrap-nodes.txt @@ -1 +1 @@ -yjlbrt6ins7rhacaapk4a4rfwf3dqh55merbaobxd7qumuok6j6vd7yd.onion \ No newline at end of file +3xudvnmedfkkw6zisfrmm76ovrnmcil3hmah7kcxruv37glxizfxiuqd.onion \ No newline at end of file