Author

Topic: EDUCATE ME about Bitcoin please (Read 1867 times)

sr. member
Activity: 434
Merit: 251
March 26, 2014, 10:06:19 AM
#20
Hi there, the best way to learn about bitcoin for me atleast was to post here on the forum and ask any questions you have and also get involved more buy things with bitcoin and read articles and news. this will help you learn a lot
sr. member
Activity: 308
Merit: 250
March 25, 2014, 08:36:11 PM
#19
WIKI is the best way to learn
member
Activity: 70
Merit: 10
March 25, 2014, 07:49:34 PM
#18
legendary
Activity: 3472
Merit: 4801
March 21, 2014, 11:54:32 AM
#17
What are the economics for the nodes that are confirming the block (including which tx are valid and which not)? Couldnt I set up thousands (or millions, whatever is necccessary) of nodes that then are the majority that can confirm the false block suggested by the malicious miner?

That's called "creating a fork".

You would have created your own separate network that would allow those false blocks.  If you could convince others to use your special software that allowed those blocks, then you will have created your own separate coin that is not bitcoin.  Essentially this is what all the "altcoins" are.  They all create blocks that are not valid blocks in bitcoin.  They convince others to use their "bad block" accepting software, and now they can send coins to each other on their network.

Bitcoin is not a democracy system.  The majority doesn't decide for everyone else.  It isn't even a super-majority system.  It is a consensus system. This means that if you want to make a change to the basics of the protocol, you need everyone to agree. Otherwise the network splits into two factions.  The consensus that accepts the change and the consensus that rejects the change.

Remember I said "Every peer on the entire network".  It doesn't matter how many nodes you set up on your non-bitcoin network that accept the change, as soon as one of those nodes try to send the block to a connected peer on my bitcoin network, that peer will attempt to validate the block.  It will see that the block is not valid and it will not add it to its own blockchain, and will not relay the block to me or anyone else on my bitcoin network.  Meanwhile, the miners on the bitcoin network will continue creating valid blocks.

If your network has more total hashing power than all the combined hashing power in the bitcoin network, then you will eventually stop accepting any blocks that are created by bitcoin miners (since each block refers to its previous block, and your network will have a different, newer, block).  Their will be tow permanently forked blockchains, the bitcoin blockchain that I and my peers have, and the non-bitcoin blockchain that you and your peers have.  Those blockchains will be identical up to the point of the fork, and any unspent outputs from before the fork can be separately spent in both my system and yours.  Unspent outputs that are created after the fork will be only spendable in the fork where they are created.

If your network has less total hashing power than all the combined hashing power in the bitcoin network, then you won't create blocks fast enough to stay ahead of the bitcoin blockchain.  Every time the bitcoin blockchain exceeds your blockchain in total difficulty, your network will orphan all the blocks that it created and replace them with the valid blocks from the bitcoin blockchain.  There will be no incentive for anyone else to mine or participate on your network because confirmations on your network will keep being thrown out, and mined coins will continuously cease to exist.  To avoid this problem, altcoins disconnect from the bitcoin network.  They fork the blockchain at the very first block, create a network that not only mines its own blocks that aren't valid on the bitcoin network, but also reject any block that would be considered valid on the bitcoin network, and communicate on a separate connection port so they don't accidentally communicate with bitcoin peers.


If a majority is not enough and all have to agree,

It is not.  You need everyone to agree. 100%.

If there are two people in the entire world who decide they don't like the block accepting rules in your system, then they will connect to each other, and continue to reject your blocks and create and accept their own.

then couldn't I damage the network by being a node that refuses to confirm blocks that are valid?  

No. The network would simply ignore you and your invalid blocks.

I also read this https://en.bitcoin.it/wiki/Double-spending  "If the attacker controls more than half of the network hashrate, the previous attack has a probability of 100% to succeed."
Why? If the attacker has exactly 50% of the hashing power his chance of finding the next block sould be 50% not 100%?

Correct.

In order to reach consensus, each miner builds blocks that have a reference to a previous block.  As the blockchain gets longer, this implies that more and more miners have accepted a particular previous block in their blockchain, and creates a financial incentive to choose to build on the blockchain that contains this particular block instead of some other blockchain that is missing this block.

However, as your hashing power gets higher, you have an increasing chance of finding the next block, which implies that you find an increasing percentage of all the blocks that are found.  When you reach 50% of the hashing power, you are finding approximately half of all the blocks.  If you can exceed 50%, you are now able to find blocks faster than everybody else combined. Once you've done that, you can choose to create and use software that refuses to accept any blocks from any other miners.  You can choose to only build new blocks that have a reference to the last block that you found. Since you solve more blocks per day than everybody else, your blockchain will always be longer than any blockchain that includes blocks created by other people.  This means that you will continually orphan any blocks solved by any other miner as the network accepts your longer chain as the consensus chain.  Since you get to choose the blocks that remain in the chain and the blocks that are orphaned, you can orphan blocks that include particular transactions and confirm in your blocks a different set of transactions that spend the same inputs elsewhere. Of course this will only work if you create valid blocks that the rest of the network accepts.

