<div dir="auto"><div><br><div class="gmail_extra"><br><div class="gmail_quote">Den 21 dec. 2017 20:33 skrev "John Levine" <<a href="mailto:johnl@iecc.com">johnl@iecc.com</a>>:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Let's say I'm with the Chinese government and decide that I am tired<br>
of people evading currency controls and money laundering with Bitcoin.<br>
So we adjust the Great Firewall of China to block port 8333.  We also<br>
add some MITM proxies that take newly mined blocks from the Chinese<br>
side, rewrite them to put the newly mined btc into government-approved<br>
wallets, fill up the blocks with transactions from outside China, and<br>
send them along.</blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">Blocks are considered valid if;</div><div dir="auto"><br></div><div dir="auto">* The syntax is correct for the header and for all transactions. The header includes a Merkle tree hash of the transactions. </div><div dir="auto">* If all values are within the correct limits, such as that the time of one block may not be too far back or into the future compared to the prior one. </div><div dir="auto">* If the miner's "coinbase transaction" is valid, that first transaction in the block in which the miner claims the reward and fees to his own address. He can't claim a larger payout than the available reward + fees in the transactions bundled in the block. </div><div dir="auto">* If all transactions only try to claim valid unspent transaction outputs from previous transactions, and if they follow all the scripting rules correctly (different address formats enforce different scripts), and if outputs are not larger than the inputs. </div><div dir="auto"><br></div><div dir="auto">And critically, where your idea fails:</div><div dir="auto"><br></div><div dir="auto">* If the proof of work is valid, meaning that the integer representation of SHA256(SHA256(block header)) is less than the current mining difficulty target value. </div><div dir="auto"><br></div><div dir="auto">Changing the coinbase transaction to steal the coins changes the Merkle tree hash in the header and thus invalidates the proof of work, because the header hash changes too - randomly. With a very very tiny probability to be valid PoW. </div><div dir="auto"><br></div><div dir="auto">(Note that the above criteria are not complete, there are more factors involved. But they're sufficient to describe the concept.) </div><div dir="auto"><br></div><div dir="auto">It's relatively much easier to just attempt to isolate your people from any cryptocurrency nodes. </div><div dir="auto"></div></div>