70

Say, you and I want to open a payment channel. 1) Putting funds into Lightning We both send 0.05 BTC into a shared 2-of-2 multisig address. This requires a transaction on the Bitcoin blockchain. As a "balance sheet", we each create a 2-of-2 multisig transaction that pays out 0.05 BTC to you and 0.05 BTC to me. I sign one payout transaction and give it to ...


60

What are Channel Factories? In short, Channel Factories are payment channels that can be used to create more payment channels. That sounds weird, but it's really pretty simple: In a regular payment channel, you always have a transaction signed by all participating parties that's ready to commit the current channel balances to the block chain. For example,...


21

Please note, this answer was written in Februar 2015. The debate has significantly evolved since then, but I haven't gotten around to updating this answer, yet. I'm sorry, this kinda turned out less brief than it started. TL;DR: Very briefly, it is an issue of opposing ideologies: Proponents wish to provide a common good to everyone and believe the ...


17

It's not a silver bullet solution, but it's a really good start. As Gavin Andresen has said, Segregated Witness is a poor name. The 'segregated' part of the name is there to denote that there is separation being done. The 'witness' portion of the name comes from the fact that digital signatures are often time called witnesses. Segregated witness splits ...


13

Two issues with Bitcoin's design Scalability of "everyone checks everything" Bitcoin is a gossip network: P2P nodes connect mostly randomly to each other and pass-on new information to each other as they receive it. That way, information floods through the network quickly: each step further increases the nodes that were informed exponentially (...


12

What does the UASF proposal entail? The UASF proposal is an extension of BIP9 that allows soft-forks to specify a mandatory activation time. If miners have not started signaling support by this time, they must start to signal. Any blocks not signaling support for the soft-fork after this time are rejected. BIP148 is an instance of the UASF proposal that ...


11

Lightning allows you to lock coins between two wallets, and then send special transactions between each wallet which only become "real" when they are added to the blockchain. But you don't do that, because on-chain costs you more fees, so you keep updating the transactions between each other. Lightning not only makes it possible to send transactions off-...


11

Best estimates on effective blocksize with SegWit are 1.6-2.0 MB. Current transactions/second possible are around 3 tx/s. Given that the effective increase is 1.6 - 2.0x, the transactions/second are also the same multiple giving us somewhere around 5-6 tx/s. The second question is harder to answer. There's a reason I wrote "effective blocksize" since ...


11

TL;DR: No, the end is not near—we're just getting started. 20× is boring, let's figure out how to do 100,000×. Let's first talk about what we are trying to achieve. We are not actually trying to increase just the number of transactions. What we're actually trying to do is to grow the network's utility: allow more people to use Bitcoin with better privacy, ...


10

No. They can increase scale, but that is not what they are good at or intended for. Before giving a longer answer, let me first talk briefly about the difference between scale and scalability. Increasing scale means increasing the throughput or number of participants to the system. It's very easy to achieve (decreasing the time between blocks, or ...


8

As mentioned in the page you linked, it is a bit awkward to use Bitcoin-qt's accounts system. Don't bother with accounts as they are intended to be a way to manage your money within the program. When you're having thousands of accounts you are already doing it wrong. So how do you structure a service to do this? Handle accounts completely on your database. ...


7

Bitcoin transactions usually carry change, and to increase privacy and security, it is certainly no worse to generate a new address every time for receiving change than to reuse old addresses. Details maybe belong into their own question; however, it is well within the realm of reason to expect a future where most Bitcoin transactions include two new ...


7

If I understand correctly, there is a second Merkle tree of witnesses mirroring the transaction data. The witness tree's root is committed to in the coinbase, but otherwise this second tree lives outside of the block. That is my understanding as well. Don't the witnesses still have to be relayed to other nodes to validate? Only nodes that actually ...


7

A lot of people who accumulated thousands of coins in the early days spent them on silly things or cashed out during the 2012 bubble. Lazlo for example, spent 10,000 bitcoins on two pizzas. Nobody knew that bitcoin would rise to the prices we briefly saw in 2013 or that we have today. The same thing will happen again, people have a price and will very ...


7

The throughput in Bitcoin is not defined in transactions per second, rather indirectly, via block size limit. What matters in the size of transactions in bytes. The more complex the transaction is (complex meaning more inputs and outputs, long scripts), the more space it takes. A typical full (nearly 1 MB) block in Bitcoin includes around 2000 transactions, ...


7

Note, I use scaling, capacity, and scalability as follows: Scaling: Growing the network's utility in any fashion. Capacity: The number of transactions that can be processed on the network. Scalability: Capability of the network to handle a growing amount of work. On-chain scaling The term "on-chain scaling" is frequently used to exclusively refer ...


6

Generally speaking, BIP37 bloom filtering SPV has atrocious scaling though it is hard to say exactly how poor it is in the real works. Every peer must sync the entire block chain from the last they had contact with the network, in the worst case this is approximately 50GB. The node must load every single block from disk, filter it to the clients ...


6

The obvious one would be side chains, the idea being that the transactions on the side chain would be off the main chain. Most other scaling solutions are either on-chain or centralized. For example, segwit and block size increases are on-chain and using a service like coinbase to move coins off-chain are clearly centralized.


6

You are correct that transaction fees per block are much smaller than block reward, but they are still significant and rising: https://www.smartbit.com.au/charts/transaction-fees-per-block Recently the average has passed 0.5 BTC per block. With a 50x rise (easily obtainable if bitcoin use becomes mainstream in certain sectors) the reward would be 25BTC per ...


6

To the best of my knowledge this has not yet been codified and it is hard to imagine there being a need to smaller Bitcoin increments anytime soon. At this point smaller increments would suffer transaction relay problems without the addition of a miners fee far in excess of the Bitcoin being sent. This could be settled now by scheduling the change based on ...


6

The strongest arguments against dynamic blocksizes which can be determined by miner actions, is that they do not necessarily represent the interests of other participants such as users, node operators, or even all miners. If miners setting the blocksize have good equipment and connections, they may want blocks so large that others are forced off the ...


5

This is a possible issue. Currently we have a block limit in size of 1Mb although many pools send out 250Kb to make their block propagate faster to avoid orphaned blocks. This gives us a cap of 7 transactions per second, data usage of 6Mb per hour or 144Mb a day, almost negligible amount of bandwidth. Visa on average handles 2000 per second. So looking ...


5

I've ran tests before on .5 million addresses generated in one afternoon. It fired walletnotify within the milliseconds, no noticeable delay when I sent an amount to a random address. Only noticeable thing was that the client took 30 minutes to start up, which I guess is fine if you run a larger service. Only thing that may trouble you is slow transaction ...


5

Lightning Network is a layer on the top of the Bitcoin Blockchain. Le'me go in more detail. It is a technology that makes bitcoin work faster, scalable and improve bitcoin in such a way that Bitcoin could handle hundreds or thousands of transactions each second, right now Bitcoin handles about seven transactions per second which is very low compared to Visa ...


5

Blockchains are not really scalable. For the most security, blockchains need to be replicated on as many devices as possible. Those devices are full nodes and must download and verify every single block and transaction. In order to increase the number of transactions, transactions have to become smaller and blocks have to become bigger. Unfortunately ...


5

Whoever made that example doesn't seem to understand how the lightning network works. I think the creator of this scenario is confusing how the lightning network functions with how traditional deferred net settlement functions. With the LN, you don't hold accounts with the people you have open channels with. Instead, you have money tied up in the channel ...


5

Disclaimer: I worked at BitGo when WBTC was kicked off, but I didn't work on the WBTC project. Wrapped Bitcoin (WBTC) is an ERC20 token fully backed by bitcoins held in BitGo's custody. BitGo mints new WBTC when bitcoins are deposited into custody and WBTC is burned when bitcoins are withdrawn from custody. WBTC is a means to get an IOU for hard money into ...


4

Currently, only full-nodes, i.e. nodes that have the complete blockchain inventorized relay blocks. Personally, I've recently encountered the first problem, when my Linux partition ran out of storage, yet if I had chosen a bigger partition size, I'd be able to even afford a multiple of the 50GiB easily. Storage usage: Currently, the blockchain is about ...


4

If there is a block-size hard fork, will the old chain have an advantage? This is partially true, but it is not as grave a problem as the writer would have us believe. It would be much more problematic if the implementation of increasing the block size were done very poorly and discretely (such as just putting out a new client with the MAX_BLOCK_SIZE ...


4

I would say before we are dealing thousands of microtransactions per day, which I still consider to be far off, is the idea of people and corporations using vanity addresses. Let's just say that I want all my addresses to start with Mark (or as close to mark as possible, e.g. for bitcoin would be 1mark and for litecoin would be Lmark and so on). Since ...


Only top voted, non community-wiki answers of a minimum length are eligible