Hacker News new | past | comments | ask | show | jobs | submit login

They are using lightning network which allows almost instant and practically free Bitcoin payments.



LN requires opening and closing channels, each of which have to be done as a regular Bitcoin transaction. The value proposition of LN is that repeated transactions with the same entity (or some subset of) can be done without high fees, but considering almost nobody is currently using LN that doesn't change things right now.


LN now has routing, so you can open a single channel with a well-connected node and transact with everyone. They will charge you a fee for this, but it is on the order of 1/100th as much as a regular bitcoin transaction.


Still all sounds really complicated, obtuse and unnecessary. They should've went with a cryptocurrency which is actually usable out of the box as a... currency.


And that crypto would be?


nano to name one


The one that just suffered a massive spam attack despite having less than $1 billion of value accrued on it?

https://www.coindesk.com/nanos-network-flooded-spam-nodes-ou...


Why? Are you saying that countries should start adopting a crypto with a market cap of barely 1B$, that's been around for a less amount of time, that's significantly less battle tested and that never recovered to it's all time high value?

Do you think that the only thing that matters for crypto is speed and fees? You don't think trust/security/decentralization have any value?

Bitcoin chooses trust and security above everything else, as it should. Then you can have layers on top where you transact at the speed of network packets.


Monero or ethereum, both superior to bitcoin in every way.


Routing in LN has a bit of a problem where sometimes it can't find a route though. My understanding is that it's an NP complete problem and it's approximation in practice leads to the dreaded "unable to find route" problem.


Channel factories will bundle channel open/closes into a single transaction significantly reducing the burden on the blockchain.

LN adoption is growing very nicely (1ml.com), there are lots of wallets and users now.


Is it possible to calculate the transaction volume in BTC over the lightning network, or is the ledger non-public in the same way that Bitcoin's is?

If I understood the Satoshi paper right, after the block reward is exhausted the network's security depends on transaction fees being high enough to sustain a strong level of security. If Lightning brings transaction fees down, is that not a threat to the security of the network as the block reward becomes smaller?


LN doesn't reduce on-chain Bitcoin transaction fees, but instead attempts to move most of the transactions off-chain. With LN you would open a channel using an on-chain transaction, conduct any number of off-chain transactions in that channel, then "settle" the channel by closing with another on-chain transaction.

There basically are two different views currently on the future scalability and funding model of the network.

The LN/small block view is to keep that layer limited and small and build on top of it and the idea is that with such limited transaction volume these "settlement" transactions will eventually cost a lot. I don't really see this working since to compete with block subsidy rewards you would need very costly transactions.

The big block or "Bitcoin Cash" view is to scale the block size up and eventually you will have very high volume of on-chain transactions.


> I don't really see this working since to compete with block subsidy rewards you would need very costly transactions.

This seems to suggest that miners dictate the reward they get, rather than miners are forced to adapt to the reward they are offered.

There's no required amount of energy used for mining and miners are offered 0 guarantee of reward. Mining difficulty automatically increases and decreases depending on how profitably miners can operate. If the reward drops to the point that a miner using expensive coal can't compete with a miner using cheap solar, then they simply go out of business and hope they can sell their equipment to someone who can still turn a profit.


> This seems to suggest that miners dictate the reward they get, rather than miners are forced to adapt to the reward they are offered.

Miners don't dictate the reward they get. The subsidy is the "block reward" that started at 50 BTC and halves every 4 years, which is currently at 6.25 BTC - it will be halved again in a few years to 3.125, etc. Blocks are as full as they can be right now and rarely get to the 1.0 BTC mark, so basically if you want the transaction fee market to pay for blocks without increasing the size you'll need to pay close to 6X to 10X higher fees than the current price.

> There's no required amount of energy used for mining

This is true and actually the difficulty can decrease, but none of that changes how many transactions can actually fit into a block.

> Mining difficulty automatically increases and decreases depending on how profitably miners can operate.

Mostly accurate. Mining difficulty decreases if a block took too long to mine. There are lots of scenarios where mining difficulty could get easier - most of which don't seem plausible right now though.


Why do you need to compete with block subsidy rewards? Block subsidies are in addition to transaction fees


If you run a node on lightning, you would know how much transactions you've forwarded, so you can make estimates, especially if you run a large node (say Bitfinex that runs their own nodes), but lightning isn't public the same way blockchain is.

The 1MB block limit makes it highly likely that there will be transactions in the mempool, you still need to open/close channels (even batched ones) and presumably large transfers for cold storage still happen on the blockchain, but then again it's very difficult to say what happens in year ~2140, we'll all be long gone by then.


