BitTorrent, spesso abbreviato BT, è un protocollo peer-to-peer (P2P) che consente la distribuzione e la condivisione di file su Internet.
Esiste anche un software che implementa questo protocollo e che si chiama nello stesso modo, ossia BitTorrent. È stato sviluppato da Bram Cohen, un programmatore di San Francisco, e ha debuttato al CodeCon del 2002. È scritto in linguaggio Python ed è stato rilasciato originariamente sotto licenza MIT. Dalla versione 4.0.0 del 7 marzo 2005 la licenza è cambiata nella BitTorrent Open Source License. Il software è disponibile per i sistemi operativi Microsoft Windows, Mac OS e Linux.
A differenza dei tradizionali sistemi di file sharing, l'obiettivo di BitTorrent è di realizzare e fornire un sistema efficiente per distribuire lo stesso file verso il maggior numero di utenti disponibili sia che lo stiano prelevando (download) che inviando (upload). Si tratta quindi di un meccanismo per coordinare in automatico il lavoro di moltitudini di computer, ottenendo il miglior beneficio comune possibile. Ecco come funziona:
Il file originale [modifica]
BitTorrent è un protocollo che permette di distribuire file di qualsiasi tipo. Per facilitare la trasmissione, il documento originale viene spezzettato in tanti piccoli frammenti, che poi saranno ricomposti a destinazione. Le parti hanno dimensione fissa, la fingerprint calcolata con l'algoritmo SHA1 viene distribuita agli altri client per verifica mediante i network (come il Web)
Il file .torrent [modifica]
È un semplice file, di dimensioni modeste, che può essere pubblicato, ad esempio, su una pagina Web. Per poter usufruire del sistema è quindi necessario, prima di tutto, prelevare un file con l'estensione .torrent. Tale file svolge la funzione di indice, con la descrizione di tutti i pacchetti in cui è stato suddiviso un originale, incluse le chiavi hash che garantiscono l'integrità dei vari pezzi. Tecnicamente altro non è che un file statico, e contiene delle informazioni codificate mediante un algoritmo di hashing che descrivono i file da prelevare e/o da trasferire. Inoltre contiene l'indirizzo URL, cioè un link, di un server traccia (in inglese tracker) utilizzato per localizzare le sorgenti che posseggono il file o parte di esso. Questo tracker è un piccolo programma che svolge il ruolo di vigile urbano, coordinando le richieste degli utenti che cercano di scaricare un certo file e informandoli a vicenda di chi possiede quali pezzi.
La lista dei file tracker viene definita per ogni file .torrent. Solitamente, i siti tracker forniscono anche delle statistiche sul numero di trasferimenti, il numero di nodi che hanno completato la copia del file e il numero di nodi che posseggono una copia parziale del file.
I file o la serie di file che si desidera scaricare da un computer sorgente viene fornita dal "tracker server" e, mentre lo si sta scaricando, questo viene diffuso in parallelo verso altri computer sorgente, utilizzando una parte della banda dell'utente non impegnata durante il trasferimento principale.
Grazie a questo sistema, ogni nodo contribuisce inevitabilmente alla diffusione del file. Maggiore è l'ampiezza di banda in uscita su quel nodo, maggiori sono le probabilità che il file venga diffuso verso altri nodi. Questo metodo ha anche il pregio di ridurre l'impatto della cosiddetta "leech resistance" (in italiano "resistenza della sanguisuga"), condizione che si manifesta nel momento in cui sulla rete sono presenti molti utenti che desiderano scaricare file più velocemente possibile, per poi sconnettersi appena terminato, senza consentire agli altri il prelievo.
Nel momento in cui viene inviata una richiesta di download, BitTorrent non sempre inizia subito il prelievo. Per iniziare il processo di distribuzione, BitTorrent ha bisogno di trovare in rete almeno una copia completa di tutti i frammenti del file originale. Questa copia online, detta file seme, può essere ospitata su qualsiasi computer, purché collegato in banda larga. È quindi necessario che ci sia un numero sufficiente di utenti connessi, perché se ce ne sono pochi è possibile condividere solo alcune parti del file. Questo sistema ha l'effetto di incrementare la velocità di download nel momento in cui sono connessi molti utenti che stanno scaricando e/o prelevando file.
I "peer" che possiedono il file completo, chiamati semi ("seed") fanno in modo di completare il download sul personal computer dell'utente solo nel momento in cui hanno completato la copia del file stesso verso altri "peer".
Quando un utente decide di scaricare un file, cliccando sul file torrent che ha visto su un sito, il programma chiama il tracker, si fa indicare dove trovare un frammento, e appena lo ha scaricato lo condivide immediatamente con gli altri utenti in rete. Il balletto di questi scambi è coordinato per privilegiare il transito dei pezzi più rari, assicurando la propagazione equilibrata del seed originario.
Massima efficacia [modifica]
In questo turbinio di transazioni elettroniche si sfrutta al meglio la capacità teorica massima del segmento di Rete a cui si è collegati. L'utente finale vede solo un file che viene scaricato velocemente, utilizzando buona parte della propria connessione a banda larga.
Il protocollo di BitTorrent [modifica]
BitTorrent utilizza un protocollo nuovo rispetto ai sistemi P2P. La sua caratteristica principale è la facile estensibilità, segue il limitato consumo di banda. Il protocollo si basa su un algoritmo di codifica detto Bencode, utilizzato per le comunicazioni client/server e client/client.
BitTorrent a confronto con altri sistemi peer-to-peer [modifica]
Il metodo utilizzato da BitTorrent per distribuire file in parallelo a un gran numero di utenti, assomiglia a quello che utilizza la rete eDonkey; purtroppo ogni nodo di quest'ultima di solito condivide e scarica una grande quantità di file senza nessun bilanciamento agli altri nodi presenti.
Invece, gli scambi di file mediante BitTorrent riescono sempre a essere molto veloci per tutti i client coinvolti, in quanto tutti i nodi di un gruppo sono concentrati sul trasferimento di un singolo file o di un gruppo di file. Inoltre lo standard del protocollo eDonkey2000 causa purtroppo una bassa "leech resistance": non c'è alcun guadagno concreto nel fornire tanta banda in upload, ma solo un rapporto upload/download svantaggioso nel caso in cui la propria banda in upload sia inferiore ai 10 kB/s. In altre parole, chi non ha la banda larga e dispone di connessioni PSTN come una comune 56k, riceverà relativamente poca velocità o sensibili differenze nell'usare BitTorrent. Chi invece ha una connessione a banda larga, apprezzerà subito una sensibile differenza nella velocità di download e di completamento dei file usando questo innovativo sistema peer-to-peer.
Tra BitTorrent e i sistemi peer-to-peer più conosciuti vi sono due principali differenze. Prima di tutto, BitTorrent non ha la ricerca dei file per nome: l'utente deve prima prelevare da un sito web apposito (ad esempio annunciato su un forum di discussione o trovato con una ricerca sul web) un file .torrent. Inoltre, BitTorrent non tenta affatto di nascondere l'ultimo host responsabile della disponibilità di un dato file: una persona che desidera rendere disponibile un file deve prima eseguire un server traccia su di uno specifico host o serie di host e distribuire l'indirizzo della traccia o gli indirizzi di traccia in un file .torrent. Uno dei grossi svantaggi di BitTorrent rispetto agli altri sistemi di peer-to-peer, è che i file muoiono con facilità perché è un programma pensato più che altro per diffondere file piuttosto che per condividerli.
Mentre è possibile eseguire semplicemente un server traccia su di un host immune dal pericolo di azioni legali per violazioni del copyright, questo protocollo scarica, attraverso il "seeding" ("inseminazione"), la responsabilità su altri protocolli. Con un peer-to-peer tradizionale, invece, per la sua natura intrinsecamente più individuabile, è abbastanza facile costringere alla chiusura un Internet Service Provider nel momento in cui vengono identificati utenti che scaricano file protetti da copyright.
BitTorrent sembra sempre di più essere l'unico protocollo P2P utilizzabile per scopi legali: è molto diffuso per diffondere le distribuzioni in ambiente GNU/Linux. A seguito del suo successo, il creatore di BitTorrent, Bram Cohen, ha sviluppato un sistema per distribuire patch, altri contenuti e plug-in per videogiochi on line.
Diritto d'autore [modifica]
Per la sua natura intrinsecamente trasparente e per il notevole risparmio di banda che procura BitTorrent è probabilmente il protocollo di condivisione dei file più utilizzato per scopi legali, che cioè non violano il diritto d'autore. Esempi di questo tipo di contenuti sono le distribuzioni GNU/Linux e i trailer cinematografici di grandi dimensioni. Tuttavia sempre più spesso attraverso BitTorrent passa lo scambio di file musicali, film e software coperti da copyright, andando a sostituire in maniera crescente altri protocolli solitamente usati a questo scopo. A questo riguardo ci sono molte discussioni su chi sia perseguibile e in che termini secondo le leggi vigenti (vedi la voce peer-to-peer per ulteriori informazioni), ma dato che l'occultamento degli utilizzatori non è uno degli scopi dell'applicazione, di fatto il suo utilizzo potrebbe comportare per l'utente finale rischi maggiori rispetto ad altri programmi simili. È ben noto che BitTorrent fu utilizzato per distribuire copie ad alta qualità del film The Matrix Reloaded, pochi giorni dopo che venne proiettato per la prima volta nelle sale.
Il caso Suprnova.org [modifica]
A circa un anno dall'uscita di BitTorrent, in concomitanza con la sua diffusione su vasta scala, Andrej Preston, conosciuto anche come Sloncek, aprì la prima community BitTorrent su vasta scala, Suprnova.org. Sul sito era possibile scaricare gratuitamente torrent di ogni genere, e quelli dal contenuto pirata erano persino in bella mostra. Nel 2004 Supernova.org era primo in classifica su tutti i motori di ricerca, riceveva milioni di contatti giornalieri ed era entrato nel mirino di RIAA e delle case discografiche unite nella lotta alla pirateria. Senza finire in tribunale, già in vista di una sentenza a sfavore del sito, Suprnova.org chiuse spontaneamente i battenti e il proprietario iniziò a lavorare ad un nuovo progetto peer-to-peer basato su BitTorrent. Tale progetto è eXeem, vittima di numerose polemiche per via dei sorgenti chiusi.
Questo enorme sito è stato riaperto in Agosto 2007 grazie al supporto del team di ThePirateBay. Sembra attualmente che il progetto eXeem sia stato abbandonato dal team di sviluppo ufficiale. La rete di eXeem non è più funzionante.
Sviluppi recenti [modifica]
Il protocollo BitTorrent è ancora in sviluppo, pertanto è possibile acquisire nuove versioni sempre più complete ed efficienti. Una delle più recenti implementazioni è il web seeding, in italiano "inseminazione del web", sistema che abbiamo spiegato all'inizio di questa pagina.
Gli sviluppatori della rete BitTorrent stanno lavorando sodo per ottenere una rete decentralizzata. Un primo passo è stata l'introduzione del DHT (Distributed Hash Table, tabella di Hash distribuita). Al momento è stata introdotta dal client BitTorrent ufficiale, da Azureus, da BitComet, da uTorrent, da KTorrent e da Tomato Torrent.
Per fronteggiare l'attacco legale contro i siti BitTorrent, lanciato prima dalla RIAA e dopo dalla MPAA, i webmaster stanno lavorando per ottenere un vero motore di ricerca per file.torrent (altro punto debole della rete).
Anche in questo caso già sul sito ufficiale di BitTorrent c'è un motore di ricerca in "stile" Google, ed anche Defiant (chiuso) e PirateBay hanno seguito la stessa strategia.
False versioni [modifica]
Nel 2007 compare nel sito www.bittorrent-it.com una versione truffa del programma in lingua italiana, che all'inizio dell'installazione chiede un codice di attivazione da ottenere chiamando un numero di telefono a pagamento iniziante per 899.
Alcuni software client [modifica]
- ABC (Yet Another BitTorrent Client)
- Anatomic P2P
- Arctic Torrent
- Azureus
- BitComet
- BitLord
- BitTyrant
- BitTornado
- BitSpirit
- Bits on Wheels
- Burst!
- Deluge
- G3 Torrent
- Gnome BitTorrent
- Halite
- KTorrent
- MLDonkey
- MooPolice
- Opera (Browser con client BitTorrent integrato)
- QTorrent
- Rufus
- Shareaza
- SimpleBT
- Tomato Torrent
- Transmission
- Tribler
- Turbo Torrent
- μTorrent
- XanTorrent
- XBT Client
- xTorrent
- ZipTorrent
- colombo.org (siti italiani sicuri e affidabili previa login)
- master italia (siti sicuri e affidabili in italiano previa login)
Ti e' piaciuto il nostro post? Allora cosa aspetti:
Utilizzando i Feed puoi seguire gli aggiornamenti del nostro Blog