8 ms·
Show HN: Web3Torrent – Adding Ethereum Micropayments to WebTorrent
- random_kris 6y agoCould this be ported to bitcoin lightning ?
- miguelmota 6y agoNot really because it’s tightly coupled with Ethereum smart contracts. It looks like it was built on top of WebTorrent App (webtorrent.io). Web3Torrent is currently live on the Göerli testnet.
- tmcls 6y ago[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 6y agoWhat 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?
- tphyahoo2 6y agoI will try to assume good faith here, and just state facts. Lightning channels are 2 end points, p2p. Lightning routes are a sequence of lightning channels. Routes are also 2 end points, also p2p. No trusted is required for intermediaries. Every internet packet, unless it is you to your lan router, passes through many intermediaries. I have no idea how ethereum state channels work, but I assume they route using tcp/ip, and statechannel team understands this as p2p. So anyway, lightning is p2p. Cheers. https://standardcrypto.wordpress.com/2020/04/30/a16z-struggles-to-earn-passing-grade-in-crypto-fund-ii-learn-by-doing-classroom-project/ https://standardcrypto.wordpress.com/2020/04/30/a16z-struggl...
- xiphias2 6y agoThere's no reason why it couldn't be implemented. At some point I'm sure it will be, as these kinds of protocols are needed for decentralized data sharing in the future.
- brugeman 6y agoI guess so. Seeder would need to send us a lightning invoice, and after we make a payment we'd repeat the request with a proof of payment and the seeder would send us the next chunk of data. AFAIK Bittorrent protocols are quite extensible, and adding such metadata should be possible. However, this (paid torrent seeding) only makes economic sense if all seeders demand payment, and then the cheapest ones will be winning, driving prices close to zero. Nice idea anyways, great to see people experimenting in the space!
- sebstar 6y ago[perun.network member here] It would be possible using Bitcoin Virtual Channels as introduced here: https://eprint.iacr.org/2020/554 https://eprint.iacr.org/2020/554 But the implementation of this is hard.
- miguelmota 6y agoWeb3Torrent FAQ: https://www.notion.so/web3Torrent-FAQ-9f384d9dbadc4828aa81e14fcc360466 https://www.notion.so/web3Torrent-FAQ-9f384d9dbadc4828aa81e1...
- yoavm 6y ago"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 6y agoPeople 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.
- rytill 6y ago> the people I'm listening to have to be careful not to say ,,COVID-19'', because their revenue would drop to 0 I don't understand what you meant by this. As in, everyone's tired of hearing about it?
- slg 6y agoEarly on in the pandemic, Youtube was demonetizing videos related to COVID-19 as they do for numerous other sensitive topics like war, death, or terrorist attacks. Many Youtubers would therefore be cautious even mentioning it tangentially to prevent that potential demonetization. I think it has been months since Youtube adjusted their policy on this to allow monetization (EDIT: Yep, this policy was changed over 3 months ago[1]). [1] - https://techcrunch.com/2020/03/11/youtube-will-now-allow-creators-to-monetize-videos-about-coronavirus-and-covid-19/ https://techcrunch.com/2020/03/11/youtube-will-now-allow-cre...
- reidjs 6y agoI 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 6y agoGood 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 6y agoRight 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 6y agoYou are just shifting the anti-money laundering responsibility for merchants. It is not going to be a long term game.
- crispyporkbites 6y agoCash has been around for millennia
- lgats 6y agoHow long until this is built into a decentralized PopcornTime-like service?
- Sargos 6y agoThis 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 6y agoThat 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 6y agoYep, 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 6y agoSounds kinda like the idea behind the Brave browser.
- derefr 6y ago> 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. The real question is why there isn't a Aereo-like service where users time-share a pool of streaming subscriptions on different streaming services.
- typingmonkey 6y agoCan 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?
- lihorne 6y agoThe budget concept is a security measure between the app and the wallet, so that the app code only has control over a fixed amount of funds in the wallet. Within the app context, an unlimited number of channels (up to the budget capacity) can be opened. The video at the top of the blog post is an example of a single user downloading from multiple other leechers & seeders while simultaneously uploading to other leechers.
- tmcls 6y agoThe 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 6y agoThank you for explanation. So this solves something I waited for very long.
- homakov 6y agoI 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 6y agoCan you? What about these countless "0 seeders" rare materials which never start or stop forever at 90% mark?
- homakov 6y agoDidn'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 6y agoRare 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 6y agoOkay 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.
- saurik 6y agoI 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.)
- tomphoolery 6y ago> 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.
- saurik 6y ago> How do you know that the user uploading the file actually owns the rights to distribute the file? While I appreciate that BitTorrent files are technically used to distribute some "legitimate" things, even in those cases the people you are talking to are part of a swarm: like, the premise is that you are paying someone to have helped you get more of a file you are downloading that everyone has agreed shall cost nothing (whether or not it actually does), not that you are compensating them for the file itself (which would have value above and beyond the bandwidth and cpu costs).
- neiman 6y agoThey'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.
- neiman 6y agoLike 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.
- Proven 6y agoThe inconvenience of having to open a KYC'd crypto exchange account to buy crypto and use it is way worse than finding a free torrent to download. Not to mention the difference between paying for pirated content (or worse, selling it) and doing it for free. Congratulations on reinventing a bad solution to a problem that doesn't exist.
- awirth 6y agoIs 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 6y agoWeb3 is basically distributed internet to my knowledge, things like hosting on IPFS etc
- Temasik 6y agoi still think ethereum will fail.. miserable public blockchain still have zero use case
- radicalturkey 6y agoThis is really cool! Will you be using it for other crypto as well?
- rixtox 6y agoI'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/pagnia.pdf https://www.cs.utexas.edu/~shmat/courses/cs395t_fall04/pagni... [2] https://github.com/sec-bit/zkPoD-node https://github.com/sec-bit/zkPoD-node
- brugeman 6y agoGreat 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/2019-November/002313.html https://lists.linuxfoundation.org/pipermail/lightning-dev/20...
- rixtox 6y agoYes, 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.
- russdpale 6y agoIm not sure this article understands why torrenting is popular.