Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: Come-from-Beyond on February 26, 2015, 04:20:18 PM



Title: Assumptions required for Bitcoin existence
Post by: Come-from-Beyond on February 26, 2015, 04:20:18 PM
What is the minimal set of assumptions that must be correct for Bitcoin to function properly?

For example, we assume that it's possible to distinguish work done during mining of bitcoins VS work done during mining of other coins. If we wasn't able to identify blockchain belonging to Bitcoin then any coin with higher cumulative difficulty would "overwrite" work/electricity burned for Bitcoin.


Title: Re: Assumptions required for Bitcoin existence
Post by: Klestin on February 26, 2015, 04:40:53 PM
That doesn't require any assumptions. The work isn't just performed on behalf of a particular cryptocurrency, it's performed on top of the entire existing blockchain.  You could replace the existing Bitcoin blockchain with one of your own, but it would require the cumulative processing power of the entire history of mining.


Title: Re: Assumptions required for Bitcoin existence
Post by: franky1 on February 26, 2015, 04:54:18 PM
strange for the OP (with legendary status) to have a noob question. thus i think his account got sold or hacked.

but to answer the question
even if just 2 people continue mining the bitcoin blockchain, the blockchain will continue to exist.

you cant replace bitcoins blockchain by mining another coin to overwrite it, the only thing that can happen is people prefer to VALUE another coin at a higher value than bitcoin, thus popularity swings over to another coin.

but as i said at the start even if just 2 people continue to mine bitcoins blockchain, bitcoin will still exist.


Title: Re: Assumptions required for Bitcoin existence
Post by: Come-from-Beyond on February 26, 2015, 04:59:17 PM
So Bitcoin can function properly without any assumptions? What about a case when rogue nodes have more hashing power than honest ones?


Title: Re: Assumptions required for Bitcoin existence
Post by: mlferro on February 26, 2015, 08:05:10 PM
So Bitcoin can function properly without any assumptions? What about a case when rogue nodes have more hashing power than honest ones?
this is definitely a very nasty problem.


Title: Re: Assumptions required for Bitcoin existence
Post by: cr4sh0verride on February 26, 2015, 09:29:33 PM
I find it hard to believe that someone with a legendary status would not know the answer to this question...


Title: Re: Assumptions required for Bitcoin existence
Post by: Come-from-Beyond on February 26, 2015, 09:37:46 PM
I find it hard to believe that someone with a legendary status would not know the answer to this question...

Legendary status means nothing, it's just a dick length indicator on this forum.


Title: Re: Assumptions required for Bitcoin existence
Post by: Daedelus on February 26, 2015, 09:53:36 PM
I would guess that it is assumed the mechanism that regulates difficulty can cope in extreme circumstances without getting sticky or stuck in a way that causes loss of confidence


Title: Re: Assumptions required for Bitcoin existence
Post by: juju on February 26, 2015, 10:26:19 PM
I find it hard to believe that someone with a legendary status would not know the answer to this question...

Legendary status means nothing, it's just a dick length indicator on this forum.

I have to agree with franky1, c'mon, not sure who your trying to fool, if you have made about 200+ posts here you probably can answer these questions just by having read them at some-point when it was asked by others or you through personal research find the answers.

You have been involved with this forum for nearly 4 years and have not found the answer to your extraordinarily vague questions. Based on your question and post count, people will assume you have purchased this legendary user account.


Title: Re: Assumptions required for Bitcoin existence
Post by: Come-from-Beyond on February 26, 2015, 10:33:18 PM
I have to agree with franky1, c'mon, not sure who your trying to fool, if you have made about 200+ posts here you probably can answer these questions just by having read them at some-point when it was asked by others or you through personal research find the answers.

You have been involved with this forum for nearly 4 years and have not found the answer to your extraordinarily vague questions. Based on your question and post count, people will assume you have purchased this legendary user account.

Ok, so I'm a noob who purchased this account. Now, what is the answer?


Title: Re: Assumptions required for Bitcoin existence
Post by: newIndia on February 26, 2015, 10:33:45 PM
So Bitcoin can function properly without any assumptions? What about a case when rogue nodes have more hashing power than honest ones?

From your trust it seems you are an NXT dev. I wonder how an NXT dev can ask these Qs !!!


Title: Re: Assumptions required for Bitcoin existence
Post by: Come-from-Beyond on February 26, 2015, 10:37:53 PM
Well guys. I see you try to avoid answering this simply question which makes me suspect that you hide something. Let me guess, Bitcoin is flawed and works only because it's controlled by Bitcoin Foundation?


Title: Re: Assumptions required for Bitcoin existence
Post by: juju on February 26, 2015, 10:49:51 PM
I have to agree with franky1, c'mon, not sure who your trying to fool, if you have made about 200+ posts here you probably can answer these questions just by having read them at some-point when it was asked by others or you through personal research find the answers.

You have been involved with this forum for nearly 4 years and have not found the answer to your extraordinarily vague questions. Based on your question and post count, people will assume you have purchased this legendary user account.

Ok, so I'm a noob who purchased this account. Now, what is the answer?

Franky1 largely answered this but I can take a crack real quick:

What is the minimal set of assumptions that must be correct for Bitcoin to function properly?
- Electricity, Internet, Two computers which are networked together running compatible Bitcoin Clients.

For example, we assume that it's possible to distinguish work done during mining of bitcoins VS work done during mining of other coins. If we wasn't able to identify blockchain belonging to Bitcoin then any coin with higher cumulative difficulty would "overwrite" work/electricity burned for Bitcoin.

- Since every single block in the chain includes a hash of the entire previous blocks data, this would be fine with your assumptions, for the user to "overwrite" they will actually have to be using the exact same blockchain as everyone else to with the exact same data previously hashed as everyone else in the world. Otherwise they will be adding blocks to their alternative blockchain that no network participants will recognize as the real chain because the alternative chain would never be able to grow longer than the real blockchain read section 11: https://bitcoin.org/bitcoin.pdf

The attackers chain would always be behind, unless they held a significant portion of the network like pointed out by others previously.



Title: Re: Assumptions required for Bitcoin existence
Post by: Come-from-Beyond on February 26, 2015, 10:53:56 PM
So we have 3 assumptions:

1. We can identify work done for Bitcoin
2. We can communicate with other participants
3. Attacker doesn't have too much hashing power

Is it enough?


Title: Re: Assumptions required for Bitcoin existence
Post by: onemorebtc on February 26, 2015, 10:58:45 PM
So we have 3 assumptions:

1. We can identify work done for Bitcoin
2. We can communicate with other participants
3. Attacker doesn't have too much hashing power

Is it enough?

point 1 isnt an assumption as it is proven through mathematics (in case you think its an assumption please add that 1+1=2 keeps true as well - it is also needed ;).

we will always need some kind of calculator: humans are just too slow

bandwidth and latency is also interesting as it defines bitcoins upper bound


Title: Re: Assumptions required for Bitcoin existence
Post by: stevenh512 on February 27, 2015, 12:32:47 AM
1. We can identify work done for Bitcoin

Not an assumption, this is provably true, the math involved is not capable of lying. Each block is built on the previous, they only "fit" into the blockchain if they are built on a block that already exists (along with other constraints.. must be a valid block, must be at least n difficulty, must have a valid coinbase transaction, etc). Ultimately, all of these blocks are built on top of Bitcoin's unique genesis block which is set in stone in the source code of bitcoin-core and you can identify work done for Bitcoin because it can be mathematically proven that each and every block in the blockchain is built on top of Bitcoin's unique genesis block. There is no way a Namecoin block, for example, can become part of the Bitcoin blockchain (or vice-versa) because it's built on top of the wrong blockchain and genesis block. There's also no way the Namecoin blockchain could replace Bitcoin's or vice-versa for the same reason.

Pretty much the only way to replace the whole Bitcoin blockchain would be to start over from the genesis block with more computing power than has been put into mining so far and eventually catch up to and pass the real blockchain (at which point, your chain becomes the real blockchain). In practice it's much harder than it seems, not only do you need a great deal more computing power than all the ASICs on the market at the moment, you also have certain checkpoint blocks which are set in stone in the bitcoin core source code and those block hashes also have to match known values.. so you'd also effectively have to break SHA256 unless you're just starting from the most recent checkpoint (a lot easier, but there still aren't enough ASICs on the market for this to be a realistic attack)


Title: Re: Assumptions required for Bitcoin existence
Post by: Come-from-Beyond on February 27, 2015, 10:31:47 AM
1. We can identify work done for Bitcoin

Not an assumption, this is provably true, the math involved is not capable of lying. Each block is built on the previous, they only "fit" into the blockchain if they are built on a block that already exists (along with other constraints.. must be a valid block, must be at least n difficulty, must have a valid coinbase transaction, etc). Ultimately, all of these blocks are built on top of Bitcoin's unique genesis block which is set in stone in the source code of bitcoin-core and you can identify work done for Bitcoin because it can be mathematically proven that each and every block in the blockchain is built on top of Bitcoin's unique genesis block. There is no way a Namecoin block, for example, can become part of the Bitcoin blockchain (or vice-versa) because it's built on top of the wrong blockchain and genesis block. There's also no way the Namecoin blockchain could replace Bitcoin's or vice-versa for the same reason.

Pretty much the only way to replace the whole Bitcoin blockchain would be to start over from the genesis block with more computing power than has been put into mining so far and eventually catch up to and pass the real blockchain (at which point, your chain becomes the real blockchain). In practice it's much harder than it seems, not only do you need a great deal more computing power than all the ASICs on the market at the moment, you also have certain checkpoint blocks which are set in stone in the bitcoin core source code and those block hashes also have to match known values.. so you'd also effectively have to break SHA256 unless you're just starting from the most recent checkpoint (a lot easier, but there still aren't enough ASICs on the market for this to be a realistic attack)

Imagine that Bitcoin is forked into 2 branches: 1 MB and 20 MB. Now we have a fragment where all blocks are identical. If the latest checkpoint is below the fork then we see that assumption #1 is required.


Title: Re: Assumptions required for Bitcoin existence
Post by: onemorebtc on February 27, 2015, 10:34:37 AM
1. We can identify work done for Bitcoin

Not an assumption, this is provably true, the math involved is not capable of lying. Each block is built on the previous, they only "fit" into the blockchain if they are built on a block that already exists (along with other constraints.. must be a valid block, must be at least n difficulty, must have a valid coinbase transaction, etc). Ultimately, all of these blocks are built on top of Bitcoin's unique genesis block which is set in stone in the source code of bitcoin-core and you can identify work done for Bitcoin because it can be mathematically proven that each and every block in the blockchain is built on top of Bitcoin's unique genesis block. There is no way a Namecoin block, for example, can become part of the Bitcoin blockchain (or vice-versa) because it's built on top of the wrong blockchain and genesis block. There's also no way the Namecoin blockchain could replace Bitcoin's or vice-versa for the same reason.

Pretty much the only way to replace the whole Bitcoin blockchain would be to start over from the genesis block with more computing power than has been put into mining so far and eventually catch up to and pass the real blockchain (at which point, your chain becomes the real blockchain). In practice it's much harder than it seems, not only do you need a great deal more computing power than all the ASICs on the market at the moment, you also have certain checkpoint blocks which are set in stone in the bitcoin core source code and those block hashes also have to match known values.. so you'd also effectively have to break SHA256 unless you're just starting from the most recent checkpoint (a lot easier, but there still aren't enough ASICs on the market for this to be a realistic attack)

Imagine that Bitcoin is forked into 2 branches: 1 MB and 20 MB. Now we have a fragment where all blocks are identical. If the latest checkpoint is below the fork then we see that assumption #1 is required.

mining has nothing to do with checkpoints. they are a relict which is no longer needed excapt for fasten up an initial sync.

when bitcoin forks every miner who uses the new software is mining on the new chaing and every miner on the old one is mining the old chain.

so no assumption needed: its all mathematic nothing more


Title: Re: Assumptions required for Bitcoin existence
Post by: Come-from-Beyond on February 27, 2015, 10:49:23 AM
mining has nothing to do with checkpoints. they are a relict which is no longer needed excapt for fasten up an initial sync.

when bitcoin forks every miner who uses the new software is mining on the new chaing and every miner on the old one is mining the old chain.

so no assumption needed: its all mathematic nothing more

How will you know which blockchain to download if you don't know which of the 2 is the correct one?


Title: Re: Assumptions required for Bitcoin existence
Post by: onemorebtc on February 27, 2015, 10:51:34 AM
mining has nothing to do with checkpoints. they are a relict which is no longer needed excapt for fasten up an initial sync.

when bitcoin forks every miner who uses the new software is mining on the new chaing and every miner on the old one is mining the old chain.

so no assumption needed: its all mathematic nothing more

How will you know which blockchain to download if you don't know which of the 2 is the correct one?

the one which contains most work and follows the protocol specification of my client (changed blocksize would be another protocol)


Title: Re: Assumptions required for Bitcoin existence
Post by: franky1 on February 27, 2015, 11:14:52 AM
1. i think the OP is assuming that altcoins can replace bitcoin.

a. altcoins dont have the same genesis block
b. all the headers from the genesis block to the newest/current block are unique to bitcoin
c. for an altcoin to even try appearing like bitcoin someone will need to have a copy of the 6 years of tx history and more than 50% hash power of bitcoin

in short litecoin nxt, or even lickyourasscosyoulikit coin can never replace bitcoin


2. if the OP is not talking about altcoins replacing bitcoins blockchain data.
what you are talking about is forks due to a 51%. this topic has been covered maybe 100 times before.

but in short.
even if a miner had 51% mining hashpower. each users bitcoin-core node has a set of rules and if any manipulated blocks that show funds miraculously appearing out of no-where. the user nodes would reject it.

the only possibility would be for a nasty miner to try undoing transactions that happened before, which requires them to backtrack and undo the previous block, solve it and then solve the current block and then solve the next block to get ahead.

this in short means they have to try solving 3 blocks in the time it takes over miners to solve 1 block.

and this my friend is why exchanges only trust transactions that have more than 1 confirmation.

the chances of someone solving 3 blocks is so improbable that it is not worth worrying about, but the safeguard of only accepting payment after 3-6 confirmation (where it requires a nasty miner to solve 5-8 blocks) to mess with. is something unthinkable.

i personally am happy accepting non-confirm transactions or atleast 1 confirm if the value is high. all because the odds of a miner messing with it is too huge to put into numbers.

if you wish to learn more rather than being spoon fed the answers, please research:
51% attacks
confirmations

3. if the OP is talking about bitcoins 'value' continuing to exist. well thats a human decision people make about what they value.

either way the bitcoin blockchain will continue on as long as someone atleast continues to mine it.


Title: Re: Assumptions required for Bitcoin existence
Post by: Come-from-Beyond on February 27, 2015, 11:27:17 AM
the one which contains most work and follows the protocol specification of my client (changed blocksize would be another protocol)

If we get the fork (Original Bitcoin VS Gavincoin) then both will follow the protocol specs but one of them will have higher cumulative difficulty.


Title: Re: Assumptions required for Bitcoin existence
Post by: Come-from-Beyond on February 27, 2015, 11:29:54 AM
1. i think the OP is assuming that altcoins can replace bitcoin.

a. altcoins dont have the same genesis block
b. all the headers from the genesis block to the newest/current block are unique to bitcoin
c. for an altcoin to even try appearing like bitcoin someone will need to have a copy of the 6 years of tx history and more than 50% hash power of bitcoin

in short litecoin nxt, or even lickyourasscosyoulikit coin can never replace bitcoin


2. if the OP is not talking about altcoins replacing bitcoins blockchain data.
what you are talking about is forks due to a 51%. this topic has been covered maybe 100 times before.

but in short.
even if a miner had 51% mining hashpower. each users bitcoin-core node has a set of rules and if any manipulated blocks that show funds miraculously appearing out of no-where. the user nodes would reject it.

the only possibility would be for a nasty miner to try undoing transactions that happened before, which requires them to backtrack and undo the previous block, solve it and then solve the current block and then solve the next block to get ahead.

this in short means they have to try solving 3 blocks in the time it takes over miners to solve 1 block.

and this my friend is why exchanges only trust transactions that have more than 1 confirmation.

the chances of someone solving 3 blocks is so improbable that it is not worth worrying about, but the safeguard of only accepting payment after 3-6 confirmation (where it requires a nasty miner to solve 5-8 blocks) to mess with. is something unthinkable.

i personally am happy accepting non-confirm transactions or atleast 1 confirm if the value is high. all because the odds of a miner messing with it is too huge to put into numbers.

if you wish to learn more rather than being spoon fed the answers, please research:
51% attacks
confirmations

3. if the OP is talking about bitcoins 'value' continuing to exist. well thats a human decision people make about what they value.

either way the bitcoin blockchain will continue on as long as someone atleast continues to mine it.

I don't make extra assumptions. I'm asking about assumptions required for Bitcoin existence. Regarding the fork it means that

We assume that it's possible to distinguish branches
OR
Fork doesn't happen

At least one of these assumptions is required IMO, but I'm not sure.


Title: Re: Assumptions required for Bitcoin existence
Post by: onemorebtc on February 27, 2015, 11:29:57 AM
the one which contains most work and follows the protocol specification of my client (changed blocksize would be another protocol)

If we get the fork (Original Bitcoin VS Gavincoin) then both will follow the protocol specs but one of them will have higher cumulative difficulty.

only as long as their isnt a block bigger than allowed by the current protocol definition - as i said: blocksize is part of the protocol spec.


Title: Re: Assumptions required for Bitcoin existence
Post by: Come-from-Beyond on February 27, 2015, 11:30:58 AM
only as long as their isnt a block bigger than allowed by the current protocol definition - as i said: blocksize is part of the protocol spec.

Aha, so it's reduced to assumption that we can distinguish branches. Good.


Title: Re: Assumptions required for Bitcoin existence
Post by: franky1 on February 27, 2015, 12:03:13 PM

I don't make extra assumptions. I'm asking about assumptions required for Bitcoin existence. Regarding the fork it means that

We assume that it's possible to distinguish branches
OR
Fork doesn't happen

At least one of these assumptions is required IMO, but I'm not sure.

yes. the bitcoin protocol can distinguish branches.
thats why litecoin/any alt which is at a higher block number, doesnt get confused with bitcoin.
thats why valid blocks are separated from invalid blocks
thats why altered previous blocks cant simply be accepted without the chain of blocks being linked all the way back to genesis(confirmed).



Title: Re: Assumptions required for Bitcoin existence
Post by: R2D221 on February 27, 2015, 05:20:05 PM
Oh, God, not this “gavincoin” nonsense again.


Title: Re: Assumptions required for Bitcoin existence
Post by: Daedelus on March 01, 2015, 09:35:02 PM
Since my last suggestion went down so well... :)

It is assumed BTC will add sidechains at a point soon enough (less than the 1-2 years eta?) to add capabilites that are available today and still be relevant.


Title: Re: Assumptions required for Bitcoin existence
Post by: Beliathon on March 02, 2015, 02:24:13 AM
I find it hard to believe that someone with a legendary status would not know the answer to this question...

Legendary status means nothing, it's just a dick length indicator on this forum.
Can confirm, "senior member" and have slightly above average length dick.