lbryio / lbry-sdk

The LBRY SDK for building decentralized, censorship resistant, monetized, digital content apps.
https://lbry.com
MIT License
7.19k stars 482 forks source link

Data payments #2141

Open lyoshenka opened 5 years ago

lyoshenka commented 5 years ago

This is a big issue and it can be done in different ways, from a really simple solution (no verification, pay hosts once a day) to a really complex solution (lightning, streaming payments, etc).

One key challenge is communicating what's happening to the user. When I buy a 1LBC video, how do I know how much I'm gonna pay for the data? How am I told that a payment happened? etc.

jcalfee commented 4 years ago

You might want to look at the lowest level solution that will produce the best possible results then make optimizations where you want to balance transaction bandwidth and complexity.

For example, take BitTorrent Speed but then instead of it working on parts of a file, expand it to work by channel by day. Or, maybe you can store signed non-consensus data in a DHT cache then only store the final payments in/out on the blockchain. The bandwidth for the DHT cache should be very small compared to the amount of data going through the network.

BitTorrent Speed page8 https://www.bittorrent.com/btt/btt-docs/BitTorrent_(BTT)_White_Paper_v0.8.7_Feb_2019.pdf

One open end I see in BitTorrent Speed is this: "Repeated failures to transfer BTT by a service requester can result in the service provider banning the service requester" .. Can a service requester easily create new accounts? If so, users could use a program that does this for them. If not, then this may work well for LBRY.

tzarebczan commented 4 years ago

@jcalfee , thanks so much for the feedback, we'll keep that in mind.

Can we show you some appreciation for the contribution?

Also, we're giving away some Hacktoberfest bonuses and goodies for this month. We'll get it all figured out after you shoot us an email after this is reviewed/merged.