What Is Bitcoin Block Size and Why Does It Matter ...

"Bitcoin is unstable without the block size size limit" ['This post aims to provide commentary on a paper by Arvind Narayanan & a group of Princeton researchers. I attempt to challenge some of the assumptions presented about the BTC mining incentives system & propose a different interpretation.']

submitted by eragmus to Bitcoin [link] [comments]

I asked Viabtc (Pool with 10 % of global hashing power) why they are not mining BIP109 blocks. They replied: "We need some mechanism to dynamically adjust the block size limit. Hence, in my view, Bitcoin Unlimited’s protocol is more appropriate at the current stage."

I asked Viabtc (Pool with 10 % of global hashing power) why they are not mining BIP109 blocks. They replied: submitted by todu to btc [link] [comments]

How does Bitcoin Cash intend to fund mining with unlimited (hard forks when limit is hit) block size?

As you might know, the equilibrium transaction fee without an "artificial" block size cap is roughly zero. It relates essentially to the cost of verifying the ECC, hashing a larger block, and the opportunity cost (or benefit, given certain attack vectors...) of propagating a larger block.
Once the block subsidy is gone, at current fee rates of 5-20 cents per kb (which will only decrease in the future), miners will only make $50-$200 per 10 MB block which is an assumed 1000x growth in BCC from current usage. Any way to price fix this will amount to an "artificial" constraint on block size by miners and will be an intensely hostile political contest.
What's the plan? I haven't seen anyone address this.
Are you not committed to hard forking whenever the block size limit is reached?
submitted by joseph_miller to btc [link] [comments]

Olivier Janssens: Should we limit block size, and as a result, Bitcoin itself, because miners insist on mining behind the Great Chinese Firewall? #freebitcoin

Olivier Janssens: Should we limit block size, and as a result, Bitcoin itself, because miners insist on mining behind the Great Chinese Firewall? #freebitcoin submitted by Windowly to btc [link] [comments]

How does Bitcoin Cash intend to fund mining with unlimited (hard forks when limit is hit) block size? /r/btc

How does Bitcoin Cash intend to fund mining with unlimited (hard forks when limit is hit) block size? /btc submitted by BitcoinAllBot to BitcoinAll [link] [comments]

I asked Viabtc (Pool with 10 % of global hashing power) why they are not mining BIP109 blocks. They replied: "We need some mechanism to dynamically adjust the block size limit. Hence, in my view, Bitcoin Unlimiteds protocol is more appropriate at the current stage."

I asked Viabtc (Pool with 10 % of global hashing power) why they are not mining BIP109 blocks. They replied: submitted by BitcoinAllBot to BitcoinAll [link] [comments]

"Bitcoin is unstable without the block size size limit" ['This post aims to provide commentary on a paper by Arvind Narayanan & a group of Princeton researchers. I attempt to challenge some of the assumptions presented about the BTC mining incentives system & propose a different interpretation.']

submitted by BitcoinAllBot to BitcoinAll [link] [comments]

User Actions Following Olivier Janssens: Should we limit block size, and as a result, Bitcoin itself, because miners insist on mining behind the Great Chinese Firewall? #freebitcoin

User Actions Following Olivier Janssens: Should we limit block size, and as a result, Bitcoin itself, because miners insist on mining behind the Great Chinese Firewall? #freebitcoin submitted by BitcoinAllBot to BitcoinAll [link] [comments]

Discussion about bitcoin transaction/conformation behavior showing how the two large bitcoin mining pools are already throttling transactions (by limiting block size) in an effort to force higher transaction costs. This is why we NEED a solid bitcoin alternative.

Discussion about bitcoin transaction/conformation behavior showing how the two large bitcoin mining pools are already throttling transactions (by limiting block size) in an effort to force higher transaction costs. This is why we NEED a solid bitcoin alternative. submitted by Petrocrat to vertcoin [link] [comments]

I used to despise Bitcoin Cash, now I don't and actually see the value in it. This is why:

I used to think that Bitcoin Cash was a traitor and to be avoided at all costs. I thought, how can anyone trust an ecosystem if Bitcoin, the #1 coin that everyone holds and believes in ends up being dethroned? Why would anyone invest in this space if King BTC is no more? These were my thoughts in 2017 up until just the other day...

Now, I have come to terms that BCH is not just a copy and paste clone of Bitcoin. Every single Bitcoin holder on the planet received an equal amount of Bitcoin Cash because it was a forked from Bitcoin. This means that even if Bitcoin Cash became the #1 cryptocurrency, that Bitcoin holders have no one to blame but themselves if they don't own an equal portion of Bitcoin Cash... it was given to them for free! I guess the more and more I have thought about it, Bitcoin Cash is Bitcoin because it has the same previous transaction history and literally everyone holding Bitcoin received an equal amount of Bitcoin Cash, this was no money grab.
Bitcoin may or may not scale with its small blocksize. We should be thanking Bitcoin Cash for being created to give a counter argument to see if increasing the blocksize ends up being good for scalability and fees. And if it ends up being the #1 cryptocurrency because of this, who cares, everyone holding Bitcoin during the time of the fork holds an equal amount of Bitcoin Cash, and if they don't, then that is on them.

Not sure why it took me 3 years to have this epiphany, but I did and wanted to share. What are your thoughts on Bitcoin Cash?
submitted by c0ltieb0y to CryptoCurrency [link] [comments]

On the Instability of Bitcoin Without the Block Reward

My main long term concern with Bitcoin has, for awhile, been the question of what happens when the block reward / subsidy gets close to zero. I have heard many reasonable concerns expressed about the prospect of a bitcoin without block subsidies, and no convincing rebuttals.
So on this eve of the third halving, I'd like to raise this concern for discussion. To facilitate the discussion, I want to share a paper I'm currently reading, titled 'On the Instability of Bitcoin Without the Block Reward'. (PDF) Basically, they argue that in this scenario, option two can potentially be more profitable for a miner than option one. If you don't intuitively see it, I'd recommend reading at least the first page or so of the paper for a description of the problem.
I'd also like to note, explicitly, this paper isn't arguing that fees can't replace block rewards. It's saying that this problem exist even if fees replace block rewards 1:1.
That said, I do also worry that fees will have a very hard time replacing block rewards. Right now, even after the halving, each block is worth over 50,000 USD. Since a block can contain at most about 6,000 transactions, you're looking at fees of about 8 USD per transaction, absolute minimum. Even for opening/closing a Lightning Channel, that feels high. Sure, it'd be nothing to large institutions, but is that the future we want for bitcoin, a chain that prices out common users? And while it's true that the chain could operate with less rewards going to miners overall, that would have negative implications for security and transaction finality.
Worse yet, it seems, is that without a subsidy, the security of the chain absolutely depends on this fee market developing. There needs to be a backlog of transactions for the chain to function function. Clearing the mempool becomes bad because 1 sat/byte fees aren't going to be adequate to secure the chain.
So those are my thoughts on this. What are yours? I'd love to see some good and polite discussion around this topic, either around the specific concerns I've raised, or other concerns related to block subsidy reductions.
submitted by MoneroArbo to CryptoCurrency [link] [comments]

Scalenet and Testnet4 are online and open for business

Over the years, some people have made use of testnet3 to test out scaling performance, and have spammed testnet3 with 32 MB blocks. This has caused testnet3 to get kinda bloated; the blockchain now takes an hour or so to sync, which slows down development. Other people have wanted to do stress testing, but have specifically wanted to avoid inconveniencing other people by spamming testnet3, and have therefore not done so. This slows down development too. To address this issue, I created two new networks: testnet4 and scalenet.
Testnet4 is intended to be a low-volume quick-syncing blockchain which is ideal for testing out new transaction formats or applications. It has a 2 MB default block size limit, and comes with aserti3 parameters that make the difficulty recover quickly to CPU-mineable levels. It should remain easy to sync on a low-end VPS or old laptop.
Scalenet is intended to be a high-volume blockchain which is ideal for spamming and stress testing software. It comes with a 256 MB initial default block size limit, and uses aserti3 parameters that make it more suitable for accurately simulating mainnet mining difficulty (though it retains the 20-minute difficulty rule). In order to prevent storage costs from getting unreasonable for a testnet, scalenet will be reset every 6-12 months by invalidating the block at height 10,001 and adding a new checkpoint. Scalenet is intended to be feasible to run on a mid-range desktop computer with some strain.
Testnet4 and scalenet are now online and essentially complete. The code for both has been merged into BCHN and Electron Cash. Testnet4 has also been successfully synced to by Knuth, Bitcoin Unlimited, and libbitcoincashj. Block explorers for both are available, thanks to Axel Gembe (who runs the code) and sickpig (who wrote the code):
http://tbch4.loping.net:3002/
http://sbch.loping.net:3003/
The testnet4 and scalenet MRs were opened on Aug 19th and Aug 27th, and both were merged on Sep 17th. Scalenet reached height 10,000 on October 3rd.
Testnet4 and Scalenet support are present in the master branch of BCHN, and will be included in the next release of BCHN. Some other software (e.g. Electron Cash) already has support in their latest release, but most is still pending.
See also: https://bitcoincashresearch.org/t/testnet4-and-scalenet/148/7
submitted by jtoomim to btc [link] [comments]

Limiting Bitcoin's block size also limited its censorship resistance.

Limiting Bitcoin's block size also limited its censorship resistance. submitted by MemoryDealers to btc [link] [comments]

Gridcoin 5.0.0.0-Mandatory "Fern" Release

https://github.com/gridcoin-community/Gridcoin-Research/releases/tag/5.0.0.0
Finally! After over ten months of development and testing, "Fern" has arrived! This is a whopper. 240 pull requests merged. Essentially a complete rewrite that was started with the scraper (the "neural net" rewrite) in "Denise" has now been completed. Practically the ENTIRE Gridcoin specific codebase resting on top of the vanilla Bitcoin/Peercoin/Blackcoin vanilla PoS code has been rewritten. This removes the team requirement at last (see below), although there are many other important improvements besides that.
Fern was a monumental undertaking. We had to encode all of the old rules active for the v10 block protocol in new code and ensure that the new code was 100% compatible. This had to be done in such a way as to clear out all of the old spaghetti and ring-fence it with tightly controlled class implementations. We then wrote an entirely new, simplified ruleset for research rewards and reengineered contracts (which includes beacon management, polls, and voting) using properly classed code. The fundamentals of Gridcoin with this release are now on a very sound and maintainable footing, and the developers believe the codebase as updated here will serve as the fundamental basis for Gridcoin's future roadmap.
We have been testing this for MONTHS on testnet in various stages. The v10 (legacy) compatibility code has been running on testnet continuously as it was developed to ensure compatibility with existing nodes. During the last few months, we have done two private testnet forks and then the full public testnet testing for v11 code (the new protocol which is what Fern implements). The developers have also been running non-staking "sentinel" nodes on mainnet with this code to verify that the consensus rules are problem-free for the legacy compatibility code on the broader mainnet. We believe this amount of testing is going to result in a smooth rollout.
Given the amount of changes in Fern, I am presenting TWO changelogs below. One is high level, which summarizes the most significant changes in the protocol. The second changelog is the detailed one in the usual format, and gives you an inkling of the size of this release.

Highlights

Protocol

Note that the protocol changes will not become active until we cross the hard-fork transition height to v11, which has been set at 2053000. Given current average block spacing, this should happen around October 4, about one month from now.
Note that to get all of the beacons in the network on the new protocol, we are requiring ALL beacons to be validated. A two week (14 day) grace period is provided by the code, starting at the time of the transition height, for people currently holding a beacon to validate the beacon and prevent it from expiring. That means that EVERY CRUNCHER must advertise and validate their beacon AFTER the v11 transition (around Oct 4th) and BEFORE October 18th (or more precisely, 14 days from the actual date of the v11 transition). If you do not advertise and validate your beacon by this time, your beacon will expire and you will stop earning research rewards until you advertise and validate a new beacon. This process has been made much easier by a brand new beacon "wizard" that helps manage beacon advertisements and renewals. Once a beacon has been validated and is a v11 protocol beacon, the normal 180 day expiration rules apply. Note, however, that the 180 day expiration on research rewards has been removed with the Fern update. This means that while your beacon might expire after 180 days, your earned research rewards will be retained and can be claimed by advertising a beacon with the same CPID and going through the validation process again. In other words, you do not lose any earned research rewards if you do not stake a block within 180 days and keep your beacon up-to-date.
The transition height is also when the team requirement will be relaxed for the network.

GUI

Besides the beacon wizard, there are a number of improvements to the GUI, including new UI transaction types (and icons) for staking the superblock, sidestake sends, beacon advertisement, voting, poll creation, and transactions with a message. The main screen has been revamped with a better summary section, and better status icons. Several changes under the hood have improved GUI performance. And finally, the diagnostics have been revamped.

Blockchain

The wallet sync speed has been DRASTICALLY improved. A decent machine with a good network connection should be able to sync the entire mainnet blockchain in less than 4 hours. A fast machine with a really fast network connection and a good SSD can do it in about 2.5 hours. One of our goals was to reduce or eliminate the reliance on snapshots for mainnet, and I think we have accomplished that goal with the new sync speed. We have also streamlined the in-memory structures for the blockchain which shaves some memory use.
There are so many goodies here it is hard to summarize them all.
I would like to thank all of the contributors to this release, but especially thank @cyrossignol, whose incredible contributions formed the backbone of this release. I would also like to pay special thanks to @barton2526, @caraka, and @Quezacoatl1, who tirelessly helped during the testing and polishing phase on testnet with testing and repeated builds for all architectures.
The developers are proud to present this release to the community and we believe this represents the starting point for a true renaissance for Gridcoin!

Summary Changelog

Accrual

Changed

Most significantly, nodes calculate research rewards directly from the magnitudes in EACH superblock between stakes instead of using a two- or three- point average based on a CPID's current magnitude and the magnitude for the CPID when it last staked. For those long-timers in the community, this has been referred to as "Superblock Windows," and was first done in proof-of-concept form by @denravonska.

Removed

Beacons

Added

Changed

Removed

Unaltered

As a reminder:

Superblocks

Added

Changed

Removed

Voting

Added

Changed

Removed

Detailed Changelog

[5.0.0.0] 2020-09-03, mandatory, "Fern"

Added

Changed

Removed

Fixed

submitted by jamescowens to gridcoin [link] [comments]

The market determines the ideal block size and network fee.

The market determines the ideal block size and network fee. submitted by MemoryDealers to btc [link] [comments]

Litecoin vs Bitcoin Cash

Hey can anyone explain why Bitcoin Cash is better than Litecoin? They both don't have the same developers as Bitcoin, and Litecoin has shorter block times. Also Litecoin is probably safer from attack because it uses a different PoW algo and has survived a halving already. So why don't Cash devs just work with Litecoin and make it's price moon, then everyone is happy?!
submitted by hashamadeus to btc [link] [comments]

Couldn't we end this BCH vs BSV thing with one simple change?

What is the issue with removing the block size limit and having miners enforce a soft limit themselves? If we do this for the next upgrade, then BSV will have no reason to exist (not that it has much of a reason now). Not doing this is a big mistake imo, as there is clearly an audience who wants this, and are taking a large market share away from BCH.
I also think that it's not a terrible idea to lock down the protocol and abandon the hard forks every 6 months. If an upgrade is truly needed, then it should be proposed for a hard fork far in the future (years), so that we ensure all nodes have upgraded.
submitted by viners to btc [link] [comments]

Technical: The Path to Taproot Activation

Taproot! Everybody wants to have it, somebody wants to make it, nobody knows how to get it!
(If you are asking why everybody wants it, see: Technical: Taproot: Why Activate?)
(Pedants: I mostly elide over lockin times)
Briefly, Taproot is that neat new thing that gets us:
So yes, let's activate taproot!

The SegWit Wars

The biggest problem with activating Taproot is PTSD from the previous softfork, SegWit. Pieter Wuille, one of the authors of the current Taproot proposal, has consistently held the position that he will not discuss activation, and will accept whatever activation process is imposed on Taproot. Other developers have expressed similar opinions.
So what happened with SegWit activation that was so traumatic? SegWit used the BIP9 activation method. Let's dive into BIP9!

BIP9 Miner-Activated Soft Fork

Basically, BIP9 has a bunch of parameters:
Now there are other parameters (name, starttime) but they are not anywhere near as important as the above two.
A number that is not a parameter, is 95%. Basically, activation of a BIP9 softfork is considered as actually succeeding if at least 95% of blocks in the last 2 weeks had the specified bit in the nVersion set. If less than 95% had this bit set before the timeout, then the upgrade fails and never goes into the network. This is not a parameter: it is a constant defined by BIP9, and developers using BIP9 activation cannot change this.
So, first some simple questions and their answers:

The Great Battles of the SegWit Wars

SegWit not only fixed transaction malleability, it also created a practical softforkable blocksize increase that also rebalanced weights so that the cost of spending a UTXO is about the same as the cost of creating UTXOs (and spending UTXOs is "better" since it limits the size of the UTXO set that every fullnode has to maintain).
So SegWit was written, the activation was decided to be BIP9, and then.... miner signalling stalled at below 75%.
Thus were the Great SegWit Wars started.

BIP9 Feature Hostage

If you are a miner with at least 5% global hashpower, you can hold a BIP9-activated softfork hostage.
You might even secretly want the softfork to actually push through. But you might want to extract concession from the users and the developers. Like removing the halvening. Or raising or even removing the block size caps (which helps larger miners more than smaller miners, making it easier to become a bigger fish that eats all the smaller fishes). Or whatever.
With BIP9, you can hold the softfork hostage. You just hold out and refuse to signal. You tell everyone you will signal, if and only if certain concessions are given to you.
This ability by miners to hold a feature hostage was enabled because of the miner-exit allowed by the timeout on BIP9. Prior to that, miners were considered little more than expendable security guards, paid for the risk they take to secure the network, but not special in the grand scheme of Bitcoin.

Covert ASICBoost

ASICBoost was a novel way of optimizing SHA256 mining, by taking advantage of the structure of the 80-byte header that is hashed in order to perform proof-of-work. The details of ASICBoost are out-of-scope here but you can read about it elsewhere
Here is a short summary of the two types of ASICBoost, relevant to the activation discussion.
Now, "overt" means "obvious", while "covert" means hidden. Overt ASICBoost is obvious because nVersion bits that are not currently in use for BIP9 activations are usually 0 by default, so setting those bits to 1 makes it obvious that you are doing something weird (namely, Overt ASICBoost). Covert ASICBoost is non-obvious because the order of transactions in a block are up to the miner anyway, so the miner rearranging the transactions in order to get lower power consumption is not going to be detected.
Unfortunately, while Overt ASICBoost was compatible with SegWit, Covert ASICBoost was not. This is because, pre-SegWit, only the block header Merkle tree committed to the transaction ordering. However, with SegWit, another Merkle tree exists, which commits to transaction ordering as well. Covert ASICBoost would require more computation to manipulate two Merkle trees, obviating the power benefits of Covert ASICBoost anyway.
Now, miners want to use ASICBoost (indeed, about 60->70% of current miners probably use the Overt ASICBoost nowadays; if you have a Bitcoin fullnode running you will see the logs with lots of "60 of last 100 blocks had unexpected versions" which is exactly what you would see with the nVersion manipulation that Overt ASICBoost does). But remember: ASICBoost was, at around the time, a novel improvement. Not all miners had ASICBoost hardware. Those who did, did not want it known that they had ASICBoost hardware, and wanted to do Covert ASICBoost!
But Covert ASICBoost is incompatible with SegWit, because SegWit actually has two Merkle trees of transaction data, and Covert ASICBoost works by fudging around with transaction ordering in a block, and recomputing two Merkle Trees is more expensive than recomputing just one (and loses the ASICBoost advantage).
Of course, those miners that wanted Covert ASICBoost did not want to openly admit that they had ASICBoost hardware, they wanted to keep their advantage secret because miners are strongly competitive in a very tight market. And doing ASICBoost Covertly was just the ticket, but they could not work post-SegWit.
Fortunately, due to the BIP9 activation process, they could hold SegWit hostage while covertly taking advantage of Covert ASICBoost!

UASF: BIP148 and BIP8

When the incompatibility between Covert ASICBoost and SegWit was realized, still, activation of SegWit stalled, and miners were still not openly claiming that ASICBoost was related to non-activation of SegWit.
Eventually, a new proposal was created: BIP148. With this rule, 3 months before the end of the SegWit timeout, nodes would reject blocks that did not signal SegWit. Thus, 3 months before SegWit timeout, BIP148 would force activation of SegWit.
This proposal was not accepted by Bitcoin Core, due to the shortening of the timeout (it effectively times out 3 months before the initial SegWit timeout). Instead, a fork of Bitcoin Core was created which added the patch to comply with BIP148. This was claimed as a User Activated Soft Fork, UASF, since users could freely download the alternate fork rather than sticking with the developers of Bitcoin Core.
Now, BIP148 effectively is just a BIP9 activation, except at its (earlier) timeout, the new rules would be activated anyway (instead of the BIP9-mandated behavior that the upgrade is cancelled at the end of the timeout).
BIP148 was actually inspired by the BIP8 proposal (the link here is a historical version; BIP8 has been updated recently, precisely in preparation for Taproot activation). BIP8 is basically BIP9, but at the end of timeout, the softfork is activated anyway rather than cancelled.
This removed the ability of miners to hold the softfork hostage. At best, they can delay the activation, but not stop it entirely by holding out as in BIP9.
Of course, this implies risk that not all miners have upgraded before activation, leading to possible losses for SPV users, as well as again re-pressuring miners to signal activation, possibly without the miners actually upgrading their software to properly impose the new softfork rules.

BIP91, SegWit2X, and The Aftermath

BIP148 inspired countermeasures, possibly from the Covert ASiCBoost miners, possibly from concerned users who wanted to offer concessions to miners. To this day, the common name for BIP148 - UASF - remains an emotionally-charged rallying cry for parts of the Bitcoin community.
One of these was SegWit2X. This was brokered in a deal between some Bitcoin personalities at a conference in New York, and thus part of the so-called "New York Agreement" or NYA, another emotionally-charged acronym.
The text of the NYA was basically:
  1. Set up a new activation threshold at 80% signalled at bit 4 (vs bit 1 for SegWit).
    • When this 80% signalling was reached, miners would require that bit 1 for SegWit be signalled to achive the 95% activation needed for SegWit.
  2. If the bit 4 signalling reached 80%, increase the block weight limit from the SegWit 4000000 to the SegWit2X 8000000, 6 months after bit 1 activation.
The first item above was coded in BIP91.
Unfortunately, if you read the BIP91, independently of NYA, you might come to the conclusion that BIP91 was only about lowering the threshold to 80%. In particular, BIP91 never mentions anything about the second point above, it never mentions that bit 4 80% threshold would also signal for a later hardfork increase in weight limit.
Because of this, even though there are claims that NYA (SegWit2X) reached 80% dominance, a close reading of BIP91 shows that the 80% dominance was only for SegWit activation, without necessarily a later 2x capacity hardfork (SegWit2X).
This ambiguity of bit 4 (NYA says it includes a 2x capacity hardfork, BIP91 says it does not) has continued to be a thorn in blocksize debates later. Economically speaking, Bitcoin futures between SegWit and SegWit2X showed strong economic dominance in favor of SegWit (SegWit2X futures were traded at a fraction in value of SegWit futures: I personally made a tidy but small amount of money betting against SegWit2X in the futures market), so suggesting that NYA achieved 80% dominance even in mining is laughable, but the NYA text that ties bit 4 to SegWit2X still exists.
Historically, BIP91 triggered which caused SegWit to activate before the BIP148 shorter timeout. BIP148 proponents continue to hold this day that it was the BIP148 shorter timeout and no-compromises-activate-on-August-1 that made miners flock to BIP91 as a face-saving tactic that actually removed the second clause of NYA. NYA supporters keep pointing to the bit 4 text in the NYA and the historical activation of BIP91 as a failed promise by Bitcoin developers.

Taproot Activation Proposals

There are two primary proposals I can see for Taproot activation:
  1. BIP8.
  2. Modern Softfork Activation.
We have discussed BIP8: roughly, it has bit and timeout, if 95% of miners signal bit it activates, at the end of timeout it activates. (EDIT: BIP8 has had recent updates: at the end of timeout it can now activate or fail. For the most part, in the below text "BIP8", means BIP8-and-activate-at-timeout, and "BIP9" means BIP8-and-fail-at-timeout)
So let's take a look at Modern Softfork Activation!

Modern Softfork Activation

This is a more complex activation method, composed of BIP9 and BIP8 as supcomponents.
  1. First have a 12-month BIP9 (fail at timeout).
  2. If the above fails to activate, have a 6-month discussion period during which users and developers and miners discuss whether to continue to step 3.
  3. Have a 24-month BIP8 (activate at timeout).
The total above is 42 months, if you are counting: 3.5 years worst-case activation.
The logic here is that if there are no problems, BIP9 will work just fine anyway. And if there are problems, the 6-month period should weed it out. Finally, miners cannot hold the feature hostage since the 24-month BIP8 period will exist anyway.

PSA: Being Resilient to Upgrades

Software is very birttle.
Anyone who has been using software for a long time has experienced something like this:
  1. You hear a new version of your favorite software has a nice new feature.
  2. Excited, you install the new version.
  3. You find that the new version has subtle incompatibilities with your current workflow.
  4. You are sad and downgrade to the older version.
  5. You find out that the new version has changed your files in incompatible ways that the old version cannot work with anymore.
  6. You tearfully reinstall the newer version and figure out how to get your lost productivity now that you have to adapt to a new workflow
If you are a technically-competent user, you might codify your workflow into a bunch of programs. And then you upgrade one of the external pieces of software you are using, and find that it has a subtle incompatibility with your current workflow which is based on a bunch of simple programs you wrote yourself. And if those simple programs are used as the basis of some important production system, you hve just screwed up because you upgraded software on an important production system.
And well, one of the issues with new softfork activation is that if not enough people (users and miners) upgrade to the newest Bitcoin software, the security of the new softfork rules are at risk.
Upgrading software of any kind is always a risk, and the more software you build on top of the software-being-upgraded, the greater you risk your tower of software collapsing while you change its foundations.
So if you have some complex Bitcoin-manipulating system with Bitcoin somewhere at the foundations, consider running two Bitcoin nodes:
  1. One is a "stable-version" Bitcoin node. Once it has synced, set it up to connect=x.x.x.x to the second node below (so that your ISP bandwidth is only spent on the second node). Use this node to run all your software: it's a stable version that you don't change for long periods of time. Enable txiindex, disable pruning, whatever your software needs.
  2. The other is an "always-up-to-date" Bitcoin Node. Keep its stoarge down with pruning (initially sync it off the "stable-version" node). You can't use blocksonly if your "stable-version" node needs to send transactions, but otherwise this "always-up-to-date" Bitcoin node can be kept as a low-resource node, so you can run both nodes in the same machine.
When a new Bitcoin version comes up, you just upgrade the "always-up-to-date" Bitcoin node. This protects you if a future softfork activates, you will only receive valid Bitcoin blocks and transactions. Since this node has nothing running on top of it, it is just a special peer of the "stable-version" node, any software incompatibilities with your system software do not exist.
Your "stable-version" Bitcoin node remains the same version until you are ready to actually upgrade this node and are prepared to rewrite most of the software you have running on top of it due to version compatibility problems.
When upgrading the "always-up-to-date", you can bring it down safely and then start it later. Your "stable-version" wil keep running, disconnected from the network, but otherwise still available for whatever queries. You do need some system to stop the "always-up-to-date" node if for any reason the "stable-version" goes down (otherwisee if the "always-up-to-date" advances its pruning window past what your "stable-version" has, the "stable-version" cannot sync afterwards), but if you are technically competent enough that you need to do this, you are technically competent enough to write such a trivial monitor program (EDIT: gmax notes you can adjust the pruning window by RPC commands to help with this as well).
This recommendation is from gmaxwell on IRC, by the way.
submitted by almkglor to Bitcoin [link] [comments]

Ethereum centralization concerns

Apologies if this has been addressed elsewhere, or if the information I'm responding to here is out of date.
tldr: Are Ethereum (full, validating) nodes incentivized to vote no on gas limit increases that would lead to centralization?
Context:
I just read this old post, its follow up post, and this response post all discussing whether or not Ethereum will trend towards centralization over time. As far as I can tell, all of that long discussion really boils down to disagreements about this paragraph from Gustav's post:

As miners are incentivized to act in ways that maximize the value of the tokens they receive in each mined block, they are unlikely to vote for a blocksize increase that would break the network. If the author trusts Bitcoin miners to act in ways that maximize the value of their bitcoins (such as not censoring transactions, generally prioritizing txs by their fee and otherwise act in ways that are beneficial for the network) the author should trust Ethereum miners to only vote for block sizes that can be handled by reasonable hardware, as the decentralized verification done by full nodes underpins the security of the network.
StopAndDecrypt replies:
The network doesn’t break because validators drop off and peers are lost. The network functions with two datacenters. What breaks is decentralization. The connected nodes have no incentive to care about other less-connected nodes validation abilities.
[...]
Vitalik even agreed that [the number of full validating nodes] would shrink over time if the gas limits kept going up, and there’s nothing stopping that from happening. Right now miners are being altruistic, but what happens when mining doesn’t even exist? What happens when it’s just staking and the people doing it don’t care about other people’s blocks getting orphaned? Why would they keep the gas limit down? Remember they can manually adjust this, so why would they intentionally keep it low if they’re hyper-connected to each other and fully capable of processing that data? What happens when they start compounding their staking earnings, setting up more nodes, and gain more control of the network?
Summary:
As block sizes increase, the number of full validating nodes decreases. Bitcoin solves this by simply saying block sizes never go up, period, and if that limits the amount of TPS the L1 layer can handle, so be it; just scale on L2. Ethereum's answer according to Vitalik is the gas price limits (and indirectly through that block size limits) that each individual minevalidator enforces. Implicit in this I believe is that sooner or later the block size limit has to stop growing (approximating the bitcoin approach), at least until hardware costs drop enough. This relies on an incentive mechanism in place to prevent validators from constantly increasing gas limits per block and letting the network trend towards centralization. Without such an incentive mechanism, I'd think each individual validator wouldn't necessarily care if increasing block sizes caused other validators to drop off the network, so long as they are able to keep up, which does indeed seem like it would eventually lead to a small number of powerful validators controlling the base layer.
Core issue and my actual question:
So I think the real question at the core of this disagreement is: in what cases would (full, validating) nodes reject a block due to it being too big (using too much gas)? What are the incentive mechanisms that keep individual validators aligned with the goal of keeping the core validator pool decentralized?
Please note I'm only talking about the centralization of fully validating nodes with the power to reject new blocks, light clients don't help, and sharding helps by a constant factor in the short term but doesn't address the fundamental long term trends. PoW vs PoS is orthogonal and doesn't really affect the issues being discussed here .
Thanks!
submitted by stbrody to ethereum [link] [comments]

Since they're calling for r/btc to be banned...

Maybe it's time to discuss bitcoin's history again. Credit to u/singularity87 for the original post over 3 years ago.

People should get the full story of bitcoin because it is probably one of the strangest of all reddit subs.
bitcoin, the main sub for the bitcoin community is held and run by a person who goes by the pseudonym u/theymos. Theymos not only controls bitcoin, but also bitcoin.org and bitcointalk.com. These are top three communication channels for the bitcoin community, all controlled by just one person.
For most of bitcoin's history this did not create a problem (at least not an obvious one anyway) until around mid 2015. This happened to be around the time a new player appeared on the scene, a for-profit company called Blockstream. Blockstream was made up of/hired many (but not all) of the main bitcoin developers. (To be clear, Blockstream was founded before mid 2015 but did not become publicly active until then). A lot of people, including myself, tried to point out there we're some very serious potential conflicts of interest that could arise when one single company controls most of the main developers for the biggest decentralised and distributed cryptocurrency. There were a lot of unknowns but people seemed to give them the benefit of the doubt because they were apparently about to release some new software called "sidechains" that could offer some benefits to the network.
Not long after Blockstream came on the scene the issue of bitcoin's scalability once again came to forefront of the community. This issue came within the community a number of times since bitcoins inception. Bitcoin, as dictated in the code, cannot handle any more than around 3 transactions per second at the moment. To put that in perspective Paypal handles around 15 transactions per second on average and VISA handles something like 2000 transactions per second. The discussion in the community has been around how best to allow bitcoin to scale to allow a higher number of transactions in a given amount of time. I suggest that if anyone is interested in learning more about this problem from a technical angle, they go to btc and do a search. It's a complex issue but for many who have followed bitcoin for many years, the possible solutions seem relatively obvious. Essentially, currently the limit is put in place in just a few lines of code. This was not originally present when bitcoin was first released. It was in fact put in place afterwards as a measure to stop a bloating attack on the network. Because all bitcoin transactions have to be stored forever on the bitcoin network, someone could theoretically simply transmit a large number of transactions which would have to be stored by the entire network forever. When bitcoin was released, transactions were actually for free as the only people running the network were enthusiasts. In fact a single bitcoin did not even have any specific value so it would be impossible set a fee value. This meant that a malicious person could make the size of the bitcoin ledger grow very rapidly without much/any cost which would stop people from wanting to join the network due to the resource requirements needed to store it, which at the time would have been for very little gain.
Towards the end of the summer last year, this bitcoin scaling debate surfaced again as it was becoming clear that the transaction limit for bitcoin was semi regularly being reached and that it would not be long until it would be regularly hit and the network would become congested. This was a very serious issue for a currency. Bitcoin had made progress over the years to the point of retailers starting to offer it as a payment option. Bitcoin companies like, Microsoft, Paypal, Steam and many more had began to adopt it. If the transaction limit would be constantly maxed out, the network would become unreliable and slow for users. Users and businesses would not be able to make a reliable estimate when their transaction would be confirmed by the network.
Users, developers and businesses (which at the time was pretty much the only real bitcoin subreddit) started to discuss how we should solve the problem bitcoin. There was significant support from the users and businesses behind a simple solution put forward by the developer Gavin Andreesen. Gavin was the lead developer after Satoshi Nakamoto left bitcoin and he left it in his hands. Gavin initially proposed a very simple solution of increasing the limit which was to change the few lines of code to increase the maximum number of transactions that are allowed. For most of bitcoin's history the transaction limit had been set far far higher than the number of transactions that could potentially happen on the network. The concept of increasing the limit one time was based on the fact that history had proven that no issue had been cause by this in the past.
A certain group of bitcoin developers decided that increasing the limit by this amount was too much and that it was dangerous. They said that the increased use of resources that the network would use would create centralisation pressures which could destroy the network. The theory was that a miner of the network with more resources could publish many more transactions than a competing small miner could handle and therefore the network would tend towards few large miners rather than many small miners. The group of developers who supported this theory were all developers who worked for the company Blockstream. The argument from people in support of increasing the transaction capacity by this amount was that there are always inherent centralisation pressure with bitcoin mining. For example miners who can access the cheapest electricity will tend to succeed and that bigger miners will be able to find this cheaper electricity easier. Miners who have access to the most efficient computer chips will tend to succeed and that larger miners are more likely to be able to afford the development of them. The argument from Gavin and other who supported increasing the transaction capacity by this method are essentially there are economies of scale in mining and that these economies have far bigger centralisation pressures than increased resource cost for a larger number of transactions (up to the new limit proposed). For example, at the time the total size of the blockchain was around 50GB. Even for the cost of a 500GB SSD is only $150 and would last a number of years. This is in-comparison to the $100,000's in revenue per day a miner would be making.
Various developers put forth various other proposals, including Gavin Andresen who put forth a more conservative increase that would then continue to increase over time inline with technological improvements. Some of the employees of blockstream also put forth some proposals, but all were so conservative, it would take bitcoin many decades before it could reach a scale of VISA. Even though there was significant support from the community behind Gavin's simple proposal of increasing the limit it was becoming clear certain members of the bitcoin community who were part of Blockstream were starting to become increasingly vitriolic and divisive. Gavin then teamed up with one of the other main bitcoin developers Mike Hearn and released a coded (i.e. working) version of the bitcoin software that would only activate if it was supported by a significant majority of the network. What happened next was where things really started to get weird.
After this free and open source software was released, Theymos, the person who controls all the main communication channels for the bitcoin community implemented a new moderation policy that disallowed any discussion of this new software. Specifically, if people were to discuss this software, their comments would be deleted and ultimately they would be banned temporarily or permanently. This caused chaos within the community as there was very clear support for this software at the time and it seemed our best hope for finally solving the problem and moving on. Instead a censorship campaign was started. At first it 'all' they were doing was banning and removing discussions but after a while it turned into actively manipulating the discussion. For example, if a thread was created where there was positive sentiment for increasing the transaction capacity or being negative about the moderation policies or negative about the actions of certain bitcoin developers, the mods of bitcoin would selectively change the sorting order of threads to 'controversial' so that the most support opinions would be sorted to the bottom of the thread and the most vitriolic would be sorted to the top of the thread. This was initially very transparent as it was possible to see that the most downvoted comments were at the top and some of the most upvoted were at the bottom. So they then implemented hiding the voting scores next to the users name. This made impossible to work out the sentiment of the community and when combined with selectively setting the sorting order to controversial it was possible control what information users were seeing. Also, due to the very very large number of removed comments and users it was becoming obvious the scale of censorship going on. To hide this they implemented code in their CSS for the sub that completely hid comments that they had removed so that the censorship itself was hidden. Anyone in support of scaling bitcoin were removed from the main communication channels. Theymos even proudly announced that he didn't care if he had to remove 90% of the users. He also later acknowledged that he knew he had the ability to block support of this software using the control he had over the communication channels.
While this was all going on, Blockstream and it's employees started lobbying the community by paying for conferences about scaling bitcoin, but with the very very strange rule that no decisions could be made and no complete solutions could be proposed. These conferences were likely strategically (and successfully) created to stunt support for the scaling software Gavin and Mike had released by forcing the community to take a "lets wait and see what comes from the conferences" kind of approach. Since no final solutions were allowed at these conferences, they only served to hinder and splinter the communities efforts to find a solution. As the software Gavin and Mike released called BitcoinXT gained support it started to be attacked. Users of the software were attack by DDOS. Employees of Blockstream were recommending attacks against the software, such as faking support for it, to only then drop support at the last moment to put the network in disarray. Blockstream employees were also publicly talking about suing Gavin and Mike from various different angles simply for releasing this open source software that no one was forced to run. In the end Mike Hearn decided to leave due to the way many members of the bitcoin community had treated him. This was due to the massive disinformation campaign against him on bitcoin. One of the many tactics that are used against anyone who does not support Blockstream and the bitcoin developers who work for them is that you will be targeted in a smear campaign. This has happened to a number of individuals and companies who showed support for scaling bitcoin. Theymos has threatened companies that he will ban any discussion of them on the communication channels he controls (i.e. all the main ones) for simply running software that he disagrees with (i.e. any software that scales bitcoin).
As time passed, more and more proposals were offered, all against the backdrop of ever increasing censorship in the main bitcoin communication channels. It finally come down the smallest and most conservative solution. This solution was much smaller than even the employees of Blockstream had proposed months earlier. As usual there was enormous attacks from all sides and the most vocal opponents were the employees of Blockstream. These attacks still are ongoing today. As this software started to gain support, Blockstream organised more meetings, especially with the biggest bitcoin miners and made a pact with them. They promised that they would release code that would offer an on-chain scaling solution hardfork within about 4 months, but if the miners wanted this they would have to commit to running their software and only their software. The miners agreed and the ended up not running the most conservative proposal possible. This was in February last year. There is no hardfork proposal in sight from the people who agreed to this pact and bitcoin is still stuck with the exact same transaction limit it has had since the limit was put in place about 6 years ago. Gavin has also been publicly smeared by the developers at Blockstream and a plot was made against him to have him removed from the development team. Gavin has now been, for all intents an purposes, expelled from bitcoin development. This has meant that all control of bitcoin development is in the hands of the developers working at Blockstream.
There is a new proposal that offers a market based approach to scaling bitcoin. This essentially lets the market decide. Of course, as usual there has been attacks against it, and verbal attacks from the employees of Blockstream. This has the biggest chance of gaining wide support and solving the problem for good.
To give you an idea of Blockstream; It has hired most of the main and active bitcoin developers and is now synonymous with the "Core" bitcoin development team. They AFAIK no products at all. They have received around $75m in funding. Every single thing they do is supported by theymos. They have started implementing an entirely new economic system for bitcoin against the will of it's users and have blocked any and all attempts to scaling the network in line with the original vision.
Although this comment is ridiculously long, it really only covers the tip of the iceberg. You could write a book on the last two years of bitcoin. The things that have been going on have been mind blowing. One last thing that I think is worth talking about is the u/bashco's claim of vote manipulation.
The users that the video talks about have very very large numbers of downvotes mostly due to them having a very very high chance of being astroturfers. Around about the same time last year when Blockstream came active on the scene every single bitcoin troll disappeared, and I mean literally every single one. In the years before that there were a large number of active anti-bitcoin trolls. They even have an active sub buttcoin. Up until last year you could go down to the bottom of pretty much any thread in bitcoin and see many of the usual trolls who were heavily downvoted for saying something along the lines of "bitcoin is shit", "You guys and your tulips" etc. But suddenly last year they all disappeared. Instead a new type of bitcoin user appeared. Someone who said they were fully in support of bitcoin but they just so happened to support every single thing Blockstream and its employees said and did. They had the exact same tone as the trolls who had disappeared. Their way to talking to people was aggressive, they'd call people names, they had a relatively poor understanding of how bitcoin fundamentally worked. They were extremely argumentative. These users are the majority of the list of that video. When the 10's of thousands of users were censored and expelled from bitcoin they ended up congregating in btc. The strange thing was that the users listed in that video also moved over to btc and spend all day everyday posting troll-like comments and misinformation. Naturally they get heavily downvoted by the real users in btc. They spend their time constantly causing as much drama as possible. At every opportunity they scream about "censorship" in btc while they are happy about the censorship in bitcoin. These people are astroturfers. What someone somewhere worked out, is that all you have to do to take down a community is say that you are on their side. It is an astoundingly effective form of psychological attack.
submitted by CuriousTitmouse to btc [link] [comments]

We need to actively discuss a permanent solution for maximum block sizes, including "default" settings, and put it into the major BCH implementations as soon as possible

Bitcoin Cash has been left vulnerable to the same attack that stopped Bitcoin Core from scaling.
We saw during the recent stress test that the "default" setting for ABC software of 2MB caused the majority of miners to leave the "default" in place.
Now we have the leadership of the ABC client talking about a cap that stays around 2x demand, without defining "demand", a critical part of any such proposal.
The definition of "demand" will determine if BCH can rapidly adjust to holiday shopping cycles, or a new killer app, or if it will have on-chain congestion every time some new use case or event causes demand to exceed supply.
Discussion about this "default" seems to come in the form of one or two-sentence group messages, which I can tell you from experience will lead to disaster, more divisions in the community, and possibly a failure of BCH to continue to get traction with merchants and users.
I believe we need a very simple, basic, scaling cap on the default blocksize that scales at fixed block heights based on predicted improvements in software efficiency, computing, storage and broadband costs.
Adaptive sizes can be proposed too, but are far more complex and more likely to break down in the future (see the DAA, and revised DAA).
Scaling ceiling limits are meant to predict what's safe for the network, while leaving miners to set soft limits on what they consider to be profitable. Adaptive blocksizes take some of the profitability decision making out of the hands of miners, and put this decision making into the protocol. Now, we've seen that miners often don't change default settings at all, so there's some merit to an adaptive blocksize to automate this decisioning.
Why don't we look at improvements in benchmarked performance of BTC > BCH since 2009 over cost reduction in computing, storage, and broadband, and implement a BIP-101 like limit for the default setting?
We can begin discussions around an adaptive blocksize now too, but I feel like that process needs more time to reach an optimal design.
submitted by andromedavirus to btc [link] [comments]

Why I support BSV and conspiration bonus

It's simple. You don't need a fees market for Bitcoin to be profitable for mining. Bitcoin is still in its infancy. The fee market will be great once the bitcoin's reward/block found is going to be too low. In my opinion, the only reason of the fees market so early on was to attack Bitcoin.
It was to discourage the world and to make Bitcoin obsolete vs credit cards. The threat of a split from the big blockers was not really a threat because BTC would always remain more profitable thanks to the fee market.
Another way to keep Bitcoin from scaling was with social media manipulation. You can see the result and how these people have done it on the most popular forums in the community. Thx to censorship.
So what was the real reason for not expanding the blocksize limit? Was it to sell us a false promise with LN which would be a big hit in 18 months, or was it to make Bitcoin like gold so then it's not p2p money anymore which goes against white paper? Or was it to prevent flood spam, or was it to improve the decentralization of mining because raising the blocksize limit will be hard to be profitable if you are not big enough? Satoshi already said that he see miners as a huge server farm. Or maybe it was to sabotage Bitcoin?
So because of these reasons, Amaury created the ABC software to change codes to raise the blocksize limit. He had the support from all the big blocks supporter. Finally, Bitcoin forked because Amaury and big blockers wanted a higher block size limit to make p2p money transactions faster and cheaper. The end result is that Bitcoin ABC from Amaury ended up as the loser with the chain with the least proof of work, the minority chain. Bitcoin Cash was created.
Once Bitcoin Cash was created, everything was fine until some realized that the protocol was not stable. Amaury from ABC has always acted like a dictator and he's always right, he can change the protocol code as he sees fit. On the other hand, it is thanks to people like him that Bitcoin Cash exists after all. Several ABC supporters did not like the idea of ​​a hardfork every 6 months. It was written in the sky that Bitcoin Cash would be easy to attack. It was obvious that malicious people would find it easy to attack the chain.
It is somewhat for this reason that CSW created Bitcoin Satoshi Vision. This was to ensure that the Bitcoin protocol was set in stone and also to delete the blocksize limit so that there would never be a fight over it again. Bitcoin BSV is exactly as Bitcoin is described in the white paper. It is now impossible to split BSV, it's now untouchable.
With the drama that is going on with ABC and BCHN now, this is not something that surprises BSV supporters. It was written in the sky that there would be another chicane and that another split was inevitable.
It is for these reasons that I chose BSV. I'm glad I made the right choice.
I'm not saying I'm right either. If you trust a certain conspiracy, everything is orchestrated by bad bankers who want the destruction of p2p money. How? Make Bitcoin obsolete by creating a problem by limiting the blocksize to a low value to make transactions expensive and slow. It was enough to split to divide the community. But that wasn't enough. Split the community a second time by creating other problems and why not a third time(ABC vs BCHN) by creating more and more problems.
If this version is true then you might as well throw in the towel because Bitcoin is definitely a failed experiment. They clearly won.
Discuss
submitted by CityBusDriverBitcoin to bsv [link] [comments]

BlockOps Tour of Mid-size crypto mining facility Jan 2018 ... Bitcoin Scaling Debate - Big Blocks, Hard Fork - Roger Ver, Phil Potter, Petrov, Lombrozo - Dec 2016 Why the blocksize limit keeps BITCOIN free and decentralized Quick Tour of Medium Size Bitcoin Mining Facility The Origin of the Maximum Block Size

The block size stays the same and mining stays decentralized. You'll still use the block chain for large transactions. Small exchanges will be handled by payment processors which means small purchases like your morning coffee don't clog the whole system up. We can use the very same cryptography that makes bitcoin secure to audit off-chain payment systems, as well as effectively make it ... It is useful for miners to know the limit that is observed by a majority of the mining power and that we have a clear and simple consensus rule for it. A fixed block size limit, as Bitcoin ... Block size of Bitcoin mining []. No issue in the history of cryptocurrencies has been debated as passionately, as often, or as forcefully as the bitcoin block size. To an outsider, it must be quite comical to witness folks debating a consensus parameter within the bitcoin network — no joke — as if it were a matter of life or death. The issue of raising the 1MB block size limit came to the forefront as Bitcoin transactions fees were hitting record highs at the end of last year. SegWit, however, was implemented via soft-fork and was thus an optional upgrade. This is why it’s taken months for exchanges, businesses, and users to see network-wide benefits such as lower fees and bigger blocks. The Bitcoin block size limit is a parameter in the Bitcoin protocol that limits the size of Bitcoin blocks, and, therefore, the number of transactions that can be confirmed on the network approximately every 10 minutes. Although Bitcoin launched without this parameter, Satoshi Nakamoto added a 1 megabyte block size limit back when he was still the lead developer of the project. This translated ...

[index] [43952] [50794] [7028] [47200] [3329] [36576] [30848] [42259] [17886] [11160]

BlockOps Tour of Mid-size crypto mining facility Jan 2018 ...

The capacity of the bitcoin network is limited by a hard-coded limit inside its protocol. As technology advances, this limit becomes increasingly absurd. When will it be updated to be more ... Satoshi Nakamoto's reasons for sneaking a maximum block size into the bitcoin source code are not well known by many cryptocurrency enthusiasts. In this video, we dig into a bit of blockchain history. a wild suggestion to reduce block sizes, mt gox news, and more! Sign up with coinbase. buy or sell 100 dollars in crypto currency and get 10 dollars of bitcoin for free with this link to coinbase. - Roger Ver from Bitcoin.com, an entrepreneur who has invested in many alternative cryptocurrencies and supports hardforking Bitcoin to create bigger block size limit - Phil Potter from Bitfinex ... 500 KW facility with 400 miners - tour showing construction and some aspects of operation. The 200 CFM or 5.6 CMM of airflow rule of thumb mentioned in the v...

#