Bitcoin Forum
November 16, 2024, 03:00:51 PM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: « 1 [2] 3 4 5 6 7 »  All
  Print  
Author Topic: Why the fuck did Satoshi implement the 1 MB blocksize limit?  (Read 2193 times)
Anti-Cen
Member
**
Offline Offline

Activity: 210
Merit: 26

High fees = low BTC price


View Profile
January 20, 2018, 04:29:13 PM
Merited by digaran (5)
 #21

Segwit has advantages, but the trick of only counting half of the real data and claiming it makes a difference is very cheap.  A transaction, whether segwit or legacy, takes about the same amount of data, except that you don't count everything in the main block with Segwit. But for storage and transmission, that's the same burden.

In reality, Segwit didn't do zilch to the actual amount of bitcoin transactions per block:

Well said but it can make processing the data a little bit faster if I fully understand what they are doing
but it makes the code more complicated to understand and it's been over engineered as it is at every
possible opportunity as it is from what I have seen

Distributed systems are not designed to work by filling up a node until the 200gb file grows to
a terabyte and the development team knew this for day one so it's problem-reaction-solution
and the solution is the lightning network, miners are begging for it because the hubs are banks
which will need hardware and BTC to fund the private ledgers which is just what the miners have
by some strange stroke of luck.

Number one rule is broken now because if the hub/bank goes down then you have a single point
of failure but lets be honest the development team pushed "On the block-chain" for eight years
and now we are being sold that "Of-Block" is the best thing since sliced bread and we also know that
since Segwit was turned on the fees have continued to climb

See https://bitcointalk.org/index.php?topic=2776719.new#new for the real deal when
it comes to Lightning Network because I am openly calling it a scam and no one has been able to
debunk me yet

Mining is CPU-wars and Intel, AMD like it nearly as much as big oil likes miners wasting electricity. Is this what mankind has come too.
pebwindkraft
Sr. Member
****
Offline Offline

Activity: 257
Merit: 343


View Profile
January 20, 2018, 05:13:21 PM
 #22

Quote
...
See https://bitcointalk.org/index.php?topic=2776719.new#new for the real deal when
it comes to Lightning Network because I am openly calling it a scam and no one has been able to
debunk me yet

still it doesn't make you an expert, au contraire, mon ami, it just lets you look a bit poor in predicting the future. Why do you insist on this so hardly? Are you a person who has the duty to protect others, or were you hit by the limitations of the current bitcoin network? Or even better,  were you forced to use this bitcoin system, which has at every end so many flaws?
Or are you just not competent enough, to bring the millions of bitcoin users to the shitcoin world, and gain your advantage?

Reading all the fud in this thread and the other posts in the forum here, it is more like you are licking wounds. SegWit is overly complex designed, LN a scam. And yes, you stated, that you have fully grasped the idea of this.  Grin
I see, big blocks and flex blocks are the only solution...

We have now several hardforks, people are free to use it. Why don't you do as well, and let "us" play with Bitcoin and Lightning?
There is the gigantic december proof, that the shitcoins don't have any value next to bitcoin. They entirly depend on the "root" - the single one and only root, which is bitcoin. If bitcoin rises, they rise, if bitcoin falls, they fall even deeper. And the most funny part is, not even "THE developpers" (as if this was a well defined group of individuals in a company) are guilty for this - or maybe yes, cause they didn't protect you (and your "us") from these shitcoins?

ridicoulous ...
Anti-Cen
Member
**
Offline Offline

Activity: 210
Merit: 26

High fees = low BTC price


View Profile
January 20, 2018, 11:54:57 PM
 #23

I see, big blocks and flex blocks are the only solution...

ridicoulous and I don't even think you can get your head around whats being said here to follow the
conversation because you don't program computers or even know how Ripple, IOTA and Neo works
or you would not make such a statement.

Mining is CPU-wars and Intel, AMD like it nearly as much as big oil likes miners wasting electricity. Is this what mankind has come too.
dinofelis
Hero Member
*****
Offline Offline

Activity: 770
Merit: 629


View Profile
January 21, 2018, 07:06:46 AM
Last edit: January 21, 2018, 07:27:10 AM by dinofelis
 #24

Well said but it can make processing the data a little bit faster if I fully understand what they are doing
but it makes the code more complicated to understand and it's been over engineered as it is at every

To me, Segwit is another layer of cryptographic data abstraction.  In bitcoin's original block chain, you have essentially 3 levels of cryptographic data abstraction: the header list, the Merkle tree, and finally, the real stuff, the transaction.  Segwit adds another layer of abstraction: the node in the Merkle tree is an abstraction for whatever the transaction is, of which the details are now in the witness.

These different layers of abstraction allow for different levels of cryptographic verification of authenticity, and use different cryptographic mechanisms.  The top layer, the headers list, is a linked list of hashes, containing the proof of work (which is bitcoin's conventional signature of authenticity at the highest level).  The second layer, the block, has a Merkle tree, which is a linked binary tree of hashes, of which the head is in the block header.  You only need to descend into that tree if there is specific information you want to verify within a block: ideally, you'd only need the Merkle tree "path" down to the location where the node information resides.  With a legacy node, that node is the transaction information you're looking for.   As all this stuff are linked hashes, from the single node, through the Merkle tree, up to the block header, to the header chain, the authenticity of all these elements is secured, because they are linked together with hashes.  Within the node information itself, however, the authentication is done by digital signature.  All the signed information used to be in the node in the legacy protocol ; with segwit, this can refer also to "witness data", which is outside.  This is somewhat similar to locking up the hash of a big book in a bitcoin transaction: you can transmit the book data outside of the chain, and verify that it is the book that has the right hash that was in the chain.  So what Segwit essentially does, is to allow the node (the former transaction) to be itself an abstracted form of cryptographic data link to the rest of the system.

So in a way, bitcoin is built to be a growing "data base" of stuff of which each element can be verified to be indeed included, without, that's the whole point, having to download the entire database.  I can prove to you that a certain node Y is part of the block chain at block X, by providing you only with:

- the full header list
- the part of the Merkle tree of block X that goes to node Y
- the full data of node Y

You can verify all that, and you can verify that there's no way that I'm faking you if you can find out whether the current block header "on the net" is the block header at the end of what I gave you.  You don't need to download the full block chain for that.

This is exactly what a light wallet does, where the only nodes Y it is interested in, are the transactions to and from the addresses of the wallet.

With Segwit, there's now, "next to the block chain", also data that is related to node Y, which is called its witness.  With legacy transactions, the witness is empty, with segwit transactions, that witness contains the actual transaction data.

So now we have that in order to be sure that I have all I need to know concerning Y:

- the full header list
- the part of the Merkle tree of block X that goes to node Y
- the full data of node Y
- the witness of node Y

If there is a single, accepted, block chain out there, then these elements are all I need to be cryptographically certain that this information is authentic in that chain.  So as a user, I don't need anything else, apart from the "actual head of the chain that is accepted".  I don't need the full block chain.  I can do with the minimum, but I can use somewhat more if I like:
I could download the full block Merkle tree, instead of just the path to the node I'm interested in.
I could also download the full transaction data of the block containing my node data Y.
I could also download ALL blocks.
And I could, or not, download all the witness data.

But all this doesn't change a thing for me, namely, to know whether my data Y are authentically accepted in the sole agreed-upon block chain out there. This is why, for a normal user, there's no "data burden", and that's what Satoshi explained in his mail of November 2008.

So who could want to download all of the block chain information ?  (non-mining full node)
Who is, by doing so, exposed to the full burden of data ?

Well, there's of course more to bitcoin than just having a correct set of nodes: the essence of bitcoin is that these nodes correspond to "correct transactions".  In order to be able to verify whether a transaction is correct, one needs two things: one needs information about the previous transactions referred in the to-be-verified transaction ; but one also needs to verify that some information is NOT PRESENT in the WHOLE of previous data blocks, to avoid double spending.  So, in order to verify the correctness of a transaction, one needs the whole chain.

So if you want to be able to say whether a transaction IS ALLOWED TO BE included in a block or not, you do need the full chain (and with segwit, ALSO the witness data).  However, who is to decide ?  The answer to this question is: the mining nodes, and ONLY the mining nodes.  Indeed, bitcoin's solution to the Byzantine General's problem is based upon a vote by proof of work.  Nothing stops a mining node, technically, from including erroneous node data (or even erroneous Merkle trees, or erroneous headers).  But his block will be voted away by the other mining nodes, that will not build upon it.  As mining is economically costly (proof of work), for a mining node, there's no reason to make blocks his peer mining nodes will not vote for.  He will be wasting resources for nothing.  So the sole, consensual, block chain that is going to be built is a consensus of mining nodes.  As long as more than 50% or so of the hash power of mining nodes plays by the rules, the block chain will  be constructed by the rules.  But in order to do so, in order to be able to make correct blocks, mining nodes need the full data burden of the full block chain.  There's no way they could verify the correctness of a new block if they didn't have the full data set.  On the other hand, if ever mining nodes came to the agreement to include non-conform blocks, and continue building on it, as a user, there's nothing that you can do about it.  There is no alternative chain.  If node Y within block X contains a transaction that is not correct, but it is deeply buried inside the chain and the mining nodes continue to build upon that chain, there's nothing you, as a user, can do about it.  Even if you download all that data.  Even if you see that it is wrong.  Because there's no other chain out there.

If you have big stakes in bitcoin, however, it might be a good idea, to be aware of it, even if you cannot do anything about it.  So if you have big stakes in bitcoin, it might be a good idea to download all of the data, with all of the burden it represents, just to know whether the miners did include funny things or not.   But by far most users don't need the full data burden.  

Quote
Distributed systems are not designed to work by filling up a node until the 200gb file grows to
a terabyte and the development team knew this for day one so it's problem-reaction-solution
and the solution is the lightning network, miners are begging for it because the hubs are banks
which will need hardware and BTC to fund the private ledgers which is just what the miners have
by some strange stroke of luck.

The fundamental error is to think that every user needs the full data burden.  That's not feasible.  But not all users of Wikepedia download all of the Wikipedia data.  They only look at those pages they want to read.  As a normal bitcoin user, you don't need the full data burden.  You only need to do the cryptographic verification that the information you download, is corresponding to what's in the sole block chain out there.  

The big mistake in this whole debate is to confuse two aspects of bitcoin's cryptography:

1) verify that the transaction data you have, is the correct data that is in the consensual, single block chain out there

2) verify that the mining nodes that have the consensus power in bitcoin, followed the rules they are supposed to follow in building the sole consensual chain out there.

The normal user only needs to be concerned with 1).  Even if he found out in 2) that the sole chain out there is not built according to the rules he thought were in effect, there's nothing he can do about.

However, big players may want to look at 2).  Big exchanges for instance.   But it is sufficient that some look.  There will be a whistle-blower.  If you think it is fun, you can do it.  It comes with a data burden.

The "hard" consensus is the one of the mining nodes, with their vote by proof of work.  If mining nodes decided collectively to come to consensus A, then that's what's out there, and nothing else.  If mining nodes don't come to a consensus, we have a fork, but a fork without bidirectional incompatibility is very dangerous (can be overtaken).  So usually, a fork with the same protocol will not last, which means, that for the normal user, there is only one chain out there.

But there is also "soft power" in this game.  Suppose the mining pools come to the consensus that they increase the block reward.  They can, of course.  If they come to that consensus, and the sole block chain out there has now bigger block rewards, there's *technically* nothing a non-mining node can do about it, apart from seeing that that is what is happening.  So why don't mining nodes decide to do so ?  Of course, for them to do so, they would have to collude.  There's the "tragedy of the commons" effect (Nash equilibrium) that stops an individual mining node to take the initiative to give himself more rewards: his block would not find consensus by his peers.  But suppose that the Nash equilibrium of honest mining node breaks down and that all of them collude over larger mining rewards.  The chain out there now prints more bitcoin per block.  
As mining nodes are rewarded in coins, they are also sensitive to the market.  They can print themselves as many bitcoin as they want, if bitcoins aren't worth zilch in the market, they have been spending a lot of economic cost for nothing.  Printing more bitcoins is something the market would be highly negative about.  So if there is one set of entities that are kept by soft power, it are the mining nodes.  Even if they are not decentralized enough for the Nash equilibrium to be secure, they are simply kept by the "soft power" of the market. This is why the total centralization of mining nodes didn't bring a disaster: they need the market to like bitcoin. If they do crazy things, the market will blow their investment to oblivion.  Even if there was only one single mining node out there, it most probably would still play by the rules, because if it didn't, the market would crash and his entire investment would be dead.

So essentially, those suffering from the data burden, are the mining nodes themselves: they need it technically.  It is also very probable that those with big stakes in bitcoin, have an incentive to be "nice to the bitcoin users" and allow them to use their datacenter as a proxy for the block chain (to allow users to connect their light wallets).  

Normal users only need to verify the cryptographic soundness of that the data they have, is the real data of the real block chain, and a light wallet is enough for that.  They rarely *need* to verify the work of the mining node consensus.  They might be the whistleblower of a problem, but they cannot do anything about it.  As mining nodes are kept by the market sentiment to finance their huge economic spendings in proof of work, the very last ones to want to crash the market are the mining nodes.  So even if they are highly centralized, they most probably will continue to play by the rules.

So the "data problem" is not real.  And that's what Satoshi already explained in November 2008.  Satoshi made many mistakes, but on this one, he was right.

There is still one potential issue: who is going to provide normal users with enough network infrastructure so that they can download the data for their light wallet verification ?  The answer to this one is actually very simple: the bitcoin industry, of course !  The bitcoin industry are all those people making profit over the existence of bitcoin: the mining nodes in the first place, and also, the big exchanges, and if it ever happens, other entities in the ecosystem that have benefit from users using bitcoin.   These are the entities that have an incentive to put at the disposal of their bitcoin users/customers, a "full node data centre" that can connect to the light wallets.  Mining nodes may be incentivised to build a geographically distributed net of data centers "serving the block chain and capturing transactions".  These are the entities that are exposed to the "data burden", but for such entities, this databurden is ridiculously small as compared to the data burden of other data centres. Compared to say, TV over internet, bitcoin's data burden is ridiculously SMALL.

hv_
Legendary
*
Offline Offline

Activity: 2534
Merit: 1055

Clean Code and Scale


View Profile WWW
January 21, 2018, 09:13:11 AM
 #25

infinite block size limit is not an issue. I honestly cannot understand why he added the 1 MB limit.

Use Bitcoin Cash


@OP, I agree with your argument. As per game theory and the assumptions you have made, I don't see a reason why the block size limit has to stay at 1 MB.

Newbie question here, is there any way to change the block size limit? How feasible it is to do? Would it require a hard fork?

Use Bitcoin Cash


CBank has learned his lessons finally?

 Grin


Carpe diem  -  understand the White Paper and mine honest.
Fix real world issues: Check out b-vote.com
The simple way is the genius way - Satoshi's Rules: humana veris _
Drunkenhorse
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile WWW
January 21, 2018, 12:26:11 PM
 #26

Use Steem instead of bitcoin, they have a very progressive technology which makes transactions cheap and very fast.
junoreactor
Full Member
***
Offline Offline

Activity: 196
Merit: 109



View Profile
January 22, 2018, 03:54:55 AM
 #27

There are a lot of things that can be with Satoshi's mind at that moment which in his/her mind can be good with that 1mb limit per block. Satoshi did not even think that this would came on what we do have not and the demand for Bitcoins could come as far as this. That's why soft forks and hard forks came to the network just to get what the community want and need for the betterment of Bitcoin.
I highly doubt this. If you read the original paper, Satoshi's plan was to create a system that would become universal and used by many. Why the block was so small I am not sure but the answers given by dinofelis on page one are the most plausible to me.
hugeblack
Legendary
*
Offline Offline

Activity: 2702
Merit: 3992



View Profile WWW
January 22, 2018, 12:18:15 PM
 #28

If we return back to 2009, 1MB block size was enough. (They were mining 50 BTC at once time).
Until mid-2017 there was no problem with the size of the block.
On Dec. 14, the number of unconfirmed transactions rose to 480,000 Hence the problem.
On the other hand, the size of 1 MB promotes decentralization.


I agree with you this 1 MB is a random number

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
DooMAD
Legendary
*
Offline Offline

Activity: 3948
Merit: 3191


Leave no FUD unchallenged


View Profile
January 22, 2018, 01:51:28 PM
 #29

Let's start with a little background info...

Satoshi implemented the 1 MB blocksize limit without telling anyone; He just did it randomly. There was no discussion beforehand and after he did it, he did not mention it anywhere.

My understanding was that having a blocksize limit was Hal Finney's idea and he talked Satoshi into it after quite a bit of discussion between Satoshi, Hal Finney, Ray Dillinger and possibly others as well.  Although I'm not entirely sure if setting that limit at 1MB was Hal's decision too, or if that was someone else's input.  But suffice to say it wasn't just Satoshi acting alone.  In the early days, it's likely quite a few conversations were had via email, so we don't have reliable records of exactly what happened.

▄▄▄███████▄▄▄
▄█████████████████▄▄
▄██
█████████▀██▀████████
████████▀
░░░░▀░░██████████
███████████▌░░▄▄▄░░░▀████████
███████
█████░░░███▌░░░█████████
███
████████░░░░░░░░░░▄█████████
█████████▀░░░▄████░░░░█████████
███
████▄▄░░░░▀▀▀░░░░▄████████
█████
███▌▄█░░▄▄▄▄█████████
▀████
██████▄██
██████████▀
▀▀█████████████████▀▀
▀▀▀███████▀▀
.
.BitcoinCleanUp.com.


















































.
.     Debunking Bitcoin's Energy Use     .
███████████████████████████████
███████████████████████████████
███████████████████████████████
███████▀█████████▀▀▀▀█▀████████
███████▌░▀▀████▀░░░░░░░▄███████
███████▀░░░░░░░░░░░░░░▐████████
████████▄░░░░░░░░░░░░░█████████
████████▄░░░░░░░░░░░▄██████████
███████▀▀▀░░░░░░░▄▄████████████
█████████▄▄▄▄▄▄████████████████
███████████████████████████████
███████████████████████████████
███████████████████████████████
...#EndTheFUD...
Borilla
Jr. Member
*
Offline Offline

Activity: 83
Merit: 1


View Profile
January 22, 2018, 02:04:59 PM
 #30

I'll be using game theory to explain this and here is where it gets interesting....


go back to school kiddo!

the most ridiculous thread ever

 all the genius here make your own coin, do it , i want to see your retard faces in the team pictures
hv_
Legendary
*
Offline Offline

Activity: 2534
Merit: 1055

Clean Code and Scale


View Profile WWW
January 22, 2018, 05:24:35 PM
 #31

Let's start with a little background info...

Satoshi implemented the 1 MB blocksize limit without telling anyone; He just did it randomly. There was no discussion beforehand and after he did it, he did not mention it anywhere.

My understanding was that having a blocksize limit was Hal Finney's idea and he talked Satoshi into it after quite a bit of discussion between Satoshi, Hal Finney, Ray Dillinger and possibly others as well.  Although I'm not entirely sure if setting that limit at 1MB was Hal's decision too, or if that was someone else's input.  But suffice to say it wasn't just Satoshi acting alone.  In the early days, it's likely quite a few conversations were had via email, so we don't have reliable records of exactly what happened.

Yes. And it happened at a time, where there was absolutely 0 fees and only a few txs.
The idea was coming from excluding a sheer brute zero cost spam attack, bloating the blockchain for free and crashing / eliminating bitcoin before it could take off. Very reasonable for an open blockchain in a open hacker world that time, handwaving the no-brainer to lift it as 'needed'.

Carpe diem  -  understand the White Paper and mine honest.
Fix real world issues: Check out b-vote.com
The simple way is the genius way - Satoshi's Rules: humana veris _
Quartermark
Newbie
*
Offline Offline

Activity: 4
Merit: 2


View Profile
January 22, 2018, 06:20:23 PM
Merited by DooMAD (2)
 #32

It doesn't matter what "Satoshi" intended. On-chain transactions are scarce because the Bitcoin blockchain is designed to be deterministic (this is self evident) and to be highly distributed (this is also self evident). Miners mint coins and process transactions, non-miner "full nodes" verify the integrity of the network (they are the only 'clients' that don't have to trust that the nodes they are talking to are behaving properly, using the desired protocol).

Increasing block size increases network bandwidth requirements (higher cost & quality required), compute/memory requirements and storage cost & complexity (UTXOs). Larger blocks increase the cost of running nodes. It is not known exactly how increasing block size affects the composition of the network, but the general argument that increasing block size reduces the number of possible participants in the network is obvious. Given that on-chain transactions carry a high cost (relative to suitable off-chain solutions), it is obvious that not all transactions warrant on-chain settlement. Therefore, an off-chain (L2) architecture and implementation are needed in order to 'complete' the Bitcoin architecture so that it can reasonably support real-time, lowest-cost payments. Bitcoin is still in 'beta', in with regard to low-value payments. Lightning is the spearhead for implementing a payments layer for bitcoin. You can check the status of Lightning on mainnet here: http://lnstat.ideoflux.com:3000/dashboard/db/lightning-network?refresh=5m&orgId=1

Enlarging blocks (pricing more participants out of the network) purely in the interest of lowering fees in the short term so we can lure more people onto a Beta network doesn't seem productive. It is better to start by (1) optimizing blocks so bits are used more effectively (SegWit), then (2) maturing a layer 2 implementation, then (3) reviewing block size increase requirements once the actual demand for on-chain transactions becomes clear (after all the low-value transactions have been moved off-chain and usage patterns with the L2 settle into patterns we can use for planning purposes).

johniadeluca
Member
**
Offline Offline

Activity: 224
Merit: 11


View Profile
January 22, 2018, 06:45:10 PM
 #33

i mean relatively, Satoshi probably didn't expect it to scale as fast and as large as Bitcoin has today
dinofelis
Hero Member
*****
Offline Offline

Activity: 770
Merit: 629


View Profile
January 22, 2018, 07:38:35 PM
Last edit: January 22, 2018, 08:04:32 PM by dinofelis
Merited by digaran (2), ABCbits (1)
 #34

Yes. And it happened at a time, where there was absolutely 0 fees and only a few txs.
The idea was coming from excluding a sheer brute zero cost spam attack, bloating the blockchain for free and crashing / eliminating bitcoin before it could take off. Very reasonable for an open blockchain in a open hacker world that time, handwaving the no-brainer to lift it as 'needed'.

As I pointed out earlier, there is no reason why "the consensus of mining nodes" would build upon a crazy large block, which implies an implicit block size limit every mining node, individually, decides for himself.  We are forgetting here the consensus role and the voting power that mining nodes have: they DECIDE on which block to mine.  They DECIDE what the consensus will be.  As such, if there is block 50 005 which is still normal, and someone propagates a 5 GB block on top of 50 005 as candidate 50 006 block, it is upon the rest of the mining nodes to decide whether or not they will orphan this block, and make their own 50 006 block, or whether they will mine on top of that 5 GB block.  If a consensus of miners decides to mine on top of that 5 GB block, then it means that bitcoin's consensus is that such a block is "good".  If they decide to orphan it, then it means that even if that 5 GB block is "legal", miners don't like it (essentially because it is spam).  Moreover, those mining on smaller blocks have a network burden advantage.  By the time you've downloaded that 5 GB block, you've lost a lot of precious hashing time - unless the network is so swift that 5 GB blocks are not an issue.  

So you can think that every mining node has his own "limit of block size on top of which he will not mine", for reasons of principle, for reasons of network efficiency, and for reasons of cost.  Of course, if he sets that limit too low, he will never mine.  If he sets it higher than his peers, no problem.  There will hence be a kind of unspoken "market size" of blocks that miners in general accept.  That automatic self-control mechanism would in any case have prevented that the blockchain would be entirely stupidly be filled with GB of nonsense per day.

There was strictly no reason to put in a hard limit.  Most probably, Satoshi thought that it would be a formalization of this "unspoken limit" on which miners would decide.  Maybe Satoshi only saw this as a "mining strategy" as he was also writing the sole mining software out there.

The real long term problem bitcoin was facing is that no block limit would lead to very low fees.  Very low fees would start to be a problem when bitcoin's issuance would start to dwindle, and wouldn't pay enough for the mining security. The finite amount of bitcoin issuance, which is its main publicity and selling point, is in fact a huge monetary design mistake which makes bitcoin unsuited as a currency ; but on top of that, it forces a delicate fee market that has the potential to kill the usability of the system as a whole.

But the finite block size never played a useful role, and its use as a "spam protection" is obviously wrong.  It has only negative effects.
dinofelis
Hero Member
*****
Offline Offline

Activity: 770
Merit: 629


View Profile
January 22, 2018, 07:54:54 PM
Last edit: January 22, 2018, 08:09:30 PM by dinofelis
 #35

It doesn't matter what "Satoshi" intended. On-chain transactions are scarce because the Bitcoin blockchain is designed to be deterministic (this is self evident) and to be highly distributed (this is also self evident).

This is absolutely not self evident.  It is a narrative that is repeated over and over, but it is entirely wrong, as I explained already many, many times.  

The number of different, identical copies of a cryptographically signed document that are stored world-wide, from the moment there are several (say, a few 10 or so) doesn't increase its cryptographic certainty.  

Suppose that 10 people are each in possession of a cryptographic secret key of which we all know the public key, and suppose that these 10 people sign documents.  We can all verify the signatures of these documents.  How many independent copies do there have to be in the world on public repositories, in order for you to feel secure that you are able to access some of them when you want and are able to verify their authenticity ?   Do we need thousands of repositories ?  Is it useful that Joe and Jack put up a server in their basement with those documents ?  Or can we live with a few tens of independent servers (for instance, of these people themselves) ?

It is clear that the cryptographic verification of these documents is independent of the number of independent servers there are in the world.  If my neighbour Joe cannot afford to set up a home server of these documents, that's not going to stop me from being able to verify their authenticity if I download them from one or other big data center, right ?

Now, we have essentially 10 big mining pools that are the sole authors of the bitcoin block chain.  How many copies of that chain do we need to serve, all over the world, in order for me to be able to verify the authenticity (that a piece of it I download, is of the real block chain out there made by these 10 mining pools) ?  I would think that a few tens of copies that are publicly available are good enough.  That my neighbour cannot have a server in his basement, is, just like before, no problem.

I can easily check, from the moment that I have access to any public repository of the entire block chain, that the small piece I need, is authentic, that is, belongs to the sole and unique chain that is out there, made by these 10 mining pools, like I could verify that the document I downloaded was cryptographically signed by one of the 10 authors of these documents.

And when there needs to be a few tens, or a few hundreds, of public repositories of blockchain in the world, then there is no "data burden".  Your average datacentre handles WAY WAY more data than the bitcoin block chain, even in your wildest dreams.  Compared to an IPTV data center with VOD, the bitcoin block chain, even with VISA-like transaction rates, is extremely small.  That's what Satoshi already told us in November 2008.  It was obviously right.

And nothing is gained by having thousands and thousands of identical copies ; if, in order to have those thousands and thousands of identical copies everywhere, we cripple the system, we're totally out of our minds.  That is similar to not wanting to broadcast TV shows over the internet at more than a 250x125 pixel resolution, because if every poor dude in the world has to keep all the TV shows on his basement server, we have to limit internet TV.  

I will ask something else if you want to put that in doubt: how many independent repositories are there, publicly available, of the bitcoin core software ?  There is essentially only one, as far as I know, that is on github.  I don't know of other servers of the git repository that are public.  At best there are the Torrent seeders, but that is not a genuine git repository.  How many are there ?  So if only a few software repositories are available, why should there be thousands of block chain repositories ?
The single github repository is enough, as long as it is working, because we have the cryptographic signatures of the few authors (think of my 10 people on the top of this post).  If github breaks down, I'm sure that each of these authors can set up another repository somewhere else, and by verifying their signatures, we know it is authentic.   Replace "github bitcoin repository" by "block chain repository", and replace "signing author of Core" by "mining pool", and "signature" by "proof of work", and you see the analogy.

DooMAD
Legendary
*
Offline Offline

Activity: 3948
Merit: 3191


Leave no FUD unchallenged


View Profile
January 22, 2018, 08:09:55 PM
 #36

Now, we have essentially 10 big mining pools that are the sole authors of the bitcoin block chain.  How many copies of that chain do we need to serve, all over the world, in order for me to be able to verify the authenticity (that a piece of it I download, is of the real block chain out there made by these 10 mining pools) ?  I would think that a few tens of copies that are publicly available are good enough.  That my neighbour cannot have a server in his basement, is, just like before, no problem.

I can easily check, from the moment that I have access to any public repository of the entire block chain, that the small piece I need, is authentic, that is, belongs to the sole and unique chain that is out there, made by these 10 mining pools, like I could verify that the document I downloaded was cryptographically signed by one of the 10 authors of these documents.

(...)

And nothing is gained by having thousands and thousands of identical copies ; if, in order to have those thousands and thousands of identical copies everywhere, we cripple the system, we're totally out of our minds.

I vaguely, sort of, kinda see your point, but the simple fact remains that thousands of copies is more resistant to regulatory shutdown than 10.  Thousands of copies is more resistant to bribery and corruption than 10.  Thousands of copies is more resistant to any other kind of collusion, manipulation or attack than 10.  Strength in numbers and such.  The more distributed it is, the stronger it is.  We'd be totally out of our minds if we trusted such a small number of people to remain honest when the incentives to be dishonest become inexorably more profitable over time.

▄▄▄███████▄▄▄
▄█████████████████▄▄
▄██
█████████▀██▀████████
████████▀
░░░░▀░░██████████
███████████▌░░▄▄▄░░░▀████████
███████
█████░░░███▌░░░█████████
███
████████░░░░░░░░░░▄█████████
█████████▀░░░▄████░░░░█████████
███
████▄▄░░░░▀▀▀░░░░▄████████
█████
███▌▄█░░▄▄▄▄█████████
▀████
██████▄██
██████████▀
▀▀█████████████████▀▀
▀▀▀███████▀▀
.
.BitcoinCleanUp.com.


















































.
.     Debunking Bitcoin's Energy Use     .
███████████████████████████████
███████████████████████████████
███████████████████████████████
███████▀█████████▀▀▀▀█▀████████
███████▌░▀▀████▀░░░░░░░▄███████
███████▀░░░░░░░░░░░░░░▐████████
████████▄░░░░░░░░░░░░░█████████
████████▄░░░░░░░░░░░▄██████████
███████▀▀▀░░░░░░░▄▄████████████
█████████▄▄▄▄▄▄████████████████
███████████████████████████████
███████████████████████████████
███████████████████████████████
...#EndTheFUD...
dinofelis
Hero Member
*****
Offline Offline

Activity: 770
Merit: 629


View Profile
January 22, 2018, 08:27:56 PM
 #37

Now, we have essentially 10 big mining pools that are the sole authors of the bitcoin block chain.  How many copies of that chain do we need to serve, all over the world, in order for me to be able to verify the authenticity (that a piece of it I download, is of the real block chain out there made by these 10 mining pools) ?  I would think that a few tens of copies that are publicly available are good enough.  That my neighbour cannot have a server in his basement, is, just like before, no problem.

I can easily check, from the moment that I have access to any public repository of the entire block chain, that the small piece I need, is authentic, that is, belongs to the sole and unique chain that is out there, made by these 10 mining pools, like I could verify that the document I downloaded was cryptographically signed by one of the 10 authors of these documents.

(...)

And nothing is gained by having thousands and thousands of identical copies ; if, in order to have those thousands and thousands of identical copies everywhere, we cripple the system, we're totally out of our minds.

I vaguely, sort of, kinda see your point, but the simple fact remains that thousands of copies is more resistant to regulatory shutdown than 10.  Thousands of copies is more resistant to bribery and corruption than 10.  Thousands of copies is more resistant to any other kind of collusion, manipulation or attack than 10.

The point is that you cannot lie.  You cannot present a FAKE block chain.  The only thing needed for that, is checking the chain of block headers.  There's no way you can invent a fake chain of block headers.  Of course, every participant (as Satoshi said) should download the full chain of block headers.  That chain is, well, a chain, and it contains the proof of work. It is very small.  You can also find the most up-to-date block header the mining pools are working on, so you can verify that this is the genuine chain they are working on.

That is not a lot of data, and independent of the block size.  

Once you have the header chain, and hence, the proof of work, you can verify the authenticity of every single transaction if one gives you:

1) the transaction
2) in what block it is
3) the path of the Merkle tree in that block to that transaction

That is what a light wallet does.  If you want to know whether someone paid you (which is the ONLY thing you want to know: do you possess a coin ? and did your transaction to someone else is part of the chain ?), you only need the proof that the transaction to your address is incorporated in the chain.  You don't care about all the rest.  You want the cryptographic proof that the few transactions that you are concerned with, are in the sole chain out there.  That's all.

Quote
 Strength in numbers and such.  The more distributed it is, the stronger it is.  We'd be totally out of our minds if we trusted such a small number of people to remain honest when the incentives to be dishonest become inexorably more profitable over time.

That's another matter.  If you want to *find out* whether the mining pools are following the rules, you need indeed, to check everything.  But the only thing you can do is to find that out.  You can't do anything about it: they came to consensus, they decided what the block chain is.

I'm repeating what I wrote in an earlier post: https://bitcointalk.org/index.php?topic=2786690.msg28591086#msg28591086
somewhat higher up in this thread.

TL;DR: the miner pools are kept in check, not because thousands of Joe's verify independently in their basement their "signature", but rather by the market, and by one another.  The miners invested a lot in their mining equipment, and are rewarded in coins, from which they have to get economic value in the market to pay their bills with.   They want to play by the rules, because the market would crash if they didn't.  Even if there was only one single miner out there, making the block chain all by himself.  He would still apply the rules.  Or his coins wouldn't be worth zilch.

Of course, some people have to check.  There needs to be a whistleblower to find out that the entire miner consensus decided to fail on the rules.  But only one whistleblower is enough.  

Not every Joe is reading the Core code in his bed, to verify independently whether the Core code implements what is said about Bitcoin's rules.  In the same way, not every Joe needs to check the validity of the mining consensus (.... with the Core code he didn't read, and got from a single repository !).

The contrast is here in the high amount of centralization of the code, and the relatively high amount of centralization of the proof of work (mining pools), which are the TRUE power elements in bitcoin's system; but one insists on the "decentralization of holding a copy of the sole document" in such a way that it becomes a technical burden.   This is a contradiction.  There's no more reason to have thousands of copies of the block chain, but only a few repositories of the code ; there's no reason to require thousands of independent verifications of the block chain by that code, but not thousands of people verifying the code itself.  All this is hugely contradictory in its requirements.
If you can trust a single, centralized code depository (github) and the few signatures of the contributors ; if you know that the entire block chain is produced by just 10 mining pools with such an amount of proof of work that nobody can do anything else, but then you introduce technical limitations because of the "need" to keep thousands of copies in all basements, that doesn't make much sense to me.

DooMAD
Legendary
*
Offline Offline

Activity: 3948
Merit: 3191


Leave no FUD unchallenged


View Profile
January 22, 2018, 11:59:41 PM
 #38

The contrast is here in the high amount of centralization of the code, and the relatively high amount of centralization of the proof of work (mining pools), which are the TRUE power elements in bitcoin's system; but one insists on the "decentralization of holding a copy of the sole document" in such a way that it becomes a technical burden.   This is a contradiction.  There's no more reason to have thousands of copies of the block chain, but only a few repositories of the code ; there's no reason to require thousands of independent verifications of the block chain by that code, but not thousands of people verifying the code itself.  All this is hugely contradictory in its requirements.
If you can trust a single, centralized code depository (github) and the few signatures of the contributors ; if you know that the entire block chain is produced by just 10 mining pools with such an amount of proof of work that nobody can do anything else, but then you introduce technical limitations because of the "need" to keep thousands of copies in all basements, that doesn't make much sense to me.

I agree it's a bizarre contradiction, but I'd make the opposite argument (even though it seems to be heresy around these parts), that there should be more than one dev team and repository precisely because decentralisation is more resilient to attack.  Many seem to take the stance that other dev teams are the attack, but I suppose that's what indoctrination does to the narrow minded.  Plus I'm still all for small adjustments to the blockweight.

Also, you appear to have glossed over the part about regulatory shutdown.  The fewer nodes Bitcoin has, the easier it would be for governments hostile to Bitcoin to either coordinate law-enforcement raids, or simply arrange shutting off the power, or otherwise targetting the remaining few mega-nodes to get rid of them.  If everything was done in 10 big datacenters, I'd bet there are a few governments out there who would happily justify the cost of trading 10 ballistic missiles for seeing the end of the greatest tool of monetary freedom available in the world today.  It's simply not worth risking.

▄▄▄███████▄▄▄
▄█████████████████▄▄
▄██
█████████▀██▀████████
████████▀
░░░░▀░░██████████
███████████▌░░▄▄▄░░░▀████████
███████
█████░░░███▌░░░█████████
███
████████░░░░░░░░░░▄█████████
█████████▀░░░▄████░░░░█████████
███
████▄▄░░░░▀▀▀░░░░▄████████
█████
███▌▄█░░▄▄▄▄█████████
▀████
██████▄██
██████████▀
▀▀█████████████████▀▀
▀▀▀███████▀▀
.
.BitcoinCleanUp.com.


















































.
.     Debunking Bitcoin's Energy Use     .
███████████████████████████████
███████████████████████████████
███████████████████████████████
███████▀█████████▀▀▀▀█▀████████
███████▌░▀▀████▀░░░░░░░▄███████
███████▀░░░░░░░░░░░░░░▐████████
████████▄░░░░░░░░░░░░░█████████
████████▄░░░░░░░░░░░▄██████████
███████▀▀▀░░░░░░░▄▄████████████
█████████▄▄▄▄▄▄████████████████
███████████████████████████████
███████████████████████████████
███████████████████████████████
...#EndTheFUD...
dinofelis
Hero Member
*****
Offline Offline

Activity: 770
Merit: 629


View Profile
January 23, 2018, 05:42:35 AM
 #39

The contrast is here in the high amount of centralization of the code, and the relatively high amount of centralization of the proof of work (mining pools), which are the TRUE power elements in bitcoin's system; but one insists on the "decentralization of holding a copy of the sole document" in such a way that it becomes a technical burden.   This is a contradiction.  There's no more reason to have thousands of copies of the block chain, but only a few repositories of the code ; there's no reason to require thousands of independent verifications of the block chain by that code, but not thousands of people verifying the code itself.  All this is hugely contradictory in its requirements.
If you can trust a single, centralized code depository (github) and the few signatures of the contributors ; if you know that the entire block chain is produced by just 10 mining pools with such an amount of proof of work that nobody can do anything else, but then you introduce technical limitations because of the "need" to keep thousands of copies in all basements, that doesn't make much sense to me.

I agree it's a bizarre contradiction, but I'd make the opposite argument (even though it seems to be heresy around these parts), that there should be more than one dev team and repository precisely because decentralisation is more resilient to attack.  Many seem to take the stance that other dev teams are the attack, but I suppose that's what indoctrination does to the narrow minded.  Plus I'm still all for small adjustments to the blockweight.

You're perfectly right.  The "code" situation is far, far more centralized than the "mining" situation, and, as with the "mining" situation, that is NOT the fault of the central power in code.  The few people that have pushing rights on the Core repository are the oligarchy of bitcoin's code power structure, even though nothing stops others from forking the code, or from developing independent code that implements the protocol too.  You can say that bitcoin's code WAS forked a lot, within bitcoin's community, and in order to make alt chains.  In a certain way, this is probably where we have to look for real decentralisation: alt coins.  
Anyways, whatever the causes, the code situation is highly centralized, and that's what the community, or the game theory if you want, has brought us.  It is not the fault of the Core people, but it is the actual situation.  

Quote
Also, you appear to have glossed over the part about regulatory shutdown.  The fewer nodes Bitcoin has, the easier it would be for governments hostile to Bitcoin to either coordinate law-enforcement raids, or simply arrange shutting off the power, or otherwise targetting the remaining few mega-nodes to get rid of them.  If everything was done in 10 big datacenters, I'd bet there are a few governments out there who would happily justify the cost of trading 10 ballistic missiles for seeing the end of the greatest tool of monetary freedom available in the world today.  It's simply not worth risking.

I didn't miss this, but I think it is somewhat delusional.  Right at this moment, there ARE 10 "data centres" that are making the block chain: the 10 most important mining pools.  Now, if I talk about data centre, they can be geographically distributed: they can have many "nodes" all over the world, but they are under the single control of a single mining pool.  So, "hitting them with a strategic thermonuclear weapon" is going to be difficult.  However, bitcoin has now literally industrial proportions.  I don't know how accurate the estimations are, but bitcoin is said to consume about as much electricity as Denmark.  If there was a concerted effort to pull the plug, literally, of bitcoin's mining industry by all governments, in any case you wouldn't be able to do anything with your full copy of the blockchain.  You can easily spot bitcoin mining activity: look at a correlation of electricity consumption and infrared heat pictures !  You can't hide Denmark's electricity consumption !  

I would think that if "war with world governments" rises to the point that the *DATA* is not safe on a few 10 of data centers, then, first, the liberties of people in this world are very, very much eroded to the point of not even be allowed to have data on a data center ; second, how do you think the market would react if governments start bombing bitcoin infrastructure ?  Who is going to "store his wealth" in a thing governments bomb ?  Before governments bomb blockchains, they will have shut down all forms of *commercial activity* of course, and the market will crash to 2010 levels.  And before they bomb blockchains, they will of course first bomb the code repository with a cease-and-desist order to github, imprison all the core code writers, and will pull the plug of all mining equipment.  

So, again, even in this somewhat delusionary scenario of an all-out war against bitcoin on this planet by a concerted effort of governments, there are easier points of failure to attack before one will bomb the blockchain file repositories.  If putting the blockchain at disposal becomes illegal and opened to being bombed everywhere in the world, we have a bigger problem than bitcoin, and in any case, bitcoin's commercial value would be dead. "store of value" in something all governments bomb is not going to be very attractive.

Moreover, bitcoin is now 1/3 of crypto.  Governments could bomb blockchain centres, but then they would only promote another crypto.

This is why I think that the true decentralisation comes from the alt coin crypto market, which is in fact, breaking just as well the code monopoly, as the mining monopoly, as the block chain monopoly, but not as we expected.  "life finds its way".

So, again, if, for a defence against the IMO illusionary case of a massive world-wide government crackdown on *blockchain repositories*, we cripple the technical capacities of the system, that's madness.
Cgrbb
Member
**
Offline Offline

Activity: 96
Merit: 10


View Profile
January 23, 2018, 06:24:10 AM
 #40

answer is simple. unnecessary block size is unnecessary Smiley
Pages: « 1 [2] 3 4 5 6 7 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!