Author

Topic: Question regarding the role of miners vs nodes in securing the network (Read 487 times)

legendary
Activity: 1512
Merit: 7340
Farewell, Leo
Sorry if I seemed a troll to you. That wasn't my intense.
legendary
Activity: 1456
Merit: 1175
Always remember the cause!
the Heaviest Chain Rule
But, no one talked about the heaviest chain. This implies that there's a chain with heavier blocks, weighting more gigabytes. What I said is the chain with the most work.
Obviously, by heaviest chain, I mean the chain with the heaviest workload, aka more computational work. As there is no excuse for your confused interpretation, given the clear context, I suppose you are showing signs of trolling  Cheesy

Quote
_snip_
I'd suggest reading a bit more and thinking a lot more, before posting.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
the Heaviest Chain Rule
But, no one talked about the heaviest chain. This implies that there's a chain with heavier blocks, weighting more gigabytes. What I said is the chain with the most work.

@Tangentc has a valid point about generating a shorter chain with heavier workload being infeasible because of timestamp requirements
No, he doesn't. There isn't a timestamp checking when you send the chain. If your chain has more work it is the valid chain. One could generate 2016 blocks with a difficulty of all difficulties summed and be considered correct. Furthermore, I explained how you can fool the system's timestamps on blocks if you're the only miner in the network.

It'd be much better understood once it is put in the big picture:  generating fewer blocks in a large window of time inevitably causes lower difficulties to be set in the network and such a chain would carry a lower workload as long as it wants to remain shorter.
Again, if you're the only miner of the network, time can be defined by only one person instead of all's. You generate blocks within a supposed time difference of 10 minutes and retain the same difficulty in each period.

I leave you to enjoy your ignorance together with your false beliefs.
Except that they aren't beliefs. Bitcoin isn't a religion for no one to question. He provided some arguments based on facts.

Please stop being so ironic, you only humiliate yourself.
legendary
Activity: 1456
Merit: 1175
Always remember the cause!
Although the two concepts, the Longest Chain Rule and the Heaviest Chain Rule are slightly different,  they have been used in the literature interchangeably without ending to too much confusion.

@Tangentc has a valid point about generating a shorter chain with heavier workload being infeasible because of timestamp requirements, though his point is valid just for long range re-org attempts. In the short-range case, such a counterintuitive scenario is feasible.

It'd be much better understood once it is put in the big picture:  generating fewer blocks in a large window of time inevitably causes lower difficulties to be set in the network and such a chain would carry a lower workload as long as it wants to remain shorter.

Again, I'd recommend sticking with the security role of miners vs full nodes, instead of practicing endless controversies on irrelevant issues.
member
Activity: 266
Merit: 20
Clueless Ramblings

Enjoy your day, the majority here are just too thick to understand anything anymore.
I leave you to enjoy your ignorance together with your false beliefs.

 Cool
legendary
Activity: 3472
Merit: 4801
That is not what I said , reread my earlier posts til you get it.

Ok, since you want to be pedantic (personally, I do prefer pedantry anyhow), let's try this again using your exact words.

Because Longest chain is more accurate,

It is not. To the average person, "Longest chain" generally implies largest quantity of blocks. Bitcoin nodes do not use quantity of blocks to determine which chain to follow.


since using Proof of Work implies the longest chain would have more work.

It does not.  It is quite easy to create a chain with MANY more blocks, but much less total proof of work. If I purge all the blocks from the current blockchain EXCEPT the original "genesis block", and then immediately start mining a new chain with that same starting block, using today's modern ASICs I can produce thousands of valid blocks per minute. If I write code that sets the timestamp for each new block that I create 10 minutes later than the previous block, then the difficulty will remain low and I can continue this process completing a chain of 705,000 blocks in less than 8 hours. This will give me a chain that is "longer", but since those blocks are lower difficulty it will have "less work".  Clearly "longest chain" doesn't always have "more work".

For any reorg to ever occur , the # of blocks (height) has to be greater and have more work. ie: longer chain with more work.

This is simply a false statement.  The number of blocks is unimportant, only the total work.

You can never have a shorter chain overwrite a longer chain as the wallets will ignore any blocks not near equal in height with the current blockchain.
 Wink

This is also a false statement. Again, the number of blocks is unimportant.  IF SOMEONE HAD MORE HASHPOWER THAN THE REST OF THE WORLD COMBINED, then they could go back a few difficulty adjustments and start replacing blocks. Since they have more hashpower, they'll produce blocks faster than the rest of the world. Therefore, the time between 2,016 blocks will be less than it was in the current chain, and the difficulty will increase faster at the difficulty adjustments.  By the time they start to get close to the current chain with their replacement chain, they'll have more total work BEFORE they exceed the current blockheight. At that point, if they broadcast their chain, all nodes will abandon the chain they currently have and will accept this replacement chain as the valid chain, even though it is a block or two shorter.  You absolutely CAN have a shorter chain overwrite a longer chain.

You could mine the rest of the blocks with less difficulty and catch up really fast.
Nope ,   Kiss
block speed and difficulty settings would prevent that.
You're stuck at the same difficulty level for 2 weeks, so thinking you can catch up really fast is not possible.

How fast you can catch up depends on how much more hashpower you have than the rest of the world combined.  If you have only 1% more than the rest of the world combined, then you are not going to catch up very fast.  If you have 10,000 times as much hashpower, then you can catch up quite a bit faster.



You are mistaken.  It is absolutely possible for a chain with less blocks to have more total proof of work.
That is not what I said , reread my earlier posts til you get it.

That is ABSOLUTELY what you said:
since using Proof of Work implies the longest chain would have more work.

So in your confusion,
Someone could make 1 block with a greater proof of work today that the combined 701172 blocks that bitcoin currently has.

That is not what I said , reread my earlier posts til you get it.

I said nothing about a single block having more work than a 700,000+ chain of blocks.  I said that a shorter chain can have greater proof of work. In other words, a 699,999 block chain could have more work than a 700,000 block chain.


I can tell you, you're wrong, but it seems to be some cult mentality blocking logic from getting thru.

Perhaps. What's your source of information?  I suspect mine is more reliable.

Tell you what, you and anyone that believes you, get together and overwrite all of bitcoin chains and do it in 3 blocks.

3 blocks?  Nah. Regardless, no matter whether it was 3 blocks or 699,999 blocks, the problem is that it is prohibitively expensive to acquire and operate enough hashpower. This is why Bitcoin remains secure.

LOL, BlackHatCoiner thinks he can modify the timestamps at will, so nothing is holding you back.  Cheesy Cheesy Cheesy

Except for access to enough hashpower.

* Anyone want to let him know that modifying the node program code and all of the other nodes would reject it, feel free,
he seems to have trouble believing me.*


ABSOLUTE NONSENSE.  Nodes don't know anything about what code other nodes are running.  They havee no way of knowing if the block that they receive was created by modified code or not. As long as the block itself passes all the validation checks, nodes are perfectly willing to accept blocks from a modified node program.  As a matter of fact, there are SEVERAL variations of node software out there (and several versions of each variation). They all produce blocks that are accepted by all other nodes.  As long as the timestamps that you create fit within the rules for a valid block, you can modify them as much as you like.
legendary
Activity: 1456
Merit: 1175
Always remember the cause!
OK, It's getting pretty much derailed.

Back to OP's question, it is undisputable that Bitcoin mining scene is not in the best possible shape as a majority of participants who belong to the vast community of medium to small miners are alienated from the network and the blockchain, having no clue about what the actual blockchain's state is, period.
Arguments mentioning the ability of miners to migrate between pools (to fulfill their security role) are not solid enough. @pooya87 and @BlackHatCoiner are missing a critical point: The existential utility of a pool is the difficulty leverage it provides for small miners, hence small pools are not a real option for migration and miners are left with a handful of options to deal with the variance.

Although It is true for all PoW coins (not just bitcoin), it is not inherent to PoW, neither it is the only way variance could be handled even for winner-take-all model of PoW which Satoshi adopted first and others copied it, let's elaborate more:

Until recently, I believed that winner-take-all approach to PoW proposed and built into Bitcoin by Satoshi is such a fundamental mistake that leaves no chance for it (and its clone) to avoid centralization of mining and rise of pools. I'm now revising my perception of the problem and reaching to a somewhat more moderate conclusion, as it seems to be possible to improve the situation with pools without disrupting the whole thing.

For now, let's assume my idea is implemented and adopted by a majority of miners, just imagine it for a moment please, suppose we have hundreds of thousands of small miners across the globe with network hashrate share down to 10^-7 (users who should wait like 2 centuries for hitting a block!), directly connected to the blockchain, generating/publishing their own blocks with a steady flow of daily and fair income, I know, I know, it is hard for you guys to imagine, you are "enchanted by pools" aren't you? But come on, I'll give you a kiss  Kiss.  Now you are awake, just imagine and answer me: In your "imaginary" pool-free bitcoin world, is network security understood the same as what you experience as an enchanted Bitcoiner now?
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
You must feel really superior.


LOL, BlackHatCoiner thinks he can modify the timestamps at will, so nothing is holding you back.
If you're the only person in the network, then you can decide which timestamps you'll use between the blocks and increase or decrease the difficulty analogously. You can't achieve this if there are other miners too, because they'll mine fairly and outpace your blocks. Only if you owned the majority of the hash rate and did the whole work by yourself until you exceed them, you could replace your chain with theirs.

any wallet client will not check the proof of work verses the other chain.
I wasn't talking about the wallet clients. I was talking about the Bitcoin clients.

At least that is the way it works in this reality, not sure about the fantasy world you guys seem to live in.
🤡
member
Activity: 266
Merit: 20
You are mistaken.  It is absolutely possible for a chain with less blocks to have more total proof of work.
Under normal circumstances it would be unusual and you aren't likely to ever see it happen, but in a scenario where someone is attempting to attack the network, the only reason they wouldn't TRY to create a chain with more blocks and less work is because they know that the nodes will ignore it.

The actual, real, rules as implemented result in nodes following the largest total proof of work regardless of number of blocks.


That is not what I said , reread my earlier posts til you get it.

So in your confusion,
Someone could make 1 block with a greater proof of work today that the combined 701172 blocks that bitcoin currently has.

I can tell you, you're wrong, but it seems to be some cult mentality blocking logic from getting thru.

Tell you what, you and anyone that believes you, get together and overwrite all of bitcoin chains and do it in 3 blocks.   Cheesy
LOL, BlackHatCoiner thinks he can modify the timestamps at will, so nothing is holding you back.  Cheesy Cheesy Cheesy
* Anyone want to let him know that modifying the node program code and all of the other nodes would reject it, feel free,
he seems to have trouble believing me.*



FYI:
Until the block height reaches a near = height,
any wallet client will not check the proof of work verses the other chain.
At least that is the way it works in this reality, not sure about the fantasy world you guys seem to live in.
legendary
Activity: 3472
Merit: 4801
Nope.  Miners just blindly hash the header.  They don't make any attempt to determine whether the "Previous Block" attribute has been used before or not.

But, one of them can realize if they're trying to reorg it. One's enough to spear the news, isn't he?

Can they? Perhaps, but it's VERY unlikely.

Reorgs happen all the time. Nobody is likely to notice a significant reorg that damages the integrity of Bitcoin until AFTER it has happened.

Because Longest chain is more accurate, since using Proof of Work implies the longest chain would have more work.

For any reorg to ever occur , the # of blocks (height) has to be greater and have more work. ie: longer chain with more work.
You can never have a shorter chain overwrite a longer chain as the wallets will ignore any blocks not near equal in height with the current blockchain.
 Wink

You are mistaken.  It is absolutely possible for a chain with less blocks to have more total proof of work. Under normal circumstances it would be unusual and you aren't likely to ever see it happen, but in a scenario where someone is attempting to attack the network, the only reason they wouldn't TRY to create a chain with more blocks and less work is because they know that the nodes will ignore it.

The actual, real, rules as implemented result in nodes following the largest total proof of work regardless of number of blocks.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
If you're replying to someone, please make it clear which part of it you respond.

You're stuck at the same difficulty level for 2 weeks, so thinking you can catch up really fast is not possible.
Alright, let's take the following scenario:

Bitcoin's chain: 700,000 blocks height and difficulty is very high.
Your chain: 650,000 blocks height with twice work of Bitcoin's chain.

You're the one who decides the timestamps between the blocks, so you could leave 20 minutes between each block. That would drop the difficulty by 50%. So now you've just made it easier to mine the rest 50,000 blocks. You could redo this in every period and you'll reach the 700,000 soon.
member
Activity: 266
Merit: 20
Because Longest chain is more accurate, since using Proof of Work implies the longest chain would have more work.
But, a chain can be longer than the current one with less work. The difficulty is what determines the correct chain. Someone may choose to mine 1,000,000 empty blocks, but if they're all mined with a difficulty of 1, the chain will be rejected. So saying that the longest chain is the correct one refers more to the chain's height rather than its work.

You can never have a shorter chain overwrite a longer chain as the wallets will ignore any blocks not near equal in height with the current blockchain.
You could mine the rest of the blocks with less difficulty and catch up really fast.

Nope ,  Kiss
block speed and difficulty settings would prevent that.
You're stuck at the same difficulty level for 2 weeks, so thinking you can catch up really fast is not possible.

FYI: https://bitcoin.org/bitcoin.pdf
Quote
they'll  generate the  longest  chain  and  outpace attackers
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
Because Longest chain is more accurate, since using Proof of Work implies the longest chain would have more work.
But, a chain can be longer than the current one with less work. The difficulty is what determines the correct chain. Someone may choose to mine 1,000,000 empty blocks, but if they're all mined with a difficulty of 1, the chain will be rejected. So saying that the longest chain is the correct one refers more to the chain's height rather than its work.

You can never have a shorter chain overwrite a longer chain as the wallets will ignore any blocks not near equal in height with the current blockchain.
You could mine the rest of the blocks with less difficulty and catch up really fast.
member
Activity: 266
Merit: 20
The whitepaper also contains false definitions such as “the longest chain” instead of “the chain with the most work”.

Because Longest chain is more accurate, since using Proof of Work implies the longest chain would have more work.

For any reorg to ever occur , the # of blocks (height) has to be greater and have more work. ie: longer chain with more work.
You can never have a shorter chain overwrite a longer chain as the wallets will ignore any blocks not near equal in height with the current blockchain.
 Wink

legendary
Activity: 1512
Merit: 7340
Farewell, Leo
Nope.  Miners just blindly hash the header.  They don't make any attempt to determine whether the "Previous Block" attribute has been used before or not.

But, one of them can realize if they're trying to reorg it. One's enough to spear the news, isn't he?
legendary
Activity: 3472
Merit: 4801
They couldn't do anything apart from perform a one time 51% attack.
Wouldn't the miners realize it before it happens? They receive block headers and could understand if they're working on a block that was mined before.

Nope.  Miners just blindly hash the header.  They don't make any attempt to determine whether the "Previous Block" attribute has been used before or not.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
Satoshi's vision doesn't matter, the paper matters.
But, the paper describes Satoshi's vision. You can't deny that what we're working on is someone's vision since the paper was written by them.

Why do you give so much emphasis to the whitepaper? The whitepaper also contains false definitions such as “the longest chain” instead of “the chain with the most work”.

No, it is the exact, direct definition of slavery, as miners have no choice other than working for pools, and they have no say on what this work looks like, alienated and powerless, it is slavery.
I guess you wanted to mean it metaphorically. Even that way, it's wrong to state it. They aren't forced to work anywhere. They're free to choose another pool or create one themselves if they feel they have to. The pool owner isn't an oppressor. He can't threaten miners. The opposite; the miners can damage him by choosing to not work on his pool.

They couldn't do anything apart from perform a one time 51% attack.
Wouldn't the miners realize it before it happens? They receive block headers and could understand if they're working on a block that was mined before.
legendary
Activity: 1456
Merit: 1175
Always remember the cause!
I knew about Satoshi's 2008 e-mail, it is Satoshi, not the White Paper, not Bitcoin to be specific.
They aren't different things.
And if we are to be pedantic then the 7.5 pages of abstraction and simplification known as white paper doesn't represent the reality of Bitcoin either. The code does, and from the code it is obvious that parallelism and scaling (specifically nonce+extra nonce instead of only nonce or limiting it to a bigger nonce size that would be exhausted in a couple of years as hashrate grew) for much higher hashrate is envisioned.
They are absolutely different things. The white paper is 7.5 pages because of the elegance of the core idea, Einstein's paper which disrupted physics abruptly by representing the Special Relativity from scratch using lots of mathematical deductions and equations was like 20 pages long.
IMHO, it is not a good practice to put the paper aside and quote from the writer's chat and comment logs. It doesn't help after all.

BTW, giving space in a codebase for very large numbers is a common practice in software engineering and programming, doesn't imply the existence of a comprehensive and complete plan for dealing with scaling problems. It is just so easy to give extra space to variables for extreme conditions but doesn't help enough when the system goes through an actual one, it just keeps working, but how good?.

No, it is the exact, direct definition of slavery,
I don't think you know what "slavery" means.
Let's not going this line, sure I know what it is, I've also heard about modern slavery, do you? Tongue

Quote
Issues don't fix themselves. Those who see the issue must do something about it.
I encourage you to start working on a proposal to address the issue and write a better mining pool software to be used by pools and the miners who connect to them in order to give more power/control to the miners.
Thank you for the encouragement, but I rather need contribution and support ATM.  Wink
legendary
Activity: 3472
Merit: 10611
I knew about Satoshi's 2008 e-mail, it is Satoshi, not the White Paper, not Bitcoin to be specific.
They aren't different things.
And if we are to be pedantic then the 7.5 pages of abstraction and simplification known as white paper doesn't represent the reality of Bitcoin either. The code does, and from the code it is obvious that parallelism and scaling (specifically nonce+extra nonce instead of only nonce or limiting it to a bigger nonce size that would be exhausted in a couple of years as hashrate grew) for much higher hashrate is envisioned.

No, it is the exact, direct definition of slavery,
I don't think you know what "slavery" means.

Quote
there are issues waiting to be fixed for years,
Issues don't fix themselves. Those who see the issue must do something about it.
I encourage you to start working on a proposal to address the issue and write a better mining pool software to be used by pools and the miners who connect to them in order to give more power/control to the miners.
legendary
Activity: 1456
Merit: 1175
Always remember the cause!
Obviously it is not Bitcoin the way it was originally designed, documented, and presented in the White Paper.

But, it's the way it was visioned;
Satoshi's vision doesn't matter, the paper matters. Meanwhile, the quotes show nothing other than a confused inventor who is starting to understand the real world scaling problem without a specific plan for addressing it, instead trying to justify the situation as being somehow 'normal'.
Come on Satoshi, it is not normal, buddy  Cheesy
Get back to your desk and prepare a plan, wait, where is Satoshi?

Centralized pools push miners out of the bitcoin ecosystem by enslaving them, making them work blindly on their stupid 80 bytes block header templates which point to an unknown set of transactions they have no clue about.
I think calling miners slaves is a little bit excessive. Miners can leave and rejoin the pool at their own willing. They're also free to move on a different pool.
No, it is the exact, direct definition of slavery, as miners have no choice other than working for pools, and they have no say on what this work looks like, alienated and powerless, it is slavery. Leaving and joining different pools is not much of an option, let's open our minds a bit more, not everything is perfect about Bitcoin, there are issues waiting to be fixed for years, let's not posing like a PR agent.

Quote
As for the block header, that's what they've agreed upon. If you don't like these rulings, you can try solving a block yourself or work for a pool with much less effort.
What  Huh
Thank you for letting people solo mine if they wish to participate in securing the network as a free/conscious human being, appreciate it, but with less than one in a million chance of hitting a block every 10 minutes, no, thanks, I'd try the other option, so, what was it?
Gotcha it!
Blindly mining the blocks, the master decided and relayed their headers, ... ok, seems I'm out of options now, let me get rid of this full node I've been maintaining, first.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
Obviously it is not Bitcoin the way it was originally designed, documented, and presented in the White Paper.

But, it's the way it was visioned;

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.

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.

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.




Centralized pools push miners out of the bitcoin ecosystem by enslaving them, making them work blindly on their stupid 80 bytes block header templates which point to an unknown set of transactions they have no clue about.
I think calling miners slaves is a little bit excessive. Miners can leave and rejoin the pool at their own willing. They're also free to move on a different pool. As for the block header, that's what they've agreed upon. If you don't like these rulings, you can try solving a block yourself or work for a pool with much less effort.
legendary
Activity: 1456
Merit: 1175
Always remember the cause!
Bitcoin, the way Satoshi Nakamoto designed it originally, was not supposed to face such a situation in which nodes and miners are almost two different, sometimes conflicting, groups of actors.
I don't think so.
It is obvious that you can never prevent people from sharing a "computational work", and that's exactly what pools are meant to do. This is not specific to bitcoin or any specific algorithm, anything that can run in parallel (multiple threads) can also be expanded to run on multiple systems.
Satoshi also touched on this matter indirectly in his Email back in 2008 (before Bitcoin was launched) predicting that people will mostly run SPV clients instead of running full nodes and be mining bitcoin while it will be left to "specialized server farms" to do so.
I knew about Satoshi's 2008 e-mail, it is Satoshi, not the White Paper, not Bitcoin to be specific.
In the paper, Bitcoin is discussed and justified as a network composed of nodes incentivized to act loyally because of the rational cost/benefit assessment they could make, costs being the work and benefits being the reward, hence they are ALL mining full nodes. It is Bitcoin the way it is presented and documented, not the way it is discussed loosely by the inventor.

As of your sharing argument:
Sharing is good, I used to be a socialist for a long time, I love sharing, but not the centralized way, I hate centralization and pools are centralized, simple.
Other than personal ambitions and judgements, there is strict mathematical reasons for avoiding centralized sharing of computational work: Collusion resistance is linearly dependent on the cardinality of the set of actors. Once you got 3 huge players possessing like 75%+ of votes, you are doomed simply because they could easily collide, like by setting up a meeting or calling each other, couldn't they?

And there is more:
Centralized pools push miners out of the bitcoin ecosystem by enslaving them, making them work blindly on their stupid 80 bytes block header templates which point to an unknown set of transactions they have no clue about. It is literary, an alienation process by which actual miners, are kept out from the network as they have no single reason to run a full node.

Obviously it is not Bitcoin the way it was originally designed, documented, and presented in the White Paper.
legendary
Activity: 3472
Merit: 10611
Bitcoin, the way Satoshi Nakamoto designed it originally, was not supposed to face such a situation in which nodes and miners are almost two different, sometimes conflicting, groups of actors.
I don't think so.
It is obvious that you can never prevent people from sharing a "computational work", and that's exactly what pools are meant to do. This is not specific to bitcoin or any specific algorithm, anything that can run in parallel (multiple threads) can also be expanded to run on multiple systems.
Satoshi also touched on this matter indirectly in his Email back in 2008 (before Bitcoin was launched) predicting that people will mostly run SPV clients instead of running full nodes and be mining bitcoin while it will be left to "specialized server farms" to do so.
legendary
Activity: 1456
Merit: 1175
Always remember the cause!
I think there is an important point overlooked in this thread:
Bitcoin, the way Satoshi Nakamoto designed it originally, was not supposed to face such a situation in which nodes and miners are almost two different, sometimes conflicting, groups of actors. Nodes and miners started to deviate only after the invention of pools and SHA256 ASICs, both taking place in the ecosystem when there was no Satoshi anymore. So, it is not a normal or pre-planned situation, furthermore it happened without getting any proper treatment. Bitcoin was great enough to absorb these events and adopt, yet it is very important to recognize both pools and ASICs as major open topics to be addressed.

Back to Op's question about the roles of each group in securing the network against 50%+1 attack:
It is hardly considered an 'attack' for an entity to put her hands on such a majority of hash power, unless s/he attempts a re-org for scamming specific victim(s) who didn't have enough patience to wait for a safe number of confirmations before accepting the attacker's payment as being finalized and releasing their assets.
Actually, an in-depth analysis of the problem could prove that there is always a threshold of safety for a receiver of bitcoin transaction, while this threshold is proportional to the total value of transactions that the sender is trying to convince the user to accept as being legitimate and finalized.

In practice, users adjust this threshold by applying factors derived from real-world information about the costs of re-org attempts, it is why even the most cautious users do accept payments in bitcoin after few confirmations, nowadays, and it is why bitcoin is the king in cryptocurrency for the time being, considered to be 'the most secure', it is VERY hard, hence costly, to run a scamming double-spend scheme by re-writing just a handful of blocks.

Obviously, non-mining Bitcoin nodes have nothing to do  in terms of 'helping' the victim(s) because they experience the hypothetical re-org event all the same as the victim(s), though they are not scammed in a double-spend scheme.

Now, let's take a closer look:
As I said, in Bitcoin, users are safe against double-spend even though there could be an evil spender with unlimited access to huge hash powers, but doesn't it look odd or somehow counterintuitive or at least surprising?
Sure it is, and it is what makes Bitcoin the invention of the century as the ultimate solution to double-spending problem in cryptocurrencies. Bitcoin is absolutely safe against double-spending attack, it has always been and will be existentially double-spend proof, forever.

The rest of OP's security concerns about malicious counter-protocol blocks, with malicious txns injected in, are irrelevant because they are not categorically security issues. Full nodes are sovereign entities that follow the protocol and consensus rules independently, comparing work load of competing chains takes effect AFTER imposing consensus rules, chains have to pass the consensus test to be qualified for the race, although the client software does it somehow in a reverse order, ultimately it is what the code does.

legendary
Activity: 1512
Merit: 7340
Farewell, Leo
What's your view on that?
You have to see things a little more differently and maybe get away of the network thinking.

