{"componentChunkName":"component---src-templates-blog-post-js","path":"/blog/2016/09/09/scout-securely-locate-peers-without-central-servers/","result":{"data":{"allWordpressPost":{"edges":[{"node":{"title":"Scout: Securely Locate Peers Without Central Servers","content":"<p>As part of our encrypted messaging application <a href=\"https://www.bleep.pm\" target=\"_blank\">Bleep</a>, we wanted to make it possible for peers to locate each other securely using only the BitTorrent distributed hash table (DHT). To support this we added some DHT extensions which we&#8217;re now open sourcing under the name <a href=\"https://github.com/bittorrent/scout\" target=\"_blank\">Scout</a>. Scout is useful for applications where small groups of mutually trusted peers want to stay in contact with each other.</p>\n<p><span style=\"font-weight: 400;\">Scout uses the DHT to provide secure storage which is indexed using a shared secret. Scout derives a symmetric encryption key and a public/private key pair from the shared secret. Stored items are encrypted with the symmetric key and signed by the private key, so only peers who possess the secret can read or write information related to it. Scout has a separate API which allows strings to be stored indexed by their secure hash, so the DHT can be used as a shared storage medium. There is currently a limit of 1000 bytes total for data stored in the DHT, and the default implementation is to keep data for two hours. It is expected that DHT storage will be used for IP addresses, cryptographic key material, and other small pieces of information which can be used as an entry points for further communication. </span></p>\n<p><span style=\"font-weight: 400;\">In Bleep, peers all have public keys and find their shared secret with another peer by doing a Diffie-Hellman key exchange. The peer then uses Scout to read the corresponding data from the DHT, parses it to a list of IP addresses for the contact’s devices, appends the client’s own IP to the list, and Scout writes it back to the DHT. This allows a single Bleep client to be logged in with several devices at once. To send messages offline Bleep uses Scout’s index by secure hash storage and keeps the messages as a linked list of immutable data. The head of the linked list is stored in the mutable shared data along with the contact information of both peers.</span></p>\n<p><span style=\"font-weight: 400;\">For convenience, Scout provides the functions Bleep uses to generate shared secrets using public/private key pairs and Diffie-Hellman key exchange. Scout also includes a complete BitTorrent DHT implementation with a high level wrapper so that you do not need to worry about the intricacies of setting up and running a DHT node. See <a href=\"https://github.com/bittorrent/scout\" target=\"_blank\">the readme in the github repository</a> for detailed usage instructions.</span></p>\n\n","date":"September 09, 2016","featured_media":null}}]}},"pageContext":{"meta":{"title":"Scout: Securely Locate Peers Without Central Servers","description":"<p>As part of our encrypted messaging application Bleep, we wanted to make it possible for peers to locate each other securely using only the BitTorrent distributed hash table (DHT). To support this we added some DHT extensions which we&#8217;re now open sourcing under the name Scout. Scout is useful for applications where small groups of&#8230;</p>\n","keywords":"bittorrent, BitTorrent, torrent, bittorrent, client, windows, mac, osx"},"slug":"scout-securely-locate-peers-without-central-servers","unlocalizedPath":"/blog/2016/09/09/scout-securely-locate-peers-without-central-servers/","locale":"en","navText":{"Buy BTT":"","Exchanges Listing BTT":"","View All Exchanges":"","View All":"","Crypto":"","Help":"Help","Products":"Products","Get Content":"Get Content","Token":"Token","Language":"Language","Online torrent downloader and player.":"Online torrent downloader and player.","Free":"Free","Premium":"Premium","The original desktop torrent client.":"The original desktop torrent client.","The best web torrent client for Mac.":"The best web torrent client for Mac.","The original torrent downloader for Android.":"The original torrent downloader for Android.","Live Broadcasting":"Live Broadcasting","Create or watch live broadcasts.":"Create or watch live broadcasts.","Learn More":"Learn More","Content Utility":"Content Utility","Access BitTorrent Classic from anywhere.":"Access BitTorrent Classic from anywhere.","Login":"Login","Learn about BTT use cases.":"Learn about BTT use cases.","Get faster downloads, earn for seeding.":"Get faster downloads, earn for seeding.","Store and share digital content.":"Store and share digital content.","Your purchase of digital coins via credit card is facilitated by a third party service provider, Simplex Payment Services UAB.":"Your purchase of digital coins via credit card is facilitated by a third party service provider, Simplex Payment Services UAB.","BitTorrent does not facilitate this transaction and expressly disclaims all warranties related to this third party service.":"BitTorrent does not facilitate this transaction and expressly disclaims all warranties related to this third party service.","The crypto amount quoted is based on the current rate and is not final.":"The crypto amount quoted is based on the current rate and is not final.","If the rate changes by more than +/-2.5% you will be asked to reconfirm the transaction via email from Simplex.":"If the rate changes by more than +/-2.5% you will be asked to reconfirm the transaction via email from Simplex.","BTT is not available for direct purchase from all geographic locations.":"BTT is not available for direct purchase from all geographic locations.","If you have any questions, please contact Simplex customer support at support@simplex.com.":"If you have any questions, please contact Simplex customer support at support@simplex.com.","Please read the above and check the box to continue":"Please read the above and check the box to continue","I have read and accept the terms of this purchase.":"I have read and accept the terms of this purchase."},"footerText":{"Language":"Language","Downloads":"Downloads","Windows":"Windows","Mac":"Mac","Android":"Android","Linux":"Linux","Platforms":"Platforms","Company":"Company","About":"About","Contact":"Contact","Press":"Press","Jobs":"Jobs","Advertise":"Advertise","EULA":"EULA","Copyright":"Copyright","termsOfUse":"Terms of Use","nowTermsOfUse":"Now Terms","Privacy":"Privacy","Support":"Support","Help":"Help","Forum":"Forum","All Rights Reserved":"All Rights Reserved"},"consentBannerText":{"consentText":"We use cookies for analytics, advertising and to improve our site. To learn more <Link to='/legal/privacy-policy' class='text-primary font-weight-bold'>Click here</Link>. By clicking 'I accept', you accept use of our cookies, and by continuing to use our services, you are agreeing to our <Link to='/legal/privacy-policy' class='text-primary font-weight-bold'>Privacy Policy</Link> and <Link to='/legal/terms-of-use' class='text-primary font-weight-bold'>Terms of Use</Link>.","I Accept":"I Accept"},"androidBannerText":{"Get the official Android App":"Get the official Android App","FREE on Google Play Store!":"FREE on the Google Play Store!"},"next":{"path":"/2016/09/08/donald-glover-is-the-future-the-future-is-now/","title":"Donald Glover is the Future, the Future is Now"},"previous":{"title":"Sara Price Gets Back on Dirt to Defend Terracross Championship","path":"/2016/09/09/sara-price-gets-back-on-dirt-to-defend-terracross-championship/"},"modifiedTime":"2016/09/26"}},"staticQueryHashes":["2794733127"]}