| Let's say you're Alice. You have a channel open with Bob. Bob is connected to Carol (OKPay). You update your channel to tell Bob, I will pay you conditional upon a proof that you paid Carol. Bob pays Carol and provides proof. If Bob didn't provide proof after an agreed timeframe, this gets cancelled. There can be an arbitrary number of people between you and Bob (7-degrees of Kevin Bacon, but probably don't go too high!). This is done completely off-blockchain. At any time this can be moved on-blockchain, but since the blockchain will enforce the payment as part of its transaction scripting language, you both elect to do it off-blockchain. Think of this with the system intent/design where it represents an enforcible caching layer where invalid cache can be corrected on-blockchain. You can do thousands, even millions of these transactions off-blockchain. Only the final balance is net-settled on the blockchain. So you finalize your balance between Alice and Bob if you want to close out the channel. Note that the channel between Bob and Carol could still be left open and everything still works fine! Since it's scalable in a routed graph (think switches instead of hubs), you could potentially do millions to billions of transaactions which route value, much like routing packets on the internet. |