Pages:
Author

Topic: What does a non-mining node do for the network? - page 2. (Read 740 times)

hero member
Activity: 882
Merit: 5834
not your keys, not your coins!
Why not to add a 'slow' CPU mining option to the full-node software?
Am I missing something here?
For starters it requires a hard fork to make a major change in bitcoin consensus. That means the benefit of such a change has to be significantly high for it to even be considered by the network.
No no, I think he means simply adding back the CPU mining capability to Bitcoin Core. It would definitely be super slow and unprofitable (hence 'slow mining' wording), so you would run it without pool (decentralizing hashrate) and in case large parts of the mining network go down, diff will adjust and all the full nodes together could act as sort of a fallback. The issue though is the scales we're talking about. ASICs are not just a bit faster than CPUs, they're orders of magnitude faster. So I'm not sure if even all Bitcoin nodes ran a CPU miner in the background, it would help in any type of attack.
The idea though (decentralizing not only nodes but also hashpower) is currently embodied in the FutureBit Apollo project.
legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
Why not to add a 'slow' CPU mining option to the full-node software?

Am I missing something here?

First of all, how would consensus work when are 2 different PoW (SHA-256 and other algorithm for CPU) on the network?

Additionally when it comes to doing work we have no way of distinguishing what hardware was used to perform that work. In other words someone could build a new ASIC to mine the new "slow CPU mining option" and we would be right back where we started.

Even without ASIC, someone could simply build CPU farm (just like miner build GPU farm). Besides, used CPU/server rack sometimes could be found really cheap on online shop.
legendary
Activity: 3472
Merit: 10611
Why not to add a 'slow' CPU mining option to the full-node software?
Am I missing something here?
For starters it requires a hard fork to make a major change in bitcoin consensus. That means the benefit of such a change has to be significantly high for it to even be considered by the network.
Additionally when it comes to doing work we have no way of distinguishing what hardware was used to perform that work. In other words someone could build a new ASIC to mine the new "slow CPU mining option" and we would be right back where we started.
newbie
Activity: 1
Merit: 0
Why not to add a 'slow' CPU mining option to the full-node software?

It may not offer a practical mining revenue opportunity, however it may improve the overall network mining decentralisation.
Imagine 'CCP-like' hashrate attack:
Malicious ASIC miners prepare to shadowmine.
Honest ASIC miners go offline because of the temporary profitability reasons.
Network security weakens.
Boom!

The Bitcoin network will have additional protection the form of the hashrate of all full nodes with the CPU mining option enabled.

Am I missing something here?
full member
Activity: 251
Merit: 100
Hi Guys
Hoping some of the smarter people here can educate me. I see a lot of mentions of run your own node.  But what is the point of it? If my node never wins a block then what impact can it actually have on bitcoins security?

I see a reason for doing it if you are a merchant and want to see if transactions are sent to you immediately, or if you want to do it for LN. But why run one as a normal bitcoin dude?


A non-mining node allows you to see what consensus rules are in use. If every full node were owned by the miners, they could have changed the consensus rules (like printing more bitcoins, removing the supply cap, reversing transactions etc) without you knowing  it.

If they try to pull any crap like that now, non-mining nodes will reject their shit. Full non-mining nodes still need the hash power though, so blockchain can move forward.

Think it like this way:

Bitcoin = A massive full node network. If somebody tries to cheat this network, he will be ignored.
Really? I thought we cannot change the consensus rules even if we had a full node (as a miner). But, what the heck is a node actually? Is it a wallet with full blockchain history downloaded from the genesis block until now? and how did they could have changed the consensus rules if the full node were owned by the miners?
legendary
Activity: 1456
Merit: 1175
Always remember the cause!
I have heard sound arguments from both sides, but my conclusion is that it is only positive and strengthens the network to have as many nodes as possible assuming said nodes are ran by independent parties, not ran in bulk by the same party, as this creates a single point of failure. The more individual parties owning copies of the blockchain and being able to audit it the better, you don't want only a couple of corporations owning the blockchain, what would be the point then?

We may see this in action in September, with the so called BCH Stress Test, so pay attention to that, and we may learn a lot of things. Im going to be following BitPico's effort to collapse BCH's network, let's see how they manage with very few nodes.

Although the cardinality of node owners i.e. the number of actual human beings who decided to run full nodes and specifically the software/protocol version they support is important, relevance of this issue to security measures is weak.

There is no reason for a person/organisation to run multiple instances of a full node other than availability/fault tolerance concerns which could be addressed by other means as well.

For mining nodes the cardinality of owners is important for security when it is compared to the hashpower that is attached to the nodes.


copper member
Activity: 2996
Merit: 2374
Hi Guys
Hoping some of the smarter people here can educate me. I see a lot of mentions of run your own node.  But what is the point of it? If my node never wins a block then what impact can it actually have on bitcoins security?

I see a reason for doing it if you are a merchant and want to see if transactions are sent to you immediately, or if you want to do it for LN. But why run one as a normal bitcoin dude?


A non-mining node allows you to see what consensus rules are in use. If every full node were owned by the miners, they could have changed the consensus rules (like printing more bitcoins, removing the supply cap, reversing transactions etc) without you knowing  it.

If they try to pull any crap like that now, non-mining nodes will reject their shit. Full non-mining nodes still need the hash power though, so blockchain can move forward.

Think it like this way:

Bitcoin = A massive full node network. If somebody tries to cheat this network, he will be ignored.
I would reject this logic.

A full node does nothing to confirm what the consensus rules are (other than the default rules the node software is "shipped" with that is input by the core devs), in fact I am not aware of any Bitcoin implementation that will tell others what specific rules it is following. Most Bitcoin nodes will broadcast the name of the implementation they are running, however this is far from what consensus rules they are following, and can be trivially changed.

What running a full node does do, is ensure you only accept transaction and blocks that follow the rules you choose. However the caveat is that if you are not following the same rules as the economic majority, your node will either accept transactions/blocks that are economically worthless, or will not receive blocks at all. If the major economic players got together and decided to accept transactions/blocks that meet a certain criteria that your node disagrees with, then your node will be doing exactly nothing.
legendary
Activity: 1372
Merit: 1252
What about TRB nodes? they are non-mining nodes right? so the fact that they are being ran right now does not matter?



BitPico might be another publicity run by the big blockers to deceive everyone that Bitcoin Cash Alibaba nodes are resilient to attacks. Hahaha.

This is possible. I actually don't trust BitPico at all, they were supporting SegWit2x hardfork back then, and I have not seen them giving an explanation why they did so. Then they disappeared, and suddenly they are back again. This must be a setup to fail on the stress test so BCashers can then use it as proof of how their network can sustain spam attacks without collapsing. I bet Roger Ver is once again involved.
legendary
Activity: 2898
Merit: 1823
I have heard sound arguments from both sides, but my conclusion is that it is only positive and strengthens the network to have as many nodes as possible assuming said nodes are ran by independent parties, not ran in bulk by the same party, as this creates a single point of failure. The more individual parties owning copies of the blockchain and being able to audit it the better, you don't want only a couple of corporations owning the blockchain, what would be the point then?

What is "sound" about the argument from the "non-mining nodes do not matter" side? They always say that because of "Moore's Law", the hardware will keep up to the demands of the network. But what they do not tell everyone is bandwidth growth and latency are more important for data and block propagation.

Larger blocks will demand more latency and more bandwidth to counter node centralization. Both of which grow much slower than "Moore's Law".

Quote
We may see this in action in September, with the so called BCH Stress Test, so pay attention to that, and we may learn a lot of things. Im going to be following BitPico's effort to collapse BCH's network, let's see how they manage with very few nodes.

BitPico might be another publicity run by the big blockers to deceive everyone that Bitcoin Cash Alibaba nodes are resilient to attacks. Hahaha.
legendary
Activity: 1904
Merit: 1159
I have heard sound arguments from both sides, but my conclusion is that it is only positive and strengthens the network to have as many nodes as possible assuming said nodes are ran by independent parties, not ran in bulk by the same party, as this creates a single point of failure. The more individual parties owning copies of the blockchain and being able to audit it the better, you don't want only a couple of corporations owning the blockchain, what would be the point then?

We may see this in action in September, with the so called BCH Stress Test, so pay attention to that, and we may learn a lot of things. Im going to be following BitPico's effort to collapse BCH's network, let's see how they manage with very few nodes.

Hey cellard. I saw that you were involved in the discussion with anunymint. I followed it too. He makes some strong points but it feels too much like his agenda. I am glad you lean towards the non-mining nodes being important conclusion. I do too. Tor me, bitcoin is supposed to be an open-source, community project. The work involved in running a full node will give you a much better understanding of the underlying hardware and software requirements.

When it scales, there will of course be people who will have no idea of the inner workings. From a user experience point of view too, it needs to be this way for quick on-boarding and adoption. Even then, the group of people that do understand, monitor it and work on it, has to be significant. It can't be a closed group of people who understand everything and decide for others.

A lot of decision making related to technology and economics happens in closed groups because, supposedly, so few understand it. To ensure that this does not happen to bitcoin, this group of people who are involved and care enough to run a non-mining full node, are of vital importance from the community-watchdog perspective.
hero member
Activity: 854
Merit: 658
rgbkey.github.io/pgp.txt
All full nodes, including non-mining nodes are helpful because the more nodes there are, the easier it is for new users to sync-up to the network. The more nodes available to send transactions to syncing nodes, the faster sync times will be until they hit a bottleneck of CPU or disk writing speed.
legendary
Activity: 3024
Merit: 2148
The number one reason to run a node is verifying the whole blockchain to make sure that no one is cheating. Lightweight wallets have to trust full nodes in many things and researchers often find attacks against them that are impossible to execute against full nodes. Here's a recent example of such vulnerability: https://bitcointechweekly.com/front/cve-2017-12842-leaf-node-weakness-trusted-merkle-tree-depth-for-safe-tx-inclusion-proofs-without-a-soft-fork/

Aside from strengthening the network which was covered by other posters here, running a full node has some other perks. If you have the full blockchain, you can fork Bitcoin or oppose other forks by staying on the original chain. If only a few big nodes store the blockchain, then the users can't make any decisions about the network rules. Even if miners and businesses would change the rules, the users would still to be able to stay on the old chain. So, even with centralized mining and companies Bitcoin is still decentralized thanks to full nodes.
legendary
Activity: 1372
Merit: 1252
I have heard sound arguments from both sides, but my conclusion is that it is only positive and strengthens the network to have as many nodes as possible assuming said nodes are ran by independent parties, not ran in bulk by the same party, as this creates a single point of failure. The more individual parties owning copies of the blockchain and being able to audit it the better, you don't want only a couple of corporations owning the blockchain, what would be the point then?

We may see this in action in September, with the so called BCH Stress Test, so pay attention to that, and we may learn a lot of things. Im going to be following BitPico's effort to collapse BCH's network, let's see how they manage with very few nodes.
legendary
Activity: 2898
Merit: 1823
OP, aside from mindtrust and anullcoin's replies, if you hear or read a post of someone that says that a non-mining node is "not important", then it should be approached with a great amount of cynicism.
legendary
Activity: 3276
Merit: 2442
Hi Guys
Hoping some of the smarter people here can educate me. I see a lot of mentions of run your own node.  But what is the point of it? If my node never wins a block then what impact can it actually have on bitcoins security?

I see a reason for doing it if you are a merchant and want to see if transactions are sent to you immediately, or if you want to do it for LN. But why run one as a normal bitcoin dude?


A non-mining node allows you to see what consensus rules are in use. If every full node were owned by the miners, they could have changed the consensus rules (like printing more bitcoins, removing the supply cap, reversing transactions etc) without you knowing  it.

If they try to pull any crap like that now, non-mining nodes will reject their shit. Full non-mining nodes still need the hash power though, so blockchain can move forward.

Think it like this way:

Bitcoin = A massive full node network. If somebody tries to cheat this network, he will be ignored.
jr. member
Activity: 43
Merit: 7
Hi Guys
Hoping some of the smarter people here can educate me. I see a lot of mentions of run your own node.  But what is the point of it? If my node never wins a block then what impact can it actually have on bitcoins security?

I see a reason for doing it if you are a merchant and want to see if transactions are sent to you immediately, or if you want to do it for LN. But why run one as a normal bitcoin dude?

if you don't run a node you are not using bitcoin.
member
Activity: 210
Merit: 29
Hi Guys
Hoping some of the smarter people here can educate me. I see a lot of mentions of run your own node.  But what is the point of it? If my node never wins a block then what impact can it actually have on bitcoins security?

I see a reason for doing it if you are a merchant and want to see if transactions are sent to you immediately, or if you want to do it for LN. But why run one as a normal bitcoin dude?
Pages:
Jump to: