Bitcoin Forum
October 21, 2017, 11:28:35 PM *
News: Latest stable version of Bitcoin Core: 0.15.0.1  [Torrent]. (New!)
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: Separate Fact from Fiction Re: Blocksize  (Read 653 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic.
The00Dustin
Hero Member
*****
Offline Offline

Activity: 807


View Profile
December 02, 2015, 03:15:46 PM
 #1

I don't normally create self-moderated posts and don't intend to censor anyone in this one, but I did decide to make this post self-moderated simply because the topic could easily lead to inflammatory posts in spite my intentions.

The block size debate seems to be ongoing, albeit at a lower and more reasonable rumble.  Honestly, I'm a bit cynical regarding where bitcoin is headed vs where I believe it was intended to go.  I'm also pretty set in my beliefs regarding many arguments across the spectrum of the debate.  However, I'm not posting to argue any specific point.  Primarily, I want to try to propagate and/or invalidate the potentially provable information I believe to be true.  To that end, I am going to post some of that information here now.  I will update this OP as responses that prove and disprove my points are provided.  I may also update this OP with additional information that I recall later.  I may even add additional information provided by other posters to this OP to the extent that they are factual in nature (as opposed to opined).  Hopefully this OP can serve as a point of reference for people who want to validate their beliefs regarding facts that should help in regarding formation or evolution of their opinions in said debate.


All of that having been said, here are some alleged facts that I would love to see proven (or disproven in cases where that is possible):

The 1 MB block limit was added due to concerns regarding storage because there were no alternatives to full nodes

The 1 MB block limit was added due to concerns regarding bandwidth because there were no alternatives to full nodes

The 1 MB block limit was added at a time when 6Mb DSL might have been considered fast by a majority of miners and nodes

The USA is somewhat behind the rest of the developed world in bandwidth speeds

Broadband was defined as >56Kbps (i.e. ISDN) / 4 Mb/s+ (USA FCC 2010) when the 1MB block limit was created *presumably a fair number would be somewhere near 4MB/s given the proof on when the 1MB block limit was added.

The FCC in the USA has since redefined broadband as 25 MB/s in 2015, which is >400x (i.e. ISDN) / 6.25x (USA FCC 2010) the definition of broadband when the 1MB block limit was created *presumably 6.25x would be a reasonable calculation based on my comment on the previous fact above.


Here are supported facts:

Satoshi predicted and had no problem with a few large mining farms vs the majority of users being miners
(bold emphasis added by me)
The current system where every user is a network node is not the intended configuration for large scale.  That would be like every Usenet user runs their own NNTP server.  The design supports letting users just be users.  The more burden it is to run a node, the fewer nodes there will be.  Those few nodes will be big server farms.  The rest will be client nodes that only do transactions and don't generate.
- snip -
The design outlines a lightweight client that does not need the full block chain.  In the design PDF it's called Simplified Payment Verification.  The lightweight client can send and receive transactions, it just can't generate blocks.  It does not need to trust a node to verify payments, it can still verify them itself.

The lightweight client is not implemented yet, but the plan is to implement it when it's needed.  For now, everyone just runs a full network node.

I anticipate there will never be more than 100K nodes, probably less.  It will reach an equilibrium where it's not worth it for more nodes to join in.  The rest will be lightweight clients, which could be millions.

At equilibrium size, many nodes will be server farms with one or two network nodes that feed the rest of the farm over a LAN.
- snip -
Simplified Payment Verification is for lightweight client-only users who only do transactions and don't generate and don't participate in the node network.  They wouldn't need to download blocks, just the hash chain, which is currently about 2MB and very quick to verify (less than a second to verify the whole chain).  If the network becomes very large, like over 100,000 nodes, this is what we'll use to allow common users to do transactions without being full blown nodes.  At that stage, most users should start running client-only software and only the specialist server farms keep running full network nodes, kind of like how the usenet network has consolidated.
- snip -

Satoshi was still developing when the 1MB block limit was created
Looking at github, it appears that the 1 MB block size limit was added in version 0.3.1 on July 18, 2010:

https://github.com/bitcoin/bitcoin/commit/9d2174b6f5f3fac2463c7ebc2dbb9004b3740d23#diff-23cfe05393c8433e384d2c385f06ab93R18

Satoshi posted here in bitcointalk.org as recently as December 12, 2010 indicating that he was "developing" version 0.3.19:
There's more work to do on DoS, but I'm doing a quick build of what I have so far in case it's needed, before venturing into more complex ideas.  The build for this is version 0.3.19.
- snip -


The 1 MB block limit was added at a time when the only way to run a wallet was to run a full node
There are now legitimate lightweight wallet alternatives to running a full node
As far as I know, the first non-full node wallet was MultiBit.  I'm not sure how to prove that there weren't any other SPV wallets before that.

If you are willing to accept that MultiBit was first, then the announcement of MultiBit was on September 12, 2011:
I am pleased to announce the release of a new bitcoin client called MultiBit.
- snip -

We've already established that the block size limit was added in 2010, so if there were no other SPV wallets before MultiBit (in 2011), then the only way to run a wallet was to run a full node.

Furthermore, in May of 2010 (just 2 months before the block limit was added) Satoshi stated that there were no SPV wallets yet:
- snip -
Simplified Payment Verification is for lightweight client-only users who only do transactions and don't generate and don't participate in the node network.  They wouldn't need to download blocks, just the hash chain, which is currently about 2MB and very quick to verify (less than a second to verify the whole chain).  If the network becomes very large, like over 100,000 nodes, this is what we'll use to allow common users to do transactions without being full blown nodes.  At that stage, most users should start running client-only software and only the specialist server farms keep running full network nodes, kind of like how the usenet network has consolidated.

SPV is not implemented yet, and won't be implemented until far in the future, but all the current implementation is designed around supporting it.


Here are the discredited "facts":

It was intended for the 1 MB block limit to be raised or removed in the future
That depends on whose "intention" you are talking about.

From the very moment that Satoshi added the 1 mb block limit, there were probably people that wanted the limit increased or removed immediately.  Satoshi and others were already, at that time, talking about raising it "in the future".  But there were probably people that saw the limit when it was created and decided right then that they never wanted it to change.  What was intended doesn't really matter.  It took time for people to form opinions on what the long term effects of such a limit would be.

If you are looking for evidence though, here's someone wanting to change it to 7 MB in October of 2010:
We should be able to at least match Paypal's average transaction rate...
Code:
- snip -
+static const unsigned int TX_PER_MINUTE = 1400;
+static const unsigned int TX_AVG_SIZE_GUESS = 256;
+static const unsigned int MAX_BLOCK_SIZE =
+ TX_PER_MINUTE * TX_AVG_SIZE_GUESS * 10 * 2;
- snip -
And here's Satoshi saying that we could increase it "in the future":
- snip -
We can phase in a change later if we get closer to needing it.
I listed this in the discredited section because I believe Satoshi's intentions are generally implied here even though the "fact" didn't indicate as much.  Based on the snippet above, it doesn't appear that it was so much an intended action as an anticipated possibility.
1508628515
Hero Member
*
Offline Offline

Posts: 1508628515

View Profile Personal Message (Offline)

Ignore
1508628515
Reply with quote  #2

1508628515
Report to moderator
1508628515
Hero Member
*
Offline Offline

Posts: 1508628515

View Profile Personal Message (Offline)

Ignore
1508628515
Reply with quote  #2

1508628515
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1508628515
Hero Member
*
Offline Offline

Posts: 1508628515

View Profile Personal Message (Offline)

Ignore
1508628515
Reply with quote  #2

1508628515
Report to moderator
1508628515
Hero Member
*
Offline Offline

Posts: 1508628515

View Profile Personal Message (Offline)

Ignore
1508628515
Reply with quote  #2

1508628515
Report to moderator
DannyHamilton
Legendary
*
Offline Offline

Activity: 1946



View Profile
December 02, 2015, 03:47:55 PM
 #2

Satoshi predicted and had no problem with a few large mining farms vs the majority of users being miners

I'm not that Satoshi's thoughts on this should matter, since that was in 2010.  He was expressing opinions based on his theories, and now we have more evidence about what the actual results of certain rules are.

However, if you want your statement "proven", take a look at the following bitcointalk posts created by Satoshi:

(bold emphasis added by me)

The current system where every user is a network node is not the intended configuration for large scale.  That would be like every Usenet user runs their own NNTP server.  The design supports letting users just be users.  The more burden it is to run a node, the fewer nodes there will be.  Those few nodes will be big server farms.  The rest will be client nodes that only do transactions and don't generate.
- snip -

The design outlines a lightweight client that does not need the full block chain.  In the design PDF it's called Simplified Payment Verification.  The lightweight client can send and receive transactions, it just can't generate blocks.  It does not need to trust a node to verify payments, it can still verify them itself.

The lightweight client is not implemented yet, but the plan is to implement it when it's needed.  For now, everyone just runs a full network node.

I anticipate there will never be more than 100K nodes, probably less.  It will reach an equilibrium where it's not worth it for more nodes to join in.  The rest will be lightweight clients, which could be millions.

At equilibrium size, many nodes will be server farms with one or two network nodes that feed the rest of the farm over a LAN.

- snip -
Simplified Payment Verification is for lightweight client-only users who only do transactions and don't generate and don't participate in the node network.  They wouldn't need to download blocks, just the hash chain, which is currently about 2MB and very quick to verify (less than a second to verify the whole chain).  If the network becomes very large, like over 100,000 nodes, this is what we'll use to allow common users to do transactions without being full blown nodes.  At that stage, most users should start running client-only software and only the specialist server farms keep running full network nodes, kind of like how the usenet network has consolidated.
- snip -

The00Dustin
Hero Member
*****
Offline Offline

Activity: 807


View Profile
December 02, 2015, 04:35:14 PM
 #3

I'm not that Satoshi's thoughts on this should matter, since that was in 2010.  He was expressing opinions based on his theories, and now we have more evidence about what the actual results of certain rules are.
Nor am I, but there are a lot of people who make comments like, "I wish Satoshi would come back and tell us what to do." and to them, his opinions carry weight.  Thank you for your contribution.
DannyHamilton
Legendary
*
Offline Offline

Activity: 1946



View Profile
December 02, 2015, 06:30:41 PM
 #4

- snip -
Satoshi was still developing when the 1MB block limit was created
- snip -


Looking at github, it appears that the 1 MB block size limit was added in version 0.3.1 on July 18, 2010:

https://github.com/bitcoin/bitcoin/commit/9d2174b6f5f3fac2463c7ebc2dbb9004b3740d23#diff-23cfe05393c8433e384d2c385f06ab93R18

Satoshi posted here in bitcointalk.org as recently as December 12, 2010 indicating that he was "developing" version 0.3.19:

There's more work to do on DoS, but I'm doing a quick build of what I have so far in case it's needed, before venturing into more complex ideas.  The build for this is version 0.3.19.
- snip -

The00Dustin
Hero Member
*****
Offline Offline

Activity: 807


View Profile
December 02, 2015, 06:34:16 PM
 #5

...
It was intended for the 1 MB block limit to be raised or removed in the future

I feel that any original intention is irrelevant. Situations change. Original intentions are uninformed by definition. Sticking with a bad decision just because it was the first decision is a mistake.
Again, this post was made to confirm or deny facts, not spread opinions.  Nonetheless, to play devils advocate, maybe the intentions in adding the 1 MB limit (that still allegedly didn't exist in the original implementation) were misguided and sticking with the 1 MB blocks is a mistake.  Doesn't matter, you brought nothing to the table regarding the original intentions of the OP, so maybe your original intent here is to troll and I'm making a mistake in taking the bait.  Humans are fallible, we clearly agree on that much.
DannyHamilton
Legendary
*
Offline Offline

Activity: 1946



View Profile
December 02, 2015, 06:39:54 PM
 #6

- snip -
It was intended for the 1 MB block limit to be raised or removed in the future
- snip -

That depends on whose "intention" you are talking about.

From the very moment that Satoshi added the 1 mb block limit, there were probably people that wanted the limit increased or removed immediately.  Satoshi and others were already, at that time, talking about raising it "in the future".  But there were probably people that saw the limit when it was created and decided right then that they never wanted it to change.  What was intended doesn't really matter.  It took time for people to form opinions on what the long term effects of such a limit would be.

If you are looking for evidence though, here's someone wanting to change it to 7 MB in October of 2010:

We should be able to at least match Paypal's average transaction rate...

Code:
- snip -
+static const unsigned int TX_PER_MINUTE = 1400;
+static const unsigned int TX_AVG_SIZE_GUESS = 256;
+static const unsigned int MAX_BLOCK_SIZE =
+ TX_PER_MINUTE * TX_AVG_SIZE_GUESS * 10 * 2;
- snip -

And here's Satoshi saying that we could increase it "in the future":

- snip -
We can phase in a change later if we get closer to needing it.



The00Dustin
Hero Member
*****
Offline Offline

Activity: 807


View Profile
December 02, 2015, 06:43:39 PM
 #7

Looking at github, it appears that the 1 MB block size limit was added in version 0.3.1 on July 18, 2010:
This would also help prove the "definition" (US) of broadband at the time the change was made, but I can't find the FCC release for the 2010 decision.  The 2015 decision was in January, but that really doesn't mean much at all for the 2010 decision.  Regardless, it seems reasonable to assume that broadband would realistically have fallen somewhere between 128kb/s and 4Mb/s at the time of this release.
The00Dustin
Hero Member
*****
Offline Offline

Activity: 807


View Profile
December 02, 2015, 06:49:35 PM
 #8

I am just suggesting that the fact (whether it is true or not) is irrelevant, and should be removed because it is irrelevant.
Relevance has little to do with what people want to know.  This thread is not meant to push anyone toward any particular opinion.  Censoring information because it doesn't meet an agenda is not scientific and does not change facts.  I am not implying that you have an agenda or that the information is relevant, but I am trying to compile a list of facts.  That having been said, if you have an opinion and feel like it is supported by facts I have left out, feel free to provide those facts.
DannyHamilton
Legendary
*
Offline Offline

Activity: 1946



View Profile
December 02, 2015, 06:58:27 PM
 #9

- snip -
The 1 MB block limit was added at a time when the only way to run a wallet was to run a full node
- snip -

As far as I know, the first non-full node wallet was MultiBit.  I'm not sure how to prove that there weren't any other SPV wallets before that.

If you are willing to accept that MultiBit was first, then the announcement of MultiBit was on September 12, 2011:

I am pleased to announce the release of a new bitcoin client called MultiBit.
- snip -

We've already established that the block size limit was added in 2010, so if there were no other SPV wallets before MultiBit (in 2011), then the only way to run a wallet was to run a full node.

Furthermore, in May of 2010 (just 2 months before the block limit was added) Satoshi stated that there were no SPV wallets yet:

- snip -
Simplified Payment Verification is for lightweight client-only users who only do transactions and don't generate and don't participate in the node network.  They wouldn't need to download blocks, just the hash chain, which is currently about 2MB and very quick to verify (less than a second to verify the whole chain).  If the network becomes very large, like over 100,000 nodes, this is what we'll use to allow common users to do transactions without being full blown nodes.  At that stage, most users should start running client-only software and only the specialist server farms keep running full network nodes, kind of like how the usenet network has consolidated.

SPV is not implemented yet, and won't be implemented until far in the future, but all the current implementation is designed around supporting it.

Note that there were services that ran full nodes and then supplied users with an "account".  Most of these services that existed at that time were either eventually hacked and had their user's bitcoins stolen, or ran off with their user's bitcoins themselves.  Please take note that an "account" is NOT a "wallet" no matter how much Coinbase wants you to believe it is.  With an "account" you are essentially giving your bitcoins away to someone else, and they are promising that they will send a certain amount of "their" bitcoins from their wallet on your behalf.  You have to decide if you trust them to follow through on that promise.

In the meantime, sites like vekja.net and www.mybitcoin.com have been experimenting with account-based sites.  You create an account on a website and hold your bitcoins on account there and transfer in and out.  Creating an account on a website is a lot easier than installing and learning to use software, and a more familiar way of doing it for most people.  The only disadvantage is that you have to trust the site, but that's fine for pocket change amounts for micropayments and misc expenses.  It's an easy way to get started and if you get larger amounts then you can upgrade to the actual bitcoin software.

The00Dustin
Hero Member
*****
Offline Offline

Activity: 807


View Profile
December 02, 2015, 07:15:52 PM
 #10

I also feel that these facts are no longer relevant because they pertain to the past, and not necessarily to the present or the future. The issue is not what to do about past actions, the issue is about what to do about the present and the future.
Quote
The 1 MB block limit was added at a time when the only way to run a wallet was to run a full node
The 1 MB block limit was added due to concerns regarding storage because there were no alternatives to full nodes
The 1 MB block limit was added due to concerns regarding bandwidth because there were no alternatives to full nodes
The 1 MB block limit was added at a time when 6Mb DSL might have been considered fast by a majority of miners and nodes

I would replace those with these facts, some of which are obviously false and can be immediately eliminated:
Quote
The only way to run a wallet was to run a full node
There are concerns regarding storage because there are no alternatives to full nodes
There are concerns regarding bandwidth because there are no alternatives to full nodes
6Mb DSL might be considered fast by a majority of miners and nodes
Again, this thread is not intended to discuss solutions, but to provide information that can be used to discuss solutions.  Each person is entitled to their own opinion on the relevance of any given fact, and those opinions can and should be argued and swayed.

Regarding the suggestion that some of these facts are irrelevant because they are past actions, the reason for any past action is certainly relevant.  The facts I have provided may or may not be building blocks to the reason for the action, and that is what should be proven or disproven.

Regarding the suggested changes, the facts are meant to relate to the 1 MB limit in regards to when and why it was implemented.  Again, prove that a fact was or wasn't relevant to the decision and I will gladly adjust the OP accordingly.  Also, keep in mind that most of these "facts" are in the "alleged" section.  IOW, if Satoshi posted that he was concerned primarily about bandwidth when the limit was implemented, then the fact that bandwidth has been drastically increased (even though the amount it has increased can certainly be manipulated) is relevant.  OTOH, if the primary concern was storage on end user PCs, then the fact that SPV wallets are a reality is relevant.  This doesn't change the fact that there might be good fact-based reasons to have the limit.  Again, provide me those facts, I'll add them.
The00Dustin
Hero Member
*****
Offline Offline

Activity: 807


View Profile
December 02, 2015, 07:22:33 PM
 #11

Note that there were services that ran full nodes and then supplied users with an "account".  Most of these services that existed at that time were either eventually hacked and had their user's bitcoins stolen, or ran off with their user's bitcoins themselves.  Please take note that an "account" is NOT a "wallet" no matter how much Coinbase wants you to believe it is.  With an "account" you are essentially giving your bitcoins away to someone else, and they are promising that they will send a certain amount of "their" bitcoins from their wallet on your behalf.  You have to decide if you trust them to follow through on that promise.
I certainly agree with this, but I suppose the Coinbase "wallet" could be just as secure a Google "wallet".

Regarding the first SPV wallet, I can always update the OP if an earlier one is proven to exist, so I added the rest of your post to the OP.
DannyHamilton
Legendary
*
Offline Offline

Activity: 1946



View Profile
December 02, 2015, 07:35:46 PM
 #12

I think you've overlooked this post:

- snip -
It was intended for the 1 MB block limit to be raised or removed in the future
- snip -

That depends on whose "intention" you are talking about.

From the very moment that Satoshi added the 1 mb block limit, there were probably people that wanted the limit increased or removed immediately.  Satoshi and others were already, at that time, talking about raising it "in the future".  But there were probably people that saw the limit when it was created and decided right then that they never wanted it to change.  What was intended doesn't really matter.  It took time for people to form opinions on what the long term effects of such a limit would be.

If you are looking for evidence though, here's someone wanting to change it to 7 MB in October of 2010:

We should be able to at least match Paypal's average transaction rate...

Code:
- snip -
+static const unsigned int TX_PER_MINUTE = 1400;
+static const unsigned int TX_AVG_SIZE_GUESS = 256;
+static const unsigned int MAX_BLOCK_SIZE =
+ TX_PER_MINUTE * TX_AVG_SIZE_GUESS * 10 * 2;
- snip -

And here's Satoshi saying that we could increase it "in the future":

- snip -
We can phase in a change later if we get closer to needing it.




The00Dustin
Hero Member
*****
Offline Offline

Activity: 807


View Profile
December 02, 2015, 09:19:10 PM
 #13

I think you've overlooked this post:
You are correct, I did overlook this post.  I believe I will incorporate it into the OP, just not sure exactly how yet.
The00Dustin
Hero Member
*****
Offline Offline

Activity: 807


View Profile
December 02, 2015, 09:21:42 PM
 #14

Discussing irrelevant facts is a waste of time. Please add this to your list of facts to discuss: There have been 43 people sworn in as President of the U.S., but 44 presidencies.
The subject of the OP is "Separate Fact from Fiction Re: Blocksize" and you are referring solely to your opinion on relevancy regarding the current debate.  However, while I did mention the debate in the OP, everything in the OP is relevant per the subject (it is either or a fact or a fiction regarding the block size).  I probably won't remove mentions of the debate from the OP simply because I want it to be clear that I'm not looking to be involved in that debate with this thread.
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!