Skip to content

genesisdotre/lightning-network-cant-be-evil-streaming-payment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 

Repository files navigation

Lightning Subscription Dashboard

This project is inspired by: https:/genesisdotre/Bitcoin-Games-nLightning-Mind-Chrome-Extension

I was trying to find if there is a way of streaming payment, literally satoshis per second.

Question on StackOverflow: https://bitcoin.stackexchange.com/questions/88117/does-lightning-network-has-concept-of-continuous-stream-of-value

Streaming payments is not part of the lightning network protocol yet. However you can build a lightning app that simulates exactly this.

I'm stealing this idea. Not exactly stealing because I feel partially responsible for thinking about it, just not being fully aware if this is already a part of the protocol

build and support technology that can’t abuse users

You are in control of all your subscriptions.

Pay for the stuff you are actually using.

Revolutionary, paradigm shapeshifting ⚡️️️⚡️️️⚡️️️

Building blocks are here, conecting the . . .

It’s not Netlix and other companies keeping your billing details, credit card data.

It’s not service providers holding on to your upfront payments.

It’s not banks overcharging you, stacking hidden fees.

It’s you pushing payment to them.

You are in full control, they cannot run away with your money, they can’t be evil.

Using decent defaults

insurance mobile plan bike rental
OLD 🏦 pay annual pay monthly pay daily
NEW ⚡️ pay daily pay hourly pay every minute
Default increment 1 day 1 hour 1 minute
Default prepayment 1 week 1 day 15 minutes

Grace period

There should be some buffer, reservoire, grace period.

I don’t want to lose my subscription just because my node went offline.

I pay for my internet, my internet is down, cannot SSH to my node and fix it. Catch-22, just like this outage by Google: https://www.wired.com/story/google-cloud-outage-catch-22/

As my longevity (reputation, loyalty) as a customer increases the service provider can tweak the values.

Initially, as we operate in a trustless (hostile) environment, it will be a customer who should prepay for the initial duration of the service.

Assuming both nodes are online

For simplicity we can assume for nodes are online, if one of the nodes is offline cannot do much.

  • If my node is online and their node is online then I can request the new invoice via REST API, get the invoice and pay it.
  • If my node is offline, then cannot pay anyway.
  • If their node is offline, then cannot pay anyway.

Minimal treshhold payment

Fees on lightning network: unfairly cheap.

BUT… I ran into a feature, when I couldn’t send 1 sat because the fee was too high.

It was not possible to send 1 sat and spend 1 sat to send it.

I suggest we set the default for 1000 sat which is $0.09 at the current prices.

ARCHITECTURE

Wannabe integrations

Real-life use cases

Receiving end

Let's assume this project is completed and we have ability to stream payments on Lightning Network. But who will be the receiver on the other end?

Bitrefill - 13 June 2019 - https://www.coindesk.com/bitcoin-startup-bitrefill-raises-2-million-seed-round-for-worldwide-expansion

OpenNode - 19 Decemeber 2018 - https://bitcoinmagazine.com/articles/bitcoin-payment-processor-opennode-gets-125m-investors

Webhook callbacks

Blockstack login

BONUS

Full control, can't be evil?

So let's assume I rented a VPS and it's spinning CPU cycles... Is it really my own machine, my own node, how do I assure it's not backdored right from the start?

Related projects ecosystem

Since I started working on this project, I've discovered the following:

This is ideal for apps that have small, frequent payments to access content (For instance, a video streaming platform that charges you for every minute of viewing time.)

It's a decentralised app for continuous payments. Up to you to decide what to use it for, but works best for paying salaries by the minute 💸

Spontaneus payments (WIP)

Currently there is no “force push” to a trigger payment, need to have invoice first.

Check this out: lightningnetwork/lnd#2455

Team

Releases

No releases published

Packages

No packages published