About Interesting Posts
Interesting documents about a variety of subjects from around the world. Posted on edocr.
I BitTorrent (BTT) White Paper
v0.8.7
Feb. 2019
BITTORRENT FOUNDATION 2019 v0.8.7 WORKING DRAFT - SUBJECT TO CHANGE 1
Abstract
The BitTorrent protocol, created by BitTorrent Inc., facilitates the exchange of files between
untrusted parties. Its primary limitation is that collaborations between parties using the protocol
cannot persist over
time,
inhibiting the exchange. Blockchain technologies allow for
collaborations between untrusted parties to persist over much longer periods of time. BitTorrent
has the ecosystem and expertise necessary to integrate blockchain technologies into the
BitTorrent protocol. Doing so would both eliminate the protocol’s existing flaw as well as open
up a new borderless economy in exchanging value for computing resources on a global scale.
To accomplish this, TRON Foundation and BitTorrent Foundation are introducing a new
cryptographic token, called BTT, along with an extended version of the BitTorrent protocol.
Together, the token and extended protocol will create a token-based economy for networking,
bandwidth and storage usage. The initial entry point is to introduce token-based optimizations
to the existing BitTorrent protocol, providing a way for the value of shared bandwidth to be
captured by network participants. The longer-term vision is to broaden the usage of the
BitTorrent protocol far beyond current use cases by providing a distributed infrastructure
platform to third-party app developers, creating the foundation for the decentralized web.
The TRON Foundation and BitTorrent Foundation are legal entities incorporated in the Republic
of Singapore.
BITTORRENT FOUNDATION 2019 v0.8.7 WORKING DRAFT - SUBJECT TO CHANGE 2
Abstract
2
BitTorrent Background
4
The BitTorrent Protocol
4
The BitTorrent Ecosystem
4
The BitTorrent Company
5
BitTorrent and Distributed Applications
5
BitTorrent Expansion
6
Project Overview
6
BitTorrent Tokens (BTT) and the Blockchain
7
Introduction to BitTorrent SpeedTM
7
BitTorrent Speed and BTT Operations
8
Service Discovery
9
Initial Balance
9
Bidding Rounds
9
Bidding User Interface
9
Automatic Bidding
9
Matchmaking
10
Transaction Processing
11
Bidding Revisions and Frequency
12
Generalized BTT Services
13
BTT Incentives
14
Implementation Considerations
15
Blockchain
15
User Controls
15
Initial Disbursement
16
BitTorrent Wallets
16
Use Case Diversification
16
Identity
17
BTT Token Issuance
17
Conclusion
18
FAQ
19
References
21
BITTORRENT FOUNDATION 2019 v0.8.7 WORKING DRAFT - SUBJECT TO CHANGE 3
BitTorrent Background
The BitTorrent Protocol
BitTorrent is a pioneering distributed communication protocol invented by Bram Cohen in 2001.
As a peer-to-peer protocol, it facilitates the transfer of large, highly demanded files, eliminating
the need for a trusted central server.
The BitTorrent protocol enables client software endpoints (“clients”) to collaborate with each
other to enable reliable simultaneous distribution of large files to multiple clients, reducing
reliance on any single weak point (such as a server connection). It does this by attempting to
make efficient use of every client’s upload and download bandwidth to balance peer-to-peer
content delivery across all clients.
To find a peer that has a file or portion thereof, peers either “announce” to a tracker, a server
that keeps track of which peers have which files available, or find them via the DHT, a
distributed database of peers. Through this process, all peers are naturally segmented into
“swarms” of users, with every user in each swarm having a common interest in exchanging
pieces of a specific file.
Before an exchange begins, files are cut into pieces. Clients advertise which pieces of a file their
user has available, and those pieces are uploaded by users who have them and downloaded by
users who need them. Cryptographic hashes, or “info hashes,” of the pieces are used to verify
that the pieces being shared are the pieces that were requested.
The more pieces a peer receives from another peer in exchange for pieces sent, the more
productive a peer-to-peer interaction is considered to be. The most productive piece exchanges
are rewarded with further pieces, and the clients with the least productive exchanges are
deprecated, disconnected or banned.
Once a user has completed a download, they may allow their client to continue to upload pieces
despite no longer needing any download in return; this is called “seeding.” The default for most
clients is to “seed” to other downloaders. This activity, however, is entirely altruistic. There is no
economic penalty for users closing their BitTorrent client once a download has finished.
The BitTorrent Ecosystem
BitTorrent Inc., which maintains the BitTorrent protocol, also created two of the most popular
BitTorrent clients : BitTorrent and µTorrent (“uTorrent”). The open protocol has also been used
1
to create dozens of independent clients, and there is healthy competition among the companies
and volunteers that maintain those clients.
1
Wikipedia contributors. "Comparison of BitTorrent clients." Wikipedia, The Free Encyclopedia,
https://en.wikipedia.org/w/index.php?title=Comparison_of_BitTorrent_clients&oldid=864318824.
Accessed January 17, 2019.
BITTORRENT FOUNDATION 2019 v0.8.7 WORKING DRAFT - SUBJECT TO CHANGE 4
Independent BitTorrent infrastructure providers offer additional services, such as trackers that
introduce peers, and torrent sites that index file metadata and provide access to their
associated torrents.
The BitTorrent Company
With over 1 billion users, the BitTorrent protocol is the world’s largest decentralized protocol. Its
number of users far surpasses Bitcoin, the second-largest decentralized application (as of
January 11, 2018, Bitcoin had a total of 32.3 million addresses ).
2
In the last 18 years, BitTorrent clients have been downloaded and installed billions of times. The
two clients created and maintained by BitTorrent Inc. are in use today by more than 100 million
monthly active users around the world, with around one million new software installs every day.
Over 160 countries have more than 10,000 BitTorrent protocol users, and 23 countries have
more than 1 million protocol users. BitTorrent Inc. clients account for an estimated 40% of
BitTorrent protocol activity on the public internet.
3
In 2018, BitTorrent formed a strategic partnership with TRON. TRON is a blockchain platform
that was created to provide the foundation for decentralized applications. The collaboration
between BitTorrent and TRON makes the TRON blockchain protocol the world’s largest
decentralized ecosystem, and the BitTorrent protocol the largest decentralized application in the
world.
BitTorrent and Distributed Applications
For more than a decade, BitTorrent Inc. has been exploring distributed applications. We have
investigated both adaptations of the BitTorrent protocol as well as the creation of entirely novel
protocols with the aim of providing services including distributed messaging, BitTorrent-based
CDN, peer-to-peer live video streaming and file synchronization, and distributed website hosting.
The recent emergence of blockchain technologies has shifted the paradigm of what is
achievable.
While many new decentralized protocol proposals suggest ambitious technical paths forward,
almost all are silent on how to confront the enormous challenge of building critical mass, which
is the technical crux of distributed systems. Some projects are addressing this challenge by
introducing a cryptographic token to existing user bases. However, these projects lack the
experience BitTorrent has in designing a protocol which balances diverse economic interests
effectively and at scale.
The BitTorrent ecosystem has the critical mass and BitTorrent Inc. has the protocol engineering
expertise necessary to take advantage of the possibilities introduced by the blockchain. By
integrating blockchain technologies into the BitTorrent ecosystem, we can enable developers to
2 "Blockchain Wallet Users." Blockchain.com. Accessed January 17, 2019.
https://www.blockchain.com/charts/my-wallet-n-users.
3 BitTorrent Inc. internal market share research.
BITTORRENT FOUNDATION 2019 v0.8.7 WORKING DRAFT - SUBJECT TO CHANGE 5
create new, decentralized applications on top of our existing ecosystem. Therefore, we believe
that BitTorrent is the best-equipped entity to create the infrastructure of the imminent
decentralized web.
BitTorrent Expansion
As we examined how BitTorrent’s expertise and ecosystem could be used to realize the
potential of blockchain technologies, we identified three key insights::
1.
Internet users are reluctant to pay for digital goods and services online with fiat
currency. Instead, they pay with their attention.
2. The BitTorrent protocol suffers from structural inefficiencies that limit the lifespan of
swarms and thus limit its overall efficacy as a protocol.
3. There is a large untapped market for the application of BitTorrent technology to new use
cases
Project Overview
To execute on the synthesization of these insights, we will create a platform for building
elements of the decentralized web, enabling app developers to directly reward consumers who
provide its underlying resources and enabling consumers to use this “found value” to transact
with publishers and app developers without fiat currency.
In order to implement a distributed infrastructure services economy, we will extend the
BitTorrent protocol and introduce a new token, BTT. Within the BTT economy, end users may
offer infrastructure services in small increments in return for tokens. A blockchain solution will
provide a store of value and medium of exchange that will scale to meet expected demand.
We will accelerate introduction of the platform by eliminating current BitTorrent protocol
inefficiencies with the launch of BitTorrent Speed. This will provide a strong attraction for the
foundational technology as well as broad familiarity of the existence, user experience and
economics of the token. The introduction of Speed will also prove the effectiveness of using
blockchain-based rewards for the provision of infrastructure services in small increments
across a large installed base.
In parallel, we will work with third-party developers to create and promote APIs and a
marketplace for distributed infrastructure services based broadly on networking and storage
primitives, which are underpinnings of the existing BitTorrent technology. We will also work with
third-party publishers and app developers beyond the existing BitTorrent ecosystem on services
which consumers may spend their tokens on.
Ultimately, hundreds of millions of end users will be equipped with a robust means of deriving
small amounts of value from their technical resources, and will be able to spend that value on
goods and services.
Below, we outline BTT, around which we plan to build a new economy, and present the
BITTORRENT FOUNDATION 2019 v0.8.7 WORKING DRAFT - SUBJECT TO CHANGE 6
blockchain technology on top of which transaction processing will operate. Then, we outline the
proposed approach to optimize the existing BitTorrent protocol with BitTorrent Speed. Next, we
describe how BitTorrent Speed will be operationalized with BTT. Finally, we discuss the
generalization of BTT services and describe the first three decentralized applications being built
on the new platform.
BitTorrent Tokens (BTT) and the Blockchain
BitTorrent Inc. is introducing a TRON TRC-10 cryptographic token called BitTorrent Token (BTT).
BTT will act as a general purpose mechanism for transacting in computing resources shared
between BitTorrent clients and a liquid market of service requesters and service providers. BTT
will be the unit which denominates transactions for the provision of services in the BTT-enabled
BitTorrent ecosystem. It will be made available as a divisible token, allowing for granular pricing.
Due to expected volume, direct use of the public TRON blockchain for all transactions is
unfeasible. Therefore, BitTorrent Inc. will deploy an “on-chain/off-chain exchange.” The
exchange will enable the transfer of tokens between a high-performance private ledger and the
public TRON blockchain.
Introduction to BitTorrent Speed
TM
BitTorrent swarms suffer from structural inefficiencies which frequently lead to the premature
deterioration or death of swarms. Due to upload/download speed asymmetry, files frequently
complete downloading long before a peer has been able to upload an equivalent number of
bytes. Once the downloading peer has the entire file, there is no economic incentive to continue
to make the file available to other downloaders through seeding. That means users leave
swarms without uploading as much data as they have downloaded, which results in BitTorrent
swarms not lasting as long as they need to.
In some cases, it is possible for a swarm to enable the completion of a download even in the
absence of a seed. This possibility is computed and displayed in some implementations as an
“availability” metric, typically expressed as the number of distributed copies available. If there is
4
at least one active non-seed peer holding each of the pieces, then the file is said to be
“available.” Additionally, the BitTorrent protocol uses a design decision known as “rarest first,”
which dictates that a client should prioritize requesting to download the pieces that are held by
the fewest peers in the swarm to which it has connected. This mechanism is intended to flatten
the distribution of pieces to decrease the likelihood of a swarm losing a key peer or peers who
are the sole providers of a required piece. While these two considerations mean that seeds are
not strictly necessary to complete a download, research has shown that in approximately 86%
4
Vuze wiki contributors. "Availability." Vuze wiki, https://wiki.vuze.com/w/Availability. Accessed January
17, 2019.
BITTORRENT FOUNDATION 2019 v0.8.7 WORKING DRAFT - SUBJECT TO CHANGE 7
of seedless cases, this sort of collective reconstruction is not feasible.
5
Figure 1. Only 14% of torrents that had no seed in the swarm could reconstruct the whole file.
To eliminate this problem, we are developing a new BitTorrent feature called BitTorrent Speed.
This feature is will enable peers to offer each other cryptographic token incentives to continue
to seed files after the full download has completed.
To be clear, BitTorrent currently functions well. Nothing proposed in this optimization will alter
the protocol’s functionality, and users of the protocol will not experience an interruption in their
usage. The addition is simply an overlay on top of the current protocol which will allow existing
BitTorrent swarm participants to exchange tokens in return for ensuring the continued
availability of a file for download.
BitTorrent Speed will be integrated into future participating BitTorrent and uTorrent clients. It
will add a new set of extensions to the BitTorrent protocol, enabling users to advertise their bids
within a swarm and to trade BTT in exchange for continued prioritized access to seeds. The
intended result is that peers will choose to seed for longer, leading to increased swarm longevity
and faster download times for all swarm participants.
BitTorrent Speed and BTT Operations
Peers will be able to act as both “service requesters” and “service providers.” A peer offering
BTT in exchange for other users’ local resources will be a service requester, and a peer offering
local resources in exchange for BTT will be a service provider.
5 Kaune, S., R. C. Rumin, G. Tyson, A. Mauthe, C. Guerrero, and R. Steinmetz. "Unraveling BitTorrents File
Unavailability: Measurements and Analysis." 2010 IEEE Tenth International Conference on Peer-to-Peer
Computing (P2P), 2010. doi:10.1109/p2p.2010.5569991.
BITTORRENT FOUNDATION 2019 v0.8.7 WORKING DRAFT - SUBJECT TO CHANGE 8
Service Discovery
The BitTorrent Speed life cycle will begin when peers discover each other via existing BitTorrent
protocol mechanisms.
6
Initial Balance
BTT will be airdropped to existing uTorrent/BitTorrent users so they can bootstrap with a small
initial balance. In the future, BTT will also be purchasable via crowdsale and exchanges.
Bidding Rounds
Bids will be sent via a new BitTorrent protocol extension message to each peer that has at least
one piece wanted by the service requester. The message will contain the number of BTT the
service requester is willing to pay per piece.
After winning a bidding round, a service requester must establish an escrowed BTT balance with
the service provider. They do this by placing some BTT into a payment channel between the
service requester and service provider.
Bidding User Interface
By default, bidding will be automated. Users’ clients will bid to and from their token balance on
their behalf. We may enable user interface controls to allow users to toggle the feature, toggle it
for certain torrents, adjust the spending rate, set a reserve price, or exercise granular control
over the bidding process.
Automatic Bidding
For the initial release, clients will use a simplified auto-bidding mechanism. In this version, the
client simply bids a fraction of the remaining BTT balance in the service requester’s wallet. This
is how the bid is calculated:
id
spending rate × remaining balance in BTT )/(remaining download in kilobytes)
b = (
This formula implies that as a download progresses, the bid will change. For the initial release,
the client will not rebid until the bid changes by more than 10% from the previous bid.
The spending rate (a parameter that can vary from 0.0 to 1.0 depending on how aggressive the
client should be bidding) will be defined to be 1.0. If the number of kilobytes remaining is equal
to zero, then the bid automatically stops in order to prevent division by zero.
In the future, this algorithm will be refined. For example, based on existing bid message traffic
and current transfers, the client will be able to estimate a market rate for bandwidth. The client
6 For detailed description of BitTorrent protocol operations, see https://en.wikipedia.org/wiki/BitTorrent.
BITTORRENT FOUNDATION 2019 v0.8.7 WORKING DRAFT - SUBJECT TO CHANGE 9
also has a picture of piece rarity it can use to inform bid amounts.
Matchmaking
The BitTorrent protocol uses a sharing algorithm called “tit-for-tat”, which is implemented using
a mechanism called “choking.” BitTorrent clients classify peers as either choked or unchoked.
An example choking algorithm might sort peers based on how much data the client has
received from each one since the choking algorithm was last executed. The first n peers (where
n is the number of unchoke slots, a fixed value chosen by each client) are classified as
unchoked and the rest as choked.
Only unchoked peers are eligible to receive data. The choke state of all peers is recalculated
periodically (typically every 15 seconds). Seeds do not receive any data from peers, so they use
the amount of data sent to each peer to determine which peers are eligible to be unchoked in
the next round. This means seeds optimize for maximum throughput, with no regard for any
other factor.
There is also a separate choking algorithm called “optimistic unchoking” which uses a number
of reserved unchoke slots (typically one). Optimistic unchoking selects a peer to unchoke in a
random or round-robin fashion. This allows new peers an opportunity to receive some data so
that they can start reciprocating with other peers.
Choking is the primary means of allocating resources within a BitTorrent swarm. BitTorrent
Speed will extend this mechanism so that a service provider will include both BTT bid data and
peer upload rate in its decisions about which peer to unchoke.
How this inclusion takes places will vary depending on how the client’s choking algorithm is
implemented. When it comes time for the client to run its choking algorithm, it first compiles a
list of eligible bids. The example algorithm described above could be modified to sort peers by a
combination of highest eligible bid and most data received.
When an eligible bidder is unchoked, the service provider will send a new BitTorrent protocol
extension bid response message to the bidder containing the rate in BTT/byte the bidder is
expected to pay. This message will be followed by a normal unchoke message.
Clients may implement any auction format, but a variant of the Vickrey-Clarke-Groves auction is
expected to produce optimum results. See Figure 2 for an outline of the auction mechanics,
which ends up being a multi-unit uniform price auction.
Each service requester bids on only one unchoke slot per service provider. Clients would charge
each unchoked bidder the rate of the highest losing bid.
BITTORRENT
FOUNDATION
2019
v0.8.7
WORKING
DRAFT
-
SUBJECT
TO
CHANGE
10
Figure 2. Auction mechanics of a multi-unit uniform price auction.
Caution must be exercised when dealing with optimistic unchoking due to its importance in
allowing new peers to bootstrap into the swarm. The optimistic unchoke slot(s) should not be
subject to the same auction format as the regular unchoke slots. If the client is using a
round-robin algorithm for optimistic unchoking, it should only apply an auction to break ties
between peers which have gone the same amount of time since being choked. This means
auctioning of the optimistic unchoke slot will typically only happen between bidders that have
never been unchoked.
In swarms with both BTT-enabled BitTorrent clients and legacy BitTorrent clients, service
requesters will be able to offer BTT to service providers. However, upload speeds from legacy
BitTorrent clients will be maximized without regard for any BTT bids.
Transaction Processing
Once a service requester receives both the bid response and unchoke messages, it opens a
payment channel on the private ledger whose output is addressed to the service provider. The
service provider expects payment to be delivered via a new or existing channel for each
complete piece received by the service requester.
Below, the service requester is the party sending BTT, and the service provider is the party
receiving it.
1. The service requester creates a public key (K1) and requests a public key from the service
provider (K2).
2. When the service requester wishes to pay the service provider, it opens a channel on the
private ledger with K2 as the destination account. When the channel is created, the
service requester transfers some of its BTT into the channel. This BTT is deducted from
the account associated with K1.
BITTORRENT
FOUNDATION
2019
v0.8.7
WORKING
DRAFT
-
SUBJECT
TO
CHANGE
11
3. The service requester generates a transaction on the channel which disburses the initial
payment amount to K2 and the remainder of the channel’s BTT to K1.
4. The service requester signs the transaction, then sends the transaction and the signature to
the service provider.
5. If the service provider has not seen the channel before, it requests the channel information
from the private ledger. The service provider only accepts the payment if the channel
information retrieved from the ledger matches the information received from the service
requester.
6. When the service requester wishes to send another payment to the service provider, it adjusts
the transaction to allocate more value to K2. It then re-signs the new transaction and
sends the transaction and the signature to the service provider.
7. If the service requester wishes to send more payment, but the existing channel’s BTT is
entirely allocated to the service provider, the service requester opens a new channel on
the ledger and uses it to send payment as described in steps 2-4.
This process continues until the service requester confirms that the transfer is complete. The
service provider then signs the last transaction it saw and sends it to the private ledger,
allocating the final amount to itself. This closes the channel; it cannot be used for further
payments.
In case the service provider
stops at any point, leaving the allocated value in limbo, the private
ledger implements a timeout for each channel. The timeout period is indicated in the channel’s
information when the service provider retrieves it from the ledger. If the service provider does
not close the channel before the timeout expires, the ledger automatically closes the channel
and disperses all of the channel’s BTT to the service requester.
If the BTT transfer does not complete after a timeout, the service requester is choked and
receives no further data. Repeated failures to transfer BTT by a service requester can result in
the service provider banning the service requester. Banned service requesters are disconnected
from service providers, and any attempt to reconnect is rejected for a specified period of time.
Similarly, failure to verify data from the service provider can result in the service provider being
banned.
Each party progressively contributes pieces or BTT, with a signed transaction produced for each
step in the process. The maximum breach exposure of the service provider at any given time is
therefore one piece worth of bandwidth; since service requesters pay only on verified delivery,
they have zero breach exposure.
Bidding Revisions and Frequency
As the client may receive data for less than its maximum bid (and very frequently for free, as is
currently the case in BitTorrent), the bid computed by dividing the remaining total spend by the
remaining data will trend upward over time. The client can implement any heuristic it likes to
BITTORRENT
FOUNDATION
2019
v0.8.7
WORKING
DRAFT
-
SUBJECT
TO
CHANGE
12
determine when to send bid messages with a new bid value; it should not, however, send new
bids more than once a minute. If the user changes the amount of BTT bid, then the client should
send the new bid immediately.
Generalized BTT Services
Optimizing the existing BitTorrent protocol sets a precedent of allowing users to store value
from sharing small amounts of infrastructure in order to spend that value later. It is an obvious
first step in the introduction of a cryptographic token, but it is a small fraction of what is
becoming possible. We are preparing to dramatically extend both the earning opportunities and
the spending opportunities for users of BTT-enabled BitTorrent clients.
We are developing a range of generalized BTT services, as well as preparing to open up the
platform to third-party developers to allow use of the wallet and BTT in their applications. After
extensive discussions with partners interested in our platform, we have concluded that the
following three basic BTT services should be offered by BitTorrent:
(1) A decentralized content delivery service to enable service requesters to advertise bids and
pay BTT for bandwidth to receive a particular piece of content. This service will be
well-suited for mass distribution of content, especially in the presence of censors or
other attackers. Service providers will be incentivized to serve content to as many people
as possible, thus ensuring robust performance even with high numbers of service
requesters.
(2) A decentralized storage service to enable service requesters to pay for storage over time,
and to download the stored data from service providers for a prearranged fee. Service
providers will agree to store data and provide on-demand proofs-of-storage to the
service requester. Service providers will naturally seek out content which offers the
highest payment rate over time. This service will be useful for remote backup and
sharing of private data among small groups.
(3) A decentralized proxy service to enable service requesters to pay a service provider for
retrieval of content by URL. This will be useful to highly mobile applications or those that
seek to evade IP-level network controls. The service will be designed to allow content to
be requested in chunks. This will,
for example, allow clients with intermittent
connectivity, such as mobile users relying on Wi-Fi, to reliably retrieve web resources
without needing to maintain an open connection long enough to receive the complete
contents.
As shown in Figure 3, the various enhancements to the BitTorrent protocol will serve as building
blocks for distributed applications.
BITTORRENT
FOUNDATION
2019
v0.8.7
WORKING
DRAFT
-
SUBJECT
TO
CHANGE
13
Figure 3. BitTorrent protocol extensions.
More BTT services can be implemented and introduced into the service provider network as
demand emerges from new BTT applications. BitTorrent Inc. will provide a forum for discussion
and standardization of new BTT services similar to that provided for the BitTorrent protocol.
The BitTorrent protocol extensions will be submitted for comment to the BitTorrent community
BEP process – an informal but open standards-setting process – and facilitated by BitTorrent
7
Foundation, which has guided protocol enhancements for more than a decade. Following
community feedback, we will develop and test our implementation of these extensions via
engineering and release management practices which are well established at BitTorrent.
Furthermore, as is our practice with highly important updates, we will subsequently release
these extensions as an open source library and establish support and incentives for integration
into third-party BitTorrent protocol implementations.
BTT Incentives
The continued evolution of the BitTorrent ecosystem will require both coordination of activities
and provision of incentives to a broad range of existing and future participants. BitTorrent client
implementers, third-party app developers, and online publishers will all be eligible for a system
of BTT incentive awards.
The BitTorrent ecosystem has proven that millions of people will enthusiastically share their
resources if they can cooperate safely and securely, bound by the rules of a protocol they trust.
By introducing a mechanism for value storage and exchange, we aim to greatly broaden the
universe of possible participants – either as service requesters, service providers, or both.
To maximize the chances of success, it is vital that we ensure that BitTorrent Inc. is not a
central monopolist in the BTT-enabled BitTorrent ecosystem, just as it is far from a monopolist
in today’s BitTorrent ecosystem. The BTT project depicted in Figure 4 is one in which the
success of ecosystem partners will lead to increasing returns for all ecosystem participants.
7 Harrison, David. "Index of BitTorrent Enhancement Proposals." BitTorrent.org. January 10, 2008.
Accessed January 17, 2019. http://www.bittorrent.org/beps/bep_0000.html.
BITTORRENT
FOUNDATION
2019
v0.8.7
WORKING
DRAFT
-
SUBJECT
TO
CHANGE
14
Figure 4. Ecosystem success benefits all participants.
The purpose of the BTT incentives will be to:
● Promote the BTT project to current and prospective participants, whether they
are service providers, service requesters or both. This means finding and
introducing new application developers who are interested in participating in
service requests or service provision.
● Govern membership and participation rules for the BTT ecosystem, with the
overarching objective of establishing a level playing field on which all can
participate fairly.
● Govern the equitable and transparent distribution of rewards and incentives such
that promising ideas have a fair chance and productive outcomes are fairly
rewarded.
● Partner with BitTorrent.org volunteers to facilitate discussion around future
BitTorrent protocol extensions.
Once the BTT project is running sustainably, we may consider transitioning the rules and
procedures it has established for administering BTT incentives into an instrument with lower
overhead, such as a decentralized autonomous organization (DAO).
Implementation Considerations
Blockchain
BTT applications will be supported by the tens of millions of BitTorrent daily active users. To
minimize opportunities for fraud, BTT applications will provide service in small increments,
waiting for payment to be confirmed before additional service is provided. This will require
transactions to be handled at a granular level and confirmed in a matter of seconds, ideally in
less than a second. Even the most conservative estimates of capacity requirements anticipate
dozens of transactions per second. With these needs in mind, it is clear that existing public
blockchains will not be able to support on-chain processing and settlement in the near future.
User Controls
We plan to introduce features such as BitTorrent Speed and BTT transactional support into
BitTorrent and μTorrent clients in phases to allow us to iterate towards the clearest possible
user education journey and thus to optimize end-user participation. Participation in BTT
transactions is required to be both fully disclosed and completely optional for end users.
BITTORRENT
FOUNDATION
2019
v0.8.7
WORKING
DRAFT
-
SUBJECT
TO
CHANGE
15
Initial Disbursement
The first available use-case for BTT will be BitTorrent Speed, which will be unproven at the
outset. Since new services take time to become prevalent, we may pursue a strategy of
pre-seeding the market with promotional quantities of BTT.
BitTorrent Wallets
As part of the rollout of new BTT-capable BitTorrent and μTorrent software, we will be
distributing integrated cryptographic token wallets to all users. As we will be distributing these
wallets on a large scale to mass market end users, and not necessarily to cryptocurrency
enthusiasts, we will need to pay close attention to simplicity and usability.
Use Case Diversification
The introduction of BTT wallets on the scale anticipated by this project may create opportunities
for new uses for the token that are unrelated to BitTorrent technology. We expect that many
millions of users will accumulate small quantities of BTT from providing services. These small
quantities may not have material value unless they are aggregated by service providers. Such
users may look for ways to spend their BTT that go beyond their need to incentivize seeding.
In due course, we expect to publicize this new ability for users to earn and spend tokens, and we
expect to explore partnerships to accelerate merchant acceptance of this new type of
micropayment mechanism. This will be particularly advantageous to merchants who want to
aggregate and use tokens to pay for distributed infrastructure services to support their ongoing
services.
We expect to be able to establish an economic cycle, as depicted in Figure 5, in which BTT are
introduced primarily by distributed app developers, are then traded between service requesters
and service providers both within and beyond the BitTorrent ecosystem, and may ultimately
aggregate in materially significant pools at some service providers, who may or may not be part
of the BitTorrent ecosystem.
At this point in the cycle, the service providers will exchange the BTT for distributed
infrastructure services provided by BitTorrent users, returning the BTT to the open market. For
example, long-term seeders who have earned a significant amount of BTT would be able to
exchange the tokens for distributed file storage or other services.
BITTORRENT
FOUNDATION
2019
v0.8.7
WORKING
DRAFT
-
SUBJECT
TO
CHANGE
16
Figure 5. The full BTT economic cycle.
Identity
BitTorrent as a protocol has never provided any type of identity service beyond identifying a
client on a particular IP + port number. Essentially, BitTorrent identifies instances of software
running on machines – not people. This is analogous to the identity framework behind
cryptocurrencies. If a user has access to the cryptographic token wallet software that stores a
token, then it is generally assumed that it is that user’s token. With the implementation of BTT,
we expect to follow a very similar approach to identity, tying BTT tightly to a participating piece
of client software. Beyond possibly placing a password on that wallet, we do not currently
anticipate that the BTT project will directly give rise to the need for an additional layer of identity
management in BitTorrent.
BTT Token Issuance
We will create a total supply of 990,000,000,000 BTT. Issued tokens will be distributed in the
following proportion:
● Public sale tokens constitute 6% of total token supply
● Private sale tokens constitute 2% of total token supply
● Seed sale tokens constitute 9% of the total token supply
BITTORRENT
FOUNDATION
2019
v0.8.7
WORKING
DRAFT
-
SUBJECT
TO
CHANGE
17
● Tron airdrop tokens constitute 10.1% of total token supply, to be spread out over the
next six years
● BitTorrent protocol airdrop tokens constitute 10% of total token supply
● BitTorrent Team and the BitTorrent Foundation were allocated 19% of total token supply
● TRON Foundation received 20% of the total token supply
● BitTorrent ecosystem is allocated 19.9% of the total token supply
● Partnership tokens constitute 4% of the total token supply
More information can be found at Binance Research.
Users of BitTorrent Inc.’s torrent clients,and possibly other torrent clients which choose to
implement the required set of protocol extensions, will be able to submit a CAPTCHA or proof of
work that will allow them to access an initial balance of BTT.
Conclusion
We have presented our motivation, qualifications and plans for extending BitTorrent via the BTT
project, starting with a new core feature designed to improve the BitTorrent ecosystem, a new
cryptographic token, and a practical implementation of cryptographic token transaction
processing at scale.
We have outlined how we are generalizing this approach to enable other distributed app
developers to use a distributed infrastructure platform composed of more than 100 million
consumer BitTorrent clients for the provision of networking and storage resources in return for
BTT.
We have described the mission and operation of the BTT incentives program, which will be
dedicated to driving the number and success of the BTT distributed apps. It will manage the
progressive release and distribution of BTT to the ecosystem participants that are successful in
driving useful platform adoption.
We have discussed implementation considerations and challenges and how we expect to
address them.
And we have presented a plan for how tokens will be issued and shared in the pursuit of a
stable, thriving economy built around the sharing of computing resources by millions of
ecosystem participants.
The potential of this project is compelling due to the disruptive decentralized applications that it
will enable; its open ecosystem approach, which will welcome and reward participants at every
level; and the enormous head start the BitTorrent ecosystem enjoys in the building and
deployment of a decentralized computing economy.
BITTORRENT
FOUNDATION
2019
v0.8.7
WORKING
DRAFT
-
SUBJECT
TO
CHANGE
18
FAQ
Why not rewrite the BitTorrent protocol?
We considered a fundamental rewrite of the BitTorrent protocol to allow collaboration to be
persisted over time and to ensure the “right seeding behavior” was rewarded so that valuable
content with only occasional demand would be available for longer. We imagined a protocol
which would both download (like BitTorrent) and hand out longer-term incentives (like bitcoin
mining rewards). After lengthy consideration, we discounted this approach for several reasons:
1. Difficulty of the problem. Implementing an incentive system at the protocol level requires
precise thinking about objectives. We found it impossible to articulate clearly what the
long-tail seeding objectives should be and how to avoid gaming them; there are plenty of
BitTorrent swarms that die because no one cares (e.g., a better version of a file becomes
available). The only tractable answer seemed to be to implement a voting system to let
consumers judge, but that seemed to call into question the desire to wrap everything
into the protocol. In short, trying to systematically discern what should and should not be
preserved seemed like a problem we were poorly equipped to solve.
2. The strict need to be better than the existing BitTorrent protocol (a.k.a. “soft-fork not
hard-fork”). The BitTorrent ecosystem is now so big that a hard fork would have an
extremely low chance of success. Any protocol rewrite would have to be compatible with
the existing BitTorrent ecosystem; that immediately rules out features such as penalties
for not seeding, as users would just choose clients which implemented the “old”
BitTorrent protocol, which did not penalize them.
3. Conviction that we were over-complicating the solution. The likely need for human agency in
the system (people voting) convinced us we should focus on simpler extensions to the
current BitTorrent protocol, and design a voting system that was based around a
cryptographic token. This has the advantage of allowing the market to determine what
should be seeded while leaving BitTorrent enhanced, but not changed at its core.
Why did BitTorrent not include incentives when it was invented?
Projects that were forerunners to BitTorrent did try to imagine how a system of persistent
incentives might be managed. They foundered largely due to the difficulty of finding an effective
solution to “keep the score” while operating at scale. Blockchain and distributed ledger
solutions using cryptographic tokens present a powerful way to keep the score such that
transactions can be processed and a ledger may be managed at scale even without perfect
trust between all parties.
BITTORRENT
FOUNDATION
2019
v0.8.7
WORKING
DRAFT
-
SUBJECT
TO
CHANGE
19
How can this solution help me circumvent net neutrality adversaries?
Proxying from IP to IP will enable users to find content that is blocked by an ISP in their
geographic area by connecting to it via an intermediary to which both site and requester can
connect.
How will you protect end users’ computers from malicious attacks?
The usage of end-users’ technical resources will be strictly limited to the provision of technical
services such as networking or storage within carefully bounded limits. Network connections
will be protected by uTP, a self-adjusting bandwidth mechanism which ensures applications
throttle back if there is any indication of other apps (even on other devices) using the network
connection. Storage will be encrypted and limited to a user-configurable maximum. Users will
be able to configure which applications they accept and which they do not. The provision of BTT
services is limited to simple infrastructure operations and will in no way permit untrusted third
parties to execute code on a user’s device.
Can users opt out if they do not want to provide their resources or earn tokens?
Yes. Users will always be able to configure the parameters of their sharing or turn it off entirely
if they choose. There will be nothing mandatory about BitTorrent extensions, and users will
retain the right to opt out at any time and for any reason.
BITTORRENT
FOUNDATION
2019
v0.8.7
WORKING
DRAFT
-
SUBJECT
TO
CHANGE
20
References
"Blockchain Wallet Users." Blockchain.com. Accessed January 17, 2019.
https://www.blockchain.com/charts/my-wallet-n-users.
Harrison, David. "Index of BitTorrent Enhancement Proposals." BitTorrent.org. January 10, 2008.
Accessed January 17, 2019. http://www.bittorrent.org/beps/bep_0000.html.
Kaune, S., R. C. Rumin, G. Tyson, A. Mauthe, C. Guerrero, and R. Steinmetz. "Unraveling BitTorrents File
Unavailability: Measurements and Analysis." 2010 IEEE Tenth International Conference on
Peer-to-Peer Computing (P2P), 2010. doi:10.1109/p2p.2010.5569991.
Vuze wiki contributors. "Availability." Vuze wiki, https://wiki.vuze.com/w/Availability. Accessed January
17, 2019.
Wikipedia contributors. "Comparison of BitTorrent clients." Wikipedia, The Free Encyclopedia,
https://en.wikipedia.org/w/index.php?title=Comparison_of_BitTorrent_clients&oldid=864318824.
Accessed January 17, 2019.
BITTORRENT
FOUNDATION
2019
v0.8.7
WORKING
DRAFT
-
SUBJECT
TO
CHANGE
21