An attack like this allows you to choose which valid transactions are confirmed and which valid blocks are accepted into the blockchain, but it doesn't allow you to change the protocol.

Regarding using google to answer the questions above: Show me where a google search that directs me to an answer of those questions above and I dont ask anymore. Keep in mind that for someone that is not as tech savvy as some here and who also doesnt yet completely understand bitcoin in detail it is often not possible to answer the questions above by guessing the answer from implications following from some writing that is not explicately focused on those questions.

If you haven't read the bitcoin whitepaper yet, you really should.  It explains a lot about how bitcoin works and helps you understand things well enough to ask questions that actually make sense.
member
Activity: 70
Merit: 10
March 21, 2014, 08:34:06 AM
#16
What are the economics for the nodes that are confirming the block (including which tx are valid and which not)? Couldnt I set up thousands (or millions, whatever is necccessary) of nodes that then are the majority that can confirm the false block suggested by the malicious miner? If a majority is not enough and all have to agree, then couldn't I damage the network by being a node that refuses to confirm blocks that are valid?  

I also read this https://en.bitcoin.it/wiki/Double-spending  "If the attacker controls more than half of the network hashrate, the previous attack has a probability of 100% to succeed."
Why? If the attacker has exactly 50% of the hashing power his chance of finding the next block sould be 50% not 100%?

Regarding using google to answer the questions above: Show me where a google search that directs me to an answer of those questions above and I dont ask anymore. Keep in mind that for someone that is not as tech savvy as some here and who also doesnt yet completely understand bitcoin in detail it is often not possible to answer the questions above by guessing the answer from implications following from some writing that is not explicately focused on those questions.
I like the forum and the community. But most answers telling you to use google instead isnt very inviting. You can just say nothing. "Use google" doesnt ad any value. "See https://en.bitcoin.it/wiki/Main_Page" does add value althouhg I knew the site.
legendary
Activity: 3472
Merit: 4801
March 20, 2014, 03:49:08 PM
#15
Thanks shorena!
Quote
The miner checks wether you have the funds according to all previous transactions in the blockchain. So while you could spoof the transactions message, no miner would accept it.
What would prevent a miner from taking non valid transactions into his block? If this miner wins the lottery, then who checks that the transactions that the miner took into the block and confirmed them as valid are actually valid?

Every peer on the entire network.

When a miner (or mining pool) solves a block, they immediately broadcast the block to every peer they are connected to.  Each of those peers verifies that the block header is valid and solved, and also verifies that every transaction in the block is valid.  If they discover anything about the block that is not valid (block reward is too big, transaction spends an already spent output, nonce is incorrect, etc), they discard the block and it ceases to exist.

If they find that the block is valid, they add it to their own blockchain and relay it to every other peer that they are connected to.  Each of those peers does the same validation of everything about the block, relaying it to their peers and adding it to their own blockchain, and so on until every node on the network has verified the block and transactions and added it to their own blockchain.

member
Activity: 84
Merit: 10
March 20, 2014, 12:52:45 PM
#14
That's a very good youtube video to educate about Bitcoin,  l4p7.
newbie
Activity: 58
Merit: 0
March 20, 2014, 11:57:11 AM
#13
Hello! Nice to join this community and see where is people who are willing and who are "willing" to help  Smiley
full member
Activity: 126
Merit: 100
March 20, 2014, 08:33:49 AM
#12
+1 just check there and you get an answer for most of your questions.
sr. member
Activity: 266
Merit: 250
newbie
Activity: 37
Merit: 0
March 19, 2014, 07:57:47 AM
#10
there is a trusted friend named google you can ask him about all of this Smiley

That is a great attitude to have towards newbies who may not have the basic level of technological knowledge to remotely understand half the results from Google, and may be easily intimidated as such. Smiley

If google was the answer for all questions, there would be no such thing as any consulting firm.

That's was the reason why I have joined this community - I was thinking that forum is a good guide if you read the threads here as I can see there's a lot of threads and comments on lots of different question - I just wish I won't go astray in the subforums
newbie
Activity: 6
Merit: 0
March 19, 2014, 06:44:29 AM
#9
You can search google about your questions, and also youtube videos about bitcoin mining can help.

This. I'm also newbie here but all the time trying to understand all information about Bitcoin from web, using exactly google and information here on forum. Best Regards for u guys!
hero member
Activity: 1582
Merit: 759
March 19, 2014, 04:21:22 AM
#8
there is a trusted friend named google you can ask him about all of this Smiley

That is a great attitude to have towards newbies who may not have the basic level of technological knowledge to remotely understand half the results from Google, and may be easily intimidated as such. Smiley

If google was the answer for all questions, there would be no such thing as any consulting firm.
full member
Activity: 140
Merit: 100
March 19, 2014, 03:47:12 AM
#7
You can search google about your questions, and also youtube videos about bitcoin mining can help.
copper member
Activity: 1498
Merit: 1528
No I dont escrow anymore.
March 19, 2014, 02:58:59 AM
#6
Thanks shorena!

Quote
The miner checks wether you have the funds according to all previous transactions in the blockchain. So while you could spoof the transactions message, no miner would accept it.
What would prevent a miner from taking non valid transactions into his block? If this miner wins the lottery, then who checks that the transactions that the miner took into the block and confirmed them as valid are actually valid?

@all I think I educated myself quite a bit. And my questions are pretty specific. It are questions that remained after reading and using google quite a bit.

Thanks

Not 100% sure about this, but the transactions have to make sense with the rest of the blockchain or the new block would not be accepted by the others nodes, miners, etc. So if you mine a new block and would include a transaction to transfer 7 Bitcoins from x to y, but according to all other blocks x never got 7 BTC the new block would not be confirmed. The cool thing about the lottery is, that while it is hard to win, it is very easy to verify that you have won.
member
Activity: 70
Merit: 10
March 18, 2014, 07:27:33 PM
#5
Thanks shorena!

Quote
The miner checks wether you have the funds according to all previous transactions in the blockchain. So while you could spoof the transactions message, no miner would accept it.
What would prevent a miner from taking non valid transactions into his block? If this miner wins the lottery, then who checks that the transactions that the miner took into the block and confirmed them as valid are actually valid?

@all I think I educated myself quite a bit. And my questions are pretty specific. It are questions that remained after reading and using google quite a bit.

Thanks
sr. member
Activity: 329
Merit: 251
March 18, 2014, 04:12:09 AM
#4
Help me educate myself so I can educate others  Roll Eyes

I watched this video http://www.youtube.com/watch?v=Lx9zgZCMqXE which I think is excellent.

I have some specific questions remaining:

Mining

I guess a miner is not always a node (e.g. when he joins a pool) but a node is always a miner? My understaning is that you are a node as soon as you support the network with the blockchain database running the bitcoind client and update that database.

I also heard the term "full node". Do half nodes exist? Wink

Do miners run specific mining software? Can mining be enhanced by specific mining software? Or are you just as likely to find a block with the bitcoind client? (I am not talking of mitigating the risk by joining a pool)

Transaction validation

The following questions are based on my understanding that the miner that finds the next block defines which transactions are included in this block (if he is a honest miner he takes those transactions into the block that have the higherst tx fees). See 13:00 Correct me if this assumption is wrong.

So the question is then how does the network actually control that the transactions chosen by the miner that found the block are actually valid (enough input, no double spend, --> do other reasons exist why a tx would be invalid?)?
- Is it that the client/network doesnt let me broadcast transactions that I am not entitled to based on my inputs in he first place? If so how does the client / network  know this?
- Or does the puzzle and its solution depend on the tx messages? That would make sense to me Smiley

My understaning of the term "transaction message" = all the transaction specific details: Input and output address, btc amount, what else?

How many transactions does a miner have to take into a block?

How is it possible to send the same bitcoin twice at the same time when trying to do a double spend attack? See 10:03

What's the deal with getting the hash below a certain number (see 15:00)? My of the "puzzle" to be solved was something like: All the letter of a sentence that makes sense are mixed randomly. No a computer tries all different possibilities so that the sentence makes sense again. This wouldnt work of with sentences because whether it makes sense if up for interpretation...


Spending some time on www.CoinLearn.org may help you to Learn as well as Earn some BTC.
copper member
Activity: 1498
Merit: 1528
No I dont escrow anymore.
March 18, 2014, 04:05:10 AM
#3
Help me educate myself so I can educate others  Roll Eyes

I watched this video http://www.youtube.com/watch?v=Lx9zgZCMqXE which I think is excellent.

I did not. Soooo I might not be able to help you with the questions you have refering to certain times on the video. but Ill see what I can do.




I have some specific questions remaining:

Mining

I guess a miner is not always a node (e.g. when he joins a pool) but a node is always a miner? My understaning is that you are a node as soon as you support the network with the blockchain database running the bitcoind client and update that database.

I also heard the term "full node". Do half nodes exist? Wink


Anyone running the official client (bitcoinqt) is considered a full node, as in "I have a full copy of the blockchain" (thus "full") and Im willing to share it with anyone on the network (thus "node"). There are other clients that do not have a full copy of the blockchain, not sure if they are called "half nodes" Wink


Do miners run specific mining software? Can mining be enhanced by specific mining software? Or are you just as likely to find a block with the bitcoind client? (I am not talking of mitigating the risk by joining a pool)



Yes there are several programms (e.g. guiminer, cgminer, ...) to mine. You can implement the algorithms badly, but most mining programms do it similarly well. Guiminer is considered a little slower because it has to run a gui. Afaik bitcoinqt no longer supports mining. You might be able to do it anyway, but it does not change the likelyhood of finding a block. The computationpower is the deciding factor wether you have a reasonable chance to find a block or not.


Transaction validation

The following questions are based on my understanding that the miner that finds the next block defines which transactions are included in this block (if he is a honest miner he takes those transactions into the block that have the higherst tx fees). See 13:00 Correct me if this assumption is wrong.


Miners form a new block with the transactions according to their rules. Some might only accept if there a transaction fee payed, some might accept transactions without fees. So yes to miner who finds a new block decides which transactions to include.


So the question is then how does the network actually control that the transactions chosen by the miner that found the block are actually valid (enough input, no double spend, --> do other reasons exist why a tx would be invalid?)?

- Is it that the client/network doesnt let me broadcast transactions that I am not entitled to based on my inputs in he first place? If so how does the client / network  know this?
- Or does the puzzle and its solution depend on the tx messages? That would make sense to me Smiley


The miner checks wether you have the funds according to all previous transactions in the blockchain. So while you could spoof the transactions message, no miner would accept it.
The "puzzle" does depend on the transactions, but its more like a lottery than a puzzle.
To form a new block the miner takes all unconfirmed transactions and a random value (nuance) and computates a hashvalue. In order for it to be considered a new block the hash value must have a certain number of leading 0's. The number depends on the difficulty. If you guesses wrong you pick another nuance and try again.


My understaning of the term "transaction message" = all the transaction specific details: Input and output address, btc amount, what else?




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


How many transactions does a miner have to take into a block?


At least one. According to this https://en.bitcoin.it/wiki/Blocks
The list of transactions must be non empty.


How is it possible to send the same bitcoin twice at the same time when trying to do a double spend attack? See 10:03


The longest chain matters. If you manage to make a new chain that is longer than the current one, only the transactions in your chain are valid, all others are no longer considered to have ever happend. Thus it is -theoretically- possible to make a transaction and afterwards make 2 new blocks very fast which exclude this transaction. So you have a very small window for this attack and the longer the reciving part waits the harder it gets to make another longer chain.


What's the deal with getting the hash below a certain number (see 15:00)? My of the "puzzle" to be solved was something like: All the letter of a sentence that makes sense are mixed randomly. No a computer tries all different possibilities so that the sentence makes sense again. This wouldnt work of with sentences because whether it makes sense if up for interpretation...

Yeah the "puzzle" idea is just wrong, I wrote about it above. Its more like lottery not a puzzle.
sr. member
Activity: 266
Merit: 250
if you want something do something!!!
March 17, 2014, 11:59:27 PM
#2
there is a trusted friend named google you can ask him about all of this Smiley
member
Activity: 70
Merit: 10
March 17, 2014, 06:08:48 PM
#1
Help me educate myself so I can educate others  Roll Eyes

I watched this video http://www.youtube.com/watch?v=Lx9zgZCMqXE which I think is excellent.

I have some specific questions remaining:

Mining

I guess a miner is not always a node (e.g. when he joins a pool) but a node is always a miner? My understaning is that you are a node as soon as you support the network with the blockchain database running the bitcoind client and update that database.

I also heard the term "full node". Do half nodes exist? Wink

Do miners run specific mining software? Can mining be enhanced by specific mining software? Or are you just as likely to find a block with the bitcoind client? (I am not talking of mitigating the risk by joining a pool)

Transaction validation

The following questions are based on my understanding that the miner that finds the next block defines which transactions are included in this block (if he is a honest miner he takes those transactions into the block that have the higherst tx fees). See 13:00 Correct me if this assumption is wrong.

So the question is then how does the network actually control that the transactions chosen by the miner that found the block are actually valid (enough input, no double spend, --> do other reasons exist why a tx would be invalid?)?
- Is it that the client/network doesnt let me broadcast transactions that I am not entitled to based on my inputs in he first place? If so how does the client / network  know this?
- Or does the puzzle and its solution depend on the tx messages? That would make sense to me Smiley

My understaning of the term "transaction message" = all the transaction specific details: Input and output address, btc amount, what else?

How many transactions does a miner have to take into a block?

How is it possible to send the same bitcoin twice at the same time when trying to do a double spend attack? See 10:03

What's the deal with getting the hash below a certain number (see 15:00)? My of the "puzzle" to be solved was something like: All the letter of a sentence that makes sense are mixed randomly. No a computer tries all different possibilities so that the sentence makes sense again. This wouldnt work of with sentences because whether it makes sense if up for interpretation...
Jump to: