Inside BitTorrent’s approach to building serverless messaging apps.First, a few words on Chat’s origins. Here at BitTorrent, we value privacy.
With the this year reminding us all of the susceptibility of the communications platforms we rely on to snooping, we found ourselves wanting something new, something secure, something private. We ultimately realized that we were uniquely qualified to build this platform.The primary weakness that we see in the available communications platforms is that they all rely on some central server to route and store all of your communication.
Even if your provider can deliver industry-standard security, they cannot provide you with any kind of assurance that your communication is private. All it takes is the right (or wrong) person gaining access to your provider’s central servers, and your privacy evaporates.Enter. We’re building a product that allows you to talk to your friends using peer-to-peer. No central authority required.Solving for serverless chatBut how would this work? If you don’t have a central authority, where do you login? Where is your username and password stored?
How do you route connections between users? These are the engineering issues that we’re tackling with Chat.
Using public key encryption to protect user privacyWith BitTorrent Chat, there aren’t any “usernames” per se. You don’t login in the classic sense. Instead, your identity is a cryptographic key pair. To everyone on the BitTorrent Chat network at large, you ARE your public key. This means that, if you want, you can use Chat without telling anyone who you are.
Two users only need to exchange each other’s public keys to be able to chat.Using public key encryption provides us with a number of benefits. The most obvious is the ability to encrypt messages to your sender using your private key and their public key. But in public key encryption, if someone gains access to your private key, all of your past (and future) messages could be decrypted and read. In Chat, we are implementing forward secrecy. Every time you begin a conversation with one of your contacts, a temporary encryption key will be generated. Using each of your keypairs, this key will be generated for this one conversation and that conversation only, and then deleted forever. Building an encrypted DHTUnderlying BitTorrent Chat is the method we use to translate a public key to an IP address.
Just like our flagship products BitTorrent and µTorrent, Chat uses a distributed hash table to find IP addresses. The DHT removes the need for a central server to route messages.
(Curious about DHT? A short reading list, below.)In essence, the DHT is a web of peers cooperating. You ask your closest neighbor if they know of the person you are looking for. You then ask their neighbors, and their neighbors’ neighbors, and so on. Eventually, you’ll get to a peer (neighbor) who knows the address of the person you’re looking for.
They return this address to you. This is done in such a way that only you know who you are looking for. (The person you are looking up would also know.)If you understand the fundamentals of the DHT, you might be wondering, “How is a DHT more secure? Aren’t you giving your IP address out to the entire DHT?
That’s LESS secure than a central server!” With Chat, we are expanding on what we can use the DHT for. We have updated our DHT protocol to support encryption. The new DHT protocol enables users to find each other securely and privately.We could go on forever about the engineering behind Chat. But that’s all for now. Sign up for the for more details and the latest news. We can’t wait for you to try out Chat!Read more about DHT technology.
Well,first of all Hey There SB-Citizens!! Was a long day @ work but I managed to get Home at last and its time for bed but coz I adore this Place just wanted to share with you this Tutorial for uTorrent's Best Settings Ever that will eventually double your Dl/Up Speed or at least Boost your Bandwith to its maximum limits!!
Anyway,let me begin with it coz it will take some time (and I cant open my eyes anymore coz of being tired all day)!!Step By Step Tutorial:First download Utorrent, and instal. Personally i think it's the fastest one out there. Then follow the steps below to max out download speeds. I usually get around 150 - 200 kb/s (while my Normal Bandwith Should be around 120 - 150 Kb/s) First go to OptionsPreferencesNetwork1.Under ‘Port used for incomming connections‘ enter any port number.
It is best to use a port number above 10000.2.Randomize port each time µtorrent starts: UNCHECKED. I leave this unchecked because I have a router.
If you do not have a router or a firewall, and want extra security,check this option.3.Enable UPnP port mapping (Windows Xp or later only): UNCHECKED. I leave this unchecked because I have experienced it slowing down speeds. It is not needed if you manually port forward.4.Add µtorrent to Windows Firewall exceptions (Windows XP SP2 or later only): UNCHECKED (do this only if you have windows firewall disabled)5.Global Maximum upload rate (kb/s): 0: unlimited: 22 (Recommended for 256k connection)6.Protocol Encryption: ENABLED. I would recommend everyone to enable this.
This can help increase speeds with many ISPs.7.Allow incoming Legacy Connections: CHECKED OptionsPreferencesTorrents1.Global Maximum Number of Connections: 130 (Recommended for 256k connection). This number should not be set too low or the number of connections made to your torrents will be limited. Setting it too high may cause too much bandwidth to be used and can cause slowdowns.2.Maximum Number of connected peers per torrent: 70 (Recommended for 256k connection). If you see that the peers connected to a specific torrent are exactly this number, or very close, increase this number to improve speeds.3.Number of upload slots per torrent: 3 (Recommended for 256k connection). This depends on how much you want to upload to other users. Do not set too low or it may affect download speeds.4.Use additional upload slots if upload speed OptionsPreferencesAdvanced1.
Net.maxhalfopen: 50.DO NOT CHANGE THIS OPTION unless you have Windows XP SP2.Note: If you have a firewall If you have a router runtype cmd, press entertype ipconfig, press enter2.Remember both your ip address and your default gateway3.Type in your default gateway into your default browser, a password prompt may come up. The default username and password are admin for my router4.Under ‘Applications’ fill out one line for each p2p client you use5.You need to use your ip address, the correct port range and set either tcp or udp6.You can find and change the ports in the actual p2p client’s settings, just make sure they are the same in the router7.Most p2p apps need both tcp and udp checked, if you are not sure check your p2p client’s FAQ8.Save your settingsCheck to forward ports for uTorrent.Some of the settings I mentioned above are relative to my bandwidth.
But If you followed this Guide Step By Step then you should be Fine!!P.S: Don't Reply with 'Hey I didnt get Double Speed' coz ISP might strictly control bandwith boosting (over-flooding bandwith) BUT at least you will Suck 99% of the Bandwith you paid for into uTorrent!!NJoy SB-Citizenz!! 2.Randomize port each time µtorrent starts: UNCHECKED. I leave this unchecked because I have a router. If you do not have a router or a firewall, and want extra security,check this option.actually well yes it is a little bit safer to randomize ports BUT say you were building your ratio at a tracker (uploading a lot ) and for some weird reason uT/windows crashes (you know how computing is ^^), utorrent will choose another port when restarted and you won't be reachable in your old one, and by the time you pick your old port (if you remember it!) and restart, the other client will have already given up trying to contact you and someone else will be uploading to him = bad. Global Maximum upload rate.Global Maximum Number of Connections.Maximum Number of connected peers per torrent.Number of upload slots per torrent.Maximum number of active torrents.Maximum number of active downloads.' U/L settings calculator' can help you get these values right (it's meant for azureus but the settings are the same in every client ), just tell it your upload speedreppy, please don't think i don't value your tutorial, it's GREATLY appreciated and i know you must have spent A LOT of time writing it i'm just giving my personal opinions and recommendations on every subject.
Well,first of all,its a good technique to randomize your ports so that you cut your losses in every port you use every single time if you lost any badnwith using one port (so you wont lose again if you changed the old port to a brand new one)i'm aware of that (for example, your isp may slow down connections in a single port for you if torrenting at full speed using it, and enabling random ports would counter that). Just mentioning the possible drawbacks (because everything has advantages and disadvantages ). Of course crashes may happen, but it's not like uT crashes every now and then; yet should it.just mentioning the outlook of things in that case. Actually if you're only downloading from a private tracker it's better to disable all these, which in this case will just generate more unnecessary connections and waste your bandwidthin private trackers, every.torrent you download has the private flag enabled, which means dht and pex won't be used for those torrents. If you use your client ONLY (important) to get stuff from private trackers, enabling DHT and peer exchange will only waste your bandwidth, because those will be disabled for every torrent (remember for all this example is concerned, we are downloading from private trackers only) but you will still be a dht node, with nothing to share (because the private flag disallows you from sharing private torrents with other DHTers).
Being such generates overhead, and in this scenario we will never be using DHT, so i recommended to disable it (and PEX too) to save precious bandwidth.i do fully backup your statement of enabling both dht and pex if you're also downloading from public trackers (or use the same client to download from both kinds of trackers, like most people do): it can help you get more peers and also takes a bit of pressure off the tracker away. Well,its ok buddy that you provided your opnions on this tut but you just replied on topics without adding extra tips on them (just like I wrote,you just rephrased),anyway after replying to many parts you still havent gave me my 'Thanks' point LOOOOOL hey, i do remember clicking the thanks button today and seeing that little wheel icon. (the one that appears when you click THANKS until your nick is shown in the thanks list) yet it seems that it didn't register.
I have just clicked it again.reppy, please relax, everything cool man i have never stated your tut is of no use: it is very useful for starters, and advanced users too! All i wanted was to (in a friendly manner ) express what i personally thought of some of the things you've posted, and intended to be helpful and informative for people reading my post.
My apologies if you found it a bit redundant (i admit this.) or unhelpful in any way.again, no offense man.thank you for sharing your tips with the community.best regards,anon.