BT9G LABS / DHT Deep Dive #13
Seeder dan Leecher: Arti Angka dan Cara Pengukurannya
Pelajari definisi Seeder/Leecher, cara Tracker scrape menghitung complete dan incomplete, serta mengapa DHT tidak memberi angka global yang presisi.
BT9G Labs / DHT Deep Dive #13. Angka Seeder dan Leecher terlihat sederhana di UI, tetapi maknanya sangat bergantung pada sumber data dan waktu observasi.
Ringkasan cepat
- Topik: Seeder dan Leecher: Arti Angka dan Cara Pengukurannya
- Kata kunci utama: Seeder, Leecher, Tracker scrape, DHT, Torrent statistics
- Untuk pembaca: engineer backend, peneliti protokol, search engineer, dan pengembang implementasi BitTorrent
- Tujuan: Menjelaskan protokol dan desain sistem dengan cukup presisi agar dapat diterapkan pada pipeline discovery, metadata, indexing, dan search di dunia nyata.
Gambaran sistem
Mulai dari definisi
Seeder biasanya berarti Peer yang memiliki seluruh konten dan tetap membagikannya, sedangkan Leecher adalah Peer yang belum memiliki seluruh konten. Dalam praktik, klien dapat berhenti, berpindah jaringan, atau tidak melaporkan status dengan sempurna.
Karena itu angka pada sebuah situs bukan fakta global permanen. Ia adalah snapshot atau estimasi berdasarkan mekanisme pengukuran tertentu.
Counter dari Tracker scrape
Tracker yang mendukung scrape dapat mengembalikan statistik seperti complete, incomplete, dan kadang downloaded untuk InfoHash. Ini adalah sumber paling langsung untuk label Seeder/Leecher, tetapi hanya mencakup populasi yang dilihat tracker tersebut dan sesuai kebijakan implementasinya.
Jika Torrent menggunakan banyak tracker, angka tidak boleh dijumlahkan mentah karena Peer yang sama dapat muncul di beberapa tracker.
Mengapa DHT tidak memberi exact seeder count
BEP 5 get_peers mengembalikan endpoint Peer atau node yang lebih dekat. Ia tidak membawa field global yang menyatakan berapa banyak Peer lengkap dan tidak lengkap di seluruh Swarm. Crawler juga hanya melihat subset jaringan dari sudut tertentu.
Mencoba mengklasifikasikan Seeder hanya dari observasi DHT akan membutuhkan koneksi dan state tambahan, tetap tanpa jaminan cakupan lengkap.
Semantik produk yang lebih jujur
Jika data berasal dari tracker, UI dapat menampilkan angka dengan timestamp dan sumber. Jika hanya memiliki DHT activity, lebih baik menggunakan label seperti 'recent peers observed' atau 'recent activity' daripada menyebutnya Seeder global.
Transparansi sumber membuat pengguna memahami bahwa angka adalah sinyal operasional, bukan sensus seluruh Internet.
Sketsa implementasi
{
"source": "tracker_scrape",
"infohash": "...",
"complete": 142,
"incomplete": 37,
"observed_at": "2026-09-16T03:00:00Z"
}
Catatan engineering BT9G Labs
Untuk sistem indeks seperti BT9G, metrik yang paling berguna bukan sekadar jumlah paket atau jumlah InfoHash yang terlihat. Pisahkan identitas konten, observasi jaringan, status akuisisi, metadata terverifikasi, serta dokumen pencarian menjadi lapisan data yang berbeda. Simpan sumber dan waktu observasi untuk data yang datang dari DHT atau Peer. Dengan begitu, bottleneck dapat dilacak dari tahap discovery, koneksi, handshake, negosiasi extension, pengambilan metadata, validasi, penyimpanan, hingga indexing.
Kesalahan umum
- Menyajikan angka Seeder/Leecher tanpa sumber atau timestamp.
- Menjumlahkan angka beberapa Tracker tanpa deduplikasi.
- Menganggap DHT menyediakan exact seeder count.
- Menggunakan activity count sebagai pengganti jumlah Seeder.
Artikel BT9G Labs terkait
- BEP 10 Extension Protocol: Negosiasi Fitur BitTorrent Tanpa Merusak Kompatibilitas
- Tracker vs DHT vs PEX: Membandingkan Tiga Mekanisme Peer Discovery BitTorrent
- Mengapa Pengambilan Torrent Metadata Gagal: 10 Penyebab Nyata dan Model Retry yang Lebih Baik
- Merancang DHT Crawler Berperforma Tinggi: Arsitektur, Queue, dan Backpressure
Referensi
Artikel ini menjelaskan protokol BitTorrent publik dan pola engineering. Observasi terhadap sebuah Swarm tidak berarti kontennya tersedia, valid, atau diizinkan untuk didistribusikan.