Introduction

This page is intended to teach a novice how to use the technology that braid runs on, and why it is useful. No specific prior technical knowledge is required, however basic computer literacy is assumed.

First we will explore how some well known sites that you may currently use operate, and where they fall short when it comes to publishing or archiving your work. Then we will look at how peer-to-peer systems work, and what benefits they offer over traditional client-server platforms. Then we'll go through how to use a specific p2p network called BitTorrent, and how braid uses that network. By the end of this you'll understand how to download from braid, how to submit your own work, and how to lend a hand at preserving the work stored on braid into the future.

Centralised Platforms

When you upload your work to Instagram, SoundCloud, Bandcamp, YouTube, Spotify, Flickr, Tumblr, or any other platform like that, you are sending a digital file to be stored on a "server" owned by that company. A server is just a special type of computer, usually in a big warehouse called a "datacenter". Sometimes people collectively call these servers "the cloud". Whenever someone wants to access a file on one of these platforms, to listen to a song, read a poem, or watch a film, they connect to that server and request the file. The server then sends this file to their phone or computer which is known as the "client".

This "client-server" model is also how more general file storing/sharing platforms like Google Drive, iCloud, OneDrive, or WeTransfer work. Even braid uses it, just not exclusively. It's convenient, and requires no real technical knowledge to use. However, these platforms are controlled by one central entity, and not the creators who use them to store their work. The hard drives holding the files are out of the control of the people who care about them.

What Could Go Wrong?

When data is stored this way long term, there's all sorts of things that could happen. Every point here is a reason not to exclusively rely on these types of platforms.

Peer-to-Peer Networks

Peer-to-Peer (P2P) networks work differently. Instead of one central server to store the data, the data can exist on many different devices, and be downloaded from any of these at once. If multiple copies of a file exist, it is much less likely for it to be lost. P2P networks can also reduce the financial burden of storing data- storage space and upload bandwidth can be crowdsourced from a community rather than bought from a company.

Some P2P networks are able to be searched directly. Others benefit from centralised indexes. These centralised indexes are still at risk of disappearing, but it's a lot easier to revive a page of links than a huge archive.

As members of a P2P network may live in many different places, and can be somewhat anonymous, it's much harder for governments or large companies to censor them. By default, consumers can also easily act as backups of the data they consume, meaning that accidental or intentional data loss or degradation is less likely. It's like if Spotify went offline, but there was an easy way to still access the music that was downloaded on users' devices. This would be very easy to do, however record labels don't want it and therefore it isn't the case.

BitTorrent Basics

The P2P network that braid runs on is called BitTorrent. It is over 20 years old, and once accounted for almost a third of internet traffic. It is a tried and tested way of distributing files online, and can be run completely grassroots. The little pieces of data that act as links to files shared on BitTorrent are known as torrents. The act of sending and receiving files on this network is known as torrenting.

Torrent Clients

A Torrent Client is a piece of software that runs on your device to allow you to access the BitTorrent network, in the same way your web browser allows you to access the world wide web, or your TikTok app allows you to access TikTok.

Torrent Files and Magnet Links

To share files on BitTorrent, the uploader uses their BitTorrent client to create a torrent file. This file, that ends in .torrent, is a type of metadata, or data about data. It contains a mathematical fingerprint of the file(s) in the torrent known as a hash, that can be used to verify you have received what you asked for. It means you don't need to just trust your peers on the network, if you trust the place you got the metadata from. This is why central indexes like braid can be useful.

Torrent files are very small, so can be attached to emails, kept on cheaply run websites, or anywhere else that the file(s) they point to might not fit.

Torrents can also be downloaded using magnet links. These links contain the same hash as the torrent file, and allow a simple clickable link to a torrent to be shared.

Seeding and Leeching

Once they have created a torrent, the uploader begins to seed the torrent. This means they stay connected to the network, and the software listens out for requests for that file. When someone else wants to torrent a file, their torrent client will begin to request small pieces of it from any available seeder. This is known as leeching. The fact that a leech can download from multiple seeds at once means that a file with a lot of seeders can be downloaded very quickly, even if each of them has a relatively slow internet connection.

Once a leech has a piece of a file, they can begin to seed it and share it with other peers on the network. It's good practice to continue seeding once you've fully downloaded a file, as simply by accessing that film, album, or book for your own personal enjoyment, you've also created another archival copy on the internet, making it less likely that the file will be lost. You'll also be contributing your internet speed to its efficient distribution to future consumers.

Trackers

A tracker is a server that acts as a central entity to "track" who has, or is requesting, which pieces of a given torrent. Due to the invention of DHT, a way to track this info without a central server, trackers are no longer required for BitTorrent to work, but they can speed things up. BitRot operates a tracker specifically for braid files, and there are many public trackers such as OpenTrackr which will track any torrent "announced" to them.

Indexes

An index of torrents is a collection of torrent files or magnet links. It may have a search function or a list of categories. Braid is an example of a torrent index. Torrent indexes are separate from the actual BitTorrent network.

Many indexes list info about the number seeders and leechers of a torrent, the size of file(s), and who originally uploaded the torrent. Frequently the search functions on these indexes are very precise, as opposed to the "fuzzy" matching of a search engine like Google. This means that, for example, if there are two items in the index with the same name from different years, including the year in your search may allow you to more easily find what you're looking for.

DHT

DHT stands for "Distributed Hash Table", and can be thought of as a huge database of who has what, that every member of the network keeps a small portion of. When you want to download a torrent, your request is passed along the network until it's received by someone who has an entry relating to it in their portion of the table. Your request is forwarded to the seeder who has the file you want, and they begin sending you pieces.

The existence of DHT means that a central index like braid can completely collapse, and the files it listed can still be made available on the internet. Recently, a project called bitmagnet was introduced, which allows individuals to slowly collect a more full copy of the DHT, and store it as an easily searchable local database. This means users don't even need a torrent file or magnet link to find files available on the DHT. All this together means that as long as at least one random member of the public continues to seed a copy of the original file, it can never disappear.

BitTorrent in Practice

Getting started

First, download and install a torrent client. If you're on Windows or Linux, use qBittorrent. If you're on Mac, use Transmission.. If you have an Android, you can use LibreTorrent. Apple does not allow torrent apps on their iPhone app store, however there are installation instructions that bypass the app store on the iTransmission website.

Downloading from a .torrent file

Download the .torrent for the file you want. Braid keeps torrent files in braid.bitrot.online/archive. When you open your torrent client, there should be an option labeled Open. Click this, and open your torrent file. It should then ask you where you would like to download the files to, and whether you'd like to download all files in the torrent or just a selection. This torrent will then be added to the main list of torrents you have, and begin leeching. Once it has completed, you should automatically begin seeding as well.

Downloading from a magnet link

With a torrent client installed, magnet links should be clickable and open automatically in that client. You may have to save this as a setting the first time you do it. Otherwise, you can copy the link and paste it into the "Open URL", "Add link", or "Add Info Hash", section of the torent client. After that the process should be similar to using a .torrent file.

Creating a torrent

Most torrent clients also support the creation of torrents. In qBittorrent, this option is available from Tools>Torrent Creator. In Transmission, it's File>Create Torrent File. You'll be asked to select the file or folder you want to share. For uploading to braid, you should choose the format "Hybrid" rather than "v1" or "v2", and you can leave "piece size" as Auto. Don't select "private torrent", and you might as well select "Start seeding immediately" (qBittorrent) or "Open when created" (Transmission). For torrents intended for braid, you should paste into the "Tracker URLs" (qBittorrent) or "Trackers" (Transmission) box the address of the BitRot tracker (udp://tracker.bitrot.online:1337/announce) and one other tracker, such as OpenTrackr (udp://tracker.opentrackr.org:1337/announce). Once you click Create, your torrent will be generated (this includes calculating a hash of the file(s) you chose) and it'll then begin seeding. A .torrent file will be created that you can share, and you should also be able to right click and copy a magnet link to your torrent.

Indexing your torrent on Braid

If you email braid at bitrot dot online with a short description of who you are, what you make, and attach the .torrent file, and you're accepted for listing on our index, we'll download and then seed a copy of your files on our server. This means that as long as our server exists, a copy will be available directly from our website. Then, even if braid goes down, as long as a copy of the text portions are preserved, and someone (maybe you, maybe a fan, maybe an amateur archivist) out there is still seeding, the work archived on braid will remain available.

Final Notes

Platforms are not your friend. The solution to "bad" publishing platforms is not ditching them entirely for a new "good" platform, it's a change in how you publish altogether. Torrents can be a great way to avoid the pitfalls of a central platform, but you don't have to be dogmatic about it. The best way to use something like braid is as just one part of a larger strategy to share and store your work.

This guide was not about torrenting illegal material. If you use the instructions here to access material that the copyright holder has not allowed to be torrented, such as from an index like The Pirate Bay, without using a VPN like Mullvad, you're liable to get in trouble. BitRot does not condone or encourate any illegal activity, even if it is an easy way to access and archive art such as music, films, books, and video games. By submitting files to braid you confirm that you have the right to distribute them, and that you permit anyone else to distribute them as they please. We are not interested in material owned by big companies who care about copyright; there's plenty of indexes and trackers out there for that already.