
Show HN: Web3Torrent – Adding Ethereum Micropayments to WebTorrent - lihorne
https://blog.statechannels.org/introducing-web3torrent/
======
yoavm
"Torrenting has an incentivization problem. There is sometimes a real lack of
incentive to seed a file, especially for obscure files where you may only find
a single digit number of people that have it. Adding monetary incentives to
the existing torrenting structure should prove to be extremely interesting."

In my opinion, if torrenting meant one needs to pay for download, we would
never have heard about torrents. This might give people more incentive to
seed, but I'd never use it for what I use torrents - get stuff for free or
reduce the load of FOSS servers.

To me it's the usual crypto thing - very cool from a technological
perspective, not useful in real life.

edit: typos

~~~
xiphias2
People are already paying for downloading seeded torrents, they are just
hidden behind private trackers, as the public torrent selection is quite
small.

I'm also paying for youtube premium, at the same time the people I'm listening
to have to be careful not to say ,,COVID-19'', because their revenue would
drop to 0, even though it was the main meme of the last few months. I would
happily pay them through lightning network instead.

~~~
heavyset_go
Of the private trackers that I know of, only the ones that solicited donations
were raided and taken down. I am unaware of any explicitly _paid_ private
trackers, and such a business model seems like a great way to conjure the ire
of the FBI.

~~~
namibj
They instead require seeding performance/behaviour that almost necessitates
renting a seedbox.

~~~
londons_explore
I don't understand the sites that require a > 1.0 seed ratio... Like it's
mathematically impossible for everyone to seed to > 1.0

~~~
keyserzose
It's possible because of freeleech downloads or finding the files elsewhere
and seeding them, but > 1 ratio is very strict indeed.

------
saurik
I honestly haven't spent much time looking into "virtual state channels", but
I guess, as someone from Orchid, where we have been tackling this kind of
problem in what I've always felt was a much simpler and "more straightforward"
way than needing a full "layer 2" network--we are using "probabilistic
nanopayments", which is a concept that goes back to the 90s and thereby
doesn't have a lot of "crypto" context associated with it, but even that
always felt like a feature ;P) that allows for amortized on-chain settlement
in a fully peer-to-peer/distributed way (with no federated network of channel
"hubs")--I'm really curious to know if anyone has tried to compare/contrast
the techniques. (I'd then offer to help doing an integration of our system,
which we've had in production for a bit now as part of an app that looks a bit
like a pay-by-the-usage VPN market, into Web3Torrent, but I can't tell if the
background goal here is to examine all solutions in an attempt to make
Ethereum more usable, or if the effort is to narrowly focus on this specific
vision of state channels, at which point that would clearly be an awkward
interaction at best ;P.)

------
rixtox
I'm supprised no one has mentioned the fair exchange problem: if A, B engage
in an exchange protocol, say A sends data to B while B paying to A, how to
achieve fairness using an asynchornous protocol. Without a third party, either
one of the two parties has to be in a position of advantage where it can
choose to walk off without fulfilling his part of the contract.

The problem still exists under "micro-transaction" scheme, but in a less
exploitable sense: because each transaction only involves a small amount of
money or data, it's probably okay if you encountered with a cheater with one
or two transactions. You can just block them after catching them cheating.

But the cheaters can still exploit this problem for their own gain: they just
repeat this scheme with all other users on the network, until they received
the whoe file without spending anything.

I don't see this protocol preventing such exploitable scenario. In fact it's a
very difficult problem to solve efficiently and without a traditional trusted
third party. It's even been proved [1] that strong fairness is impossible
without a trusted third party. However relying on blockchain as a thrid party,
it's possible to achieve this, and there are implementations [2] out there,
but the challenge is throughput. Most of these solutions can only handle
kilobytes/s of throughput. The computational barrier here is the vast amount
of modular exponentiations.

[1]
[https://www.cs.utexas.edu/~shmat/courses/cs395t_fall04/pagni...](https://www.cs.utexas.edu/~shmat/courses/cs395t_fall04/pagnia.pdf)
[2] [https://github.com/sec-bit/zkPoD-node](https://github.com/sec-bit/zkPoD-
node)

~~~
brugeman
Great point. Not sure about state channels, but there are proposals for the
Lightning Network. You could reveal a packet of data inside the payment
confirmation itself, so it becomes atomic [1]. However, there are still
issues: throughput, obviously, but then there needs to be a way to check the
packet of data for correctness.

[1] [https://lists.linuxfoundation.org/pipermail/lightning-
dev/20...](https://lists.linuxfoundation.org/pipermail/lightning-
dev/2019-November/002313.html)

~~~
rixtox
Yes, it's the basic idea of all the blockchain based implementations. The
challenge here is you have to seal the data packet first, make a layer 2
commitment that has some kind of cryptographic binding to the data. Then you
have to have a mechanism to atomically open the data while paying the
contract. This can be done with some homomorphic properties of some
cryptographic primitives but the computational cost is currently very high.

------
reidjs
I like this approach to incentivize seeding, this could create a boom in
torrenting if it works decently well and enough people hop on board. Too bad
this is only running on test net, understandably.

~~~
miohtama
Good luck trying to cash out any meaningful amount. You would need to declare
source of funds and you really do not want write "piracy" to your bank.

~~~
crispyporkbites
Right but if you can get priority downloads on torrents, access to early
releases or use the currency for other things (eg a VPN) Then you don’t need
to cash out at all

~~~
miohtama
You are just shifting the anti-money laundering responsibility for merchants.
It is not going to be a long term game.

~~~
crispyporkbites
Cash has been around for millennia

------
miguelmota
Web3Torrent FAQ: [https://www.notion.so/web3Torrent-
FAQ-9f384d9dbadc4828aa81e1...](https://www.notion.so/web3Torrent-
FAQ-9f384d9dbadc4828aa81e14fcc360466)

------
lgats
How long until this is built into a decentralized PopcornTime-like service?

~~~
Sargos
This would become the ultimate streaming service. All titles, from everywhere,
available on one service. Add in a revenue sharing model for copyright holders
and you've got the ultimate entertainment platform.

~~~
pkage
That was the original idea for Netflix, but the problem is that all the
copyright holders decided that they wanted the profits that Netflix was
pulling in and created their own streaming services.

Pretty soon some ISP is going to sell a bulk subscription to these streaming
services alongside their internet package and we'll have truly come full
circle.

~~~
Sargos
Yep, all of the property owners want their rent seeking platforms.

The fun thing about this service is that the copyright holders don't get a
choice. Their content will be on the platform regardless of what they want so
they have an incentive to join the profit sharing in order to better control
their metadata on the service and provide better support for their users. Or
they can sit and complain and lose out on any of the profits.

~~~
thekyle
Sounds kinda like the idea behind the Brave browser.

------
homakov
I can routinely download any torrent in the world on top speed... What problem
does it solve?

Torrents, as a poor choice for the "killer app", aside, state channels are a
curious technology but most traditional implementations [fully pre-
collateralized channels] have a design flaw where no one wants to put money to
the end user, while happily accepting inward capacity from the senders.
Haven't looked into this specific implementation, i wonder if it has a fix for
this. "Virtual channels" sound relevant here.

~~~
imhoguy
Can you? What about these countless "0 seeders" rare materials which never
start or stop forever at 90% mark?

~~~
homakov
Didn't experience this problem much.

If not found on any tracker, such a material is probably too rare for anyone
to care about. Even with some monetization model in place, it would be
unrealistic to keep all sorts of "rare" materials in the world to make $1 from
a random stranger coming once a year.

Anyway, I would't pay $1

~~~
vvillena
Rare materials are what made some trackers great. Remember what.cd? That was
the most comprehensive music catalogue ever. And it worked.

Also, there's the issue of people finding rare source materials, but keeping
them to themselves, because sharing is a hassle. Monetization would help
incentivize these people.

~~~
homakov
Okay than just my two cents. I use torrents a lot and never had a problem
finding what i needed, and i would certainly not pay a dime for some obscure
per-bite streaming. Not in torrents.

~~~
Acrobatic_Road
Private trackers may have free entry but cost money in other ways. It's not
easy to get buffer on a home connection. I have probably spent $200 on my
seedbox over the years. Pay-per-bite sounds a lot cheaper in contrast.

~~~
homakov
In context of the US maybe it is different. Mine is 200mbit/s no caps $7/mo
connection - common in Moscow - and I don’t remember caring about traffic or
speed ever. Any torrents with 5+ seeds is like whoooosh and it’s done.

------
awirth
Is there a BEP to make this work for native torrents too?

Also I don't understand the name "Web3torrent", is it intended to indicate a
new version?

~~~
cchance
Web3 is basically distributed internet to my knowledge, things like hosting on
IPFS etc

------
tomphoolery
> Users can upload files and begin seeding to earn small, incremental, amounts
> of money from anyone that downloads from them.

How do you know that the user uploading the file actually owns the rights to
distribute the file? Wouldn't this just incentivize those with the
infrastructure (e.g., money/bandwidth) to take over the market and suddenly
get paid for sharing others' content?

The idea of "let's combine a distributed filesharing system with a distributed
currency" is completely sound, and one that I've worked on in the past. But
this is a totally backwards way of approaching the problem. You have no way of
actually paying the content creators, just the content hosts. It's just more
of the same, and at least with Spotify I get some neat analytical tools. But
this just seems like it's designed to help the people who run topsites, not
the people who actually make the content and NEED the money.

Thumbs down until you figure out the problem of rights management through your
protocol.

~~~
neiman
They're building a software, not a service. They can't control what their
users do with their software, in the same way that Microsoft can't control if
you use Word to re-publish Harry Potter under your name.

Evaluate them by the software they build, not by how potentially some people
will use it.

------
typingmonkey
Can one state channel be used to pay multiple seeders? Or do I need to create
a budget for each seeder I want to interact with?

~~~
tmcls
The funds you deposit at the beginning can be used to pay multiple seeders.
You have one "ledger channel", funded by that on-chain deposit, which is being
used to open a "virtual channel" for each seeder you connect to.

There's a bit more about it in this post:
[https://blog.statechannels.org/channels-funding-
channels/](https://blog.statechannels.org/channels-funding-channels/).

~~~
typingmonkey
Thank you for explanation. So this solves something I waited for very long.

------
random_kris
Could this be ported to bitcoin lightning ?

~~~
tmcls
[Member of the statechannels.org team here.]

Not directly. State channels are similar to lightning, but there's a key
difference:

* in lightning each payment is routed through the network independently, requiring participation from the intermediary nodes

* in a state channel the intermediary nodes are used to establish a channel and then the payments are direct

The upshot is that in state channels, once the connection is established, the
payments are truly peer-to-peer, and don't need any interaction with a third
party.

We use this property in Web3Torrent, as the payments are sent directly peer-
to-peer on top of the webtorrent messaging layer. This wouldn't be possible
with lightning, though you could probably find another way to accomplish
something similar.

~~~
homakov
What happened to traditional definition of state channels?

It used to be just like payment channels, but with a bigger scope and more
fancy state operations.

The trick with avoiding multiparties was called "virtual state channels" or
something like that. When did it change?

------
neiman
Like other people here, I think it's technologically interesting. Also, like
many others, I don't see any great practical use-cases for this right now.

However, "if you build it they will come". I'm excited to see what will the
creative minds of the internet do with this technology once it exists.

------
russdpale
Im not sure this article understands why torrenting is popular.

------
radicalturkey
This is really cool! Will you be using it for other crypto as well?

