Repository navigation
Replies: 1 comment
|
Very interesting. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Hybrid Torrents Are Not "Bloated v1" — Here's Why
This post is based on a detailed discussion in the libtorrent repository:
arvidn/libtorrent#8940
1. What Is a Hybrid Torrent?
A Hybrid Torrent is a torrent file that contains both BitTorrent v1 (SHA-1) and BitTorrent v2 (SHA-256) metadata.
2. A Hybrid Torrent Is Not a Bloated v1 Torrent
Many community discussions describe a hybrid torrent as “just a more bloated v1 torrent.” This is wrong.
The fact is: a hybrid torrent has full v2 capability at the connection layer.
As long as two clients both support v2 during the handshake (negotiated via the
0x10bit in thereserved[7]byte), the connection automatically upgrades to a v2 connection:This upgrade happens after the connection is established and is unrelated to the Swarm. Even if you found the peer through the v1 Swarm, as long as both sides support v2, this connection will use v2 verification. A Tracker not supporting v2 does not affect this, because the Tracker is only responsible for peer discovery and does not participate in post-connection protocol negotiation.
3. The Real Relationship Between the Two Swarms
A hybrid torrent does have two Swarms, but the client's default behavior is:
So by default, you are active in the intersection of the two Swarms and can reach as many peers as possible.
Why does "prioritize v2 Swarm" split the network?
Because it means letting the client participate only in the v2 Swarm and abandon the v1 Swarm. At the current stage, when v2 peer density is still very low, this puts the client into a smaller, quieter Swarm, reducing connection count and download speed. libtorrent author Arvid Norberg explicitly questioned the necessity of this approach.
4. Local Optimization:
disable_v1_hasheslibtorrent 2.1.0 introduced an option:
disable_v1_hashes.This is the optimization direction that should be promoted for hybrid torrents, not "prioritize v2 Swarm."
5. Limitations of Pure v2 and Advantages of Hybrid Torrents
Problems with pure v2 torrents at the current stage
Advantages of hybrid torrents
6. Padding Files
Hybrid torrents generate padding files (BEP 47) to maintain compatibility with v1 piece alignment.
.padfiles be visible.7. Summary of Common Misconceptions
8. The Difference Between Private Trackers and Public BT Determines Promotion Priorities
Public BT: the main battlefield for hybrid torrents at the current stage
Public BT has higher acceptance of hybrid torrents, and size issues can be solved by adjusting piece size.
In a test, an 8 GB / 50-file hybrid torrent had an automatic piece size of 473 KB; when manually set to 2 MiB, it dropped to 245 KB. Mainstream public BT release sites (such as 1337x and TorrentGalaxy) generally tolerate
.torrentfiles above 1 MB, so adjusting the piece size is usually enough to upload successfully.Some public sites abroad already explicitly support hybrid torrents. Domestic public sites in China currently have relatively low acceptance, but there is no technical barrier.
PT: the barrier is not size, but whether it is allowed
At present, the adoption rate of pure v2 torrents on PT sites is almost zero, and hybrid torrents are also generally strictly restricted or even banned.
PT's core concerns are passkey authentication, traffic statistics, cross-seeding rules, and cheating detection—the dual Info Hash and two Swarms of a hybrid torrent interfere with these mechanisms.
So for PT, the problem is not "the torrent is too large to upload," but "the rules simply do not accept this format."
The focus of promotion should be on public BT
Public BT has higher acceptance of hybrid torrents, and size issues can also be solved by increasing the piece size. As long as hybrid torrents and v2 resources on public BT accumulate to a certain scale, the content stock of Root Hashes will grow, and only then will there be a foundation for a future content-addressing ecosystem.
PT can wait and see for now; after the public ecosystem matures and PT rules gradually adapt, it can then discuss following up.
.torrentsize, solvable by piece size9. Info Hash Is the Shell, Root Hash Is the Core
Info Hash: metadata hash
Info Hash is a hash of the torrent's info dictionary, including fields such as name, piece length, pieces, and files.
As long as the top-level folder name, file order, or piece size differs even slightly, the Info Hash changes. It identifies "this torrent file," not "this file content."
Root Hash: content hash
Root Hash is the root hash of each file's independent Merkle tree, determined only by the file's own binary content.
The same file, no matter which torrent it appears in or what its Info Hash is, has exactly the same Root Hash.
Fundamental difference
The community proposed the idea of "using Root Hash as a DHT key for discovery" as early as 2018, but it has not been implemented to this day because the entire discovery layer (DHT, Trackers, client protocols) has been built around Info Hash for decades, and migration costs are high.
10. Longer Term: Torrent Containers Weaken, Content Hashes Dominate
Following this logic, the later it gets, the weaker the "torrent" becomes as a discovery entry point. More precisely, it is not that torrents no longer matter, but that torrents degrade from the core of discovery into a manifest container and compatibility shell.
This can be viewed in three layers:
.torrent, but the "manifest" itself will not disappear.Therefore, the future division of labor is more likely to be:
By then, the format war between hybrid torrents and pure v2 torrents will no longer matter. What truly matters is whether the content carries a Root Hash and whether the discovery layer can query it directly.
Hybrid torrents at the current stage are precisely accumulating content stock for this future.
11. Conclusions and Recommendations
For content publishers
For ordinary users
disable_v1_hashesoption, which can further optimize performance locally.For the community
All reactions