8 ms·
Why is an additional layer of complexity an improvement? Why not make bitcoin blocks 10x larger and 10x more frequent? The argument that "only large entities w
by ac29 7y ago
Why is an additional layer of complexity an improvement? Why not make bitcoin blocks 10x larger and 10x more frequent?
The argument that "only large entities will be able to keep up with that" doesn't really hold - thats the status quo already.
- nullc 7y agoWhy add TCP to IP or HTTP to TCP? It's sound engineering. Like in other systems by composing layers you can achieve the advantages of each component while addressing their costs, without creating insurmountable complexity... "have your cake and eat it too". Particularly, the central Bitcoin system is a global broadcast medium-- necessarily for its security. Global broadcast is inherently somewhat limited in its scalability (though less than some assume). Other layers effectively add "transaction switching" to Bitcoin, radically improving scalablity and performance with their own costs which are good trade-offs for their applications. As far as the status quo of traditional finance... If you're happy with the status quo! Use it! (I'm going to assume you don't mean the status quo of Bitcoin--because 28kb/sec isn't something only large entities can keep up with, it adds up over time-- but even cumulatively its managable) You could recreate the status quo of centralized finance with Bitcoin, but it wouldn't be obviously better: at least systems like visa and paypal are purpose build to do what they do. Bitcoin takes on a lot of costs and tradeoffs to achieve decenteralization. Bitcoin was created to be money that existed above and outside of the vulgarities of immediate human politics, just like how strong encryption made it effectively impossible for some sysadmin to just read your files based on some excuse. I think having that option in the world is extraordinarily valuable.
- phillipsjk 7y agoScaling with second layers instead of on-chain is NOT "sound engineering" The Engineering discipline relies on empirical studies. With constantly full blocks, you have no way to measure transaction demand. Fees are only a weak indicator of transaction demand because of substitute goods.
- marcinjachymiak 7y agoA great empirical study you should pursue is initial blockchain download time with (full) 2000 MB blocks and low-grade consumer hardware.
- freeAgent 7y agoPeople have already done this and it is quite fast! https://www.reddit.com/r/btc/comments/ek0614/current_node_implementation_regular_quadcore_vps/ https://www.reddit.com/r/btc/comments/ek0614/current_node_im... Flowee the Hub (Bitcoin Cash full node implementation) can sync the equivalent of 4GB blocks using just a cheap quad-core VPS.
- nullc 7y agoAmusingly enough ... The rates there are, in fact, significantly slower than what plain old Bitcoin developers. Bitcoin dev's probably should make the syncing status print the number of inputs per second being processed. But being able to barely keep up means that if you fall behind for even a moment (say, if your connection drops... or if miners get lucky and mine a bunch of extra blocks) then you will _never_ catch up. Operating anywhere near the limit of your processing rate is non-viable for that reason. You need to be able to process many times the network's capacity so that you can catch up in a reasonable amount of time.
- freeAgent 7y agoSure, but OP said 2GB. A node able to process 4GB blocks would be able to sync at 2x realtime. Most people who run nodes will probably bootstrap new ones in the future anyway and most people don't need to run full nodes in the first place (the majority don't do so today and haven't since light wallets became available). To get back to reality, I don't think any sane person has advocated for anything close to a 2GB blocksize cap at any point in the near future. Bitcoin Core uses a maximum 4MB block weight and Bitcoin Cash uses a 32MB cap currently. This cheap VPS could sync the entire Bitcoin (Core) blockchain from 2009 to present in less than 12 hours. The biggest block size cap (not full blocks, the cap) being tested seriously is 1GB. I'm sure you know all this, though.
- lawn 7y agoIt's laughably bad engineering to try to solve the scaling issue of the base layer by adding another layer on top. It's like you'd try to solve a throughput problem of IP by layering TCP or HTTP on top. But this is the logic of one of the main devs who championed the "fee market" idea of Bitcoin[0], that high fees are required for Bitcoin to function. And who in 2017 celebrated when fees were around $50.[1] [1]: https://medium.com/@johnblocke/the-fee-market-myth-b9d189e45096 https://medium.com/@johnblocke/the-fee-market-myth-b9d189e45... [0]: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-December/015455.html https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017...
- __s 7y ago2nd layer avoids bloating the ledger. Once limits of 2nd layer are being explored, you can make adjustments to 1st layer with information about how that'll improve 2nd layer throughput. This is like arguing that we shouldn't have in-memory caches, we should just have faster disks Fees prevent spam
- lawn 7y agoOnce limits of 1st layer are explored (the Bitcoin developers have never even bothered to research where the limits are) you can augment it with 2nd layer solutions. Both should of course be done simultaneously, and never focus on one to the exclusion of the other. Even the Lightning Network whitepaper states it needs much larger blocks, and for it to work well you need to be able to settle quickly and cheaply on-chain, which is not the case with full blocks.
- vegarde 7y agoLet me get this clear: You want to WAIT until it's evident that we can't scale anymore, and then add 2nd layers? And this, you want to do after significant adoption? So, you are basically going to tell the Starbuckses and other large corporations that have built a large infrastructure around onchain transactions that they need to stop that, wait a few years until 2nd layers are adopted, and then start using that?
- kain_niak 7y agoThis is hackernews dude, you don't control this one.
- shilch 7y agoTCP wasn't build on IP because it wasn't scalable. It was build on it because it was. But that aside, calling Lightning on BTC a second-layer is a bit misleading: Lightning data is not encapsulated in BTC data, more like the other way around; so Lightning is more like layer 0 and BTC layer 1 in that model. (That's also not entirely correct either but much closer)
- im3w1l 7y ago> At the start, TCP handled both datagram transmission and routing, but as the protocol expanded, other researchers started to recommend that these two functions be split into layers. > One of these researchers, Jonathan Postel of the University of California’s Information Sciences Institute and an editor for the Request of[sic] Comments (RFCs) which is a document series capturing the development of the Internet. > Postel has stated: > “We are screwing up in our design of Internet protocols by violating the principle of layering” > Basically, the monolithic design of TCP would soon become inflexible and unable to scale efficiently. Therefore TCP was split into two protocols, TCP & the Internet Protocol (IP). https://www.colocationamerica.com/blog/history-of-ip-address-part-2-tcp-ip https://www.colocationamerica.com/blog/history-of-ip-address...
- shilch 7y agoI'm not all too familiar with the history of IP and TCP but my point still stands. Protocols aren't build because the underlying protocol doesn't scale in term of throughput, it's for the opposite reason that they scale very well. I could also have used HTTP and TCP.
- nullc 7y agoBitcoin has very strong properties for _security_ which is the inherent property that makes it possible to build other automated trustless systems on top of it. The comparison with TCP and IP is limit in that TCP data all goes inside IP packets. With second layer transaction systems the relationship is different: the security and stability comes from the underlying blockchain. The higher part adds capacity. Bitcoin forms a trustworthy robotic court system upon which the wheels of automated commerce can ride.
- intabli 7y agoIt’s not sound engineering whatsoever, it actually is horrible engineering especially when the base layer is congested - Engineers and developers who are far more proficient than you have already chimed in on this, including Vitalik the creator of Ethereum, who also firmly supports the path to scale Bitcoin Cash is taking: https://vitalik.ca/general/2019/12/26/mvb.html https://vitalik.ca/general/2019/12/26/mvb.html
- cyphertruck 7y agoThat’s not the status quo at all. You can buy a raspberry pi 4, a 1TB SSD, and have a perfectly functional bitcoin node, and lightning node and BTCPAY server all in one for close to $200. Secondly, Lightning isn’t “additional complexity” fir bitcoin— it’s taking complexity and putting it where it belongs— at the platform layer. TCP/IP doesn’t get faster by making packets bigger. Same with bitcoin. And the application layer should be kept separate from the transport layer.
- nullc 7y ago> TCP/IP doesn’t get faster by making packets bigger. Technically larger MTUs can increase performance somewhat by reducing per-packet overheads... but the effect marginal and not that enormous with good nics and drivers. But still, probably not the best example. :)
- etherael 7y agoRight, because no nic vendor was ever retarded enough to purposely cripple their product by restricting throughput to thousandths of actual potential theoretical physical capacity at the driver level like you and your toxic coterie did. In fact nobody has ever been this stupid in the entire industry period that I can think of except that coterie. Good thing for you it's in the interests of extremely rich and powerful people to see that your sabotage is well supported, and good thing for the rest of the world you have a containment chain where your stupidity is restricted from bleeding over to the rest of them, and every single other chain appears to be completely mercifully free of your idiotic philosophy.
- scotty79 7y agoI don't get your argument. Block size is limited so fees can go up to pay the miners so they have incentive to mine. If fees are a barrier to you, you can make your transfer of value using any other traded cryptocurrency (or lightning whatever it is). Aim of bitcoin is not to be the fastest cryptocurrency but the most mined one (thus safest?).
- mikekchar 7y agoI can answer part of that question. You can't make it much more frequent because the amount of time for the difficulty has to be balanced against propagation time for blocks or else you will have lots of forks. Probably you can make it work, but there are a fair number of assumptions in the Bitcoin protocol about this and it would probably be better to start a new coin if you want to do that. The 10 minute update was chosen specifically to avoid common network partition events. As for block size, it's been ages since I looked into this stuff at all (and I've only ever watched out of the corner of my eye), but my impression is that the block size is currently limited for relatively arbitrary reasons. I don't think there is actually a lot of resistance to increasing the size sometime. It's just that the developers want to limit the size now to guide development in certain ways. And really, as far as I'm concerned that's totally fair. If you don't like it, fork the coin. Or start a new one. Or stick with Bitcash. The developers are in control because that's the whole point -- to guide development in the way that they think will work best. Not everybody is going to agree. So what? I think the only reason people get upset is because of the ludicrous amount of potential money on the line. And again: if you are controlling that ludicrous amount of potential money, you are able to vote with your feet -- to the extent that you can convince other people with ludicrous amounts of potential money to follow suit. If all that insane speculation and fraud were to vacate Bitcoin, the developers could happily code away and there would be nobody left to complain. Let's face it. If we believe that there are billions of dollars tied up in BTC, the owners of that coin could easily afford to hire programmers to fork the protocol. They don't do it because the politics of doing so is essentially impossible. Most people want to stick with the dev group. Again, I'm left with saying, so what?
- statoshi 7y agoIndeed; the market has clearly chosen to prefer optimizing for low cost of full system validation (running a full node) over lost cost of transacting (cheap block space.)
- DennisP 7y ago> You can't make it much more frequent because the amount of time for the difficulty has to be balanced against propagation time for blocks or else you will have lots of forks. The same problem also limits block size, since large blocks take longer to propagate. But that's why Ethereum went with GHOST, which was originally proposed for Bitcoin. Instead of choosing the block with the most hashpower behind it, you choose the block with the most hashpower in the entire tree after it, so that forks contribute to a block's security. The original paper calculated that this allowed both faster blocks and higher throughput, and it's the reason Ethereum has 15-second blocks. Here are a couple papers: https://eprint.iacr.org/2013/881.pdf https://eprint.iacr.org/2013/881.pdf https://eprint.iacr.org/2016/545.pdf https://eprint.iacr.org/2016/545.pdf
- bduerst 7y agoIt's not. Don't believe the comparisons to other technology. Lightning is an IOU system that does not scale with users.