# BitTorrent

**BitTorrent** là một giao thức chia sẻ tài nguyên trên mạng ngang hàng, đồng thời là tên của một chương trình chia sẻ tài nguyên ngang hàng được phát triển bởi lập trình viên Bram Cohen. BitTorrent dùng để tải về những dữ liệu lớn mà không tốn chi phí máy chủ và băng thông mạng. CacheLogic ước đoán BitTorrent chiếm khoảng 35% lưu lượng trên mạng Internet trong khi một số nguồn khác cho rằng con số này không chính xác.

Giao thức BitTorrent có thể thay thế cho máy chủ và cung cấp mạng lưới để truyền các file lớn. Tốt hơn là download 1 file từ một máy chủ (nguồn cấp) duy nhất, BitTorrent cho phép người dùng tham gia vào một cộng đồng mạng để có thể upload/download (trao đổi tệp tin) với nhau.  Giao thức này là một thay thế cho việc tải từ nguồn đơn cũ bằng nhiều nguồn khác (mirror sources) để phân phối dữ liệu và hoạt động tốt hơn rất nhiều đối với những mạng có băng thông thấp (băng thông giữa nguồn và đích thấp). Bằng cách sử dụng phương thức BitTorrent, rất nhiều máy tính (như máy tính cá nhân ở nhà) có thể thay thế cho một sever lớn, rất hiệu quả cho việc phân phối tập tin tới nhiều người nhận. Sử dụng băng thông thấp còn giúp ngăn ngừa đột biến lớn cho đường truyền Internet ở trong khu vực, giữ cho tốc độ Internet tốt hơn cho những người dùng khác bất kể họ có hay không sử dụng giao thức BitTorent.

Chương trình BitTorrent nguyên thủy được viết bằng Python và mã nguồn của chương trình BitTorrent phiên bản 4.0 được phát phát hành dưới dạng mã nguồn mở tuân theo "Bản quyền sử dụng mã nguồn BitTorrent". BitTorrent có rất nhiều biến thể khác nhau được viết bằng các ngôn ngữ lập trình khác nhau, chạy trên các hệ điều hành khác nhau.

## BitTorrent hoạt động như thế nào?

BitTorrent giảm tải cho hạt giống bởi vì tài nguyên được tải về từ các người dùng khác nhau. Trong hình trên các thanh màu biểu thị các mảnh của tệp, sau khi các mảnh của tệp đã được phân phối từ máy gieo hạt đến các máy ngang hàng khác nhau trong mạng, thì các máy ngang hàng tự trao đổi các mảnh của tệp với nhau. Hình ảnh này cho thấy máy gieo hạt chỉ cần gửi **một lần** các mảnh của tệp cho tất cả các máy ngang hàng trong mạng và các máy ngang hàng tự bổ sung các mảnh còn thiếu của tệp cho nhau.
Giao thức BitTorrent định nghĩa một phương thức để phổ biến và chia sẻ tệp trên mạng. Trước khi BitTorrent ra đời đã tồn tại các giao thức ngang hàng (Peer-to-Peer, hoặc viết tắt là P2P) có khả năng cho phép một nhóm máy tính trên mạng chia sẻ tệp với các máy tính khác nhóm mà không cần phải sử dụng một máy chủ để làm kho lưu trữ trung tâm. BitTorrent là một cải tiến từ các giao thức ngang hàng trước. Giao thức BitTorrent có một nguyên lý hoạt động chặt chẽ để có khả năng tùy biến, tin cậy và chi phí duy trì danh sách các máy tính chia sẻ tệp tốt hơn các giao thức ngang hàng trước đó. Do giao tiếp theo chuẩn TCP/IP nên giao thức BitTorrent có thể hoạt động trên đường truyền Internet thông thường.

Giao thức BitTorrent có thể thay thế cho máy chủ và cung cấp mạng lưới để truyền các file lớn. Tốt hơn là download 1 file từ một máy chủ (nguồn cấp) duy nhất, BitTorrent cho phép người dùng tham gia vào một cộng đồng mạng để có thể upload/download (trao đổi tệp tin) với nhau. Giao thức này là một thay thế cho việc tải từ nguồn đơn cũ bằng nhiều nguồn khác (mirror sources) để phân phối dữ liệu và hoạt động tốt hơn rất nhiều đối với những mạng có băng thông thấp (băng thông giữa nguồn và đích thấp). Bằng cách sử dụng phương thức BitTorrent, rất nhiều máy tính (như máy tính cá nhân ở nhà) có thể thay thế cho một sever lớn, rất hiệu quả cho việc phân phối tập tin tới nhiều người nhận. Sử dụng băng thông thấp còn giúp ngăn ngừa đột biến lớn cho đường truyền Internet ở trong khu vực, giữ cho tốt độ Internet tốt hơn cho những người dùng khác bất kể họ có hay không sử dụng giao thức BitTorent.

**BitTorrent client** là một chương trình hoạt động theo giao thức BitTorrent. Mỗi BitTorrent client có khả năng so sánh, yêu cầu, và vận chuyển tệp trên mạng sử dụng giao thức BitTorrent. Tệp có thể chứa bất kỳ thông tin nào, bao gồm cả văn bản, âm thanh, phim và nội dung đã được mã hóa.

### Tạo và phát hành tệp Torrent lên mạng

Để chia sẻ một tệp hay nhiều tệp bằng giao thức BitTorrent, đầu tiên cần tạo tệp **.torrent**. Mỗi tệp torrent chứa thông tin mô tả tệp muốn chia sẻ, và thông tin về máy cung cấp bản gốc của tệp. Thông tin chi tiết lưu trên máy vi tính theo dõi sẽ khác nhau tuỳ thuộc vào phiên bản của giao thức BitTorrent, nhưng dù ở phiên bản nào tệp "torrent" luôn luôn có đuôi mở rộng là `.torrent`. Cụ thể thì một tệp torrent chứa thông tin (địa chỉ URL của máy theo dõi), và thông tin về tên tệp được chia sẻ, kích thước mảnh, chiều dài khóa, chiều dài tệp, và vé thông hành để tải tệp. Một tệp torrent có thể chứa thông tin về một tệp hoặc nhiều tệp. Máy tính đã tải về tệp xong có thể lựa chọn hoạt động như máy gieo hạt, cung cấp bản sao hoàn chỉnh của tệp. Sau khi tệp torrent được tạo, một đường dẫn để tải tệp về từ máy bạn được đặt lên trang web, và tệp torrent được đăng ký với máy theo dõi (tiếng Anh: tracker). Máy theo dõi chứa một danh sách các máy vi tính hiện thời đang tải tệp về. Máy ngang hàng đang cung cấp tệp hoàn chỉnh được gọi là máy gieo hạt (seeder).

### Tải xuống tệp torrent và chia sẻ tệp

Dùng một trình duyệt Internet bất kì, như FireFox, duyệt trang web có danh sách các tệp torrent, tải nó về, sau đó dùng chương trình BitTorrent client mở tệp đấy ra. Sau khi đã mở tệp torrent, chương trình BitTorrent sẽ kết nối với máy theo dõi, máy theo dõi sẽ cung cấp cho nó một danh sách các máy vi tính đang tải tệp này. Một nhóm các thành viên của một mạng BitTorrent (hoặc mạng đồng đẳng) để tải về cùng một tệp được gọi là quần thể (*swarm*).

Việc chia sẻ được bắt đầu từ máy gieo hạt. Các máy tính kết nối đầu tiên sẽ hướng trực tiếp tới máy gieo hạt để bắt đầu tải về các mảnh của tệp. Giao thức BitTorrent chia tệp cần tải về thành các phần nhỏ có kích thước bằng nhau (thường là 1/4 megabyte = 256 kilobyte), ví dụ một tệp có kích thước 4,37 GB thường sẽ bị chia thành các mảnh nhỏ có kích thước là 4 MB (4096 kB) hoặc nhỏ hơn nữa. Khi máy vi tính nhận được các mảnh này nó sẽ dùng giải thuật băm để kiểm tra xem mảnh nó tải về có bị lỗi hay không.

Khi máy vi tính kết nối vào quần thể, các máy vi tính sẽ bắt đầu chia sẻ tệp với nhau. Các máy vi tính sẽ chia sẻ các mảnh với nhau thay vì chia sẻ trực tiếp với máy gieo hạt, vì vậy số lượng máy trong quần thể chia sẻ theo giao thức BitTorrent có thể phát triển rất nhanh. Vì nguyên lý hoạt động của giao thức rất chặt chẽ nên các máy tự chọn máy ngang hàng có kết nối tốt nhất để tải về các mảnh nó cần. Một điểm mới đột phá của giao thức BitTorrent so với các giao thức đồng đẳng trước đó là nguyên lý "mảnh hiếm". Theo giao thức BitTorrent máy khách luôn luôn yêu các mảnh hiếm nhất, mảnh này ít máy vi tính trong quần thể có nhất. Với nguyên lý yêu cầu mảnh hiếm nhất giao thức BitTorrent làm giảm tải của các máy khách trong việc đáp ứng các yêu cầu gửi đến nó, và không còn hiện tượng nút cổ chai.

Giao thức BitTorrent có một nguyên lý là "tín nhiệm mở" tạo nên "nhóm máy ưa thích". Máy ưa thích là một tập các máy ngang hàng trong quần thể cung cấp băng thông tải lên lớn cho các máy khách có yêu cầu tải về. Tín nhiệm mở cho phép các chương trình BitTorrent kiểm tra định kỳ xem máy nào trong quần thể nên lựa chọn để tải về. Nếu một máy ngang hàng ngoài nhóm ưu thích có băng thông phục vụ các máy khác trong quần thể tốt hơn một máy trong nhóm ưa thích thì nó đẩy máy phục vụ kém hơn ra khỏi nhóm ưa thích và thay thế vào vị trí đó. Nguyên lý này làm cho các máy khách luôn luôn tải về từ nhóm máy ngang hàng phục vụ tốt nhất.

### Giới hạn

Cần chú ý là giao thức BitTorrent không giúp người dùng giấu tên. Bởi vì máy theo dõi duy trì một danh sách các tệp đang được chia sẻ, đồng thời nó cũng chứa danh sách địa chỉ IP của các máy vi tính đang tải tệp, và danh sách các tệp đã được tải trước đó. Dựa vào giao thức BitTorrent còn biết chắc chắn địa chỉ của các máy ngang hàng trong quần thể, và tất nhiên là các máy ngang hàng có thể bị tấn công.

Nhược điểm của giao thức BitTorrent là ít khuyến khích các máy ngang hàng trở thành máy gieo hạt sau khi đã tải về xong tệp. Hệ quả là các máy gieo hạt sẽ biến mất và các máy trong quần thể cũng biến mất dần, nghĩa là tệp torrent càng cũ thì xác suất để tải tệp thành công càng thấp. BitTorrent có ưu thế trong môi trường băng thông rộng như DSL, cáp, vệ tinh...còn đối với người dùng Internet quay số sử dụng giao thức BitTorrent sẽ không hiệu quả, vì kết nối quay số hay bị đứt kết nối và tốc độ tải không cao.

## Thuật ngữ

availability
Là số lượng bản sao hoàn chỉnh của tệp hiện hữu ở các máy ngang hàng. Mỗi máy chủ truyền tập tin cộng thêm 1 vào số này. Nếu máy ngang hàng có một phần của tệp chia sẻ mà các máy con khác không có thì cộng phần phân số này vào chỉ số hiệu lực (ví dụ: máy ngang hàng tải về 65,3% tệp thì cộng 0.653 vào chỉ số hiệu lực, khi có 2 máy ngang hàng có 50% của tệp cần tải về như nhau và có một máy chủ truyền tập tin thì chỉ số hiệu lực là 1,5).
choked
Diễn tả máy ngang hàng đang tải lên làm nghẹt đường truyền dữ liệu đến của các máy ngang hàng khác. Tình trạng này do hai nguyên nhân sau:
* Máy ngang hàng là máy chủ, trong trường hợp này nó không muốn nhận thêm bất kỳ mảnh dữ liệu nào từ các máy ngang hàng khác.
* Máy ngang hàng đang tải lên đã đạt đến giới hạn băng thông tải lên.

interested
Diễn tả máy ngang hàng cần tải về mảnh dữ liệu nó thiếu từ máy ngang hàng khác.
leech
Diễn tả một máy trong mạng hàng ngang tham gia chia sẻ tệp nhưng chưa có hoặc có không đầy đủ tệp đó, trong mạng hàng ngang máy này sẽ thực hiện hai công việc là chia sẻ những tệp mình đã có và nhận về những tệp mình chưa có. Khi một leech đã nhận về đủ tệp và vẫn tiếp tục tham gia chia sẻ tệp này thì sẽ được gọi là seed
peer
peer là máy sử dụng chương trình BitTorrent có tham gia chia sẻ dữ liệu (tải về hoặc gởi đi). Thường máy ngang hàng diễn tả máy chưa có đủ tệp hoàn chỉnh. Cần lưu ý là 'peer' chỉ bất kỳ máy nào trong quần thể liên quan đến tệp torrent bao gồm cả máy leech, máy seed.
**scrape**
Xảy ra khi máy ngang hàng gửi máy theo dõi (tracker) để lấy thông tin về tình trạng của tệp `.torrent`
seed
Máy chủ truyền tập tin là máy ngang hàng có bản sao của tệp và đang tải lên tệp. Càng nhiều máy chủ truyền tập tin thì xác suất tải về tệp thành công càng cao và thời gian tải về càng nhanh.
snubbed
Máy trạm bị gắn cờ có giá trị  *snubbed* khi quá thời gian 60s mà các máy ngang hàng khác không tải về được dữ liệu từ nó.
superseed
Nếu máy trạm lần đầu tiên tải lên tệp thì nó có thể tốn rất nhiều thời gian vì gửi đi gửi lại một mảnh dữ liệu như nhau cho các máy trạm khác nhau kết nối với nó. Để ngăn ngừa trường hợp này, các chương trình BitTorrent có khả năng hỗ trợ tính năng *siêu tải lên*, khi đó chương trình BitTorrent sẽ cố gắng chỉ tải lên một lần duy nhất các mãnh dữ liệu, nó chỉ tải lên các mãnh dữ liệu trước đây chưa bao giờ gửi đi phân phối cho các máy ngang hàng khác nhau trong mạng.
swarm
Tập hợp tất cả máy ngang hàng và máy gieo hạt có nhu cầu một tệp.
torrent
Chỉ tệp `.torrent` hoặc tất cả các tệp miêu tả bởi nó. Tệp torrent chứa tất cả các tệp có thể tải về từ nó, gồm tên, kích thước tệp mà giá trị kiểm checksums của tất cả các mảnh dữ liệu, địa chỉ của máy chủ theo dõi vị trí của các máy trạm giữa các máy trong tập hợp máy trạm.
tracker
Máy theo dõi là một máy ngang hàng ghi lại nhật ký máy nào là máy gieo hạt, máy ngang hàng. Các máy ngang hàng báo cáo thông tin cho máy theo dõi định kỳ và nhận lấy thông tin về các máy ngang hàng mà nó có thể kết nối tới để tải về dữ liệu nó cần và tải lên dữ liệu nó có mà các máy khác yêu cầu. Máy theo dõi không chuyển dữ liệu giữa các máy và không có bản sao của tệp.
## So sánh giữa các hệ thống chia sẻ tài nguyên khác

Phương pháp dùng để phân phối tệp giữa mạng eDonkey2000 và BitTorrent là giống nhau, nhưng những các máy trong mạng eDonkey thường chia sẻ và tải về rất nhiều tệp, làm cho băng thông cho mỗi vận chuyển trở nên ít hơn. Ngược lại, vận chuyển BitTorrent nhanh hơn nhiều do các máy tập trung vào một tệp hay một nhóm tệp cụ thể. Giao thức eDonkey2000 nguyên thủy cung cấp rất ít khả năng chống máy gian lận (*tải về nhiều, tải lên rất ít*), các phiên bản client mới của eDonkey2000 có cài đặt hệ thống khuyến khích tải lên nhiều hơn. Ví dụ chương trình eMule có hệ thống điểm (credits system) để thưởng các máy tải lên nhiều. Một máy sẽ ưu tiên các máy vận chuyển cho mình trước đây bằng cách chuyển các vị trí các máy này lên đầu của hàng đợi làm cho thời gian chờ ít hơn. Hệ thống này tỏ ra khá hiệu quả vì hàng đợi trong mỗi máy khách sử dụng eMule thường lên đến hàng trăm, thậm chí hàng ngàn.

KaZaA là một giao thức gần giống với giao thức BitTorrent nhưng nó có một điểm khác đó là nó phân biệt các máy trạm theo *cấp cống hiến* (*Participation Level*). Cấp cống hiến tăng khi bạn tải lên và giảm khi bạn tải về. Khi bạn tải lên một tài nguyên thì người có cấp cống hiến cao nhất nhận đầu tiên sau đó người có cấp cống hiến cao nhất này tải lên cho người có cấp cống hiến thấp hơn và cứ tiếp tục như vậy. Mô hình này tương tự như mô hình kim tự tháp, với người tải lên nhiều nhất ở vị trí đỉnh của kim tự tháp, và người ít tải lên ở các vị trí đáy của kim tự tháp. Mô hình KaZaA chỉ thích hợp phân phối tài nguyên cho một số lượng lớn người dùng, nó đã được chứng minh là người ở đáy kim tự tháp tải tệp về nhanh hơn trường hợp tải tệp về bằng phương pháp HTTP (trong trường hợp tệp rất lớn). Nhưng mô hình KaZaA có một nhược điểm nhỏ đó là nó tin tưởng vào báo cáo của các máy trạm về cấp cống hiến vì vậy các máy trạm có thể gian lận cấp cống hiến với rất nhiều các máy trạm không chính thức.

## Bản quyền sử dụng BitTorrent

Với sự phát triển lớn mạnh của các cá nhân và tổ chức sử dụng giao thức BitTorrent để phân phối tài nguyên. Rất nhiều tổ chức thú nhận rằng chỉ có sử dụng giao thức BitTorrent mới có thể phân phối tệp của họ cho người dùng với chi phí phần cứng mạng và băng thông tối tiểu. Điều này làm tăng nhanh kích thước và chất lượng của tài nguyên phân phối trên mạng Internet.

### Phần mềm

Rất nhiều phần mềm mã nguồn mở chính thức và phần mềm miễn phí được cung cấp bằng giao thức BitTorrent để tăng tính hiệu lực của tệp và giảm tải máy chủ của nhà cung cấp. Ví dụ trang web openoffice.org và hầu hết các bản phân phối của Linux, trong đó có SUSE và (K)ubuntu.

BitTorrent đồng thời cũng được dùng để phân phối bản cập nhật cho chính chương trình BitTorrent client, ví dụ chương trình BitTorrent Azureus.

### Trò chơi

Trang  cung cấp trò chơi có bản quyền thông qua giao thức BitTorrent; phiên bản chơi thử của trò chơi mô phỏng lái máy bay X-Plan cũng được cung cấp thông qua giao thức BitTorrent. Bản vá của trò chơi *World of Warcraft* được tải về từ trong trò chơi thông qua giao thức BitTorrent. Một ví dụ khác là mã nguồn của trò chơi nhập vai PlaneShift (MMORPG) được cung cấp chủ yếu bằng BitTorrent.

Năm 2004 Valve Software thuê Bram Cohen, người tạo ra giao thức BitTorrent, để phát triển công cụ chuyên phân phối bản vá trò chơi của hãng và các nội dung cho trò chơi trực tuyến.

### Phim

Xưởng phim Warner Brothers Records dự kiến phát hành phim và chương trình TV của họ bằng giao thức BitTorrent. Người hâm mộ bộ phim *Star Wars: Revelations* có thể xem được phim thông qua hai đĩa DVD do chính hãng cung cấp hoặc họ tự tải phim về thông qua BitTorrent.

### Âm nhạc

Từ năm 2006 các tệp nhạc có định dạng mp3 tại Lễ hội âm nhạc SXSW (South by South West) ở Austin, Texas— thường có hàng nghìn tệp mp3—được phát hành bằng BitTorrent, đồng thời phát hành hai đĩa DVD phim giới thiệu. Nhóm nhạc Babyshambles, Pete Doherty phát hành hai tuyển tập âm nhạc, *Shaking and Withdrawn Megamix* và *Untitled* bằng BitTorrent thông qua trang web chính thức của nhóm.

### Các tài nguyên khác

Nhà sản xuất Peter Jackson phát hành bộ phim King Kong bằng BitTorrent. Democracy Now! phân phối chương trình TV và chương trình trên đài phát thanh thường ngày song song bằng cả vệ tinh, cáp và giao thức BitTorrent.Một vài công ty Anime cũng sử dụng BitTorrent để phân phối một đoạn trong truyện hoặc đoạn giới thiệu để quảng cáo sản phẩm. Thêm vào đó NASA, cơ quan nghiên cứu vũ trụ của Mỹ, đã thêm BitTorrent làm phương tiện để giúp mọi người có thể tải về những bức ảnh không gian rất lớn.

## Việc sử dụng bất hợp pháp

Giống như các giao thức chia sẻ tệp khác, BitTorrent cũng có thể sẽ bị sử dụng để phân phối tệp mà không có sự cho phép của tác giả. BitTorrent từng nhận rất nhiều lời chỉ trích về sự vi phạm bản quyền tác giả của nó (chủ yếu từ Hollywood của Mỹ).

Tháng 12 năm 2004, cảnh sát Phần Lan bất ngờ kiểm tra trang web phân phối tệp torrent Finreator, và trang web này bị buộc phải đóng cửa. Tháng 12 năm 2004, một trang web cung cấp tệp torrent rất phổ biến, Suprnova.org cũng bị buộc phải đóng cửa. LokiTorrent, trang web cung cấp tệp torrent lớn thứ hai sau Suprnova, cũng bị buộc đóng cửa không lâu sau đó. Nhiều người cho rằng chủ trang web Suprnova Edward Webber bị tố cáo bởi tổ chức MPAA, bị buộc phải trả tiền vi phạm bản quyền và phải cung cấp cho MPAA danh sách các địa chỉ IP của các máy vi tính tải tệp về.

Nhưng trong tuần sau đó Webber đã trả tiền cho luật sư để kiện lại MPAA. Trong bản báo cáo Webber nói rằng ông chỉ muốn bảo vệ những người đã chia sẻ tệp, mặc dù ông không phải là người chia sẻ tệp. Webber đã chi khoảng 45.000 đô la Mỹ cho vụ kiện. Không rõ MPAA đã nhận được bao nhiêu tiền nhưng theo một thỏa thuận MPAA yêu cầu chủ trang web LokiTorrent thêm một thông báo vào trang web của mình cảnh báo những người chia sẻ tệp.

Tháng 5 năm 2005, trang web cung cấp tệp torrent, EliteTorrents.org, bị buộc đóng cửa bởi Cục điều tra liên bang Mỹ (United States Federal Bureau of Investigation), Sở Di trú và Hải quan Mỹ. Người ta nghi ngờ rằng hacker đã chiếm được quyền điều khiển của trang web EliteTorrents.org nhưng sau đó mới khám phá ra rằng trang web bị tiếp quản bởi chính phủ Mỹ. 10 trát đòi hầu tòa các thành viên liên quan đến trang web đã được đưa ra.

Ngày 24 tháng 10 năm 2005, người sử dụng BitTorrent tại Hong Kong tên là Trần Nãi Minh (陳乃明 *Chan Naiming*, sử dụng biệt danh 古惑天皇, có nghĩa là Vua láu cá, còn quan tòa địa phương gọi ông ta là *Big Crook*) đã phân phối ba bộ phim *Daredevil*, *Red Planet* và *Miss Congeniality* thông qua giao thức BitTorrent. Ông ta bị quan tòa kết án là vi phạm bản quyền tác giả theo chương 528 của luật Hồng Kông. Ông ta bị buộc phải trả 5000 đô la Hồng Kông. Ngày 7 tháng 11 năm 2005 ông ta sắp bị tống giam 3 tháng thì được Tòa án tối cao của Hồng Kông cho hưởng án treo.

Ngày 23 tháng 11 năm 2005, ngành công nghiệp phim và Bram Cohen, người tạo ra giao thức BitTorrent ký một bản cam kết giảm lượng phim chia sẻ bất hợp pháp trên mạng chia sẻ theo giao thức BitTorrent. Theo bản cam kết này trang web BitTorrent.com sẽ loại bỏ các tệp torrent có chứa phim vi phạm bản quyền của Hollywood.

Một trang web cung cấp tệp torrent khác, ThePirateBay.org cũng phải chỉnh sửa để tuân theo luật bản quyền của Thụy Điển. Trang web này có rất nhiều tệp torrent chỉ tới bảo về bản quyền tác giả. Trang web Pirate Bay nổi tiếng vì nó có riêng một phần gọi là *phần hợp pháp* trong đó chứa các lá thư và câu trả lời về sự vi phạm bản quyền được hiển thị công khai. Bản gốc của câu trả lời viết trên giấy có thời gian được bán trên trang ebay với giá 225 đô la Mỹ.

### Những lời biện hộ hợp pháp

Có hai điểm khác biệt chính giữa giao thức BitTorrent và các giao thức chia sẻ tệp ngang hàng khác. Thứ nhất BitTorrent không cung cấp khả năng tìm tệp cần tải theo tên. Người sử dụng phải dùng công cụ tìm kiếm để tìm tệp torrent chứa tệp mình cần. Thứ hai, BitTorrent không có cố gắng kết nối thử với máy chủ để tăng khả năng dễ dàng chia sẻ tệp, người sử dụng muốn tải tệp đầu tiên là kết nối với máy theo dõi được ghi trong tệp `.torrent`. Khi các tổ chức cá nhân muốn kiểm tra trang web thì có thể yêu cầu trang web đóng cửa tạm thời để kiểm tra trong khi đó người dùng vẫn tải tệp và chia sẻ bình thường.

## Phép lịch sự khi sử dụng giao thức BitTorrent

Do BitTorrent dựa vào băng thông tải lên của người dùng, nên càng nhiều người dùng thì càng nhiều băng thông có hiệu lực để chia sẻ tệp. Vì vậy người dùng sau khi hoàn thành tải về tệp thì nên để tài nguyên đấy tải lên một thời gian để những người dùng khác tải về các phần của tài nguyên đã phân phối cho người dùng đấy.

Vậy câu hỏi đặt ra là nên để thời gian bao nhiêu lâu để tải tệp lên sau khi đã hoàn thành việc tải tệp về. Rất nhiều chương trình BitTorrent theo dõi dung lượng mà máy khách tải lên và tải về, vì vậy người dùng có thể biết được mình đã tải về bao nhiêu và đã trả lại bao nhiêu cho mạng chia sẻ bao nhiêu dữ liệu. Một số chương trình BitTorrent dùng thông số "tỉ lệ chia sẻ" (Share ratio), tỉ lệ giữa lượng dữ liệu tải lên và tải về. Tỉ lệ chia sẻ lớn hơn 1 nghĩa là người dùng tải lên nhiều hơn tải về. Nói tóm lại trong mạng chia sẻ theo giao thức BitTorrent một quy tắc ứng xử lịch sự là đã tải về bao nhiêu tài nguyên thì nên tải lên bấy nhiêu tài nguyên.

Tỉ lệ chia sẻ là một thông số rất quan trọng trong giao thức BitTorrent, bởi vì rất nhiều máy chủ theo dõi yêu cầu người dùng phải đạt được một chỉ số chia sẻ tối thiểu. Một vài trường hợp máy chủ theo dõi còn yêu cầu người dùng phải đăng ký, giá trị tối tiểu của chỉ số chia sẻ thường là 0,5 và nó tăng thường xuyên, vì vậy người dùng có thời gian tương ứng để tải lên và chia sẻ tài nguyên của họ. Người dùng nào có tỉ lệ chia sẻ dưới giá trị tối tiểu có thể bị đặt trong tình trạng "chỉ tải lên", và không thể tải về cho đến khi tỉ lệ chia sẻ lớn hơn giá trị tối thiểu.

Tỉ lệ chia sẻ được khuyến cáo là 1,0 (được hiểu trả lại cho mạng chia sẻ những gì bạn đã lấy, hoặc 1:1). Thường thì tài nguyên bao giờ cũng có người tải lên đầu tiên, người tải lên đầu tiên này sẽ có tỷ lệ chia sẻ là vô cùng (chỉ có tải lên, không có tải xuống).

## Những phát triển mới

Hiện nay BitTorrent vẫn đang được phát triển, nó vẫn cần thêm chức năng mới để tăng cường hiệu quả.

Tháng 5 năm 2005, Bram Cohen phát hành phiên bản thử nghiệm mới của BitTorrent, phiên bản này không cần trang web để làm vai trò máy chủ tập trung, còn được biết là máy chủ theo dõi. Phiên bản mới này có khả năng tải tệp torrent trong vòng một phút. Đồng thời Cohen cho thực hiện dịch vụ tìm kiếm trên trang chủ của BitTorrent, tương tự như các trang web tìm kiếm tệp `.torrent` khác như www.torrentspy.com.

Cohen giải thích rằng việc bỏ vai trò của máy chủ tập trung đóng vai trò theo dõi là sự cố gắng của ông trong việc phân phối tệp "painless and disruptively cheap". Sự loại bỏ này là một trong những sự loại bỏ sự phụ thuộc vào máy chủ theo dõi tập trung.

Sự loại bỏ này đồng thời ngăn ngừa khả năng cơ quan chức năng bắt buộc đóng cửa trang web thì các máy trạm vẫn chia sẻ tệp bình thường. Tuy nhiên Tarun Sawney, giám đốc Tổ chức chống sao chép bất hợp pháp châu Á BSA cho rằng dù không có trang máy chủ của trang web đóng vai trò là máy theo dõi vẫn có thể xác định được tệp được chia sẻ.

### Các cách tiếp cận khác

Giao thức BitTorrent không cung cấp khả năng đánh chỉ mục các tệp torrent. Kết quả là một số trang web có thể chứa tệp torrent có chứa tài nguyên có bản quyền, đặt trang web này có nguy cơ đóng cửa vì vi phạm bản quyền. Để cải tiến, một số nhà phát triển đã tìm cách khác phân phối tệp bằng giao thức khác có tận dụng những thế mạnh của giao thức BitTorrent. Ví dụ chương trình Shareaza cung cấp ba giao thức đồng đẳng bao gồm: eDonkey2000, Gnutella và mạng Shareaza. Nếu máy theo dõi bị sập, chương trình có thể hoàn thành việc tải tệp bằng cách sử dụng giao thức khác. Azureus 2.3.02 và BitTorrent 4.1.2 cũng sử dụng máy chủ theo dõi phân phối riêng biệt để đề phòng một máy chủ theo dõi bị sập có các máy theo dõi khác thay thế, giúp các máy trạm còn lại hoàn thành tải về tệp.

### BitTorrent search/Trackerless

Bram Cohen đã phát hành cơ chế tìm kiếm của riêng BitTorrent để tìm kiếm máy chủ theo dõi mặc dù nó không cung cấp tệp torrent và không theo dõi tệp torrent. Từ phiên bản 4.2.0 BitTorrent hỗ trợ tính năng "trackerless", tính năng DHT cho phép các máy khách tải tệp torrent vừa được tạo lập mà không cần theo dõi.

### Web seeding (tính năng không chính thức)

Một tính năng mới của BitTorrent được phát triển gần đây là web seeding. Điểm mạnh của tính năng này là trang web có thể phân phối tệp torrent và cho phép tải về từ cùng một ứng dụng máy chủ web; điều này đơn giản quá trình gieo hạt và cân bằng tải khi tính năng này được nhiều chương trình BitTorrent hỗ trợ. Theo lý thuyết tính năng này làm cho việc sử dụng BitTorrent để xuất bản web dễ dàng như tải về trực tiếp. Tính năng này chưa có trong phên bản BitTorrent chính thức, tính năng này được tạo bởi TheSHAD0W, người phát triển chương trình BitTornado, một chương trình chia sẻ tệp ngang hàng theo giao thức BitTorrent.

### Broadcasting

Một tính năng khác là kết hợp RSS và BitTorrent để tạo hệ thống phân phối tệp torrent.

### API

### Mã hóa

Protocol header encrypt (PHE), Mã hóa luồng thông báo (Message stream encryption MSE) hoặc mã hóa giao thức (Protocol encryption PE) là các tính năng của một vài chương trình BitTorrent cố gắng để BitTorrent khó để làm nghẹt (throttle). MSE và PE là hai từ cùng chỉ một giao thức. Tại thời điểm hiện nay chỉ có ba chương trình BitTorrent lớn nhất là Azureus, Bitcomet và µTorrent hỗ trợ mã hóa PE/MSE.

Một vài ISP làm nghẹt giao thông BitTorrent vì nó làm tăng tổng dung lượng vận chuyển của mạng và ISP không muốn mất tiền cho sự tăng băng thông này. ISP chi phí tiền trong thiết kế phần cứng để tìm kiếm và làm nghẹt giao thông BitTorrent. Mã hóa tạo khả năng cho giao thông BitTorrent khó để dò tìm hơn vì vậy khó để làm nghẹt hơn. Gần đây ISP thông báo rằng họ đã nâng cấp phần cứng để giảm thiểu tối đa giao thông BitTorrent. Một vài trường đại học gần đây cũng tham gia nghiên cứu nâng cấp phần cứng để làm nghẹt giao thông BitTorrent, trong đó có trường đại học Brigham Young, ASU, và UTC.

### Trao đổi máy ngang hàng (Peer exchange)

Trao đổi máy ngang hàng (PEX) là một phương pháp khác để tập trung các máy ngang hàng dùng giao thức BitTorrent thêm vào máy theo dõi và DHT. Trao đổi máy ngang hàng sẽ kiểm tra xem máy ngang hàng này có danh sách các máy ngang hàng khác không.

### Multitracker

Nhiều máy theo dõi là một tính năng mở rộng không chính thức của giao thức BitTorrent được phát triển bởi John Hoffman. Tính năng này cho phép một tệp torrent có nhiều máy theo dõi, có rất nhiều chương trình BitTorrent có tính năng naỳ như BitTornado và µTorrent. Máy theo dõi được đặt theo nhóm hoặc theo tầng, và máy theo dõi được lựa chọn ngẫu nhiên từ trên đỉnh, nếu các máy theo dõi trong tầng không tốt nó sẽ kiểm tra tầng tiếp theo.

## Các ứng dụng BitTorrent liên quan

Do BitTorrent là một chương trình được tác giả phát hành dưới dạng ngôn ngữ mở vì vậy có rất nhiều biến thể của chương trình BitTorrent khác nhau viết bằng các ngôn ngữ khác nhau chạy trên nhiều nền hệ điều hành khác nhau.

### Chương trình BitTorrent

* So sánh các phần mềm BitTorrent
* Phân loại chương trình BitTorrent

### Cơ chế tìm kiếm của BitTorrent

* So sánh các trang web cung cấp tệp torrent

### Ứng dụng

* So sánh các phần mềm BitTorrent
* Anime fansub thường xuyên dùng giao thức BitTorrent để phát hành các sản phẩm của họ, và hầu hết các trang như Animesuki và downloadanime.org cung cấp tin vắn RSS.
* GunZ The Duel là một trò chơi có sẵn tính năng torrent được xây dựng trong trò chơi để có thể tải về bản cập nhật cho trò chơi.
* Blizzard Entertainment sử dụng để phân phối bản vá cho trò chơi World of Warcraft.
* Podcasting
* TBSource
* Thinkingest
* Magnet
* Super-seeding
* BitTorrent tracker
* BitTorrent search engine
* BitTornado

## Xem thêm

* So sánh các ứng dụng chia sẻ tệp
* So sánh các phần mềm BitTorrent

## Tham khảo

## Liên kết ngoài

* How to start using BitTorrent to download files Lưu trữ ngày 29 tháng 5 năm 2006 tại Wayback Machine
* Official BitTorrent Website
* Torrnet Finder - Search over 100 torrent searches
* BitTorrent Mod download Lưu trữ ngày 2 tháng 9 năm 2006 tại Wayback Machine
* BitTorrent search engine (english/german)
* BitTorrent Specification
* BitTorrent Lưu trữ ngày 13 tháng 6 năm 2006 tại Wayback Machine tại Open Directory Project