Author

Topic: protocol modification question (Read 649 times)

legendary
Activity: 3472
Merit: 4801
February 15, 2015, 12:22:15 AM
#11
Actually i was wondering if a bot could overload the blockchain by creating thousands of transaction per sec/minute for instance?

If your bitcoins haven't aged for a while, then nodes won't relay the transactions that spend them unless you pay a transaction fee.  Therefore, it would become extremely expensive to create thousands of transactions per second.

Furthermore, it would not "overload the blockchain", since miners get to choose which transactions they will choose to put into the blockchain.  Since miners earn revenue from the transaction fees of the transactions that they put into the block that they mine, everyone that pays a higher fee than the "bots" will get their transactions confirmed.

I've heard in various videos that the only threat to bitcoin is a 51% attack but it seems there are other thing that could be problematic which wouldn't cost as much as a 51% attack. Something to think about if bitcoin ever became mainstream..

Bitcoin has been around for over half a decade now.  Expert hackers and expert technologists have been attempting to attack it since the day it was created.  It has been well studied and well tested.  The vast majority of both realistic and theoretical attacks are already well understood.  It is certainly possible that there is some hidden attack vector that hasn't been thought of yet, but every day, that likelihood is reduced more and more.

If you're interested in learning a bit more about some of the well discussed and studied attack vectors, take a look at this:

https://en.bitcoin.it/wiki/Weaknesses

If the majority of bitcoin users's "wallet" are on big exchanges like coinbase,bitstamp,etc..,

Those aren't wallets.  Those are accounts. There is a big difference.  If you deposit money into a bank, you wouldn't say that you have that money "in your wallet", would you?  Of course at least most banks are insured, regulated, and audited.

and these exchanges all agree to use a new blockchain and use the new software, then people won't even have the choice right?

If the majority of users are choosing to send their bitcoins to an uninsured, unregulated, un-audited, relatively unknown business, then the majority of users are idiots and probably deserve to suffer the consequences of that decision.

I'm thankfull that you explained everything so well,it saved me a lot of research.

You're welcome.  I'm getting used to it.  I've answered most of these questions a few dozen times each in the past for the hundreds of newbies that show up in this forum each month re-asking about things that have already been figured out.
hero member
Activity: 658
Merit: 500
February 14, 2015, 11:49:30 PM
#10
If the majority of bitcoin users's "wallet" are on big exchanges like coinbase,bitstamp,etc.., and these exchanges all agree to use a new blockchain and use the new software, then people won't even have the choice right?

The very moment you decide to send your bitcoins to Coinbase, etc. you no longer own and no longer control them. You now trust Coinbase to do the right thing. If Coinbase decides the right thing is to upgrade, then they will do it. If you don't agree with their decision, then your only option is to retrieve the bitcoins and be in control again of them.
hero member
Activity: 679
Merit: 500
February 14, 2015, 09:58:06 PM
#9
would it be possible for a bot to validate nodes ?

What would be the purpose?  Currently every node already validates everything it receives from every other node on the network.

you said "and this miscommunication could lead to loss of faith in the currency, and a reduction in use. " do you think this could be a real threat in the future?

It will always be a potential risk.  If there is ever a protocol change that is very popular with almost half the users, and very unpopular with almost half the users, then there is a risk that half the users will implement the change without the support of an overwhelming majority of the users.  This would cause a fork.  It is difficult to predict how damaging such a fork would be, but it is unlikely increase adoption by those not currently using the system.

if someone want a crypto to fail he could potentially destabilize it and the trust people have in it at almost no cost right?

No.  Not at no cost.  It would be difficult and time consuming to convince a large enough segment of the users to accept whatever change he would be using.

Actually i was wondering if a bot could overload the blockchain by creating thousands of transaction per sec/minute for instance?

I've heard in various videos that the only threat to bitcoin is a 51% attack but it seems there are other thing that could be problematic which wouldn't cost as much as a 51% attack. Something to think about if bitcoin ever became mainstream..

If the majority of bitcoin users's "wallet" are on big exchanges like coinbase,bitstamp,etc.., and these exchanges all agree to use a new blockchain and use the new software, then people won't even have the choice right?

I'm thankfull that you explained everything so well,it saved me a lot of research.
legendary
Activity: 3472
Merit: 4801
February 14, 2015, 10:38:34 AM
#8
would it be possible for a bot to validate nodes ?

What would be the purpose?  Currently every node already validates everything it receives from every other node on the network.

you said "and this miscommunication could lead to loss of faith in the currency, and a reduction in use. " do you think this could be a real threat in the future?

It will always be a potential risk.  If there is ever a protocol change that is very popular with almost half the users, and very unpopular with almost half the users, then there is a risk that half the users will implement the change without the support of an overwhelming majority of the users.  This would cause a fork.  It is difficult to predict how damaging such a fork would be, but it is unlikely increase adoption by those not currently using the system.

if someone want a crypto to fail he could potentially destabilize it and the trust people have in it at almost no cost right?

No.  Not at no cost.  It would be difficult and time consuming to convince a large enough segment of the users to accept whatever change he would be using.
hero member
Activity: 679
Merit: 500
February 14, 2015, 05:51:22 AM
#7
thanks for your time, i know everything now Smiley (almost)

the answers you gave to this question " does he just create a bitcoin client with his blockchain?" you answered them at the previous question, i realise how dumb it was

here is my last questions

would it be possible for a bot to validate nodes ?

you said "and this miscommunication could lead to loss of faith in the currency, and a reduction in use. " do you think this could be a real threat in the future? even between cryptos, if someone want a crypto to fail he could potentially destabilize it and the trust people have in it at almost no cost right?
legendary
Activity: 3472
Merit: 4801
February 14, 2015, 05:35:18 AM
#6
thank you very much for your explanation, definetely answers my questions.

what makes the replicated blockchain (exact same source code) different from the original one?

If you just reuse the exact same source code without any changes then you don't have a "Replicated blockchain" or a protocol change, you just have another bitcoin node with the same old protocol.

If you change any of the programming so that it creates blocks or transactions that are invalid to the current nodes, then the blockchain forks.  The blockchain up until the fork is identical for both types of nodes, but each node accepts only new blocks to its own copy of the blockchain that it recgonizes as being valid.  Therefore the newly mined blocks that are added to each of the chains are what make the chains different.

how technically does one go about doing that?

Download the source code.  Make a programming change that will generate transactions or blocks that are considered invalid by the current nodes.  Convince people to use your new program.

does he just create a bitcoin client with his blockchain?

Are you asking about two completely separate blockchains (like litecoin and dogecoin)?  Or are you asking about a software change to the existing bitcoin protocol to create a new node that forks the bitcoin blockchain?

i assume the size and all the statistics of a new blockchain would be different ?
Also what you said about  copying a transaction on the other blockchain is this what people  refer to as double spent?

No.  A double-spend would be if two different transactions that spend the exact same unspent transaction output are both included in the same blockchain.

What I described was transactions in two different blockchains.  Since they are different blockchains, they are different coins.  They might both try to call themselves "Bitcoin", but technically they are two different altcoins.

i thought this issue was solved?

It is.  You won't see two different transactions spending the same unspent transaction outputs in the Bitcoin blockchain.  All peers check for this (and other things) before accepting any block.
hero member
Activity: 679
Merit: 500
February 14, 2015, 05:22:52 AM
#5
thank you very much for your explanation, definetely answers my questions.


what makes the replicated blockchain (exact same source code) different from the original one? how technically does one go about doing that? does he just create a bitcoin client with his blockchain? i assume the size and all the statistics of a new blockchain would be different ?

Also what you said about  copying a transaction on the other blockchain is this what people  refer to as double spent? i thought this issue was solved?
legendary
Activity: 3472
Merit: 4801
February 14, 2015, 04:41:18 AM
#4
thanks for your detailed answer

Say if people can't find consensus, what would happen if there was 2 different blockchain ? what will be the consequences of that?

It's already happening.

For example, litecoin is a different protocol.
dogecoin is a different protocol.

If there are enough people to support both protocols, then they both become a cryptocurrency with their own blockchain.

That's what happens when the creator of the new protocol decides to start their protocol with a new and completely separate blockchain.  If there are two competing protocols that are both attempting to claim that they are the "real" bitcoin protocol, and they are both attempting to use the current bitcoin blockchain, then the blockchain forks.  All bitcoins that exist prior to the fork exist on both blockchains.  If you create a transaction that only spends those "split" bitcoins on one of the forks, then anyone can copy that transaction and rebroadcast it on the other fork, forcing you to spend the same amount of bitcoins on the other fork.  If your transaction includes any bitcoins that were created after the fork, then that transaction is only valid on the fork where those bitcoins were created.  Meanwhile you have users and merchants mis-communicating.  Some merchants request payment in "Bitcoin" (meaning one of the two protocols) while some of their users accidentally attempt to make a payment with "Bitcoin" (meaning the other of the two protocols). This ability to copy some (but not all) transactions between the two forks, and this miscommunication could lead to loss of faith in the currency, and a reduction in use.  A long drawn out battle between the two sects could result with each side trying to convince the world that their "Bitcoin" is the "Real Bitcoin".  Eventually perhaps one of the protocols dies off (or perhaps they both do and some altcoin rises up in popularity to overtake Bitcoin as the new most widely used cryptocurrency).

Also can miners chose to mine only in a particular blockchain?

Yes.  Litecoin miners can choose to only mine litecoin.  Dogecoin miners can choose to only mine dogecoin.  If the Bitcoin blockchain forks, then miners, merchants, and users all choose which protocol they are supporting by running software that accepts the blockchain that they choose.  Blocks solved on one fork are invalid on the other fork.

A modification was done already in the blockchain correct?

There have been a few minor protocol changes early on.  Mostly to fix bugs or deal with substantial problems.

did everyone consent to that?

From what I recall, it was pretty clear to most users at the time that the changes were necessary and weren't controversial (although it is possible that I'm looking at history through rose colored glasses).  Therefore, the changes were overwhelmingly accepted very quickly.  If there were a few stragglers, they realized quickly that their ability to maintain their own software and their own blockchain would be counter-productive and relatively useless.
 
If i have a wallet at coinbase for example

Coinbase might like to call what they offer their users a "wallet", but it really isn't. With a "wallet" you maintain full control of your private keys and therefore your bitcoins.  If you don't have exclusive control of your private keys, then you don't really have any bitcoins.  What Coinbase generally offers is an "account".  Like a bank account, you no longer own or control the money (your bitcoins) when you send them to Coinbase.  Instead you turn your bitcoins over to them, they take full control of the bitcoins and in exchange they create a account balance in their own database.  Then they promise to send an equivalent amount of their bitcoins wherever you want upon your request.

and they decide to follow a modification which my btc client didn't agree on and didn't update, would i be able to send those coins from coinbase to my btc clients?

Since the coins were received by them before the fork, they would control both copies of the bitcoins (from both forks).  It would be up to them how they want to handle that.  They could choose to exclusively support only one of the forks and abandon all the bitcoins from the other fork.  They could choose to support both forks and make sure that they are careful to keep the bitcoins from each fork secure and available to you.  They could be incompetent and accidentally end up with some of the bitcoins stuck on only one fork and other bitcoins stuck on only the other fork.  If you turn your bitcoins over to a third party and don't have exclusive access the the private keys, then you are making the choice to turn control of your finances over to them and accepting the fate of whatever they do whether you like it or not.

hero member
Activity: 679
Merit: 500
February 14, 2015, 03:35:13 AM
#3
thanks for your detailed answer

Say if people can't find consensus, what would happen if there was 2 different blockchain ? what will be the consequences of that?

Also can miners chose to mine only in a particular blockchain?

A modification was done already in the blockchain correct? did everyone consent to that?


If i have a wallet at coinbase for example and they decide to follow a modification which my btc client didn't agree on and didn't update, would i be able to send those coins from coinbase to my btc clients?
legendary
Activity: 3472
Merit: 4801
February 14, 2015, 03:08:39 AM
#2
OMG is he an idiot or illuminati puppet?

Not enough information available to determine the intelligence or motives of the person in question.

I was wondering who decides to make changes to the bitcoin blockchain and how is it decided?

You do.  And I do.  And everyone does.

Bitcoin is a consensus system.  It exists only through the consensus of the users.  You choose which protocol changes youa re willing to accept when you choose to use software that implements those protocol changes.  The source code for the reference client is publicly available.  Any body can modify the protocol however they like (or hire someone to modify it for them if they don't know how).  The tricky part is convincing ALL the other users that they want to use your new modifications.  If you can't convince people to run your software, then your changes have no effect.

what is the exact process?

Computer programmers create full nodes (such as Bitcoin Core) and light nodes (such as MultiBit).  Generally they are very careful NOT to change the protocol, because consensus is very difficult.  As long as they don't change the protocol (and instead simply add features and enhancements that make it easier, safer, and more useful to use the current protocol) they don't need to worry about gaining consensus.

If enough people feel that a protocol change is necessary, they write a node program (or modify an existing one) to implement the new protocol changes.  They try to convince as many people as possible that their change is necessary or very important.  If they are successful, then the vast majority of users choose to update their nodes and wallets to use the new protocol.  If they are unsuccessful, then the vast majority of users refuse to update their software to use the new protocol.

and what are the probability that the blockchain becomes centralized and backed by government one day?

If it is centralized and run by the government, then there will be no need for a blockchain.  The purpose of the blockchain is to provide an official record of the order of transactions in a decentralized way.  If you are using a centralized crypto currency, then the organization in charge can simply decide what the order of transactions is.  Mining and blockchains lose their purpose. 

surely they would change the 21M limit too wouldn't they?

That can only be accomplished by convincing an overwhelming majority of users that the limit should be changed and convincing them to switch to the new protocol with the new limit.

hero member
Activity: 679
Merit: 500
February 14, 2015, 02:28:57 AM
#1
just saw this video http://bitcoinexaminer.org/us-treasury-fears-islamic-state-using-bitcoin-fund-terrorist-activities/

at 1.14.40 guy said:

"government backing this technology could be the killer app" OMG is he an idiot or illuminati puppet?


I was wondering who decides to make changes to the bitcoin blockchain and how is it decided? what is the exact process?

and what are the probability that the blockchain becomes centralized and backed by government one day? surely they would change the 21M limit too wouldn't they?

I'm not too concern as there are a lots of alternatives just curious.
Jump to: