Product Design, Manufacturing & Innovation Resources
집 » 제품 디자인 » 디자인 팁 » .torrent 파일 vs 마그넷 링크

.torrent 파일 vs 마그넷 링크

.torrent 파일 vs 마그넷 링크
마그넷 링크
마그넷 링크는 메타데이터 없이 ID를 인코딩하여 P2P 파일 공유를 간소화하고, 효율적인 메타데이터 검색을 위해 확장 기능을 활용합니다.

A .torrent file and a magnet link are two ways of giving a BitTorrent client the same thing: the identity of a torrent.

  • .torrent 파일은 "메타정보" 파일입니다. 정보 사전에는 조각 길이, 파일 이름 및 길이(또는 파일 목록), 그리고 v1에서는 조각당 하나의 20바이트 SHA-1 해시값이 연결된 목록이 저장됩니다. 정보 해시는 .torrent 파일에 나타나는 그대로의 인코딩된 형식에 대해 계산된 인코딩된 정보 값의 20바이트 SHA-1 해시값입니다. 트래커 URL은 이 사전 외부에 있으므로 토렌트의 ID를 변경하지 않고도 변경할 수 있습니다. BitTorrent v2(BEP 52)에서는 해싱 방식이 변경되어 파일별 머클 트리와 계층적 파일 트리를 사용하는 SHA-256을 사용합니다. 파일별 "조각 레이어"는 정보 사전 외부에 있으며, 구현 방식은 다음과 같습니다. ~ 해야 하다 그 안에 있는 조각들의 루트 필드와 대조해 보세요. bep 0003 +2
  • 마그넷 링크에는 메타데이터가 포함되어 있지 않고, 해당 링크 자체의 식별 정보만 있습니다. 하이브리드 토렌트의 형식은 v1의 경우 magnet:?xt=urn:btih:이고, v2의 경우 xt=urn:btmh:이며, 선택적으로 표시 이름(dn), 트래커(tr), 피어 주소(x.pe) 매개변수를 사용할 수 있습니다. 하이브리드 토렌트는 하나의 링크에 btih와 btmh 토픽을 모두 포함할 수 있습니다. 클라이언트는 먼저 BEP 9 확장 기능을 사용하여 다른 피어로부터 메타데이터를 가져옵니다. 이 확장 기능은 .torrent 파일의 정보 사전 부분만 16KiB 블록 단위로 전송합니다. 그런 다음 클라이언트는 이를 링크의 해시와 비교합니다. 링크에 트래커 이름이 없으면 클라이언트는 DHT를 사용하여 피어를 찾아야 합니다. bep 0009 +2

 

따라서 두 형식 모두 동일한 스웜을 가리키며, 일단 다운로드가 시작되면 동일한 결과를 제공합니다. 다만 메타데이터의 출처가 다를 뿐입니다.

.torrent 파일은 정적인 아티팩트입니다. 파일 목록은 즉시 알 수 있고, 메타데이터는 서버가 다운된 후에도 유지되며, 파일은 어딘가에 호스팅되어야 합니다.

마그넷 링크는 어디에든 붙여넣을 수 있는 짧은 문자열이지만, 적어도 하나의 연결 가능한 피어가 메타데이터를 가지고 있는 동안에만 작동합니다. 두 형식 모두 게시자를 인증하거나 콘텐츠가 레이블과 일치하는지 확인하지 않습니다. 해시는 단지 데이터가 해시 값과 일치한다는 것만 증명합니다.

 

팁: 많은 분들의 요청에 따라, 이 게시물은 엔지니어링 관련 토렌트 및 P2P 게시물에 대한 지원 역할을 합니다.

역사 및 배경

.torrent 형식은 오리지널 BitTorrent 설계에서 유래했습니다. 브램 코헨은 2001년 4월에 프로토콜을 설계하고 2001년 7월 2일에 첫 버전을 출시했으며, 2004년에는 애쉬윈 네이빈과 함께 BitTorrent, Inc.(이후 Rainberry, Inc.로 사명 변경)를 설립했습니다. 코헨은 메타 정보 파일과 정보 해시를 정의하는 핵심 사양인 BEP 3의 저자로도 등재되어 있습니다. 추가 개발은 파이썬의 PEP를 모델로 한 BitTorrent 개선 제안 프로세스를 통해 진행되었으며, 코헨은 메인라인 클라이언트가 오픈 소스로 유지되기를 원했습니다.

BEP 3 규격은 이에 대한 공식적인 권위에 가장 가까운 것입니다. file formatv2 형식은 훨씬 나중에 등장했습니다. BitTorrent, Inc.는 2017년 5월 15일에 v2 사양을 발표했습니다. 마그넷 링크는 다른 계보를 가지고 있습니다. magnet: 스키마는 BitTorrent를 위해 만들어진 것이 아닙니다. 여러 P2P 네트워크에서 콘텐츠 해시를 통해 파일을 식별하는 프로젝트에 구애받지 않는 방식으로 설계되었습니다. IANA는 이를 2012년에 Magnet-URI Project가 만든 임시 스키마로만 등재하고 있습니다. 2차 자료에서는 2002년에 도입되었다고 하지만, 해당 날짜에 대한 1차 자료는 찾지 못했습니다. BitTorrent의 마그넷 링크 사용은 Greg Hazel과 Arvid Norberg(Norberg는 libtorrent의 최초 개발자이기도 함)가 작성한 BEP 9에 기반합니다. BEP 9는 아직 최종 버전이 아닌 "승인됨" 단계이며, 2016년에 x.pe 피어 주소 매개변수가 추가되었습니다. 해당 BEP는 메타데이터 교환 프로토콜과 BitTorrent 마그넷 형식을 모두 정의하지만, 한 구현자의 노트에서는 마그넷 URI를 번호가 매겨진 BEP가 아니라 사실상의 관례로 설명하고 있습니다.

실제로 두 형식 모두 공식적인 절차가 아닌 BEP 프로세스와 주요 고객들이 실제로 구현하는 방식에 기반을 두고 있습니다. 표준 몸.

1. 기본 사항

측면.torrent 파일마그넷 링크
그것은 무엇인가작은 바이너리 파일(bencoded 사전)텍스트 URI(magnet:?xt=urn:btih:…)
콘텐츠가 포함되어 있나요?아니요, 메타데이터만 해당됩니다.아니요, 식별자일 뿐입니다.
핵심 내용추적기 URL, 파일 이름 및 크기, 조각 길이, 각 조각의 해시값, 선택적 설명, 제작자 및 날짜정보 해시(xt), 선택적 표시 이름(dn), 트래커(tr), 피어 주소(x.pe); 웹 시드(ws)는 클라이언트 종속 확장 기능으로만 사용되며 BEP 9에는 정의되어 있지 않습니다.
일반적인 크기수 KB에서 수 MB까지 (콘텐츠 크기에 따라 증가)약 100~500바이트
식별자 사용됨SHA-1 정보 해시(v1), SHA-256(v2) 또는 둘 다(하이브리드)동일한 정보 해시: 항아리:btih (v1) 또는 urn:btmh (v2)
사양BEP 3(v1), BEP 52(v2)BEP 9 (메타데이터 교환 및 마그넷 URI 형식)
프로토콜 핸들러파일 연결(.torrent)을 통해 열렸습니다.OS 또는 브라우저에서 열림 마그넷: URI 핸들러

2. 메타데이터 및 파일 정보

측면.torrent 파일마그넷 링크
다운로드 시작 전에 파일 목록이 표시됩니다.네, 즉시아니요, 피어로부터 메타데이터를 가져온 후에만 가능합니다.
메타데이터 소스파일에 포함되어 있습니다.ut_metadata를 통해 피어(DHT, PEX, 트래커)로부터 다운로드됨
메타데이터 무결성해싱을 통해 검증됨링크의 정보 해시와 대조하여 검증했으므로 변조된 메타데이터는 거부됩니다.
시작 지연없음수초에서 수분까지 소요될 수 있습니다(또는 상대방이 메타데이터를 가지고 있지 않은 경우 전혀 발생하지 않을 수 있습니다).
표시 이름파일(이름)에 저장됨dn은 선택 사항이며 검증되지 않았습니다. 단지 레이블일 뿐입니다.
조각 해시포함됨메타데이터를 통해 나중에 얻었습니다.
편집 가능트래커는 해시값을 변경하지 않고 편집할 수 있습니다. 정보 사전을 편집하면 정보 해시값이 변경되어 다른 토렌트가 생성됩니다.텍스트 편집이 매우 간편합니다(추적기 추가 또는 제거). 정보 해시는 다른 콘텐츠를 가리키지 않고는 변경할 수 없습니다.

3. 저자, 출처 및 진위 여부

측면.torrent 파일마그넷 링크
저자 정보선택 입력 항목: 작성자(클라이언트 및 버전), 작성일, 설명해당 사항 없음; 표준 저자 입력란이 없습니다.
제작자에 대한 메타데이터 유출(클라이언트 버전, 타임스탬프, 경우에 따라 댓글 또는 URL 포함)최소한의 정보만 담고 있습니다. 링크에는 공유자가 포함시킨 내용만 들어 있습니다.
디지털 서명서명 확장 기능(BEP 35)이 존재하지만 거의 사용되지 않습니다.없음
내용물이 라벨에 적힌 내용과 일치한다는 증거전혀 없으며, 이름은 위조할 수 있습니다.없음, 그리고 dn은 위조될 수 있습니다.
콘텐츠가 해시값과 일치한다는 증거네, 모든 항목은 해시 검증을 거쳤습니다.네, 모든 항목은 메타데이터 검증 후 해시 검증을 거칩니다. 확인
신뢰 모델파일을 제공한 사람을 신뢰한 다음, 해시값과 대조하여 데이터를 검증합니다.링크를 제공한 사람을 신뢰한다면, 같은 방식으로 검증해 보세요.
스푸핑 위험제목은 같지만 가짜 토렌트가 흔합니다.마찬가지로, 링크에는 맥락이 훨씬 더 부족합니다 (먼저 확인할 파일 목록도 없습니다).

4. 호스팅, 배포 및 가용성

측면.torrent 파일마그넷 링크
호스팅이 필요합니다네, 웹 서버, 인덱스 사이트 또는 파일 공유입니다.아니요, 그냥 텍스트일 뿐이니 어디든 붙여넣을 수 있습니다.
공유 방법다운로드, 이메일 첨부, 파일 전송 (첨부 파일은 때때로 차단될 수 있습니다)채팅, 이메일 본문, QR 코드, 포럼 게시글, 메모 앱
테이크다운 노출호스팅된 파일은 삭제되거나 차단될 수 있습니다.(순수 텍스트라서) 제거하기는 더 어렵지만, 해당 콘텐츠를 게시하는 사이트는 여전히 차단할 수 있습니다.
링크 오류해당 파일은 호스트가 존재하는 한 계속 유지됩니다.텍스트는 남아 있지만, 메타데이터를 보유한 동료가 없다면 무용지물입니다.
아카이빙 가치높음: 스웜이 종료되더라도 모든 메타데이터를 완벽하게 보존합니다.낮음: 메타데이터를 가져오기 위해 실시간 스웜에 의존합니다.
사이트 색인 및 검색토렌트 파일별로 저장해야 합니다(저장 공간 추가 필요).짧은 줄만 보관하세요 (더 저렴하고 복제하기도 쉽습니다).
다양한 기기에서 편리하게 사용 가능파일 전송이 필요합니다간단합니다. 복사해서 붙여넣거나 QR 코드를 스캔하세요.
브라우저 동작파일을 다운로드한 다음 클라이언트에서 엽니다.프로토콜 핸들러 프롬프트를 표시합니다(등록된 클라이언트 필요).

5. 네트워크 동작 및 성능

측면.torrent 파일마그넷 링크
동료 검색파일에 나열된 추적기 외에도 DHT, PEX 및 LSD(비공개 설정 제외)가 포함됩니다.DHT, PEX, LSD 및 링크에 포함된 모든 추적기
추적기 없이 작동합니다DHT가 허용되는 경우에만네, DHT를 사용하면 (이것이 일반적인 작동 방식입니다)
DHT에 대한 의존성선택 과목메타데이터 및 피어링에 필수적인 경우가 많습니다.
웹 시드(HTTP 소스)url-list / httpseeds 필드 (BEP 19)ws= 매개변수, BEP 9에 정의되지 않은 클라이언트 종속 확장 기능
실행 후 다운로드 속도동일한
끊어졌거나 드문 토렌트에 대한 동작시작하고 동료들을 기다립니다.'메타데이터 검색 중'에 오류가 발생할 수 있습니다.
개인 추적기완전 지원 (비공개 플래그, 알림 URL에 암호 키 포함)일반적으로 사용 불가능합니다. 비공개 토렌트는 DHT/PEX를 비활성화하고, 공유 링크에 트래커 암호가 노출되지 않습니다.

6. 보안

측면.torrent 파일마그넷 링크
악성코드 위험의 출처다운로드된 콘텐츠 자체에 문제가 있는 것이지, 형식에 문제가 있는 것은 아닙니다.다운로드된 콘텐츠 자체에 문제가 있는 것이지, 형식에 문제가 있는 것은 아닙니다.
파서 또는 핸들러 위험잘못된 벤코드는 제대로 작성되지 않은 클라이언트에서 버그를 유발할 수 있습니다(드물지만).악의적인 dn 또는 URI 매개변수는 제대로 작성되지 않은 클라이언트나 핸들러에서 인젝션이나 표시 오류를 유발할 수 있습니다(드물지만 발생 가능).
다운로드 전 미리보기 기능높음: 파일 목록, 확장자 및 크기를 먼저 볼 수 있습니다.메타데이터가 도착할 때까지는 속도가 느립니다. 대부분의 클라이언트는 메타데이터가 도착하면 다운로드하기 전에 파일 목록을 검토할 수 있도록 해줍니다.
위장된 실행 파일파일 목록에서 확인할 수 있습니다(.exe, .scr, .lnk 등).동일하지만, 메타데이터를 가져온 후에만 그렇습니다.
피싱 및 광고 위험토렌트 사이트는 광고가 많은 경우가 많습니다.똑같아요, 거기에 비슷하게 생긴 자석 버튼을 실수로 누르는 것까지 더해지죠.
해시 강도v1은 SHA-1을 사용합니다(이론상 충돌이 적어 토렌트에서 악용하기 어렵습니다). v2는 SHA-256을 사용합니다.해당 토렌트와 동일한 해시값을 가집니다.
운송 중 훼손조각 해시를 통해 감지됨정보 해시를 통해 감지되었지만, 링크가 바뀌면 완전히 다른 콘텐츠를 가리키게 됩니다.

7. 개인정보 보호 및 익명성

측면.torrent 파일마그넷 링크
다른 사용자에게 IP 주소가 노출됩니다.예
추적기에 귀하의 IP 주소가 노출됩니다.예 (내장된 추적기)네, tr 트래커가 포함된 경우입니다.
DHT 노출가능한거의 확실합니다. 조회 요청은 공개 DHT로 전송됩니다.
익명성 차이의미 있는 것 없음
공유자를 나타내는 메타데이터작성자, 댓글 및 작성 날짜를 통해 세부 정보를 확인할 수 있습니다.링크 텍스트에 포함된 내용 외에는 아무것도 없습니다.
완화 조치VPN 또는 대리클라이언트 측 암호화개인 추적기

8. 위험 및 제한 사항

위험.torrent 파일마그넷 링크
비할 데 없는 가판대동료들을 기다립니다메타데이터를 전혀 얻지 못할 수도 있습니다.
가짜 또는 잘못된 라벨이 붙은 콘텐츠가능한
법적 책임내용과 관할권에 따라 다릅니다. 파일을 호스팅하는 것은 사이트 운영자에게 더 큰 위험을 초래할 수 있습니다.내용과 관할권에 따라 다릅니다. 링크 공유는 파일 호스팅과 다르게 취급되는 경우가 있지만, 이는 경우에 따라 다르며 안전한 해결책이 될 수 없습니다.
개인정보 노출추적기 및 동료 가시성DHT와 동료 가시성
추적자 사망발견율은 낮아지지만, DHT는 여전히 효과가 있을 수 있습니다.링크가 DHT에 의존한다면 문제가 되지 않습니다.
장기 내구성더 나은더 나쁜
오타 및 잘림손상된 파일이 감지되었습니다.해시값에 오타가 있으면 아무런 문제가 발생하지 않고, 링크가 잘리면 아무런 오류 메시지 없이 링크가 깨집니다.

9. 호환성 및 사용성

측면.torrent 파일마그넷 링크
고객 지원만능인현대 고객에게 보편적으로 적용 가능 (BEP 9 필요)
씨앗 상자 및 웹 서비스보편적으로 지지됨대부분 지원되지만, 일부 구형 서비스는 파일만 허용합니다.
모바일 친화성보통 (다운로드한 파일 처리가 다소 불편함)높은
자동화(RSS(스크립트, API)똑바로또한 사용법이 간단하고 보관하기도 더 쉽습니다.
사람이 읽기 쉬운도구 없이는 읽을 수 없습니다.해시는 불투명하지만 구조는 읽을 수 있습니다.

10. 토렌트 파일 및 마그넷 링크 생성 방법

단검 표시가 된 항목은 출처를 통해 확인된 것이 아니라 제 개인적인 추측이나 일반적인 지식에 근거한 것입니다.

측면.torrent 파일마그넷 링크
시작 입력실제 파일이나 폴더, 그리고 생성 도구(예: mktorrent 또는 클라이언트의 '토렌트 생성' 기능)가 필요합니다.기존 정보 해시입니다. 버전 1에서는 인코딩된 정보 사전의 SHA-1이므로, .torrent 메타데이터가 생성되기 전에는 마그넷 링크가 존재할 수 없습니다.
단계 순서1) 조각 길이를 선택합니다. 2) 각 조각을 해시합니다. 3) 정보 사전을 구축합니다. 4) 추적기와 같은 외부 필드를 추가합니다. 5) 벤코딩하고 저장합니다.1) 토렌트 파일을 준비합니다. 2) 토렌트 파일의 정보 해시값을 가져옵니다. 3) URI에 xt를 붙여서 작성합니다. 4) 선택적으로 dn, tr, x.pe를 추가합니다.
조각 길이사용자가 직접 선택합니다. 일반적으로 2의 거듭제곱이며, 가장 흔한 값은 256KiB입니다. mktorrent는 기본적으로 2^18바이트를 사용하며, -l 옵션을 통해 설정합니다.없음; 토렌트에서 상속됨
해싱 작업모든 바이트는 해시됩니다. v1에서는 SHA-1 조각으로, v2에서는 파일별 SHA-256 머클 트리로 해시됩니다. 처리 시간은 데이터 크기에 따라 증가하며(dagger), mktorrent는 여러 스레드를 사용할 수 있습니다.무시할 만함: 기존 해시값 외에는 아무것도 없음
추적기announce 또는 announce-list를 입력합니다. 목록은 정보 섹션 외부에 있습니다. 목록이 있는 경우 호환 클라이언트는 announce를 무시하고 티어를 순서대로 시도하며, 동일 티어 내의 URL은 무작위로 섞입니다.tr= URI의 매개변수입니다. 매개변수가 제공되지 않으면 클라이언트는 DHT를 사용해야 합니다.
개인 깃발info 딕셔너리에 private=1을 추가하면 설정됩니다. 이 규칙을 준수하는 클라이언트는 비공개 트래커에만 알리고, 해당 트래커가 반환하는 피어에만 연결합니다. 이 설정은 info 내부에 있으므로 info 해시(dagger)에 영향을 미칩니다.링크에는 해당 필드가 없습니다. 플래그는 메타데이터에 있으며, 클라이언트는 해당 링크를 가져온 후에만 이를 볼 수 있습니다(dagger).
웹 시드BEP 19에 따라 url-list를 사용하며, mktorrent는 이를 -w 옵션으로 노출합니다. HTTP/FTP 서버는 영구적으로 체크되지 않은 시드 역할을 합니다.ws=는 BEP 9의 매개변수 목록에 포함되어 있지 않습니다. 클라이언트 종속 확장 기능으로 처리하십시오.
선택적 설명 필드댓글과 생성 날짜는 선택 사항입니다. mktorrent는 댓글을 추가하려면 -c 옵션을, 날짜를 생략하려면 -d 옵션을 제공합니다.dn(표시 이름)만 해당됩니다. 이는 레이블이며 검증되지 않았습니다.
소스 태그mktorrent의 -s 옵션은 소스 문자열을 정보 해시에 포함시키므로, 태그가 다른 동일한 파일은 다른 해시 값을 가지며 별도의 스웜을 생성합니다.해당 사항 없음
정체성을 바꾸는 것은 무엇일까요?내부 정보: 이름, 곡 길이, 비공개 플래그, 소스 태그, 파일 목록(dagger)xt를 변경하면 다른 토렌트를 가리키게 됩니다. dn, tr 또는 x.pe를 변경해도 마찬가지입니다.
해시 버전 선택생성 시 v1(SHA-1), v2(SHA-256) 또는 하이브리드 방식이 선택됩니다.하이브리드 토렌트의 경우 링크에 btih, btmh 또는 둘 다 포함되어야 합니다(BEP 9에서는 동일한 하이브리드 토렌트를 설명하는 경우 하나의 마그넷에 두 토픽 모두 허용합니다).
서명BEP 35는 파일에 RSA 서명을 내장할 수 있도록 허용하며, 선택적으로 X.509 인증서를 사용할 수 있고, 토렌트당 여러 개의 서명을 포함할 수 있습니다. 하지만 거의 사용되지 않습니다. (dagger)BEP 9에는 서명 필드가 정의되어 있지 않으므로 서명할 내용이 없습니다.
산출KB에서 MB 크기의 바이너리 파일이며, 직접 호스팅하거나 전송해야 합니다.수백 바이트 크기의 텍스트 한 줄
사용 가능하게 만들기파일을 업로드하고 원본 데이터가 있는 클라이언트를 실행하여 시드 작업을 수행하세요.해당 라인을 게시하고 시딩을 계속하십시오. 피어가 데이터와 메타데이터를 가지고 있지 않으면 링크는 도움이 되지 않습니다.
흔히 저지르는 실수콘텐츠 크기에 맞지 않는 조각 크기(dagger); 게시 전에 비공개 플래그를 설정하는 것을 잊어버림(나중에 변경하면 새로운 해시값이 생성됨)(dagger); 잘못된 트래커를 추가함해시에 오타나 잘림이 있어 링크가 아무 곳도 가리키지 않음(단검); 잘못된 접두사(btih 대 btmh); dn에 이스케이프되지 않은 특수 문자(단검)

11. 각각 사용하기

단검 표시가 된 항목은 출처를 통해 확인된 것이 아니라 제 개인적인 추측이나 일반적인 지식에 근거한 것입니다.

측면.torrent 파일마그넷 링크
어떻게 여나요?파일 연결을 통해 더블 클릭하거나, 클라이언트로 드래그하거나, '토렌트 파일 추가'를 사용하세요.마그넷 링크를 클릭하거나(등록된 핸들러 필요), 클라이언트에 붙여넣거나, QR 코드(단검 모양 아이콘)를 스캔하세요.
고객이 가장 먼저 하는 일인코딩된 메타 정보를 파싱합니다.URI를 파싱하고 정보 해시를 추출합니다.
메타데이터는 어디에서 오는가?이미 파일에 있습니다피어들은 BEP 9 확장 기능을 통해 정보 사전(토렌트 파일의 해당 부분만)을 16KiB 블록 단위로 전송하고, 클라이언트는 이를 해시값과 비교하여 확인합니다.
동료 찾기토렌트가 비공개가 아닌 경우, 파일에 포함된 트래커와 DHT/PEX/LSD를 사용할 수 있습니다. 비공개 토렌트의 경우 DHT와 PEX는 사용할 수 없습니다.링크에 추적기가 있습니다. 없으면 DHT입니다.
시작 지연없음메타데이터를 가진 상대방이 응답할 때까지 기다리므로 무기한으로 지연될 수 있습니다.
다운로드 전 파일 선택즉시메타데이터가 도착한 후, 일부 클라이언트는 메타데이터만 가져와 다운로드 전에 파일 목록을 미리 볼 수 있습니다.
실행하기 전에 검토하기오프라인에서 모든 파서 도구를 사용하여 전체 검사를 수행합니다.메타데이터를 가져오기 전까지는 불가능합니다.
둘 사이의 변환정보 해시를 계산하고 마그넷 링크(단검 모양 링크)를 작성합니다.가져온 메타데이터는 토렌트로 내보내고 캐시할 수 있으므로 동일한 마그넷 링크를 사용할 경우 메타데이터를 두 번 다운로드할 필요가 없습니다.
개인 추적기 사용해당 파일에 추적기 URL이 포함되어 있으므로 클라이언트는 해당 URL에만 접속해야 하므로 작동합니다(BEP 27).실용적이지 않을 가능성이 높습니다. 링크에 플래그가 없고, 추적 URL에 개인 정보가 포함될 수 있기 때문입니다(단검). BEP 27에서는 마그넷에 대해 논의하지 않습니다.
편집트래커 추가 또는 삭제는 해시 값을 변경하지 않고 진행할 수 있습니다. 트래커 추가/삭제는 정보 섹션 외부에 있기 때문입니다. 정보를 수정하면 새로운 토렌트가 생성됩니다.텍스트를 자유롭게 편집하세요. xt를 변경하면 어떤 토렌트를 가리키는지 바뀝니다.
진위 여부 확인신뢰할 수 있는 인증서에 대해 BEP 35 서명을 검증하십시오. 일부 라이브러리는 자체 검증 과정에서 인증서 자체의 유효성을 검사하지 않는다고 명시하고 있습니다. 그렇지 않은 경우 파일 목록을 확인하십시오.신뢰할 수 있는 출처의 정보 해시와 비교해 보세요. 그 외에는 다른 정보가 없습니다.
자동 업데이트BEP 39에서는 제작자가 정보 사전(info dict)에 업데이트 URL을 추가할 수 있으며, 클라이언트는 원본 제작자가 서명한 경우에만 최신 토렌트를 자동으로 다운로드합니다.없음
계속해서 공유하기파일을 전송하거나 호스팅하세요.해당 줄을 복사하여 붙여넣으세요
실패할 경우트래커가 작동하지 않거나 피어가 없는 경우 클라이언트는 대기합니다. 손상된 파일은 거부됩니다.해시 오류 또는 연결 가능한 피어가 없음: '메타데이터 검색 중'에서 멈춤
웹시드 구조웹 시드를 사용하는 .torrent 파일은 피어가 없어도 작동합니다. 마그넷 링크는 이와 동등한 기능을 제공하지 않는데, BEP 9이나 HTTP 시딩 BEP 모두 HTTP 시드에서 메타데이터를 가져오는 방법을 제공하지 않기 때문입니다.
다운로드 후동일한 파일에서 시딩을 계속하세요
.급류
토렌트와 마그넷 링크를 비교하면서 파일 공유에 있어 각각의 고유한 장점을 살펴보고, 데이터 무결성 및 출처 검증 문제에 초점을 맞춥니다.

요약

토렌트 파일(.torrent)은 아카이빙, 비공개 트래커, 파일 목록 사전 검토, 오프라인 메타데이터에 가장 적합하며, 마그넷 링크는 빠른 공유, QR 코드, 트래커 독립적인 배포, 최소한의 호스팅에 탁월합니다.

어느 형식도 본질적으로 더 안전하다고 할 수 없습니다. 둘 다 암호화 방식으로 데이터 무결성을 검증하지만, 누가 콘텐츠를 게시했는지 또는 콘텐츠의 실제 내용이 무엇인지는 인증하지 않습니다. 진정한 보안 및 법적 위험은 콘텐츠 자체와 출처에서 발생하므로 파일 목록에서 의심스러운 확장자를 확인하고 링크를 어디에서 가져왔는지 주의해야 합니다.

자주 묻는 질문

BitTorrent는 IETF 또는 ISO 표준인가요? 그리고 .torrent 파일과 마그넷 링크는 얼마나 공식적인 표준인가요?

아니요. 프로토콜은 파이썬의 PEP를 모델로 한 BitTorrent 개선 제안(BEP) 프로세스를 통해 명시됩니다. BEP 3은 메타 정보 형식을 정의하고 BEP 52는 v2를 정의합니다. 메타데이터 교환 및 BitTorrent 마그넷 형식을 다루는 BEP 9는 '최종'이 아닌 '승인됨' 상태입니다. magnet: 스키마 자체는 Magnet-URI 프로젝트가 만든 IANA의 임시 등록일 뿐입니다. 실제로는 주요 클라이언트 라이브러리에 의해 상호 운용성이 정의되므로 여러 구현체를 대상으로 테스트해야 합니다.

정보 해시는 토렌트와 그 콘텐츠를 암호학적으로 연결하는 역할을 하나요?

추론적으로는 그렇습니다. v1 정보 해시는 인코딩된 정보 사전의 SHA-1 해시이며, 이 사전에는 모든 조각의 SHA-1 해시가 포함되어 있으므로 해시는 데이터에 적용됩니다. 단, SHA-1의 충돌 저항성이 약하다는 점에 유의해야 합니다. 실제로 충돌이 발생할 수 있으므로, 토렌트의 두 가지 버전을 모두 제작하는 게시자는 하나의 해시로 두 개의 페이로드를 만들 수 있습니다. 기존 토렌트에 대한 2차 역상 공격은 여전히 ​​불가능합니다. v2는 SHA-256으로 변경하여 이러한 문제를 해결했습니다.

어떤 수정 사항이 토렌트의 정체성을 바꾸고 어떤 수정 사항은 바꾸지 않는가?

정보 사전 내부의 모든 내용은 info-hash: 이름, 파일 목록, 조각 길이, 비공개 플래그 및 mktorrent의 -s 옵션과 같은 소스 태그를 변경합니다. announce 및 announce-list(BEP 12)와 같은 정보 사전 외부 필드는 새 토렌트를 생성하지 않고 자유롭게 편집할 수 있습니다. 마그넷 링크에서 dn, tr 및 x.pe는 ID에 영향을 미치지 않으며, xt만 영향을 미칩니다. 정보 사전을 변경하면 스웜이 자동으로 분기되므로 새 토렌트를 게시하는 것으로 간주해야 합니다.

클라이언트는 마그넷 링크를 통해 수신한 메타데이터를 어떻게 인증합니까?

피어들은 BEP 9 ut_metadata 확장 기능을 통해 16KiB 블록 단위로 정보 사전을 전송하고, 클라이언트는 조립된 결과를 해시하여 링크의 정보 해시와 비교합니다. 공격자가 해시를 해독할 수 없는 한 위조된 메타데이터는 거부됩니다. 이는 링크에 대한 무결성을 증명하는 것이지 진실성을 증명하는 것은 아닙니다. dn 값은 검증되지 않은 레이블이며, 해시는 누가 콘텐츠를 게시했는지 또는 콘텐츠의 실제 내용이 무엇인지에 대한 정보를 제공하지 않습니다.

v1, v2 및 하이브리드 토렌트의 실질적인 차이점은 무엇인가요?

v1은 정보 사전에서 SHA-1 조각 해시를 평면 목록으로 사용합니다. v2(BEP 52)는 파일별 머클 트리와 계층적 파일 트리를 사용하는 SHA-256을 사용합니다. 조각 계층은 정보 사전 외부에 있으며, 구현체는 정보 사전 내부의 조각 루트 필드와 비교하여 검사해야 합니다. 하이브리드 토렌트는 두 구조를 모두 포함하므로 두 개의 정보 해시를 가지며, 마그넷 링크는 btih 및 btmh 토픽을 모두 포함할 수 있습니다. v2 전용 토렌트를 게시하기 전에 클라이언트와 도구가 v2를 지원하는지 확인하십시오.

피어가 없지만 HTTP 웹 시드가 존재하는 경우 마그넷 링크를 사용하여 다운로드를 시작할 수 있습니까?

아니요. BEP 9는 피어로부터만 메타데이터를 가져오며, BEP 9나 HTTP 시딩 BEP(17, 19) 모두 HTTP 시드로부터 메타데이터를 가져오는 방법을 정의하지 않습니다. 웹 시드를 사용하는 .torrent 파일은 메타데이터가 이미 파일에 포함되어 있으므로 피어가 없더라도 작동합니다. 가용성을 위해 웹 시드를 사용하는 경우 마그넷 링크뿐만 아니라 .torrent 파일 자체를 배포하십시오.

각 형식은 나의 개인 정보와 네트워크 신원에 대해 무엇을 드러내는가?

마그넷 링크와 프라이빗 토렌트(PEX)는 모두 사용자의 IP 주소를 피어와 사용자가 알린 트래커에 노출합니다. 마그넷 링크는 일반적으로 공개 DHT(디지털 히스토그램)에 의존하는데, 이로 인해 사용자의 IP 주소와 정보 해시가 나타나는 조회 경로가 하나 더 추가됩니다. 프로토콜 암호화는 트래픽을 난독화하지만 사용자를 완전히 익명화하지는 않습니다. 프라이빗 토렌트(BEP 27)는 클라이언트가 프라이빗 트래커만 사용하도록 요구하므로 DHT와 PEX가 사용되지 않습니다. 익명성이 중요한 경우에는 포맷 선택이 아니라 적절한 네트워크 수준의 완화 조치를 포함한 위협 모델을 사용해야 합니다.

토렌트를 통해 얻은 데이터의 무결성뿐 아니라 진위 여부까지 어떻게 확인할 수 있을까요?

파일 조각 검증은 데이터가 토렌트와 일치하는지만 확인합니다. 진위 여부를 확인하려면 독립적인 신뢰할 수 있는 채널을 통해 체크섬이나 서명(예: 서명된 SHA-256 매니페스트)을 얻고 완성된 파일을 이를 기준으로 검증해야 합니다. BEP 35는 선택적으로 X.509 인증서와 여러 서명자를 포함하여 .torrent 파일에 내장된 RSA 서명을 정의하지만, 실제로 사용되는 경우는 드물며, 이를 구현하는 라이브러리에서는 자체 검증이 인증서 자체의 유효성을 검사하는 것은 아니라고 명시하고 있습니다. 마그넷 링크에는 서명 메커니즘이 전혀 없습니다.

토렌트를 만들 때 파일 길이는 어떻게 선택해야 할까요?

메타데이터 크기와 전송 세분성 사이에는 절충점이 있습니다. BEP 3에서는 조각 길이가 거의 항상 2의 거듭제곱, 일반적으로 256KiB이며, 이는 mktorrent의 기본값이기도 하다고 명시하고 있습니다. 버전 1에서 256KiB 크기의 100GiB 페이로드는 409,600개의 조각으로 구성되므로 조각 문자열만 해도 약 8MB에 달합니다. 마그넷 클라이언트는 시작하기 전에 이 전체 사전을 약 500개의 블록으로 나누어 다운로드해야 하므로 메타데이터 크기가 너무 크면 마그넷 시작 속도가 느려집니다. 조각 크기가 커지면 메타데이터 크기는 줄어들지만 조각 오류 후 복구 과정이 더 복잡해집니다.

왜 동일한 데이터로 이루어진 두 개의 토렌트가 서로 다른 스웜에 속하게 되는 걸까요? 그리고 이를 방지하려면 어떻게 해야 할까요?

정보 해시는 전체 정보 사전을 포함하기 때문입니다. 파일 이름, 파일 순서, 조각 길이, 개인 플래그 또는 소스 태그가 다르면 바이트 단위로 동일한 페이로드라도 해시 값이 달라집니다. 하나의 스웜을 유지하려면 릴리스 프로세스에서 조각 길이, 이름, 파일 순서 및 플래그를 표준화하고 아티팩트와 함께 정보 해시를 게시해야 합니다. 소스 태그는 스웜을 구분하는 의도적인 방법이며, mktorrent의 -s 옵션은 의도적으로 해시 값을 변경합니다.

이러한 형식에 대한 클라이언트 또는 파서를 작성할 때 주요 보안 고려 사항은 무엇입니까?

모든 입력을 신뢰할 수 없는 것으로 간주하십시오. bencode를 엄격하게 검증하고, 메타데이터 크기를 제한하며(한 오픈소스 클라이언트는 32MB로 제한함), 디렉터리 탐색을 방지하기 위해 메타데이터에서 파일 경로를 제거하십시오. SSRF 방식의 악용을 제한하기 위해 트래커와 DHT에서 반환되는 개인 주소 및 루프백 주소를 필터링하고, 연결하기 전에 트래커 URL이 허용 가능한지 확인하십시오. dn을 신뢰할 수 없는 텍스트로 처리하고, 최종 저장소에 기록하기 전에 모든 조각의 해시값을 검증하십시오.

.torrent 파일에서 정보 해시값을 정확하게 계산하는 방법은 무엇인가요?

파일에 나타나는 정보 값의 정확한 바이트 범위를 찾고, 해당 바이트들을 해시합니다. v1의 경우 SHA-1을, v2의 경우 SHA-256을 사용합니다. BEP 3에서는 해시값이 파일에 사용된 인코딩을 기준으로 계산되어야 한다고 강조합니다. 디코더가 입력값을 완벽하게 검증한 경우에만 사전 디코딩 및 재인코딩이 안전하며, 관대한 디코더는 데이터를 조용히 정규화하여 다른 해시값을 생성할 수 있습니다. 하이브리드 토렌트의 경우, 동일한 범위에서 두 해시값을 모두 계산합니다.

비공개 트래커 토렌트에 마그넷 링크를 사용할 수 있나요?

실제로 적용하기 어려운 경우가 많습니다. BEP 27은 클라이언트가 프라이빗 트래커에만 알리고 해당 트래커가 반환하는 피어에만 연결하도록 요구합니다. 마그넷 링크 자체에는 프라이빗 플래그가 포함되어 있지 않습니다. 프라이빗 플래그는 메타데이터에 존재하며, 사용 가능한 트래커 URL이 포함되어 있지 않을 수도 있습니다. 자격 증명이 포함된 트래커 URL이 포함된 경우, 해당 링크를 비밀 정보로 취급해야 합니다. 이는 BEP 27 사양에서 마그넷 링크를 직접적으로 다루지 않기 때문에 제가 추론한 내용이며, 사용 중인 트래커의 규칙에 따라 직접 테스트해 보시기 바랍니다.

소프트웨어, 데이터셋 또는 아카이브를 파이프라인 방식으로 배포할 때, .torrent 파일을 게시해야 할까요, 아니면 마그넷 링크를 게시해야 할까요?

.torrent 파일을 표준 아티팩트로 사용하여 두 가지 모두 게시합니다. 이렇게 하면 모든 메타데이터가 보존되고, 사용자는 오프라인에서 파일 목록을 확인할 수 있으며, 웹 시드(BEP 19)를 지원하여 접근성을 높일 수 있습니다. 편의를 위해 동일한 정보 해시에서 마그넷 링크를 생성하고, 정보 해시와 서명된 체크섬을 신뢰할 수 있는 채널에 게시합니다. 이를 통해 아카이브의 내구성을 확보하고 메타데이터 검색을 피어에 의존하지 않고도 쉽게 공유할 수 있습니다.

토렌트 파일이 얼마나 오랫동안 다운로드 가능한 상태로 유지되는지는 무엇에 의해 결정되며, 어떻게 하면 이를 개선할 수 있을까요?

데이터 검색 가능성을 높이려면 데이터를 보유한 접근 가능한 피어가 최소 하나 이상 있어야 하며, 마그넷 링크의 경우 메타데이터를 보유한 피어도 필요합니다. 시더를 지속적으로 실행하고, 백업용으로 여러 트래커를 계층별로 추가(BEP 12), HTTP 웹 시더를 추가하고, 가져온 메타데이터를 캐시하는 클라이언트에서 .torrent 파일을 아카이브하거나 내보낼 수 있도록 유지하면 검색 가능성을 향상시킬 수 있습니다. 마그넷 링크 자체만으로는 아무것도 보존되지 않으므로, 스웜이 비활성화되면 마그넷 링크는 무용지물이 됩니다.

관련 참고 문헌 및 주제 목록 (확장)

  • 벤코딩: .torrent 파일에서 사용되는 직렬화 형식으로, 딕셔너리 키가 정렬되어 있습니다.
  • 정보 해시: bencoded 정보 사전의 SHA-1(v1) 또는 SHA-256(v2) 다이제스트, 토렌트의 ID
  • 콘텐츠 주소 지정 가능 저장소: 위치 대신 해시 값으로 데이터를 식별합니다.
  • 머클 트리: 비트토렌트 v2(BEP 52)의 파일별 해시 트리를 이용한 조각 수준 검증
  • 하이브리드 토렌트: v1 및 v2 구조와 두 개의 정보 해시를 모두 포함하는 단일 토렌트
  • 조각 길이 및 조각 레이어: 메타데이터 크기와 검증 세분성 간의 절충점
  • SHA-1 충돌 저항: v1 해싱이 이론적으로 취약한 이유와 v2가 SHA-256으로 전환된 이유는 무엇일까요?
  • 확장 프로토콜(BEP 10): ut_metadata, PEX 및 기타 확장 기능을 활성화하는 핸드셰이크 메커니즘
  • 메타데이터 교환(BEP 9, ut_metadata): 피어로부터 정보 사전을 16KiB 블록 단위로 가져옵니다.
  • 마그넷 URI 스키마: 프로젝트에 구애받지 않는 해시 기반 식별자 체계이며, IANA에 임시 등록되어 있습니다.
  • MAGMA(자석 매니페스트): 자석식 계획의 다중 네트워크 기원에서 비롯된 명시적 주제 개념
  • 마그넷 파일 선택(BEP 53): 토렌트 링크 자체에서 특정 파일을 선택하는 방법
  • 멀티트래커 메타데이터(BEP 12): 셔플링 및 페일오버 기능을 갖춘 티어 목록을 발표합니다.
  • UDP 추적기 프로토콜(BEP 15): UDP를 통한 경량 트래커 알림
  • 컴팩트 피어 목록(BEP 23): 추적기 응답에서 피어의 압축된 이진 인코딩
  • IPv6 트래커 확장(BEP 7): peers6의 IPv6 지원 발표
  • 추적기 외부 IP 보고(BEP 24): 추적기는 고객에게 관찰된 주소를 알려줍니다.
  • 메인라인 DHT(BEP 5): 트래커리스 피어 검색을 위한 Kademlia 기반 분산 해시 테이블
  • DHT 보안 확장(BEP 42): 시빌 공격 및 라우팅 테이블 공격에 대응하기 위해 노드 ID를 제한합니다.
  • DHT put/get 및 infohash 인덱싱(BEP 44, BEP 51): DHT에 데이터 저장 및 정보 해시 샘플링
  • 피어 교환, PEX(BEP 11): 스웜 구성원들이 피어 목록을 직접 공유합니다.
  • 로컬 서비스 검색(BEP 14): 동일한 네트워크 세그먼트에서 피어 찾기
  • 빠른 확장(BEP 6): have-all, have-none, reject와 같은 프로토콜 단축 표현
  • uTP (BEP 29): 지연 기반 혼잡 제어를 사용하는 UDP 기반 전송 프로토콜
  • 홀펀치 확장(BEP 55): 릴레이 피어를 통한 NAT 트래버스 조정
  • 메시지 스트림 암호화(MSE/PE): 익명성이 아니라 프로토콜 난독화입니다.
  • 비공개 토렌트(BEP 27): 피어 검색을 트래커로 제한하는 비공개 플래그
  • 웹 시딩(BEP 17, BEP 19): HTTP 또는 FTP 서버는 영구 시드 역할을 합니다.
  • 패딩 파일(BEP 47): 파일 중복 제거 및 하이브리드 지원을 위해 파일을 조각 경계에 맞춰 정렬합니다.
  • 로컬 데이터 힌트(BEP 38): 재다운로드를 방지하기 위해 관련 토렌트의 데이터를 재사용합니다.
  • 토렌트 서명(BEP 35): RSA 서명 내장 및 선택적 X.509 인증서 포함
  • 토렌트 업데이트 피드(BEP 39): 서명된 자동 후속 토렌트의 URL 업데이트
  • 부품 검증 파이프라인: 커밋 전 해시 검사 및 실패한 조각에 대한 복구
  • 파서 및 클라이언트 보안 강화: 엄격한 벤코드 확인크기 제한, 경로 검증, SSRF 필터링
  • WebTorrent와 WebRTC: ws/wss 트래커와 ICE 또는 TURN을 사용하는 브라우저 기반 피어
  • 씨앗상자와 장기 파종: 가용성 및 아카이빙 지속성을 위한 인프라
  • BEP 프로세스 및 거버넌스: 사양서가 어떻게 제안되고, 색인화되고, 승인 단계에서 최종 단계로 승격되는지
  • 대안적인 콘텐츠 주소 지정 시스템: IPFS 스타일 콘텐츠 식별자를 비교 가능한 모델로 사용
  • 출처와 진실성: 해시가 데이터를 검증하지만 게시자를 인증하지 않는 이유는 무엇일까요?

 

토렌트의 외부 링크

(링크 위에 마우스를 올려놓으면 콘텐츠에 대한 설명을 볼 수 있습니다.)

다룬 주제: 토렌트 파일, 마그넷 링크, 비트토렌트 클라이언트, 메타데이터 검색, SHA-1, SHA-256, 머클 트리, 정보 해시, DHT, PEX, BEP 3, BEP 9, BEP 52, 메타데이터 무결성, P2P, 콘텐츠 해시, URI 스키마.

역사적 맥락

1965
1970
1970
1974-11-15
1980
1980
1980
1964
1968
1970
1970
1975
1980
1980
1980

(날짜를 알 수 없거나 관련이 없는 경우, 예를 들어 "유체역학"의 경우, 주목할 만한 등장 시기를 대략적으로 추정하여 제공합니다.)

10년차 기념일

고화질 이미지 및 다운로드는 등록된 회원에게만 100% 무료로 제공됩니다.

> 로그인 <