15

Lightning network's first prototype code is online, so it's about time we learn more about what it is. (At least I wish some people would…)

What are the expected trade-offs of Lightning Network to Bitcoin mainchain?
Some points that would be nice if they got covered:

  • privacy
  • confirmation speed
  • fees
  • time until spendable

And for the bonus: Will Lightning Network be centralized?

  • 2
    I think this question is going to be largely hypothetical, since a lot of major design decisions haven't been nailed down yet. To pick an example, the way that clients fetch a list of nodes and choose how to route their payment has not been figured out yet. The very simplest solution would be to load a list of known good nodes from some central server. A more decentralized solution would be to discover peers like Bitcoin does - but that requires a scalable way of automatically detecting misbehavior. It's not clear which solution they would choose, or if they would choose some third solution. – Nick ODell Jan 29 '16 at 1:57
  • @NickODell: I wasn't aware that the project was still shifting so much. If it can't be answered yet, then it's probably still a good question at the point when it gets answerable. :) – Murch Jan 29 '16 at 10:37
8

Below describes these points during what's planned to be normal operation. Once a channel needs to be torn down because of a problem with one of the nodes (evil or accidental) some of these answers are a little different.

  • privacy - Privacy is not a linear scale, but there are a few factors that clearly improve privacy:

    • Very few transactions actually end up on the permanent and public blockchain. And those are a payment from you to an LN node (or vice versa) and there is no record on the blockchain of the actual destinations (or sources) of the money.
    • Routing of messages (and LN transactions) will be done in a Tor like fashion (Onion routing) with encryption of the message such that intermediate nodes can't read the transactions nor do they know the true origin or destination (IP address) of the transaction.
    • To obfuscate your actions, you can pay to yourself from one channel to another, and I'd assume it's a lot easier to do quick and trustless mixing through LN.
  • confirmation speed - You don't need to wait for any confirmations at all, so transactions are truly instant. Network latency (multiple hops) will be the deciding factor as all encryption and other overhead is low even for relatively low end hardware (phones).

  • fees - Every hop will want a little bit of fee for the service of forwarding your transaction. This can be pretty tiny though, allowing for true micro payments. In some cases nodes might want to balance out their channels and give you negative fees depending on which direction the money is flowing. This will create an interesting market between all the nodes offering their services and keeping fees fair and low.

  • time until spendable - Immediate. Any money you receive on a channel you can immediately spend again (through the same channel). If you want to settle on the blockchain and then spend the bitcoins there, you'll first have to close the channel, which under normal conditions requires the standard 10 minutes confirmation time (you don't need more confirmations, although the person you are sending the Bitcoins to might still require 6 confirmations).

  • centralized - The software is fully open source. Any one can start up a node, put some Bitcoins in and start offering their service to the network and earn some fees for doing it. This low barrier to entry and ease of use should provide enough competition and enough nodes to make it decentralized.

    There are some caveats: people will have to put some funds into the node that are at risk if the device gets hacked (initially possibly through bugs in LN, but in general through any malware or badly secured and outdated operating systems). This might be a slightly centralizing force as security is relatively cheaper to do at scale.

    DOS protection might be something to think about too. Maybe have the option of using a 3G phone or other channel invisible to the attackers (even sneakernet!) when a true attack is underway and you need to close some channels before they expire. Very little bandwidth is necessary to do that, I'm not sure a DOS attack make uploading a few transactions impossible anyway.

    Also I think it's required (or maybe just wise) to run a full Bitcoin node (possibly pruning) on the LN node. LN needs to have access to the blockchain data in a trustless way and need to be able to send transactions to the Bitcoin network reliably in case it's necessary to tear down a payment channel (within a certain timeout). A pruning full node is not that bad to run, but there's a bit of cost that would be lower in a centralized situation.

  • I'm accepting this for now, but I will probably post a bounty to get it updated once LN is up and running. – Murch Feb 21 '16 at 10:22
-1

1.Privacy: All are better than before.

2.Confirmation speed, Good and bad. It's complicated:

a) Good: If you already have a channel with other party, it's an instant transfer.

b) Bad: If you are new to each other, it takes minimum 1 block time (10 mins) to create a channel and you both need to drop funds into that channel. After the lightning transaction, you need at least another 1 block time to close the channel, so the fund can be spent again to others.

c) Worst: If another party transfer you the fund, but refuse to close the channel(or simply go offline before the channel close), your single-side application to close the channel will take 1.5 weeks or so, to make that fund re-spendable.

d) Special: The market may lead to a situation that a "Super Node" may show up who already have millions of pre-build channel with everyone. So everyone can transfer fund to each other fast. I will explain below.

3.Fees Generally it will get lower, very close to 0.

4.The Centralize:

a) Sooner or later, the vendors (online market or local coffee shop etc.) will encourage people to create a channel with a "good node" in advance, for the always faster transaction experience. It costs almost nothing to users anyway.

The "super nodes" may start small like a "Sydney local transaction node". Everyone who linked to that node can transfer fund to each other without a delay. Easy for you to buy a cup of coffee in Sydney.

Eventually, some nodes may get bigger, like people will find that if we all join "Australian Super Node", we don't need the "sydney node" anymore.

At the end, There may be 2~6 "super nodes" alive in the world, who have pre-build channel with almost every bitcoin user (people link to them voluntarily) then everyone transfer to anyone will be lightning fast.

b) The "super nodes" doesn't have your funds. The bitcoins you deposit into a channel is moved to a virtual multi-sig address, and the flow of the fund is decided by the "smart contract", it means:

If the "Super nodes" got hacked, your money is still yours, since the "super node" doesn't have your signed contract saying you give up your money. Same as if you holding a signed contract saying you received the fund from another user B, the contract will still be valid and you will have that money.

So the "Super node" is behaving like a "Powerless Middleman" who help to pass the fund around, without the ability to modify anything, even it got hacked.

c) People don't need to care too much about who is the "Super nodes", since they are powerless and everyone can be a new super node. The only thing that worries me is in that future, if 1~2 super nodes suddenly break down one day, there will be tons of "closing channel" and contract reset requests go back to the main blockchain (suddenly from millions of users). How the main blocks will handle that kinds of flood is still unknown.

  • "super nodes" would have to freeze immense amounts of capital in order to make the payment channels work. If only the other parties put money into the channels, the super node cannot push money out to the recipients. This is a strong deterrent to such "super nodes" growing too big. From your description it seems to me that you may not have considered that in your analysis. – Murch Apr 4 '17 at 9:30
  • 2b is completely wrong. You don't need a channel "with each other". Nor do both aides have to drop in funds. 2d and 4 are unfounded and unlikely. A supernode would have a huge opportunity cost having its bitcoins locked up in many unused channels for no gain. – Jannes Jan 28 at 10:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.