Bitcoin Core is a "Node", right? A software you run if you want to have the whole history of all Bitcoin transactions of your own hard drive? Therefore I would think it is only used by researchers and analysts?
Bitcoin Core is a "Node", right? A software you run if you want to have the whole history of all Bitcoin transactions of your own hard drive? Therefore I would think it is only used by researchers and analysts?
Everyone gets a vote on what bitcoin is, but the definition of bitcoin that you vote for is that defined by the code running on the node you choose to connect to the network through.
Running your own node let's you speak for yourself. If you connect to someone else's node you're effectively saying "I vote for whatever they're voting for".
The two parties calling toilet roll "bitcoin", are not actually using the bitcoin network. They're using the "toilet roll" network and simply calling it bitcoin. Their transaction would not appear on my node, or the vast majority of any other bitcoin nodes and therefore it's not bitcoin by consensus.
If you don't run your own node, you're trusting that the node you're connecting to isn't actually running the "toilet roll" network and you didn't just sell your car for a 6 pack of Andrex. With Bitcoin you never have to trust - you are always able to (and encouraged to) verify, and this is what running your own node allows: verification, with no trust required.
But does a node on a lonely notebook have any real world impact? Do actors who accept Bitcoin payments connect to random nodes?
If so, what prevents someone from running one million nodes on a single laptop and "encircle" such an actor? There is no proof of work involved in running a node, right? So what gives a node any meaning or voting rights?
Regarding the impact of a single node on the network, that node is a way that _you_ can vote on what bitcoin is. You could equally shut it down and vote by connecting through someone else's node, but then you'd be trusting that their node defines bitcoin the way you want to.
In other words, the people decide what bitcoin is, not individual nodes, but the nodes that people connect through define what they are voting for. If you want to be _sure_ that your vote isn't being misdirected, that what the node is reporting as bitcoin really is bitcoin then connect to the network through your own node.
As long as you work for Blockstream Inc. If not you have effectively no say.
(I work for Blockstream, and we have no current employees in the top 10 contributors for this release AFAICT)
The idea is that every single user, even Grandma buying groceries, has a full copy of the Blockchain to buy her groceries. So no, it is supposed to be used by everyone. This is the reason why the block size is kept small. If it grows too big it is no longer decentralised.
What does running a node on your laptop achieve? If two parties out there agree to call some roll of toilet paper a "Bitcoin", how will your laptop stop them from doing so? One of the two will hand the other one the roll, the other one will say "Thanks for the Bitcoin" and thats it, right? Why would they send TCP/IP packets to your laptop and ask for permission?
But to me it looks like people think just running a node is like voting for the rules on that node. Even if you do not do any business.
If you want the fees, you need to be aware of potential transactions; and also verify that these are valid (at pain of seeing your block be seen as invalid). So you need to receive that information.
Also if you want to publish a block you found, you need to not only listen to information but also publish it to others as well. So yeah, you kind of need to run an up-to-date full node to get both reward and fee.
Now, this does not mean that your miners need to be full nodes. These only need the block to be mined (digest of previous block, header, transactions, your public address to giver the reward to) and then they can vary the nonce at the end to start mining. But this block information has to be up quite to date, otherwise you're mining aimlessly. I've read that while switching to a new block, miner setups send block data empty of transactions to be mined: so as not to waste the few tenths of seconds it takes to upload new block data to miners.
So you can run an operation with a single central full node that sends blocks to individual miner devices.