Regulating Bitcoin doesn't necessarily mean that governments will destroy it by establishing a 51% attack or they'll forbid you to be part of the peer-to-peer network. No, currently, you have every right to run full nodes and verify the validity of the block chain. So, in theory Bitcoin works. No one can stop this movement unless strict authoritarianism prevailed in the whole world.

But will the cryptopunks' dream come true? To sum their dream up, they supported anarchy and so, Bitcoin began with this ideology. They were visioning a currency that will not be regulated by anyone nor controlled. While it does, indeed, work decentralized, don't you see that the society's permission is required to adopt it officially? There are already many exchanges asking for KYC which ruin one of its principles; anonymity. So, besides its deflationary nature, how does it differ from fiat?

As time goes on, it'll be seen more as a weapon from the side of the governments.
legendary
Activity: 2450
Merit: 4415
🔐BitcoinMessage.Tools🔑
And I wonder... How can one see it as a symbol of freedom since it's regulated by the governments? They may not achieve on destroying the network, but making its purpose meaningless is worse and they already do it by regulating it. The crypto-anarchists' dream doesn't seem to come true. 

With Bitcoin you're neither free or besieged. You're a free besieged.  Smiley

I don't quite understand what you are trying to say. Can you enumerate some of the government regulations that succeeded in making bitcoin's purpose "meaningless"? In your view, what are the main purposes of bitcoin? Can the government effectively prevent you from transacting with anyone they consider a bad person? Can the government meddle with the rules of the network by forcing miners to comply with the law? Wouldn't miners go to another place if the law they were coerced to comply with considerably reduced their profits or even made their business lossmaking? Can the government overwrite the rules of the network by running nodes with incompatible software? Because I personally consider consensus rules are what governs and regulates the network. If you can't change them, you can't regulate bitcoin. The only power you have is verify for yourself transactions and blocks comply with the rules, which you previously agreed with when joined the network for the first time, by running your own full node. What's your view on that?
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
In big block scenario regular users can't run their full nodes
I think the correct phrasing is that it discourages them to run a full node. You should always have the right to run a full node, but if you're making it hard and expensive for a person, which would happen in other block chains if they had the same amount of transactions as Bitcoin's, calling it decentralized is highly ironic.

Bitcoin is a symbol of freedom, it is a means to express one's opinion and disagreement regarding the government's monopoly on money issuance.
And I wonder... How can one see it as a symbol of freedom since it's regulated by the governments? They may not achieve on destroying the network, but making its purpose meaningless is worse and they already do it by regulating it. The crypto-anarchists' dream doesn't seem to come true. 

With Bitcoin you're neither free or besieged. You're a free besieged.  Smiley
legendary
Activity: 2450
Merit: 4415
🔐BitcoinMessage.Tools🔑
Right now the network is a decentralized entity. But in big block scenario it's a centralized entity that can be regulated, which means Bitcoin itself gets regulated. Today we have some tiny percent of hasing power that wants to enforce some government blacklists, but in case of centralized network it can easily be more than 50%.

Many people demand regulation for the decentralized bitcoin network, but they still fail to realize that "regulated bitcoin" is nothing else but an oxymoron. If there is only one node or several nodes in the bitcoin network, it won't become a centralized entity, nor it is going to be regulated. The first thing governments will do when they know that bitcoin is no longer decentralized is destroy it out of existence. Bitcoin is a symbol of freedom, it is a means to express one's opinion and disagreement regarding the government's monopoly on money issuance. It is a symbol of disobedience to tyranny. If it loses its ability to maintain decentralization, it will stop being a symbol, it will stop being.
legendary
Activity: 3024
Merit: 2148
KYC will be demanded by centralized entities regardless if network security is overshoot, or undershoot. The point of debating for smaller blocks is to overshoot network security, to keep the network more decentralized, and to let the network scale out.

Right now the network is a decentralized entity. But in big block scenario it's a centralized entity that can be regulated, which means Bitcoin itself gets regulated. Today we have some tiny percent of hasing power that wants to enforce some government blacklists, but in case of centralized network it can easily be more than 50%.
legendary
Activity: 2898
Merit: 1823
Miners secure the network by keeping the cost of attack high. If many miners suddenly leave, the hashrate drops and it becomes cheaper to launch a 51% attack.

Nodes keep the network big, so it's harder to launch sybil-based attacks and not one can monopolize the network. In big block scenario regular users can't run their full nodes and have to rely on big servers that could be run by mining companies and be easily regulated, like for example demanding KYC.


KYC will be demanded by centralized entities regardless if network security is overshoot, or undershoot. The point of debating for smaller blocks is to overshoot network security, to keep the network more decentralized, and to let the network scale out.
legendary
Activity: 3024
Merit: 2148
Miners secure the network by keeping the cost of attack high. If many miners suddenly leave, the hashrate drops and it becomes cheaper to launch a 51% attack.

Nodes keep the network big, so it's harder to launch sybil-based attacks and not one can monopolize the network. In big block scenario regular users can't run their full nodes and have to rely on big servers that could be run by mining companies and be easily regulated, like for example demanding KYC.
legendary
Activity: 2898
Merit: 1823
The miners can’t change the consensus rules, they can’t control coins from wallets other than their own.

They can change the rules, but the important thing is not about their ability to make those changes but it is about getting others to accept that change. For example there was a change which introduced the ability to spend the old unspent coins (falsely referred to as Satoshi's coins) by the miners. Obviously no bitcoiner followed that change so it became a shitcoin that failed in its early days.


“They can”, is different from They Truly Can from the standpoint of Bitcoin. But you’re right, technically any miner or group of miners “can” change the rules, but it’s not Bitcoin. From Bitcoin’s standpoint nothing changed. Plus they would go back to Bitcoin because it’s more profitable. Why change the rules to fork to shitcoin?
Ucy
sr. member
Activity: 2674
Merit: 403
Compare rates on different exchanges & swap.
The 51% attack shouldn't be possible without all participants involved in running and taking part in network consensus... I sometimes wonder what happened at that particular point in time when miners became more powerful than all participants to the extent of having the ability to attack the network with higher hash power.
I think 51% of all network participants should have that kind of power to change things. That will likely make attack more difficult especially if you have clear rules how the power can be used by 51%.

Well, Bitcoin isn't perfect, I have noticed vulnerabilities that can be exploited but they're few compare to other cryptos I know about well. Infact it's probably the only true cryptocurrency as far I can tell, because it's well built (according to worlds standard), with principled developers.
legendary
Activity: 2450
Merit: 4415
🔐BitcoinMessage.Tools🔑
They can change the rules, but the important thing is not about their ability to make those changes but it is about getting others to accept that change. For example there was a change which introduced the ability to spend the old unspent coins (falsely referred to as Satoshi's coins) by the miners. Obviously no bitcoiner followed that change so it became a shitcoin that failed in its early days.
In other words, the moment they change the rules, they stop being bitcoin miners, instead, they're becoming the miners of "better version of bitcoin", which is also referred to as bitcoin fork or shitcoin.

And I repeat, saying that you can “merely” censor the transactions is ironic the least.
Paradoxically, but the "censorship-resistance" feature of the bitcoin blockchain implies that as long as you are following protocol rules you can do whatever you want including censor of the transactions you don't like. For example, you can put into blacklist the node that, in your opinion, has been propagating only FATF compliant transactions. You can't censor the censors, however, and you can't drive them out of the network if you both are part of the network.

legendary
Activity: 3472
Merit: 10611
The miners can’t change the consensus rules, they can’t control coins from wallets other than their own.
They can change the rules, but the important thing is not about their ability to make those changes but it is about getting others to accept that change. For example there was a change which introduced the ability to spend the old unspent coins (falsely referred to as Satoshi's coins) by the miners. Obviously no bitcoiner followed that change so it became a shitcoin that failed in its early days.
legendary
Activity: 2898
Merit: 1823
They can merely censor transactions.

And why would the bold part be important? It seems insignificant to me. The word “merely” should be meant ironically here. If they can “merely” censor transactions, they can also delete the whole transaction history and make the whole system useless.


Compared to what newbies might assume if a cartel of miners, or a state-backed entity, successfuly controls more than 51% of the total hashing power, yes “merely” that’s all they can do. The miners can’t change the consensus rules, they can’t control coins from wallets other than their own.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
That is the whole point of PoW, isn't it?
That's the point of PoW, but Bitcoin is more than just a mechanism. I find its point lost if we assume that someone holds more than the majority of the hash rate. Whether they attack it or not; whether they replace the current chain with an empty one; whether they reverse a bunch of their transactions or not. Just because someone has more power than everyone else combined is enough for me to stop using it.

And I repeat, saying that you can “merely” censor the transactions is ironic the least.
legendary
Activity: 3038
Merit: 4418
Crypto Swap Exchange
In any case, it's in the entity's decision, not in the community's. We'll all be dependent on what they'll decide and we can do nothing in order to prevent it. The system will suddenly have a central point of failure.
That is the whole point of PoW, isn't it? If someone is willing to spend that much resources to do so, then I concede. PoW didn't fail and it has function as it should. The whole point of PoW is for those who wield the most power (PoW in this case) to decide whatever they'd like to do with the chain. Even if you throw out the economics of doing so, the effects of the attack is easily nullified by switching to a different algorithm.


An empty chain wouldn't weight that much. If we assume that each empty block is 80 bytes and the new chain's height is 700,000 whose work is greater than this one's, then it'll be a matter of 56MBs to completely destroy it.
Ahh okay. Though the node will throw loads of warning if a major re-org happens. It is very difficult to re-org those blocks though, your commulative proof-of-work is proportional to the amount of time that has passed, which means it is extremely expensive and time consuming to do so. If you're going to start today, then re-organizing the entire blockchain would probably take years at the very least (assuming >100% of the current mining hashrate). The impacts of it would be pretty limited, and honestly no one would even think about doing it.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
If we are talking about a malicious actor with the intent to destroy the Bitcoin system at any cost, then you are correct. The entity with more than 50% of the global hashpower can do that regardless of what the nodes can or can't enforce.  This would be a VERY expensive attack, but is theoretically possible.
In any case, it's in the entity's decision, not in the community's. We'd all be dependent on what they'd decide and we could do nothing in order to prevent it. The system would suddenly have a central point of failure.

You cannot really delete the chain either, that is possible in theory, given that nodes only function the way that do. It is impossible for a whole chain of 300GB to be propagated over the network, it would literally take hours.
An empty chain wouldn't weight that much. If we assume that each empty block is 80 bytes and the new chain's height is 700,000 whose work is greater than this one's, then it's a matter of 56MBs to completely destroy it.
legendary
Activity: 3038
Merit: 4418
Crypto Swap Exchange
Yes, they indeed cannot force anyone to change the total amounts of coins ever issued, or increase their wealth from other people's money, but they can force the nodes to accept their defeat; to accept that their system is no more secure; that they essentially dug their own holes with the rules they all agreed to follow.
If that ever happens, then the game theory of it would've failed. Where there is a far more incentive to be dishonest than to be honest, and they can't force the community or the nodes to accept their defeat. Any attacks of this sort will always be one-off. 51% attacks or majority attack is a byproduct of a feature and the game theory aspect of it would've failed. It would be less of a 'defeat', but rather we can acknowledge that someone was willing to sacrifice a huge, huge sum of money to attack the network.

You cannot really delete the chain either, that is possible in theory, given that nodes only function the way that do. It is impossible for a whole chain of 300GB to be propagated over the network, it would literally take hours.

legendary
Activity: 3472
Merit: 4801
They can merely censor transactions.
And why would the bold part be important? It seems insignificant to me. The word “merely” should be meant ironically here. If they can “merely” censor transactions, they can also delete the whole transaction history and make the whole system useless.

It depends on what type of malicious activity we are talking about.

If we are talking about a malicious actor with the intent to destroy the Bitcoin system at any cost, then you are correct. The entity with more than 50% of the global hashpower can do that regardless of what the nodes can or can't enforce.  This would be a VERY expensive attack, but is theoretically possible.

On the other hand, if we are talking about a malicious actor with the intent to profit from their power, then the entity with more than 50% of the global hash power is MUCH more limited in what they can accomplish.  Any action that would destroy trust in the system as a whole would simultaneously destroy their ability to profit from it.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
They can merely censor transactions.

And why would the bold part be important? It seems insignificant to me. The word “merely” should be meant ironically here. If they can “merely” censor transactions, they can also delete the whole transaction history and make the whole system useless.

Yes, they indeed cannot force anyone to change the total amounts of coins ever issued, or increase their wealth from other people's money, but they can force the nodes to accept their defeat; to accept that their system is no more secure; that they essentially dug their own holes with the rules they all agreed to follow.
legendary
Activity: 2898
Merit: 1823
My question is, in order to make a successful 51% attack: One would need to have 51% of mining power, 51% of nodes, or both?
If you were to acquire 51% of the total computational power, it'd be enough for you to attack the network. You don't need 51% of the nodes, you just need one node who'll broadcast the chain with the most work.

For example, in the case that someone gets to have 51% of mining power, could nodes protect the network from that attack by not validating transactions?

No, they couldn't, because that would make it susceptible to censorship. The nodes just verify what they receive based on the consensus rules they follow. They can't deny a chain if it contains more work than the one they follow. Even if the blocks are empty, even if there are transactions reversed in prior blocks.

The whole system relies on the fact that there'll be honest miners outpacing anyone who'll try to attack it.


OP, the bolded part is a very important point. The miners that have successfully controlled 51% of total network hashing power still cannot spend coins that they do not have, or “print them out if thin air”, or send invalid transactions/blocks, or change the rules. They can merely censor transactions.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
My question is, in order to make a successful 51% attack: One would need to have 51% of mining power, 51% of nodes, or both?
If you were to acquire 51% of the total computational power, it'd be enough for you to attack the network. You don't need 51% of the nodes, you just need one node who'll broadcast the chain with the most work.

For example, in the case that someone gets to have 51% of mining power, could nodes protect the network from that attack by not validating transactions?
No, they couldn't, because that would make it susceptible to censorship. The nodes just verify what they receive based on the consensus rules they follow. They can't deny a chain if it contains more work than the one they follow. Even if the blocks are empty, even if there are transactions reversed in prior blocks.

The whole system relies on the fact that there'll be honest miners outpacing anyone who'll try to attack it.
newbie
Activity: 1
Merit: 7
Hello everyone,

Recently, I've been reading a lot about how the bitcoin governance/development process works.
I read the book "The blocksize War", and one thing that caught my attention was how central in the blocksize debate was the role of miners vs nodes.

So I've been trying to understand what's the role of miners vs nodes in securing the network, and I have a couple of questions/doubts that I'd love to get answered.

As far as I understand, miners are in charge of confirming transactions, they secure the network by making it costly to falsify transactions (create unforgeable costliness, as Nick Szabo would put it). On the other hand, nodes are in charge of validating, propagating, and keeping a copy of transactions, they make sure that miners act according to the protocol rules, not acting maliciously (i.e. introducing false transactions, or try to double spend).

My question is, in order to make a successful 51% attack: One would need to have 51% of mining power, 51% of nodes, or both?
For example, in the case that someone gets to have 51% of mining power, could nodes protect the network from that attack by not validating transactions? In other words, could the network be secure if the nodes are decentralized even if the mining pool is not?

IMO, in the answer to this question lies the key of what keeps the network decentralized.

I'm new to this forum. So I'm sorry if this question would better fit into another topic. In that case, just make me know and I will move it to the right place.
Jump to: