I’ve noticed a pattern in current layer2 scaling techniques: it is impossible to achieve cheap/instant/uncollateralized/risk-free payments all at once. You have to compromise on at least one of these properties.
Here are payment types/balance security I see so far proposed:
Onchain transfer: c̶h̶e̶a̶p̶/instant/uncollateralized/risk-free
While PoW chains seem slow, BFT Tendermint can give you finality in 5 seconds, that’s why I still consider it nearly instant. Obviously onchain payments don’t require collateral and are risk-free and happen atomically on the shared state. The only issue is it costs a lot to squeeze into the block. The block size cannot be increased as it destroys auditability and makes hardforks impossible.
Plasma transfer: cheap/i̶n̶s̶t̶a̶n̶t̶/uncollateralized/risk-free
They are cheap: your payment is hidden behind a checkpoint hash. They don’t require prior collateral and are risk-free. : 24 to 48 hours unless you employ a ton of watchtowers (and it stops being risk-free).
LN channel transfer: cheap/instant/u̶n̶c̶o̶l̶l̶a̶t̶e̶r̶a̶l̶i̶z̶e̶d̶/risk-free
Many years ago LN seemed like a perfect combo of cheap, instant and risk-free payments, but there was a catch: unrealistic liquidity expectations and collateral lock-up.
I said that . Now more and more people realize this, and I’m constantly seeing “what is receiving capacity and why I cannot receive anything?”. Collateral per-se is not a bad thing, as long as you request it on a post-paid “settlement” basis, once you’ve established a relationship with the user.
But it’s a total disaster when the hub has to provide collateral to unknown users and/or for large amounts.
XLN transfer (credit): cheap/instant/uncollateralized/r̶i̶s̶k̶-̶f̶r̶e̶e̶
Apparently, the only way to achieve cheap/instant/uncollateralized combo is to introduce risk into the system (the chance that your funds has been double-spent). And that’s fine, as long your counterparty puts their identity at stake. instantly and enforce them against counterparty’s onchain balance. If the other party is a well established identity such as a bank, your chances are very high to get funds back. Unless a major insolvency black swan happens.
Even in theory, there is no way to instantly and cheaply pay to a new unknown peer without prior collateralization onchain avoiding double spend. Otherwise, the exact same request data could have been used against multiple other peers which would result in a double spend.
We should embrace that this type of balance is inevitable, and engineer it into our systems as a temporary measure. At some point in the future the user may request to collateralize their credit balance onchain, and hub has all the incentives to facilitate that.
Published at Sun, 14 Apr 2019 14:06:59 +0000