> [I]t's very difficult to say what happens in year ~2140, we'll all be long gone by then

I think it's more likely that at least one young person reading this news today will live to ~130 than Bitcoin making it that long.


At those time scales, it's pretty difficult to predict anything imo. That said, Bitcoin has been declared many times before and it'll continue to be predicted, it always comes back stronger.

1: https://www.bitcoinisdead.org/


It is also only 2140 if you believe that the market cap can double with the halvening schedule every four years. I see the upper bound (around gold market cap) in 3-5 halving cycles. After that the majority of the security has to be financed by tx fees


I'm referring to block rewards, the miners will get block rewards until 2140, price of Bitcoin doesn't matter.


Miners will get an exponentially decreasing amount of block rewards until 2140, but even 20 years from now the (BTC-denominated) size of the block rewards will be substantially lower than they are today.

The price matters because they are BTC-denominated. If the price of Bitcoin doubles every 4 years, the security of the system can stay at parity with what it is today (assuming the real value of transaction fees stays roughly the same).


Onchain fees constitute ~10% of current miners income, and that will probably increase, not decrease


As a percentage, it will certainly increase, but in real value? I’m not so sure, especially when on-chain transactions are competing with Lightning.


this is centralization with extra steps.


How so?


the rise and consolidation of settlement channel aggregators is going to lead to another visa / Mastercard style duopoly, "but with blockchain."


That doesn't make any sense, the channels are p2p, you can open and close channels with whoever you wish and your channel counterparties don't actually hold your funds, you hold them.


now you're making it sound like there's no need for channel aggregation at all. which is it?


I think we misunderstand each other, I'm talking about batching channel open/closes, I'm not talking about with whom you open channels.


Yep, it's like lightning is moving closer and closer to credit cards, which was what blockchain was supposed to substitute.


So "off chain" means LN holds the BTC in some other data structure then batches it up as one big transaction? Kinda like how a broker covers small retail trades until they hit enough volume to register an NYSE trade on the floor? Is that how it works? If so , this means lots of BTC is tied up in LN ... that seems dubious as heck.


Sort of.

It's not entirely off chain. It's hedged in that a transaction is created sending X BTC between us, we repeatedly update that transaction off chain every time we move small amounts of money between eachother, then after Y days we submit the final transaction to the blockchain to resolve the total amounts.

The idea being if one of us starts to be uncooperative, the other can just submit the transaction at its latest state so that we don't lose anything except that last update that we disagreed upon.


Most of the examples of Lightning that I've seen involve frequent transactions between small numbers of parties. How would this work in a retail transaction? For example, if I want to buy a cup of coffee from a shop that I visit infrequently?


My understanding is basically there's routing and there will be centralization of channels to some extent. One way to think of LN is that it is a wallet/debit card of sorts. You transfer some amount of BTC to a Lightning channel and that becomes your wallet. You can transact with that wallet quickly/cheaply but there's always the ability for that channel to be closed and put back on the chain with the last balance in the case of disputes etc..

But as you said, coffee shop needs some path to you to make that feasible. So then you get BTCVisa (c) or whatever, which is a channel provider that has built a network of channels open with lots of vendors. If you open a channel with them then you get to benefit from getting to use the wallet you already have. There is cross-channel routing of course so maybe that doesn't happen but it seems like a natural result.

LN is neat in concept, but I'm not sure I really see the point compared to Bitcoin cash or the like that just say scale on chain. I guess we'll see.


It forms a network, where transactions are routed between LN nodes/channels. You have to be in the same graph with the coffee shop. If there are small separate subgraphs, they can be connected by one common node, such as an exchange.

So, most likely the coffee shop has just one or a few channels open to popular exchanges or dedicated LN services. You open a channel either directly or indirectly to the same exchange / service.


You have onchain BTC, and you can decide to put them in a LN channel with another party (this causes an onchain transaction)

You and that party can now transact freely between each other with no fees, but if that other party is a gateway, it can route payments through it and through other gateways too, and each of them charge fees for routing.

Once any of the parties decide to close the channel, is when a new onchain transaction is created with the last balances state.

While the LN channel is open, only the parties involved know the current state of the balance.


Interesting. So it's like lots of little ledgers, each channel stays open until N number of transactions between two people complete, then the finally tally is pushed onchain when the channel closes. Am I wrong to thing this sounds a little risky? Like, that channel could be "lost" after the goods/services were exchanged, leaving the seller holding the bag. I don't understand what kind of recourse the seller has to LN if LN screws up? It's kinda like escrow, but escrow agents are heavily regulated whereas is LN "trustworthy"?

EDIT: ah, I think "nicpottier" explains a little more, below. about having an account on LN requires a certain amount of a deposit (like a debit account).


Each update to the channel is a new transaction that references the opening transaction, on each update, this transaction is replaced with a new one, so in practice only the last transaction is kept (old transactions become dangerous to publish)

To know how they update trustlessly you should read my other comment https://news.ycombinator.com/item?id=27451184

LN eliminates the need of escrow completely by using bitcoin's script (smart contracts) in clever ways and a bit of cryptography


> bitcoin's script (smart contracts

I'm out of the loop, I didn't realize bitcoin had contracts yet. Cool.


The big difference is that bitcoin's scripting language is not turing complete. This is a security and scalability trade off that the bitcoin community isn't willing to compromise on, which drove people like Vitalik (started as a bitcoin dev) away to start Ethereum.

Taproot is also a rad upgrade that is going to improve bitcoin's layer one scripting in some interesting ways, https://bitcoinmagazine.com/technical/taproot-coming-what-it...

I haven't looked into this much, but there are projects like Rootstock, https://www.rsk.co/, that essentially recreate all of Ethereum's functionality as a bitcoin sidechain.


It has always had, it is just much limited than ethereum's.

But you can express things like "if X and Y cooperate they can spend this transaction or Y can spend after 1000 blocks or X can spend if it reveals the preimage of this hash ____"

These logics are what LN uses in its update-transactions


If what you want is a more technical answer of how the balances in a LN channel is trustlessly updated, then you should probably read a more in-depth resource, it's a complicated topic. But I'll try to give you some idea.

Every transaction in a LN channel is not a simple transaction, it's a smart contract transaction that, if broadcasted, closes the channel automatically but have multiple ways of spending it further, and one of those ways allows a party to get all the funds if he has proof that the counter party cheated (closed the channel using and old-state transaction).

So those transactions that are created are never published if both party cooperate, instead, they serve as a forced-closing mechanism if the other party is uncooperative

That was just a high level view of updating channels, but opening a channel and routing a payment is another story


If you believe LN is only useful between two parties that share a channel, I suggest you do more reading.


Precisely.

Lightning scales with the number of transactions, but does not scale with the number of users. For that it still needs the bitcoin network to verify, and you're back at your transaction bottleneck but with added complexity.


That sounds fairly easy on a national exchange level, actually.


Unless the national exchange is hosting wallets it controls on behalf of individual citizens, or acting as an intermediary for all transactions—in which case you’ve negated all the features of Bitcoin and may as well be using any random currency with the government as shared banker—I don’t see how it does.

I mean, sure, “the government will be your bank for free” solves the problem of the unbanked, but renders the identity and features of the underlying currency mostly irrelevant.


Except the main benefit of BTC is really the lack of printability. Governments can't just make more of it even if they run the LN for their country. That said I don't think it will come to full LN centralization either.

There are still other cryptos that have further benefits as well.

Monero for example is fully private and can do ~1500tps on chain atm. Bitcoin adoption is just one avenue to competing currencies that bring freedom back. If the LN can remain distributed and bring anonymity to its users, then great, but if not there's still further alternatives, and with decentralized exchanges, governments won't be able to stop the use of a better system.

Currency competition is just plain great for human rights and freedom.


Just like paying "Mastercard dollars" at the store means it might as well be pesos? Presumably for transactions that are worth paying blockchain fees, you'd use the blockchain.


> Just like paying "Mastercard dollars" at the store means it might as well be pesos?

I’m talking about specifically the benefit being sold as “Bitcoin is solving the problem of the unbanked”: if the solution involves the government being a free universal payment intermediary, the underlying currency choice isn’t what is solving the problem of tje unbanked, its the government providing free universal banking services, to which the underlying currency is mostly irrelevant, that is solving that problem.

The currency choice might be relevant to other things, though.


Exactly. With this model, poof, there goes all your supposed benefits of "digital gold".


> you’ve negated all the features of Bitcoin and may as well be using any random currency with the government as shared banker

Since the goals are to 'give people without bank accounts access' and 'To make it easier to send back remittance payments'. I suppose they are just negating the value of bitcoin in general, though not for their specific use-case. Especially give the fact that the current legal tender there is currently USD which anyhow does not give the country any control over monetary policy.


Why would somebody who doesn't have a bank account be more capable of using a provider on the lightning network?


This is a good question and I think the clues are in the way informal vendors in parts of Asia and Africa have already caught on to transacting through mobile. In remote parts of ES there aren’t any bank branches and villagers have to travel an hour or more by bus into town just to open an account, when they get back to their village that same lack of infrastructure means no POS or businesses accepting cards. Feature phones and smart phones, however, are ubiquitous and this gives an “official” way of doing this.

This solution doesn’t have to be crypto at all, however. I’ve been to China where even food carts have QR codes printed on them for people to take wechat pay and ali pay.


Electronic transfers are common. But electronic payments like that are not so much.

We have Bank QR codes and something simillar to M-Pesa, but its not that widespread because there is no one standard for QR payments or similar. That makes it less practical to use because both you and the vendor must use the same bank. (El Salvador is small and there are many finatial instituions.)

Something like U.S. Zelle or Swedish Swish would help, but banks have not standardized yet.

If WhatsApp started something like WeChat payments it would become a hit. Like they did in Brazil.


You just need a phone, that's it. Banking requires all the infrastructure, etc.


There's plenty of primarily-online banks. I haven't set foot in a brick and mortar bank in well over a decade.


You presumably live in a developed economy. There's a reason 70% of El Salvadorans don't have bank accounts, and it isn't a context of easy online banking.


It's small payments what are are mostly done in cash, like the $0.20 bus fare, $1.25 lunch, $0.50 soda or $0.25 tortillas. There is no widespread electronic alternative for those payments yet here.

Free mobile banking accounts have been available for a while in El Salvador, and can be opened with a selfie and a photo of your national ID. They are only avaialble for those 18+ and older though.


primarily-online-banks are close to non existent in latinoamerica


I don't see why developing a sophisticated mobile bitcoin payment platform would be any easier.


Because you don't have to deal with custody and regulation. It's just software.


correct, just search El Zonte or Bitcoin Beach, tons of videos on youtube on how they're using lightning network in fully circular economy since entire town has been unbanked

it's pretty fantastic people! naysayers should plan to visit El Zonte, beautiful surfing community.

I plan to visit later this year and have friends who work with Strike team etc.

The future is looking optimistic!


The problem here lies when the merchant want to derisk btc/USD by often converting it back to USD after a transaction. That causes a miner fee, there is a penalty in breaking the lighting channel.


You can stay on lightning for exchanges, Bitfinex for example offers lightning deposits/withdrawals, El Salvador would too, considering they are using lightning right now.


Asking as a noob, isn't the whole point of transaction fees to prevent malicious actors from flooding the network with spam. How does lighting networks prevent that from happening and why can't one use a smiliar approach for the actual bitcoin blockchain?


The blockchain settles the transaction and records the finality.

Imagine a transaction as being a simple cryptographic signed message that sends 1 BTC to someone, you just broadcast it to the network and it gets recorded immediately. But if you expect to continue transacting with the same person, instead of broadcasting the transaction, you can hold on to it and keep iterating on top of it with new balances, each time signing the transaction so that your counterparty can always go to blockchain to claim their coins.

There's obviously some mechanism to avoid broadcasting old state and making sure you actually have the funds, etc, but you can't flood the network, even if you tried, you'd only be flooding your immediate neighbor which still charges fees, but much smaller fees than the blockchain. There's also mechanism for connecting those channels, so you don't need to have a direct channel with someone you want to pay, you just need a path to them.


High level answer: Lightning transactions happen off network and only "sync up" once in a while. In a lightning transaction, only the two individuals transacting know that it has happened. But in an on-chain transaction, that info is public.


What prevents someone from making the transaction on the lightning network, as well as the btc blockchain before the lightning network syncs up?


To open a LN channel, both parties puts their funds in an address that can only be spent if both parties agree (both have to sign)

But the way this swap happen trustlessly between onchain and LN channel funds it's complicated, I don't have it clear right now

If you want to get an idea how later the balances updates happen trustlessly see my other comment https://news.ycombinator.com/item?id=27451184


Other person node who would lose money if this happend can publish the original transaction that is construscted in a way that the attacker would lose all his funds.

So attacker could potentially do this but if they get caught they get punished for losing everything and they get caught if the other side node is online when this happens. There are also watchtowers that can monitor the network for hacks like this


The coins are essentially allocated to being on the lightning network, and cannot be used on the blockchain until the two are synced up.


It's mostly to provide miners incentive to mine beyond periodically halved builtin reward for mining a block.


This is called sharding in Ethereum and Zilliqa I believe.


AFAIK it's different from sharding. The transactions aren't being recorded on a separate chain, they're kept between the two ends of the channel.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: