We may be seeing the future of competitive bitcoin mining here... Some hacker can write a virus that spreads between mining nodes that raises the coinbase claim, something very easy to overlook, trying to get it onto all competitors mining rigs somehow.
Just award yourself the correct amount. It's very simple - add up all the fees from the transactions you include, then add the current block reward. In this case there were no transactions, so the reward should have been 12.5 BTC but they tried to give themselves 13.xxx.
This is most probably a bug/error and not malicious, but the point is WE NEED FULL NODES. They enforce the rules. They make sure miners don't cheat. Run one. Use Bitcoin independently, the way it's meant to be used, while making the network more resilient. It's a win win.
the miner constructs the block prior to mining it. they are entitled to include a transaction in that block that pays them a reward. this type of transaction is called a 'coinbase' transaction and is how bitcoin issues new currency into the system. the current block reward is 12.5 bitcoins.
There is a base amount (currently 12.5 BTC)...this is the fixed reward. This reward is granted to the first miner who solves a difficult math problem (but easy to prove if solution is correct).
A miner could stop there. However, as an incentive, if they include the transactions that are waiting to process they also collect the fees associated with that transaction.
Imagine a bus stop with hundreds of people waiting. A bus pulls up, and lets people on the bus according to how much they are willing to pay. If you are in a rush, you offer the driver a high amount. If you have time, you wait for a later bus that won't be so crowded.
So, the miner is currently guaranteed 12.5 BTC, plus they have the option of including as many transactions (and their fees) as they want (and can fit in the bus).
“Automatic” would imply something defining that it happens outside of their control. The only way that can happen is with a centralised service, which Bitcoin explicitly rejects.
Every entity in Bitcoin is self sovereign. You can write anything you want in to a transaction or a block. You could even broadcast a block right now giving yourself all bitcoin in existence!
However, no one else will accept it if it’s against the rules that their nodes accept. I control the rules my node accepts, but if everyone I connect to disagrees with those rules, then I don’t get to participate in the network.
Bitcoin works therefore on the idea of *consensus rules*. We all agree that right now, a miner can not reward themselves more than 12.5BTC plus the transaction fees for those transactions they put in the block. We also agree that the block is only valid if it proves the work was put in by creating a hash that is under the target difficulty.
The only way you can change the rules is to get the vast majority of people to agree, otherwise your rules will simply be considered invalid and won’t propagate through the network.
>You can write anything you want in to a transaction or a block. You could even broadcast a block right now giving yourself all bitcoin in existence! However, no one else will accept it if it’s against the rules that their nodes accept.
You just described a centralized system. Bitcoin is stable and solid and reliable *because* it is centralized, and everyone has to obey the same, agreed upon, rules.
A decentralized system would be one where everyone uses their own rules. Currencies in general are a decentralized system, but individual ones are nearly always centralized.
The term you're thinking of is democratic, as opposed to a totalitarian sort of system, or at least a representative democracy, as in the US government's money, which has to go through elections to appoint folks who decide how the rules are made for money (in this case outsourcing to the Fed).
That is not the definition of "centralised" and "decentralised" that anyone else uses or means when they talk about Bitcoin.
Centralised systems are ones where one specific entity has control over the whole environment or acts as an authority. Decentralised systems are ones where no entity has the ability on their own to influence the system as a whole.
You're right that it's a kind of democratic, but it's not strictly democracy either because the majority can't actually suppress the minority. It's definitely nothing like a representative democracy though and actually leans somewhat more towards anarchy in many ways. Even if 75% of Bitcoin users suddenly decided that they wanted to have unlimited supply and 128MB blocks, I simply wouldn't run that. *My* Bitcoin would still be enforcing *my* rules (and I assume at least some of the remaining 25% would agree with me, so I could interact with them). Sure, we might lose an argument about who is the "real Bitcoin" at that stage, but I'd rather be on a fork that maintains the rules I agree with than on one I don't, no matter who the majority gives the name to.
(thankfully, I'm pretty sure that's a hypothetical situation that will never actually come to pass)
No, you're either a poor troll, or someone who thinks they know what they're talking about but really doesn't, which is unfortunately nearly indistinguishable from a troll.
If you think Bitcoin is centralised, you either don't understand Bitcoin or you don't understand what "centralised" means.
Trying to say you're offering clarity in systems theory is just /r/iamverysmart material, since you're not offering clarity and also likely don't understand anything about systems theory beyond reading the first paragraph on wikipedia.
My successful career in software architecture and management in the Bitcoin space is going very well thank you very much. As are my side projects as a neuropharmacological researcher and author.
Yeah, one would hope I have somewhat of an understanding of systems theory, right?
I'm not surprised at all that you're confused about centralized and decentralized systems. They are only very recent subjects, and certainly aren't taught, or used, generally, in most mainstream institutions. This is why I'm working to help develop better educational materials for everyone, so that confusion and assumptions don't get in the way of effective designs of systems.
They could change the rules that they acknowledge, but unless the holders of the coin also agree to their new rules their blocks would simply be ignored. The miners would effectively have forked themselves off onto a new altcoin chain. This happens pretty regularly. The most obvious example was when some miners started breaking the blocksize limit rule. They called the new coin "Bitcoin Cash" and for a while some people were tricked into thinking it was "the real Bitcoin". Most of them have since realized their mistake, and most of the miners have since come back to mining according to the original Bitcoin rules, with the 1 MB blocksize limit in place.
If **all** miners suddenly started broadcasting blocks not recognized by the majority of verifying nodes... they could paralyze the network, effectively holding it hostage.
The difficulty calculation is not flexible enough to recover from a sudden massive drop in difficulty, it would take a very long time for newcomers to mine 2016 blocks to force a recalculation and it would only drop to 1/4 of the previous difficulty, so the next 2016 would take (very long)/4, which could still be very long. That would probably make prices plummet and make it not worth to mine at all.
However, if only 90% of the miners did that, while the remaining 10% of miners would only mine blocks at 1/10 of the rate for the next up to 2016 blocks, surely impacting the network... it wouldn't be that long before the difficulty went to 1/4, making them earn 4x what they were earning before, and 2016 blocks later things would come back to normal, just with those 10% of miners becoming the new 100% of miners.
Of course even in the worst case scenario, verifying nodes could just decide to update their rules and accept blocks with, let's say 1/1000 the previous difficulty, making it profitable to mine for some newcomers, and the old miners could do nothing about that... unless they colluded with the exchanges, which right now is where most of bitcoin's value lies. In a world where people could live by earning and spending just bitcoin, no amount of collusion could bring it down, though.
As long as there is no centralization of too much decision power in a single entity, I don't think anonymity is relevant to the consensus. You might know who I am, but if I don't agree with you, what are you gonna do?
Indeed. And if there is no consensus, ie some nodes agree, but others don't, that's when you get a fork.
To continu with your example: some nodes and miners may stick to the plan and reduce the block rewards to 6.25 BTC at the agreed moment, but you could in theory have another group of nodes and miners that continue with 12.5 BTC rewards. That's fine, but you would not be able to spend those BTC on the other chain (the '6.25 BTC block reward chain'). In effect, you will from then on have two variants of bitcoin.
Yes, a single node can fork bitcoin. Well, there'd also need to be at least one miner (but that could be run on the same computer):
eg, you could write an modified version of bitcoin that accepts blocks with 1000 BTC blockrewards, and run it on your own node. Then also run a miner that mines blocks for it, and there you go. Your own personal fork of bitcoin. If you can convince others to run your version of bitcoin, it can grow.
Yes. If everyone agreed that your address should magically receive 69 bitcoins it will happen and will be considered valid. However if you give yourself 69 coins everyone else would reject that and you get nothing.
The block reward takes the form of the first tx of the block being given "extra" funds that the miner is able to do whatever they want with. If the tx is modified ("edit the payout") then the tx changes, which changes the tx merkle root in the header, which makes it a different header and makes the PoW you just did useless since it was for the other root.
Almost everything in the block is hashed. The payout is called a coinbase transaction, and appears as just another transaction in the list, so it is hashed. If it was not hashed, then how would the network know who the mining reward belongs to?
So there you go /u/cyroxos and /u/IIIusionaI
They would not be able to edit the payout and just re-broadcast it, as the hash of the block would have changed. They would have to keep mining until they found the correct nonce to discover a valid block
Not really. No one would mine based on this block as it's not valid, it therefore will be orphaned. The invalid coinbase also is not spendable yet.
Of course if all (or most) actors in the network mine invalid blocks then non mining validating nodes would add value in a situation like this
It's not orphaned. It's rejected. Orphaned = valid. Rejected = invalid. The block in question is invalid.
In addition, the term orphaned is used on any block with a leading block hash that's not found on the blockchain; the term stale is used on a block that's not on a chain with most work. Admittedly, people use orphaned when it should be stale these days.
> No one would mine based on this block as it's not valid
Don't be so sure. Miners have been seen to be mining on top of the most recent block they've heard about before validating it. It's very quick to check the header and make sure that the PoW is correct, but it takes a lot more work to download and verify all the transactions within a block. So some don't bother. This invalid block today had a valid header. In order to notice that something was wrong with it you would have needed to download the whole block to discover that the reward was too high.
The whole block was lost. The reward, the fees, the transactions, everything.
Whoever mined that lost the whole lot. And we know that mining blocks is not cheap, as it requires a lot of electricity.
Any transactions 'lost' would still be in the mempool, ready for another miner to pick up and include in a block. Along with the fees for those transactions.
Yeah but this is BULLSHIT. Roger Ver and everyone at r/btc says full nodes are USELESS and that only mining nodes MATTER. Miners are always right and they control the 'real' bitcoin which of course is BCH where NO ONE runs full nodes that don't mine.
Mining nodes are full nodes... Other mining nodes would have rejected that block by building on top of another block. Non mining nodes can reject the block an need to hope there other miners following it's rules.
Being able to run your node means anyone can solo mine which is good for decentralization. That's the main benefit. With larger blocks there is even more insensitive to join a pool and thus non mining nodes become more useless.
A network with few full validating nodes is like downloading slowly a torrent no one seeds and when you actually open the file, it is possible you find out the file does not even contain the content it was named after.
Of course, you want Bitcoins ledger seeded in every corner of the world in any possible form(Internet, Radio, Satellite, etc...), there is no other way to have hard money that is immutable and censorship-resistant.
Rogers ambition was always to control the whole infrastructure of Bitcoin(Mining, Developing, Community, Social Media, News and Services), he succeeded in that with BCH.
Still true today.
The BABlers are trying to sell the idea that its okay if a node costs a few million for the most basic setup, and that miners are the only ones who should run them.
Its far beyond mere ignorance, and deep into the intentional sabotage realm.
Its so clear that they are scammers, I really cant comprehend how anyone ever bought bab, or why anyone like judas or vorhees or the rest.