Author

Topic: What prevents someone from "giving" themselves more Bitcoin? (Read 307 times)

sr. member
Activity: 1050
Merit: 286
Hi, I've heard about Bitcoin for ages now and I understand the massive potential it has. I'd like to say I understand its features such as the blockchain technology and the ability to mine more, but I must admit I have much to learn.

My question is in the title. It may sound really stupid and I know that there certainly is a way to prevent someone giving themselves more bitcoin, but let's say I have a cold wallet with 1 bitcoin on it. Could someone somehow change the code in a way and make it into 2 bitcoin? Like to me it just seems like a number that represents the number of bitcoin you have.

Thank you for bearing with my stupid question, but it's been bugging me for a bit.10.0.0.0.1 192.168.1.254

There's nothing wrong with your question no matter how simple you see it, you can always ask if you are willing to learn. One of the main reason why one is too afraid of giving themselves or making theirselves earn bitcoin is because of ignorance. As they enter the market, they lack wisdom with regards to what they enter to which leads them to fear making a move or start investing. If only people learn as much as they can first, no matter how many FUD's they see in the forum or negative views in the news, they would know what to do and they will always find a way on how they can earn bitcoin regardless of what may come in their way.
legendary
Activity: 2268
Merit: 18748
If hackers was able to gain control maybe at least half of the mining process of a certain block, from what I've read, they can form those included transaction and create forks which real tx aren't reflected, through that they can double spend bitcoin.
As has been explained already in this thread, having 51% of the hash rate does not allow an attacker to create bitcoin out of thin air, double the amount of bitcoin they own, give themselves bitcoin out of nothing, or anything of that nature. It also does not allow them to help themselves to anyone else's bitcoin. It allows them to double spend their own transactions only. Note that if a bitcoin was successfully double spent, then the original transaction becomes invalid and is erased from the blockchain, leaving only one valid transaction. The bitcoin being double spent is not actually "doubled".
sr. member
Activity: 1764
Merit: 260
Binance #SWGT and CERTIK Audited
Hi, I've heard about Bitcoin for ages now and I understand the massive potential it has. I'd like to say I understand its features such as the blockchain technology and the ability to mine more, but I must admit I have much to learn.

My question is in the title. It may sound really stupid and I know that there certainly is a way to prevent someone giving themselves more bitcoin, but let's say I have a cold wallet with 1 bitcoin on it. Could someone somehow change the code in a way and make it into 2 bitcoin? Like to me it just seems like a number that represents the number of bitcoin you have.

Thank you for bearing with my stupid question, but it's been bugging me for a bit.
If hackers was able to gain control maybe at least half of the mining process of a certain block, from what I've read, they can form those included transaction and create forks which real tx aren't reflected, through that they can double spend bitcoin.
Got the idea here: https://www.epiqglobal.com/en-us/thinking/blog/blockchain-can-be-hacked
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
Think about this for a second: If "giving" yourself free bitcoin was THAT simple and easy, do you think that bitcoin would be this expensive today?
No, that's what he says. He knows that it's impossible, he just hasn't understood why it can't be achieved. That's why he chose to name the question “stupid”.

If you convert to other cryptocurrencies you could actually "give yourself" more coins with staking or yields etc.
But, you're not cheating the system, it's the mechanism that changes. With the same reasoning, you could give yourself more coins by calculating some SHA256 hashes; you aren't creating coins by changing some input values and so, you're not cheating the system.
mk4
legendary
Activity: 2870
Merit: 3873
Paldo.io 🤖
Others have explained this clearly already, but I just wanted to chime in.

Think about this for a second: If "giving" yourself free bitcoin was THAT simple and easy, do you think that bitcoin would be this expensive today? If it was that simple, it would've been done a thousand times already, and I'd say bitcoin would be zero by now.
legendary
Activity: 2268
Merit: 18748
Imagine having a gigantic cookie jar with lots of cookies inside made with specific ingredients (let's say a chocolate chip cookie). Since each person is allotted this gigantic cookie jar, let's assume you put another cookie there but the one that you put is an oatmeal cookie. The other people with the same gigantic cookie jar will see your oatmeal cookie which is different from what is originally stored.
That's not really a great analogy since it assumes one single centralized database (the cookie jar) which everyone has access to, when in reality, everyone keeps their own copy of the database and validates all incoming transactions and blocks individually.

Upon verification, this would be invalidated by hundreds of thousands of miners UNLESS you give them the same oatmeal cookie  as the one you have, which I believe is impossible.
It is nodes which validate unconfirmed transactions and add them to the mempool to be mined, not miners themselves.
hero member
Activity: 2268
Merit: 789
Imagine having a gigantic cookie jar with lots of cookies inside made with specific ingredients (let's say a chocolate chip cookie). Since each person is allotted this gigantic cookie jar, let's assume you put another cookie there but the one that you put is an oatmeal cookie. The other people with the same gigantic cookie jar will see your oatmeal cookie which is different from what is originally stored.

Same concept, the node that you are changing is only for yourself, and not what is stored in the database. Upon verification, this would be invalidated by hundreds of thousands of miners UNLESS you give them the same oatmeal cookie  as the one you have, which I believe is impossible.
member
Activity: 644
Merit: 24
but let's say I have a cold wallet with 1 bitcoin on it. Could someone somehow change the code in a way and make it into 2 bitcoin? Like to me it just seems like a number that represents the number of bitcoin you have.

Thank you for bearing with my stupid question, but it's been bugging me for a bit.
Each coin is immutable and non fungible.

I think you mean that Bitcoin is fungible.
legendary
Activity: 2702
Merit: 4002
You can change anything in the Bitcoin network, but what you are going to produce new thing that will not be called Bitcoin but something new.
The cost of changing things in Bitcoin is expensive and more than you can make profits from them, as it will be for a limited time, so if your question is out of fear, the answer is:
As long as there are more than 6 confirmations in the transaction and you keep the key safe, your coins will remain the same forever.
legendary
Activity: 2268
Merit: 18748
When you make a bitcoin transaction, you must reference a previous transaction. At its most basic, your transaction code essentially says "Use the output from transaction x, and send y amount of it to address z". You then broadcast that transaction out to a bitcoin node. This node looks at it, verifies that it is valid, obeys all the consensus rules, only spends bitcoin which actually exist, has a valid signature, and so on. If it all checks out, then that node will broadcast it to other nodes, which perform the same checks before broadcasting it more.

If you try to make y larger the amount of bitcoin in the output of transaction x, then your transaction will be invalid and rejected by the network. If you try to include an output which doesn't actually exist, then your transaction will be invalid and rejected by the network. If you try to include an output which does not belong to you, you will be unable to generate a valid signature since you do not know the corresponding private key, and you transaction will be rejected by the network. In all cases, your transaction is never added to the mempool, never propagated through the network, and will never be mined in to a block.

There are 2 known ways to do this at the moment imo (im not saying they're easy):
In neither of those hypothetical scenarios you have given are bitcoin created out of thin air, though. They are simply taken from someone else - the exchange in the first case, or the miners in the second case.
legendary
Activity: 2702
Merit: 3045
Top Crypto Casino
The reason why you can't change the number of bitcoins you own by changing some numbers or editing a code in your device is because they are not really stored in your wallet.
Bitcoin transaction are saved on a public ledger (aka blockchain) and each node connected to the bitcoin network has a copy of that ledger.
So if you try to spend an amount that you don't own, other nodes will reject it because it's an invalid transaction according to their own copies of the blockchain.

Besides, each block is connected to the other blocks through cryptography (hence the name; blockchain). If you make any change to a transaction you'll have to re-construct the whole chain from the genesis block.
copper member
Activity: 2856
Merit: 3071
https://bit.ly/387FXHi lightning theory


There was one network hack back in 2015 that I can remember which involved a double spend.
Um, what? Can you provide a link?

He's probably confusing with https://bitcoin.org/en/alert/2015-07-04-spv-mining
But it was rather just a risk of double spend after a bitcoin fork when a few miners generated invalid blocks and it was considered valid by some wallets and explorers

Yeah it was just something I remember causing a crash. I had only just joined in the space so was relying on mainstream media articles for most of my information and posts around here. It mightve been just a few pieces of software effected and a code bug but I think it got flagged because blockchain.info was reporting a block that spent a few bn btc.
hero member
Activity: 3024
Merit: 680
★Bitvest.io★ Play Plinko or Invest!
Could someone somehow change the code in a way and make it into 2 bitcoin? Like to me it just seems like a number that represents the number of bitcoin you have.
No.

There's no way for someone to change the code and make your 1 BTC to 2 BTC. You have to buy or someone has to send you another 1 BTC to make it too.

Don't make things too complicated for you.
copper member
Activity: 2940
Merit: 4101
Top Crypto Casino


There was one network hack back in 2015 that I can remember which involved a double spend.
Um, what? Can you provide a link?

He's probably confusing with https://bitcoin.org/en/alert/2015-07-04-spv-mining
But it was rather just a risk of double spend after a bitcoin fork when a few miners generated invalid blocks and it was considered valid by some wallets and explorers
legendary
Activity: 2394
Merit: 2223
Signature space for rent
I wouldn't say it's a stupid question, it's a lack of knowledge. In the beginning, this kind of thought would come into mind since you don't know the technology behind Bitcoin and how it works. All the Bitcoin stores in the Blockchain and you can't change the code once it is deployed on the Blockchain. Mean no one able to edit the current Bitcoin Blockchain codes that exist. So it's not possible to multiply Bitcoin on your wallet by changing codes or whatever. Your wallet is just reflecting how much Bitcoin you are holding, this is just an algorithm. I will suggest reading more about Bitcoin how it works.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
Realistically neither SHOULD work but bad testing or a 51% attack is a known way to do it.
But, a 51% attack doesn't create bitcoins out of thin air. It is indeed a way to double spend the system, but not to create units out of nothing. The nodes will continue to reject any invalid transactions they receive; what they're doomed is to accept the longest chain which is brought by one entity.

There was one network hack back in 2015 that I can remember which involved a double spend.
Um, what? Can you provide a link?
copper member
Activity: 2856
Merit: 3071
https://bit.ly/387FXHi lightning theory
Actually this has been the exact problem bitcoin was trying to solve.

Other versions before bitcoin have been fairly centralised and even some altcoins that came out after bitcoin are.

There was one network hack back in 2015 that I can remember which involved a double spend.

There are 2 known ways to do this at the moment imo (im not saying they're easy):
1. Find a badly programmed website and do a withdraw from it (and take advantage of a bug in their code that might give you 2 - eg if the site doesn't subtract your balance when doing a withdrawal).
2. Ask all of the miners to signal for yoy to get double your funds by accepting a higher coinbase and gifting you the value of your wallet.

Realistically neither SHOULD work but bad testing or a 51% attack is a known way to do it.

(also the first one sounds like theft)...
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
I really like reading questions that start with “It may sound really stupid”; it reminds me of myself when I firstly got into Bitcoin, a year ago.

but let's say I have a cold wallet with 1 bitcoin on it.
You shouldn't be picturing bitcoins as actual coins inside wallets. They're not hidden into your computer. On the contrary, they're publicly announced and everyone can observe your transactions. The wallet from your computer generates private keys and then it derives from them their addresses, which are the invoices. When you give to someone your address, you're the only person who can prove the ownership of that address. Is it understandable 'till now? Alright.

The Bitcoin network is consisted of computers running a bitcoin client, the most known is Bitcoin Core. These computers are the ones that distribute information related with Bitcoin such as blocks, transactions etc. They all autonomously follow some consensus rules such as not exceeding the 21M coin limit and readjusting the mining difficulty every 2016 blocks. They keep a copy of the transaction history.

The coins should be imagined as unspent transaction outputs (UTXO for short) and not like actual coins. When you broadcast a transaction to the network, you essentially sign some inputs of your previous transactions and you then create outputs depending on where you want to send. For example, if you have an input of 0.05 BTC and another one of 0.08, you can create an output of 0.13 BTC. Nodes verify the inputs that you choose to spend to check if they're valid.

To answer your question, one can't create a bitcoin out of thin air, because in our example, creating an output of 1.13 BTC from 0.05 and 0.08 BTC won't be accepted as “valid” from the computers that handle this peer-to-peer and completely decentralized network.
legendary
Activity: 2380
Merit: 5213
Each of (full) nodes has a copy of the entire blockchain.
For changing the number of bitcoins you have, the only thing you can do is change the data stored in your computer. You can't change the data stored by other nodes.

Any transaction needs to be validated by majority of nodes and confirmed by miners, so it can be added to the blockchain. If a transaction is not accepted by majority of the nodes, it can't enter the blockchain.  
legendary
Activity: 2114
Merit: 2248
Playgram - The Telegram Casino
but let's say I have a cold wallet with 1 bitcoin on it. Could someone somehow change the code in a way and make it into 2 bitcoin? Like to me it just seems like a number that represents the number of bitcoin you have.

Thank you for bearing with my stupid question, but it's been bugging me for a bit.
No question is stupid and everyone always has something to learn from every discussion.
About changing the protocol, this can not possibly be done by any single person, if it could, then Bitcoin would have little or no value as everyone can create their own. Each coin is immutable and non fungible.

Changes in the protocol are possible, but it's first out forward as proposals and requires consensus to be valid and to reflect on the Bitcoin chain, otherwise a split chain might occur.
Each transaction is first validated by nodes to ensure the inputs involved are valid, before becoming available for miner's confirmation.
newbie
Activity: 1
Merit: 0
Hi, I've heard about Bitcoin for ages now and I understand the massive potential it has. I'd like to say I understand its features such as the blockchain technology and the ability to mine more, but I must admit I have much to learn.

My question is in the title. It may sound really stupid and I know that there certainly is a way to prevent someone giving themselves more bitcoin, but let's say I have a cold wallet with 1 bitcoin on it. Could someone somehow change the code in a way and make it into 2 bitcoin? Like to me it just seems like a number that represents the number of bitcoin you have.

Thank you for bearing with my stupid question, but it's been bugging me for a bit.10.0.0.0.1 192.168.1.254
Jump to: