Author

Topic: (beginner) Why a node should be honest ? (Read 232 times)

legendary
Activity: 4424
Merit: 4794
July 27, 2022, 03:55:41 AM
#14
Also, if a node validates certain rules and does not check other rules, that would be a hard fork and would cause a chain split in the network. It usually does not happen in practice,

and an altcoin is created.... orphans, rejects and altcoins happen more then you think. its just not dramatised as a game of civil war like the 2015-17 events, where core seen alternate nodes as a threat. and now core have the power/control. no one wants to try.. thus we gave up the byzantine generals solution. and just ended up stuck with a commander and chief

because most people don't have the guts to make another full node implementation.

most people blindly follow core, where core has become like its namesake the central point of the fruit(code) because offering an alternate full node that also allows developers to contribute to offering all users new features that activate only if majority go for that altnodes proposal got treated as a threat, rather than a cooperative decentralisation method of not having a central point.

they deem any other implementation that wants to offer a roadmap/bip path for evolving bitcoin without being core associated, should fork off and create an altcoin with their feature activated and then see people adopt the altcoin.. rather than propose an idea away from the core announcements and allow the community to use the node on the bitcoin network and see if it gains majority to upgrade the bitcoin network when a threshold is reached.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
Also, if a node validates certain rules and does not check other rules, that would be a hard fork and would cause a chain split in the network. It usually does not happen in practice, because most people don't have the guts to make another full node implementation.
legendary
Activity: 3472
Merit: 10611
But then is it possible to corrupt the blockchain by having a majority of dishonest nodes and full nodes ?
Not by only running a lot of nodes and it won't be easy at all.
For example Sybil Attack could be combined with some extra steps to perform a special attack. If the attacked successfully fills all the victim's node's connection slots they can prevent its connection to the real network. Then if the attacker has some hashrate they can replace the victim's chain tip and mine a block or two on top of that fake chain. Since the victim is cut off from the network they won't know that they are on a much shorter chain.

But Sybil attack itself is almost impossible to pull off since nodes initiate connection to other peers and choose random IPs in a way that they are far from each other. In other words the victim could still find a way to the network and realize that they are on an stale chain and fix it. Not to mention that the network disruption would be obvious since it takes attacker a lot longer to produce blocks (eg. 1 block every couple of hours).
legendary
Activity: 3038
Merit: 2162
A node can't really be dishonest, if it tries to give other nodes invalid data, they will reject the data and stop communicating with that node. It's impossible to edit the blockchain or make fake transactrions or anything of that sort with any number of dishonest nodes. But malicious nodes could be used to disrupt the network - for example they could try to stop certain transactions from propagating or withhold new blocks to create delays for honest nodes. But so far it has been only theoretical, there's no documented successful attacks so far, and it's not because no one wanted - it's just incredibly hard to do.
legendary
Activity: 4424
Merit: 4794
mining pool nodes collate transactions into a block and stick to the rules so they can have their blocks accepted by the network to then spend the reward they attached to their block. whether thats spending their reward with average users or merchants. by being on the same chain accepted list of blocks as the majority of merchants/users.

the most important audit nodes(full nodes verifying) are majority the merchant/service/exchange nodes (known as economic nodes/supernodes) because people want to spend their value with these nodes so its important these economic nodes dont allow double spends or try to counterfeit transactions (accept large value unconfirmed tx) or hack those nodes or accept bad blocks and many other reasons.. as thats just bad business that costs them losses if they dont do it correctly.
EG accepting and following a chain of bad blocks. means they are throwing themselves off the good clean network. thus losing business. because majority of cases. those blocks get orphaned (unless a following occurs where it becomes an altcoin by continually building ontop bad blocks, and users end up also following said bad blocks), in which case. the merchant would still prefer to follow a good chain, to be in sync with other merchants and users wanting good security and functionality. (rather than the altcoin)

regular users want to be on the chain of blocks that is most valid and accepted with the majority of the network so that they can spend/receive their funds with other users direct or spend/receive funds through main merchants. where the symbiosis is everyone collectively wants a good clean chain that everyone follows rather then altcoins with their individual flaws, faults and issues

legendary
Activity: 2044
Merit: 1018
Not your keys, not your coins!
Nodes will verify transactions and compare it with others. Only a longest chain will be used. It is why Bitcoin is very healthy with too high hashrate and many full nodes globally.

Its network is really decentralized globally. To compromise Bitcoin network, it is impossible, from expensive cost to own at least 51% of network hashrate to successfully mislead many full nodes. With auto detection tools from developers and full nodes, any strange attempt to attack Bitcoin network will be recognized shortly. It is different than altcoin networks that have much lower hashrate, very centralized and bad mechanisms to detect suspicious attack attempt.

Do you know Axie Ininity only recognized a hack on their ecosystem after a few days?
Axie Infinity’s Ronin Network Suffers $625M Exploit
hero member
Activity: 1395
Merit: 505
This is solved by requiring consensus before validating transactions. A bogus node can get lucky and, at great expenses, validate a double spend but it would be caught and rejected with the next block. That is why transactions aren't generally considered durable until six confirmations. At that point, it is infinitesimally unlikely that a bad actor would have been able to validate six blocks in a row.
newbie
Activity: 3
Merit: 5
Thank you all for these replies, I'll go on to dig into Bitcoin and Blockchain technology in general beacause this is really interesting !
jr. member
Activity: 51
Merit: 1
An honest node does not attempt to modify the history and transmits correctly formatted messages. This allows an attacking node that tries to replace previous blocks in the blockchain to benefit them financially because the transactions are cryptographically signed, an attacker can only make one of his own transactions. One can try to convert so that he can get back the money he recently spent. So it is important to have honest node in system
copper member
Activity: 2856
Merit: 3071
https://bit.ly/387FXHi lightning theory
But then is it possible to corrupt the blockchain by having a majority of dishonest nodes and full nodes ?

I see there are currently about 14 000 bitcoin nodes, would it be possible for a governement or other entity to create let's say 15 000 nodes (including full nodes) and then corrupt the network this way ?

Not with nodes no. Nodes are designed to sync to a chain that has the highest height (number of blocks) and highest difficulty.



This could be possible to do with miners (known as a 51% attack) but:
1. No ones voting in favour of losing money, they'd just switch chains/become incompatible with the "corrupted one".
2. It becomes exponentially more difficult to remove blocks further down the chain - an attack probably wouldn't bother or wouldn't get far.
3. The country that invested into this would lose money potentially by making their mining equipment worthless if the coin changes algorithm (especially if another government(s) that is against the original attacker can quickly roll out new chips/miners to prove a point).
newbie
Activity: 3
Merit: 5
Thanks for your replies guys, I'm starting to understand better.

So basically, dishonest nodes are not really a problem as long as it exists honest nodes and full nodes to verify the transactions.

But then is it possible to corrupt the blockchain by having a majority of dishonest nodes and full nodes ?

I see there are currently about 14 000 bitcoin nodes, would it be possible for a governement or other entity to create let's say 15 000 nodes (including full nodes) and then corrupt the network this way ?
legendary
Activity: 3472
Merit: 10611
In a peer to peer network you have to run a full node in order to be able to fully participate in that network. In Bitcoin if you want to have the maximum level of security, highest possible privacy and beware of the network situation (possible chain splits, vote for protocol changes, etc.) you need to run a full node.

The miners run their own nodes or connect to a pool that runs the full node.
Since all full nodes verify everything themselves they don't worry about other nodes being dishonest because anything invalid would be rejected by them and the violating node's IP address would be banned.

Nodes also don't have to be honest, but being dishonest doesn't benefit them either.
legendary
Activity: 3668
Merit: 6382
Looking for campaign manager? Contact icopress!
Hi, I'm a complete noob and I start doing my researches about Bitcoin. The answer to my question is probably so obvious that it appears nobody really talk about it...

Why a Bitcoin node should be validing a transaction honestly ?

I mean, if I understand correctly, there are the miners who create the new blocs and the nodes who verify the transactions. But why should a node be honest ? What's the rewards for that ? Are all the nodes receiving a tiny fraction of the bitcoins which afterwards come to the miner's pocket or something similar ?

Thank you for your attention.

Let's say some nodes are not honest. What can they gain from that? Nothing.
The miners must be connected to honest nodes because if they don't they may get the mined block rejected by the others and lose the block rewards.
Since the miners are connected to honest nodes, even if some rogue nodes will try to propagate bad transactions, the miners' nodes will reject those.
Keep in mind that each node has its own mempool.
newbie
Activity: 3
Merit: 5
Hi, I'm a complete noob and I start doing my researches about Bitcoin. The answer to my question is probably so obvious that it appears nobody really talk about it...

Why a Bitcoin node should be validing a transaction honestly ?

I mean, if I understand correctly, there are the miners who create the new blocs and the nodes who verify the transactions. But why should a node be honest ? What's the rewards for that ? Are all the nodes receiving a tiny fraction of the bitcoins which afterwards come to the miner's pocket or something similar ?

Thank you for your attention.
Jump to: