917. 비트토렌트 (BitTorrent) - 초크/언초크 리치 통신 대역폭 인센티브 알고리즘망 파편화 전송 구성/다운 최적 효율망 동적 탐색 구조
핵심 인사이트: P2P로 파일을 받다 보니 인간의 얄팍한 이기심이 발동했다. 내 하드디스크에 있는 파일을 남에게 주려면 내 컴퓨터 인터넷 속도(업로드)가 느려진다. 그래서 수백만 명의 얌체들이 다운로드만 쏙 받고, 남한테 파일을 주는 업로드 구멍은 '탁' 차단해버렸다(먹튀, Free-Riding). 망엔 파일을 주는 사람은 없고 구걸하는 놈들만 남아 통신망이 말라 죽었다. 토렌트 창시자 브램 코헨은 이 인간의 이기심을 '자본주의 인센티브' 수학 알고리즘으로 박살 냈다. "야! 네가 남한테 파일을 많이, 빨리 던져주지 않으면(업로드), 너도 나한테서 1바이트도 다운로드 못 받게 목을 졸라버리겠다(Choke)!" 이기심을 역이용해 속도를 미친 듯이 폭발시킨 자본주의 다운로드 엔진, 비트토렌트다.
Ⅰ. P2P 파일 공유의 딜레마 (먹튀의 비극)
- 916번의 냅스터, 당나귀 같은 초기 P2P는 착한 사람들(Seed)이 자기 컴퓨터를 켜놓고 1GB 영화를 남들에게 희생하며 업로드해 줬습니다.
- 하지만 **프리라이더(Free-Rider, 무임승차자)**들이 다운로드만 100% 빨아먹고 업로드 끄기를 시전하자, 결국 줄 사람이 없어져 다운로드 속도가 10kbps로 지옥을 쳤습니다.
Ⅱ. 비트토렌트(BitTorrent)의 개념과 파편화 전송 🌟
- 개념: 1개의 거대한 영화 파일을 256KB짜리 아주 작은 퍼즐 조각(Piece) 수천 개로 갈기갈기 찢은 뒤, 다운로드를 받고 있는 수십 명의 사람들(Leecher)끼리 자신들이 방금 다운받은 '퍼즐 조각'들을 서로 실시간으로 교환(물물교환)하게 만들어, 다운로더가 곧 업로더가 되는 기적의 분산 통신 프로토콜입니다.
Ⅲ. 이기심을 다스리는 핵심 알고리즘: 초크(Choke)와 언초크(Unchoke) 🌟
토렌트의 심장이자 먹튀를 처단하는 냉혹한 인센티브 자본주의 룰입니다.
1. 팃포탯 (Tit-for-Tat, 눈에는 눈 이에는 이) 원리
- 내 컴퓨터(클라이언트)는 다른 50명의 사람들과 연결되어 있습니다.
- 폰 노이만 게임 이론에 따라, 내 컴퓨터는 나에게 퍼즐 조각(데이터)을 가장 빨리, 많이 던져주는 상위 4명의 착한 놈들을 10초마다 줄 세워 평가합니다.
- 언초크 (Unchoke, 숨통 열어주기): 상위 4명에게는 "오, 너 나한테 파일 빵빵하게 쏘네? 고마워! 나도 내가 가진 조각 너한테 무제한으로 쏠게!" 하며 업로드 대역폭 밸브를 활짝 열어줍니다. 서로 윈윈하며 속도가 100Mbps로 폭발합니다.
- 초크 (Choke, 목 조르기): 나에게 다운로드만 받고 파일을 안 주는 얌체(먹튀) 놈들에게는 얄짤없습니다. 즉시 밸브를 잠가버리고(목 조르기) 단 1비트의 데이터도 던져주지 않습니다.
- 결과: 결국 토렌트 망에서 파일을 빨리 다운받으려면, 내 업로드 속도를 최대로 열어서 남에게 많이 바쳐야만 나도 언초크 대우를 받아 다운로드 속도가 튀어 오르는 완벽한 자본주의 선순환(인센티브)이 완성됩니다.
2. 옵티미스틱 언초크 (Optimistic Unchoke) - 뉴비 구제 정책
- 방금 토렌트에 처음 들어온 뉴비(신입)는 가진 조각이 0개라서 남에게 줄 게 없습니다. 영원히 얌체로 찍혀 영원히 초크(목 졸림) 당할까요?
- 내 컴퓨터는 30초마다 무작위로 아무나 1명을 골라 묻지도 따지지도 않고 무료로 밸브를 열어줍니다(낙관적 언초크).
- 뉴비는 이 은혜를 입고 첫 퍼즐 조각 1개를 얻게 되며, 그때부터 그 조각을 남에게 팔아먹으며 자본주의 생태계 경쟁에 뛰어들게 됩니다.
Ⅳ. 희귀 조각 최우선 법칙 (Rarest First Algorithm)
- 10,000개의 퍼즐 조각 중 9,999개는 동네에 널려 있는데, 마지막 1번 조각(희귀템)을 가진 사람이 방을 나가면 영원히 99%에서 다운로드가 멈춥니다.
- 토렌트는 동네 컴퓨터들을 쫙 스캔해서 **가장 희귀한 조각(남들이 안 가진 조각)**을 발견하면, 그 흔해 빠진 조각은 나중에 받고 무조건 그 희귀 조각부터 1순위로 낚아채서 내 하드에 복사해 둡니다(희귀성 보존). 이 덕분에 망 안에 데이터가 절대 멸종되지 않습니다.
📢 섹션 요약 비유: 기존 P2P(당나귀)는 '자율 배식 무료 급식소'입니다. 착한 천사(시더) 1명이 밥(영화 파일)을 1,000인분 해오면 얌체 거지들(리처) 1,000명이 한입씩 쏙쏙 뺏어 먹고 집으로 도망가 버립니다. 결국 천사가 밥솥을 닫아버리고 망이 멸망했습니다. **비트토렌트(BitTorrent)**는 피도 눈물도 없는 '물물교환 철창 투기장(초크/언초크 알고리즘)'입니다. 투기장에 들어오면 밥을 공짜로 주는 놈은 없습니다. 내 하드디스크에 있는 밥 1숟가락을 앞사람 입에 강제로 떠먹여 준(업로드) 만큼만, 나도 남의 밥을 한 숟가락 퍼먹을 수 있는(다운로드) 자격(언초크)이 열립니다. 밥을 안 주고 얌체 짓을 하면 입마개가 씌워져(초크) 영원히 굶어 죽습니다. 이 이기적인 거래 시스템 덕분에 전 세계 모든 사람이 살기 위해 미친 듯이 자기 밥을 남에게 퍼먹여 주게 되고, 다운로드 속도가 우주 폭발하듯 솟구치는 인류 최고의 극한 생존 분산망입니다.