# An explanation of what Blockchain is



## fpalb (3 Dec 2017)

TheBigShort said:


> However, to avoid going off-track, I think one point has been missed in all of these comparisons between Bitcoin and tulips. That is, blockchain technology.
> If I am to believe what I read about blockchain technology is that it cannot be tampered with without that tampering being recognised almost instantly.



I can dive into this a bit, bear with me because there's no easy way to explain it thoroughly. Bitcoin is a blockchain, effectively a decentralised ledger that keeps a public immutable history of transactions. Only the holder of the secret private key for an address can create a new ledger entry spending from that address. There is no central controlling authority or company, all nodes on the network are equal peers, and the system is open, so anyone can become a node on the network, anyone can create their own addresses ready to receive bitcoin transactions without permission (i.e. accounts are not assigned).

The fact that such a system can be used as a monetary system is kind of secondary, but also not, because the fact that bitcoins are worth something is a necessary incentive in the system to ensure there are miners - I am still skeptical of the companies that are claiming they will use blockchain tech without the monetary aspect.

Each node can see every transaction in the whole history of bitcoin, that means they can derive the current balance of any address and know that any coins spent form that address are valid.

Transactions are grouped in blocks, and a block is appended to the blockchain on average every 10 minutes. There are some nodes that make the data available in the form of a website, so we can effectively browse the whole blockchain, for example:

Here is block #497275 on blockchain.info: https://blockchain.info/block/000000000000000000a0f386afac6d3049936453d3562559dd670257f432619f
Here is the same block on blockexplorer.com: [broken link removed]

You could run a wallet app, it will connect to other nodes and it will receive the same block.

You can look at any block or any transaction on either of those websites, and they'll be the same.

What bitcoin does is ensure that all nodes agree on what each block is, that it contains valid transactions and that it can't be changed after the fact, without anyone being in charge or any node being more important than any other. It sounds simple, but this was a really hard computer science problem to solve, many thought it was impossible.

You can see on both of the pages linked above that the first transaction in the block has an ID of [broken link removed] which is the special transactoin that the miner who solved the block gets to award themselves, it contains the allowed reward of 12.5 bitcoins, and the transaction fees from all of the other transactions included in the block, which was about 0.7btc. In this case, the miner chose to send 13.06 odd btc to address 1AM2fYfpY3ZeMeCKXmN66haoWxvB89pJUx and 0.13 to 15J3Ra72YSpe2hdLBjpMH1iKXJMJ55F2mJ (not sure why they split it between two addresses, but that was their choice).

This is now for all intents and purposes unchangeable history, that is stored on every node in the network. Why is it unchangeable? you can see on the page that the block has a hash of 000000000000000000a0f386afac6d3049936453d3562559dd670257f432619f. A hash is a result of a mathematical function where the output is apparently random for any given input. The function can't be reverse engineered, and the same input always gives the same result. Try it out here:



Put in "bitcoin is tulips" as the input and you'll always get the hash:  D392C4B3D4150E6A526FB6E2F7D7EC0C09054CC32A8A721BFCC57A5BA9828CB7

try changing the input by only one character and see how much the hash changes

Now, try and find any input starting with "bitcoin is tulips" that gives a hash starting with as many zeros (000000000000000000) as the bitcoin block hash above. The only way to do it is trial and error, and you'll never do it even if you spend the rest of your life at it. This is what the miner had to do to solve the block - to make it acceptable to all other nodes on the network. They had to find the 'nonce', meaning what value needs to be added to all transactions to give a hash with the required difficulty (the required number of leading zeroes).

I tried a few, and found that a nonce of 21 i.e. the input string "bitcoin is tulips21" at least gives a hash with one leading zero:
042CEB2CBF6091FAD61404E68229773862F9847FB37EE29803924E1D7FC7C403 but find one that gives a hash starting with 000000000000000000 and I'll give you all my bitcoins, because you never will.

Here's a really important point: the input being hashed for each block, contains the hash of the previous block, so if you try to change the transaction data in any block, you would need to re-solve the nonce for the hash for that block AND every block after it. Re-doing the work is infeasible.

This is a lot to get your head around, I know, but it works, and a public decentralised immutable database should have many more uses than as a ledger for money. Property rights, prove of existence of any data at a given time, provenance. It's also a provably fair random number generator, future hashes are unpredictable random numbers that can't be rigged, which could be used to determine the winner of any lottery. 

It feels like trying to predict twitter, facebook and netflix in the 90s when the internet was as simple as "an open network that transfers information across the globe". Now we have an open network that transfers value across the globe, and provides an immutable transaction history and it's equally as hard to predict exactly what it will be used for when all is said and done.


----------



## Duke of Marmalade (4 Dec 2017)

_fqalb  _First the good news.  That is exactly what I have been looking for- what does a Bitcoin look like?  The bad news is that I don't understand a word of it.  But I will persevere with your explanation, I know you are trying your best and that the deficiency is all mine.

Whilst I have your attention, what is this private key thing?  How do you get a private key?


----------



## fpalb (4 Dec 2017)

Firstly, I am glad to know some people took the time to read this after I put the effort in to write it  Thanks to those of you who signaled that to me with your 'Like's.



Duke of Marmalade said:


> I know you are trying your best and that the deficiency is all mine.


It took me a long time and lots of studying to get my head around bitcoin, and I'm educated to masters level in computer-related stuff. It's complex in certain aspects and generally orthogonal to many of our conventions and what we're used to.


Duke of Marmalade said:


> Whilst I have your attention, what is this private key thing?  How do you get a private key?


That is a GREAT follow up question because it's both a very important aspect of the system, and also an interesting one 

*Public addresses*
First I'll revisit the public addresses (also called public keys), then get to where the private keys come from.
So in the previous example I noted that the addresses 1AM2fYfpY3ZeMeCKXmN66haoWxvB89pJUx and 15J3Ra72YSpe2hdLBjpMH1iKXJMJ55F2mJ both had balances deposited to them by the transaction I mentioned. These are public addresses which you can think of as the bitcoin equivalent of accounts. They are always a seemingly random String of alphanumeric letters 26-35 characters long and always being with a '1' or a '3', and as I already mentioned each of these has an associated unique private key which effectively acts as the password for the public address. The private key must be used to 'sign' transactions that spend from a public address.

*Keys are just really big random numbers*
Additionally, I want to note that these addresses are actually just numbers, really large numbers, but written in an alphanumeric short hand called Base58. For example 1AM2fYfpY3ZeMeCKXmN66haoWxvB89pJUx written as a number is 2513564783202567878351870008918116293586173115881353766641 which is just a really really big number - more on this later.

*The importance of private keys*
So, even though all the transactions are public on the blockchain, which means all of the public keys that have ever had bitcoins sent to them are public, and that the current remaining balance of any address can be deduced, nothing can be spent without the private keys. It's as if all the bitcoins are in transparent locked piggy banks, and you need the key for a specific one to take money from it and move it to another. Because of this, the private keys effectively *ARE* the money. Whoever holds the private key to any particular address with a non-zero balance on the blockchain effectively owns the bitcoins at that address, because they are able to transfer them in a transaction.

It's important to note that this requirement of the private key to sign a transaction is not one imposed by an authority it's a mathematical one. So no one has the power to override it. If the private key for a public address is lost never to be seen again, then the coins at the associated public address can never be spent, ever. It's an absolute.

*Wallets*
So when we talk about a bitcoin 'wallet' what we basically mean is a set of one or more public/private key pairs. Software applications acting as wallets can display to the user the public address so they can communicate it to anyone they want to receive bitcoin from, the wallet must keep private key secure and use it when the user wants to send bitcoins from the wallet.

*Private keys*
A private key is just another big random number in base 58 form, except it's even bigger and always begin with a 5. For example
5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf is the private key for public address
1EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm

*Creation of public addresses and their private keys*
As a decentralised system, one of the biggest challenges bitcoin had was how do you grant accounts to people? After-all there is no central authority that gets to generate public/private key pairs and distribute them to users? The solution, which sounds crazy (of course) is that users generate their own public addresses, which means that they must also generate the associated private keys. In fact all they generate is the private key, and the public key is derived from it with a mathematical formula. So to back-up your wallet (effectively backing up your coins) all you need to do is back-up your private keys.

This is where alarm bells should be going off with questions like:
Q) If private keys are just big random numbers someone could just guess your private key through trial and error, how is that safe?
Q) How does it ensure two people don't generate the same private keys independently?

The simple answer is that the numbers are basically so large that chance of a collision is effectively zero *IF* the means of creating them truly was random. In general all of the popular wallets are mature enough by now to be reliable in terms of their generation of keys. Despite that, some people of course don't trust anyone and have generated their own keys by rolling physical dice!


----------



## RichInSpirit (5 Dec 2017)

Hi fpalb, very interesting explanation, thank you.
Just one thing crossed my mind. And I googled it after, the size of the blockchain file.
It grows in size with every transaction and it's Gigantic. Over 100GB already. It's will be humongous by the time all the bitcoins are mined.
Will it get too unwieldy to be workable ?
I know storage and computers etc. are getting bigger and faster too all the time.


----------



## fpalb (5 Dec 2017)

RichInSpirit said:


> It grows in size with every transaction and it's Gigantic. Over 100GB already. It's will be humongous by the time all the bitcoins are mined.
> Will it get too unwieldy to be workable ?


So the difficulty of mining self adjusts every two weeks based on how fast blocks are being solved and added to the blockchain. It aims to make the difficulty so that one block is added on average every 10 minutes. Each block currently has a limit of 1MB, so we're adding up to 6MB per hour to the blockchain at the moment. It's not much really, and 100GB after 9 years for the whole thing isn't a lot by today's standards. Amazon sell a micro SD card the size of your fingernail that can store twice that for £73.

The block size, is actually currently the biggest bone of contention in the bitcoin community for the last year. Many think it's actually too conservative and want to increase it to allow for more transactions per block, the other side worries that if the blocks get too large it can threaten the distribution/decentralisation of bitcoin, not really from the point of view of storage, but more in terms network bandwidth due to the fact that all transactions need to be communicated to all nodes in real time.

I dismiss many of the common arguments against bitcoin, but I am concerned about the scaling, this really needs to improve soon. I don't know what the correct answer is, I can see the point of view of both sides. What I do think is clear is that putting transactions for trivial things like a cup of coffee purchase in the blockchain, forever, stored by all nodes all over the world probably doesn't make much sense, it's overkill. I think it's likely that the future of bitcoin is as more of a base layer, where further technologies will develop new layers on top of it which are backed by bitcoin. For example perhaps a lot of back and forth transactions between a few parties happen on some higher layer, then are grouped together with only the final amounts owed settled with bitcoin transactions. Some people are working on something called the Lightning Network which I really hope actually works, but it's complicated, incomplete and I haven't had time to really understand it on a technical level yet.


----------



## PMU (5 Dec 2017)

Duke of Marmalade said:


> The bad news is that I don't understand a word of it.


 In one sentence, blockchain allows information to be distributed, authenticated but not copied. You distribute by P2P and authenticate using asymmetric cryptography.
  You don't need to know what the latter are; just that they have been around for 20 odd years, and if hackable would have been  hacked by now, so you can have a high degree of confidence in it.


----------



## Duke of Marmalade (5 Dec 2017)

PMU said:


> In one sentence, blockchain allows information to be distributed, authenticated but not copied. You distribute by P2P and authenticate using asymmetric cryptography.
> You don't need to know what the latter are; just that they have been around for 20 odd years, and if hackable would have been  hacked by now, so you can have a high degree of confidence in it.


I think I know what asymmetric crypto is, you can easily go from private key to public key but well nigh impossible to go the other way, I think.  I have no doubt that the technology does what it says it does though I think there was an earlier scare when billions of false BTC were created and had to be extinguished when discovered.

But despite (or maybe in spite of) _fpalb's _tremendous explanations I just have so many questions.  For example, this magic 21m limit.  Wiki describes it as an Artificial Limit, i.e. one imposed by the founders of BTC but not intrinsic to it.  Seems to me then that you are still trusting some one or some thing to maintain this artificial limit.

I don't understand  the mining at all.  As _fpalb _describes it this is discovering some blockchain of transactions.  But how was the first BTC born when there were no existing transactions?

One thing though, my respect for the criminal classes has been greatly enhanced.  If they understand this stuff think what a waste the misuse of their talents has been to society.


----------



## ant dee (5 Dec 2017)

Duke of Marmalade said:


> there was an earlier scare when billions of false BTC were created and had to be extinguished when discovered.


Correct, there was a bug that allowed a miner to create billions of bitcoins in the early days. They were worthless back then. The community fixed the bug and rolled back the chain, basically deleting the coins.


Duke of Marmalade said:


> Seems to me then that you are still trusting some one or some thing to maintain this artificial limit.


Suppose you run the miners, spend €10000 on electricity trying to find the mining answer. Then you find it and decide to change the rules, give yourself some extra bitcoin, thus changing the 21m limit.
You write your block, give yourself the extra bitcoin, and broadcast it to the network.
But you changed the rules, so the others will not accept it as a valid block, they will reject it and keep looking for another answer. Someone will find it, play by the rules, get the reward and you are left with nothing.
Less than nothing, cause you gotta pay the 10k to ESB.
So for the limit to change, pretty much for anything to change, the majority has to accept the change. You don't need to trust anyone, there is no leader, there are no permissions.


Duke of Marmalade said:


> But how was the first BTC born when there were no existing transactions?


The first transaction you create on every block is called the 'coinbase transaction' ,  the miner who mined the block gets to write it and it is giving the block reward (50 btc on 2009, 12.5btc at the moment) to an address of his choice, obviously one he controls.


----------



## Duke of Marmalade (5 Dec 2017)

Jayz lads (or gals).  I used to have a vague idea what Quantum Mechanics was about but this BTC makes QM seem junior cert material.  I do hope this is not early signs of senility for the Duke

_ant dee _The example of the Block Chain in _fpalb's _post seemed to have the coinbase transaction dated as the most recent and there were a whole string of previous transactions.  I must be reading that wrong.

Here is a real idiot boy question and trust me I am not trolling, I want to understand.  How exactly if I was in a restaurant would I pay my bill with BTC?  I most surely don't have to key in a private key into the restaurant's computer but what way would it actually work?


----------



## ant dee (5 Dec 2017)

Duke of Marmalade said:


> The example of the Block Chain in _fpalb's _post seemed to have the coinbase transaction dated as the most recent and there were a whole string of previous transactions.


Every 10 minutes there is a new block found, with a new block reward and a new coinbase transaction.

Now, the restaurant owner must be willing to accept bitcoin. He would need to have a wallet on a smartphone, generate a receiving address and show you the QR code. You need to have a wallet on a smartphone, scan the QR code, and select to send bitcoin there. That is pretty much the simplest way, there are more!


----------



## fpalb (5 Dec 2017)

Duke of Marmalade said:


> I think I know what asymmetric crypto is, you can easily go from private key to public key but well nigh impossible to go the other way, I think.  I have no doubt that the technology does what it says it does though I think there was an earlier scare when billions of false BTC were created and had to be extinguished when discovered.



Bitcoin was built on a number of pre-existing building blocks. Asymmetric cryptography (https://en.wikipedia.org/wiki/Public-key_cryptography) is the fancy name for the public/private key concept I've been talking about. The really cool things to realise about this cryptography is that:
1) If you have a public key we'll call 'A' and the corresponding private key for it (lets call it 'B'), you can prove to me mathematically that you know 'B', without revealing 'B' to me.
2) You  can generate a digital signature for any piece of data so that anyone can verify that the holder of 'B' signed exactly that data, again without 'B' being revealed to anyone, only 'A' needs to be public. The signature is only valid for that exact data, any change to data would generate a different signature. This is powerful stuff that's used all over the place in IT security. 
3) You can give someone the public key 'A' they can use only that to encrypt some data in such a way that 'B' is required to decrypt it, even though again, 'B' was never shared. 



Duke of Marmalade said:


> But despite (or maybe in spite of) _fpalb's _tremendous explanations I just have so many questions.  For example, this magic 21m limit.  Wiki describes it as an Artificial Limit, i.e. one imposed by the founders of BTC but not intrinsic to it.  Seems to me then that you are still trusting some one or some thing to maintain this artificial limit.



ant dee already gave a good answer about this, but I'll add that the 21 million limit is actually just the result of the natural reward halving. The reward that miners were allowed to give themselves per solved block started at 50 bitcoin and it halves every 210,000 blocks (which is roughly once every 4 years). It has halved twice already so the current reward is 12.5 per block. If you extrapolate out the produced supply from this you get about 21 million produced ending about 100 years from now.  

You are right that it is not intrinsic in any absolute certain way. It is a rule in the software that new blocks must only transact the allowed reward in their coinbase transaction, but of course if everyone agreed to change this - then it could be changed, it just is highly unlikely to ever happen as it's not in the interests of stakeholders in bitcoin, it would not only further dilute the value of bitcoins but more importantly it would undermine the integrity of the system. If bitcoin continues to grow one of the most interesting things is going to be what aspects people want to change, and how consensus will emerge on what is changed and what isn't.



Duke of Marmalade said:


> I don't understand  the mining at all.  As _fpalb _describes it this is discovering some blockchain of transactions.  But how was the first BTC born when there were no existing transactions?



I'll make a whole new post about mining later. I haven't really explained in depth at all yet so it's not surprising you don't understand it 



Duke of Marmalade said:


> Here is a real idiot boy question and trust me I am not trolling, I want to understand.  How exactly if I was in a restaurant would I pay my bill with BTC?  I most surely don't have to key in a private key into the restaurant's computer but what way would it actually work?


as ant dee said, the wallet application hides the gory details from you, just as your browser or email client hide the gorey details of those protocols. One important note though about what you said, you NEVER give someone your private key, your wallet instead signs a transaction with it and gives them only that transaction and signature. This is the difference between giving someone your wallet and hoping they only take the fiver you owe them (this how credit cards work!) or taking the fiver out of your wallet and giving them only that. I.e giving someone a signed transaction gives them no power to change the transaction (because that would require a different signature) or make further transactions.


----------



## fpalb (5 Dec 2017)

*Mining*
Ok, I'll try to explain this as best I can, lets see how it goes. I think the first reason that mining is confusing is because people don't understand the purpose of it, so lets start there.
As a decentralised system with no authority in control, bitcoin had a few problems to solve:
1) How to distribute new bitcoins in a fair way.
2) How to regulate how many transactions get added to the blockchain generally (so it doesn't get spammed to death for example.)
3) how to prevent multiple conflicting versions of transactions being added to the blockchain at roughly the same time by different people (or at least minimise the chance, and resolve the conflict when it does happen).

Mining addresses all of these problems.

Lets be clear on what the blockchain is, we can imagine it as a ledger of transactions, where each block is like a page. And like pages they are sequentially numbered, ordered and contain a set of transactions up to a certain limit. Bitcoin wants to regulate page creation so that pages are added to the ledger once every 10 minutes, this both stops the ledger getting too big and also makes less likely that two people decide to add two different versions of page 10 at the same time, instead of one adding page 10 and the other then adding page 11. Bitcoin also wants each page to contain no more than 1MB of data.

So this next part is really important to understand. People get really confused about what the mining work is. It's not required to 'create' or 'unlock' the bitcoins in any kind of mathematical sense, it's not related to the bitcoin units at all. Since bitcoin is an open system with no one in control, no one decides who gets to add pages when, instead this is achieved by making it difficult to add a page, just for the sake of it! The work itself has no meaning other than it takes effort and it's easy for everyone else to verify that you put in that effort. This concept is called Proof of Work: https://en.wikipedia.org/wiki/Proof-of-work_system 

Lets think about what the miners actually do. They run some bitcoin node software which is constantly working to create a new block that qualifies to be the next valid block in the blockchain (the next valid page in the ledger). In order to be valid it must:
- not contain more than 1MB of data
- contain only valid transactions (i.e. ones that do not have a valid signature from the private key of the addresse(s) being spent from, ones that spend more than the balance etc)
- not award more bitcoins than the allowed reward (currently 12.5) and transaction fees to the miner in a coinbase transaction.
- contain the 'hash' value of the previous block. (imagine that instead of having a page number, each page refers to the previous page).
- contain a timestamp within a reasonable range of the timestamp of the previous block.

So miners are connected to all of the other nodes on the network (e.g. other miners, wallets making transactions) listening for new blocks broadcast by other miners, and listening for new candidate transactions broadcast by wallets.

When a miner receives a transaction it will check that it's not already in a previous block it knows about, and that it's valid. If so it adds it to it's pool of candidate transactions it can include in a new block.

So before trying to 'mine' a block (i.e. to find the solution for it), the first thing a miner has to do is construct the block. The block data consists of a) a set of transactions from it's pool of candidate transactions, the hash of the most recent block in the blockchain that it knows about considered to be the 'previous' block, a coinbase transaction awarding themsleves the reward.

For an example lets make a simplified version of this, imagine I received a single signed transaction from duke sending 2 btc to ant dee. duke included a 0.1 fee in with that transaction so I get to award that and the block reward of 12.5 to myself as a coinbase transaction. Lets imagine the previous block hash value is the example one I used in my earlier comment. So our block is four lines of data with one transaction, one coinbase transaction, the previous block hash and a default initial nonce value of 0 like this:

12.6 -> fpalb
duke 2 -> ant dee
previous:042CEB2CBF6091FAD61404E68229773862F9847FB37EE29803924E1D7FC7C403
nonce:0

To mine this block and make it a valid block that other miners and users will accept, we need solve it by finding a nonce that results in SHA256 hash calculation starting with at least one 0. remember we can try this out for ourselves here:  If you paste the 4 lines of my block into that page you should get a hash of:
FDCE7315263BD86943E3BD8B86D782A03AA0DB871418B560A55A336A2E790984

It starts with F so it's no good, we need it to start with 0, so through trial and error we have to keep trying different nonce values until we find a valid solution... well I did they work incrementing the nonce by 1 each time until I eventually found that 26 was a valid solution. If you paste these 4 lines in:

12.6 -> fpalb
duke 2 -> ant dee
previous:042CEB2CBF6091FAD61404E68229773862F9847FB37EE29803924E1D7FC7C403
nonce:26

you should get a hash of 0ACF4C0CC61BFE7FB53EDD7911DD9903837B1264B705C13D2D4FDA013F05485A so you can verify it yourself.
So I had to do 26 different SHA256 calculations to find a valid solution, anyone else only needs to do one calculation to verify that I did that work.

I would broadcast the solved block to all of the other miners, they would check it's valid and since it is, they would start working on a new block with the hash of mine as the previous hash.

The bitcoin software is designed so that all nodes recalculate the difficulty after a set number of blocks. If blocks are being solved at faster than the desired 10 minute rate, the number of zeros that solution hashes must start with increases, if they're being solved too slowly the number of zeroes decreases. This is called the 'difficulty'.

Boy this is hard to explain in a simple way, but I hope I managed it to some degree, questions?


----------



## RichInSpirit (5 Dec 2017)

Am I right in saying that the mining is not really about solving unique complex problems, but about solving one complex problem over and over again ?


----------



## fpalb (5 Dec 2017)

The work done is always finding a nonce value so that the hash of the block will start with the necessary number of zeros*. It's always the same problem, and it's always solved in the same way - trial and error of different nonce values until one gives a valid result. 

Here's a real recent block for example, block 497804:
https://blockchain.info/block/0000000000000000001b8e5b95288c08109b1ba74a9b9b6abf08412cc665dc34

We can see the hash and nonce values:
Hash 0000000000000000001b8e5b95288c08109b1ba74a9b9b6abf08412cc665dc3
Nonce 79563470

Assuming the miner started with a nonce of 0 and tried adding one each time it took the miner 79 million hashing attempts to find that hash starting with 18 zeros.

This problem and the solution have no meaning or use except that it's predictably difficult to do and it's easy for anyone else to verify that the works was done. This ensures that new blocks happen at a steady rate, old blocks cannot be changed without re-doing the work for that block AND every block that came after it. This is what makes the blockchain immutable.


(technically it's that the hash is a number smaller than a certain value, but that's a minor detail)


----------



## john luc (6 Dec 2017)

what happens when all 21 million bitcoins are mined.


----------



## john luc (6 Dec 2017)

what I can't understand is how running an elaborate computer mining sort of game that rewards you with a Bitcoin makes this have any value.


----------



## Duke of Marmalade (6 Dec 2017)

A few more idiot boy questions:

1.  Why is it necessary to build up a blockchain?  Would the initial find not be enough without having to add on all the transactions?
2.  Why does anybody bother verifying other people's transactions?  Why do they need to?
3.  It seems that the rules can be changed if a majority of "nodes" agree to this.  Does that mean there is some democratic process afoot? Are people asked to vote on things?


----------



## fpalb (6 Dec 2017)

john luc said:


> what happens when all 21 million bitcoins are mined.


It won't happen for over 100 years, but in that case miners will only be rewarded with the transaction fees included by transactions. 



Duke of Marmalade said:


> 1.  Why is it necessary to build up a blockchain?  Would the initial find not be enough without having to add on all the transactions?


think of the blocks as the 'confirmation' of the transactions included in that block. If you had a wallet with a 5btc balance you could sign a transaction that sent those to some other address, but you could also sign another transaction that sent them to a different address. In isolation both transactions are valid (each has a signature created with the private key) but obviously the original 5btc can only be spent once, so only one of those transactions can be confirmed in the blockchain. So the blockchain is the immutable consensus ledger of which transactions have been accepted and confirmed and cannot be changed or rolled back. 

The 'work' required to solve the blocks is what ensures that already solved blocks won't be changed, because it would take too much effort. 



Duke of Marmalade said:


> 2.  Why does anybody bother verifying other people's transactions?  Why do they need to?



The miners do it because solving blocks allows them to claim the reward of new coins and the transaction fees of the transactions they include in the block. Other nodes do it because they need to know what transactions have been confirmed or not, for example exchanges or merchants accepting bitcoin, or even just user wallets. 



Duke of Marmalade said:


> 3.  It seems that the rules can be changed if a majority of "nodes" agree to this.  Does that mean there is some democratic process afoot? Are people asked to vote on things?


Yeah it's very much a democratic process, but not via any formal elections. You vote with your wallet and with the software you decide to run. Bitcoin will always be what the economic majority of it's stakeholders decide that it is.


----------



## Duke of Marmalade (7 Dec 2017)

_fpalb's _contributions have been most stimulating and have prompted me to do more research, partly to persuade myself that premature senility is not setting in  The _satoshi _is starting to drop, but very slowly, I rate my understanding at about 10% and I target to get it up to 25%.

Mastering Bitcoin is a most useful document which builds on _fpalb's _work.  It is written for nerds but in between are useful anecdotes involving Alice and Bob (these guys also feature heavily in General Relativity explanations).

A few things become clearer.

1.  It is of course an impressive technology which does what it says on the tin - it is decentralised, secure, a medium of exchange, has artificial scarcity.

2.  It is not though some unique mathematical object.  According to Antonopolous there are 1,000 competing alt coins so one wonders just how relevant is the artificial scarcity.

3.  The mining thing is key to understanding it.  As _fpalb _explains, mining is a completely artificial game albeit its rules are adjusted automatically and outside centralised control.  The rules target to settle transactions every 10 minutes and to reward the miners with BTC for confirming that settlement.  The objective is presumably to let the monetary supply grow in pace with the number of end users - creating 21m BTC day one wouldn't work at all.  The game is extremely crude - the asymmetric cryptology is very clever I'm sure but the game itself is pure brute force.   The miners have to make their header so its code is of a certain smallness (as a number).  They keep tampering slightly with the header until they pass this test.  This is done, as I say, by brute force not by clever strategies.  The rules keep  changing to target that 10 minute settlement.  These days it might take around 80 million tries  to get the answer.  This needs massive computer power way beyond your humble PC and consuming large amounts of electricity.  But I emphasise this is all completely artificial.  As Antonoplous explains it is like setting a massive Sudoku puzzle.  The asymmetry is that it takes an awful lot of effort to solve the puzzle but is very easy for all the players to confirm that it has been solved.  However, nothing of any aesthetic value is being achieved here, even for nerds.


I will address the value aspect in the respective thread and keep this thread for the technicals.


----------



## Duke of Marmalade (7 Dec 2017)

One thing I am struggling with is the artificial limit on the money supply and how the consensus works.

I originally thought that Bitcoin was a mathematical object of which, mathematically there was limit of 21M.  I thought miners were really pointy headed guys who found these increasingly difficult objects.

It now seems that Bitcoin is simply the balance on BTC accounts.  This could have been set at any number at all.  However the protocol (software?) set out the development of the money supply with an eventual target of 21M and a pre-set pace for miners to get to that number.  The pace is controlled by adjusting the difficulty of the brute force puzzle that miners needed to crack to get the new BTC.

But none of this is sacrosanct.  By consensus the rules could be changed any time in any way.  There could be a consensus to stop the creation of new money now, or to greatly increase the artificial limit or to double everybody's balance as a one off.  

For a conventional currency these powers of course reside with the Cèntral Bank and one of the big claims for BTC is that the consensus will ensure that their currency is not abused.  All the same there seems to be some conflict here - miners want to increase their productive capacity, non-miners would like there to be no further money creation.  How is the consensus arrived at?


----------



## fpalb (7 Dec 2017)

Firstly fair play for being inquisitive and open-minded, you're definitely getting the gist of it. I agree with almost everything you've said in the above comments.


Duke of Marmalade said:


> 2.  It is not though some unique mathematical object.  According to Antonopolous there are 1,000 competing alt coins so one wonders just how relevant is the artificial scarcity.



Yes, because the code for bitcoin is open source, it's freely available and it's not copyrighted (https://github.com/bitcoin/bitcoin). What that means is that anyone can copy the code, change the name, tweak a few setting and they have their own separate blockchain, wallet software, mining software etc. The code is easy to copy. What is NOT easy to copy is the whole ecosystem - exchanges and online wallet services, users, miners willing to dedicate resources to your blockchain. In a way the fact that there are 1000s of competing coins, many mostly pump and dump scams by the creators, makes it more difficult for a single competitor to bitcoin to emerge. I don't rule out that it could happen some day, it won't happen overnight and I'll be ready and happy to leave bitcoin for something better if it comes to it.



Duke of Marmalade said:


> 3.  The mining thing is key to understanding it.  As _fpalb _explains, mining is a completely artificial game albeit its rules are adjusted automatically and outside centralised control.  The rules target to settle transactions every 10 minutes and to reward the miners with BTC for confirming that settlement.  The objective is presumably to let the monetary supply grow in pace with the number of end users - creating 21m BTC day one wouldn't work at all.  The game is extremely crude - the asymmetric cryptology is very clever I'm sure but the game itself is pure brute force.   The miners have to make their header so its code is of a certain smallness (as a number).  They keep tampering slightly with the header until they pass this test.  This is done, as I say, by brute force not by clever strategies.  The rules keep  changing to target that 10 minute settlement.  These days it might take around 80 million tries  to get the answer.  This needs massive computer power way beyond your humble PC and consuming large amounts of electricity.  But I emphasise this is all completely artificial.  As Antonoplous explains it is like setting a massive Sudoku puzzle.  The asymmetry is that it takes an awful lot of effort to solve the puzzle but is very easy for all the players to confirm that it has been solved.  However, nothing of any aesthetic value is being achieved here, even for nerds.



If 21 million had been created up front, who would have owned them? As I mentioned earlier one of the subtle things about the mining is that it solves the problem of how to fairly award bitcoins. Those who took the risk of supporting bitcoin by spending money on mining equipment and electricity in the early days got coins as their reward, which is as fair a way as any to distribute the new coin supply.



Duke of Marmalade said:


> One thing I am struggling with is the artificial limit on the money supply and how the consensus works.
> I originally thought that Bitcoin was a mathematical object of which, mathematically there was limit of 21M.  I thought miners were really pointy headed guys who found these increasingly difficult objects.



Yes the 21 million is an arbitrary number, and as I mentioned earlier it's actually just a result of starting with a 50 coin reward per block, and then halving it every 210,000 blocks. If you work out how many coins that results in by the time the coin reward halves enough times to become negligible you get close to 21 million.



Duke of Marmalade said:


> But none of this is sacrosanct.  By consensus the rules could be changed any time in any way.  There could be a consensus to stop the creation of new money now, or to greatly increase the artificial limit or to double everybody's balance as a one off.



This is a great point, some aspects of bitcoin in isolation are mathematically enforced, such as requiring the private key to spend from an address and having to brute force the solution to a block, but other aspects rely on consensus or what the economic majority decide to do. The rules can be changed if there is consensus to do so. This has resulted in a bloody civil war for the past couple of years about how to scale bitcoin. Some people wanted to increase the 1MB block size limit, and others didn't, but the majority were on the side of not doing it.



Duke of Marmalade said:


> For a conventional currency these powers of course reside with the Cèntral Bank and one of the big claims for BTC is that the consensus will ensure that their currency is not abused.  All the same there seems to be some conflict here - miners want to increase their productive capacity, non-miners would like there to be no further money creation.  How is the consensus arrived at?



People, even seasoned bitcoiners really struggle with the 'power' aspect of bitcoin. Some think the main devs have the power because they can change the code that the majority are running, but if they abuse that power people can decide to run different code. Some think the miners have power because they decide what they consider a valid block and the network depends on them, but if the miners play dirty the users and exchanges could refuse to acknowledge the coins they mine. They could even do something really drastic like change the mining hashing algorithm so that all the dedicated miner hardware no longer worked! Some say the exchanges have power because when you log into an exchange to buy bitcoin... they get to define which blockchain is bitcoin by which coins they sell you, but if they decide bitcoin is something other than what users actually want, another exchange will be happy to steal their customers and give them what they want. Because the system is open, no group of participants can hold the rest to ransom.

So overall, I believe nobody has absolute power over bitcoin, what bitcoin is defined as (which may change) will always be what the economic majority decide it is. And by economic majority I mean the influence any actor has is relative to their economic power in the system. A large exchange or miner or someone holding 100,000 coins (with the possibility to dump them all on the market at once) have more influence than someone holding only 1 coin, and they should, because they have more at stake by bitcoin failing.


----------



## john luc (7 Dec 2017)

because this is all secret we cannot know if there are individuals holding large numbers of bitcoins. am I right in this view.


----------



## Protocol (8 Dec 2017)

AFAIK, all bitcoin transactions are public.

As for holdings, I'm not sure.


----------



## ant dee (8 Dec 2017)

All the transactions, addresses and balances are public, however you do not know which address  or addresses a single individual controls.
Also, some addresses are controlled by more than one individual, some are even custodial exchanges addresses , like coinbase, looking super-rich but in reality they hold the balance of 100k users or something.


----------



## Leo (13 Dec 2017)

BreadKettle said:


> and only someone with truly zero understanding of the technology and it's potential would come out with it.



Are some people getting too fixated on blockchain technology in and of itself giving any value to BitCoin specifically? The technology is here to stay, and many companies are betting hard on wider application, but it's all open source. BTC could well become the Betamax of cryptos.


----------



## fpalb (13 Dec 2017)

Leo said:


> Are some people getting too fixated on blockchain technology in and of itself giving any value to BitCoin specifically? The technology is here to stay, and many companies are betting hard on wider application, but it's all open source. BTC could well become the Betamax of cryptos.


Firstly I don't see a case where blockchain tech succeeds in going mainstream without there being a successful open public blockchain such as bitcoin. Just as a private internet would never replace the public one.

Secondly, the network effect is hard to overcome. I could start askaboutmoney2.com tomorrow using the same XenForo software, and set up all the same forums on it, but it wouldn't be easy to overtake the network effect of this site. Do you think a new social networking site will overtake facebook any time soon?

Also Betamax is a funny example to use. It was technically superior to VHS but Sony did not make it open to other manufacturers. The less sophisticated technology which was open and permissionless was what won. This has happened over and over again.


----------



## Duke of Marmalade (13 Dec 2017)

I agree that BTC has won the race unless some step change in product offering comes along.  Although with transaction fees of $20 for a cup of coffee (because of current prices) it is in danger of pricing itself out of its primary function - a medium of exchange.

Let me try another tack. Clearly there are BTC fans in abundance so this post is not a BTC bash so as not to offend.  But I presume everyone accepts that BTC's primary role in life is to be a medium of exchange (with attributes over fiat which some will prefer).  All other value - store of value, speculative potential - must ultimately hinge on its primary purpose as a medium of exchange.  Maybe the time will come when there is a genuine and significant demand for BTC to actually make transactions.  But _fpalb _informs us that there are over 50 other cryptos *each *with market caps greater than $200M.  How can there ever possibly be any demand/need whatsoever to use these cryptos as a medium of exchange in preference to fiat and/or BTC?  So I hope we all agree that their market cap is 100% speculative and their true value is in fact *ZERO*.


----------



## Leo (13 Dec 2017)

fpalb said:


> Firstly I don't see a case where blockchain tech succeeds in going mainstream without there being a successful open public blockchain such as bitcoin. Just as a private internet would never replace the public one.



Blockchain technology doesn't have to be limited to an open crypto currency in order to be successful, there are many other potential applications.  I wouldn't use the internet as an example in this space, given the level of governmental control of the underlying infrastructure . 



fpalb said:


> Secondly, the network effect is hard to overcome. I could start askaboutmoney2.com tomorrow using the same XenForo software, and set up all the same forums on it, but it wouldn't be easy to overtake the network effect of this site. Do you think a new social networking site will overtake facebook any time soon?



Facebook wasn't the first successful social media, it won't be the last. It is already experiencing a fall off in users. If the likes of Instagram and SnapChat can grow to >250M & >170M daily users in the face of Facebook's dominant position, there's nothing to say a similar shift won't occur in the crypto space.


----------



## fpalb (13 Dec 2017)

Leo said:


> I wouldn't use the internet as an example in this space, given the level of governmental control of the underlying infrastructure .


The government(s) largely don't restrict the freedom of it though. Brendan was free to launch this site without any government permission, he didn't need a license to create website, or have to go through a regulatory approval process, or be granted access by any central authority. 



Leo said:


> Facebook wasn't the first successful social media, it won't be the last. It is already experiencing a fall off in users. If the likes of Instagram and SnapChat can grow to >250M & >170M daily users in the face of Facebook's dominant position, there's nothing to say a similar shift won't occur in the crypto space.



I'm not saying it's not possible, just that it's difficult and takes years.


----------



## Leo (13 Dec 2017)

fpalb said:


> I'm not saying it's not possible, just that it's difficult and takes years.



Absolutely, though adoption rates of new technologies has been accelerating. Unless bitcoin transaction fees are significantly reduced to a point where they are viable for day-to-day transactions, there remains a huge incentive for an alternative to take over.


----------



## fpalb (13 Dec 2017)

Duke of Marmalade said:


> I agree that BTC has won the race unless some step change in product offering comes along.  Although with transaction fees of $20 for a cup of coffee (because of current prices) it is in danger of pricing itself out of its primary function - a medium of exchange.


Primary function these days is speculative store of value, it has overtaken the medium of exchange function for the most part. Things in that regard may get worse before they get better. I've said it before, but my primary worry with bitcoin is the current transaction limit, which is leading to the higher fees. The Lightning Network (https://lightning.network/) or some other solution to adding transaction capacity is needed urgently. In the absence of this what is currently happening is that bitcoin is partly scaling by usage spilling over into alt-coins that have cheaper transactions.



Duke of Marmalade said:


> Let me try another tack. Clearly there are BTC fans in abundance so this post is not a BTC bash so as not to offend.  But I presume everyone accepts that BTC's primary role in life is to be a medium of exchange (with attributes over fiat which some will prefer).  All other value - store of value, speculative potential - must ultimately hinge on its primary purpose as a medium of exchange.  Maybe the time will come when there is a genuine and significant demand for BTC to actually make transactions.  But _fpalb _informs us that there are over 50 other cryptos *each *with market caps greater than $200M.  How can there ever possibly be any demand/need whatsoever to use these cryptos as a medium of exchange in preference to fiat and/or BTC?  So I hope we all agree that their market cap is 100% speculative and their true value is in fact *ZERO*.


There is a huge bubble in the general cryptocurrency market. There are alt-coins that are complete garbage, clones or outright scams and should be at zero. People liken bitcoin to pets.com in the dot com bubble, but I would say Bitcoin and probably Ethereum are like Microsoft and Amazon, they'll survive, and many of the alt-coins are the pets.com. This all happened already in the 2013 bitcoin 'bubble', alt coins went up more and fell more afterwards. everyone wants to be in on the ground floor of the 'next bitcoin' so there's always a market for new alt coins, and people who will hype them to take advantage of it.

On the other hand alt coins have some uses. Ethereum is something different than bitcoin, it's a smart-contracts platform. The bitcoin developers tend to be conservative in terms of changing the code, alt coins provide a test bed where new features can be tried without risk of breaking something as valuable as bitcoin. They also provide competition, bitcoin can't rest on its laurels - developers or miners or any other actor in bitcoin can't threaten or coerce the users because the users can always leave for a competitor, this is important.


----------



## Brendan Burgess (13 Dec 2017)

fpalb said:


> I would say Bitcoin and probably Ethereum are like Microsoft and Amazon,



Agreed. They are very similar indeed.  But there is one tiny little difference which might have escaped your attention.

Amazon makes about $2 billion a year in profit.

Microsoft makes about $20 billion a year in profit. 

I understand fully that this is not really of much relevance to Bitcoin enthusiasts. What is much more important than dull issues like profits is the Bitcoin uses blockchain technology, which makes it just as valuable as a long-established company making $20 billion profits a year.

Brendan


----------



## fpalb (13 Dec 2017)

If I wasn't clear I only meant the comparison in the context of the dot com bubble - i.e. that some companies were the real deal and survived and others were just riding the hype. The first survived and fulfilled the promise that had lead to the bubble, the others failed.


----------



## ant dee (13 Dec 2017)

Bitcoin is like a brown envelope and Ethereum is like a white envelope.


----------



## Duke of Marmalade (13 Dec 2017)

_fpalb  _a thought piece.  Imagine that capital gains tax was 100% (assume indexation relief applies) and it was completely unavoidable.  What would it do for the the following:

(1)  €/$  exchange rate
(2)  Gold
(3)  Precious Art
(4)  Stocks and shares
(5)  BTC/$ exchange rate

Here are my thoughts.

(1) precious little, there would still be the primary demand of exporters and importers to transact
(2) precious little, there would still be the primary demand for jewellery, industrial use and the secondary demand for a store of value/hedge
(3) not much, primary demand for its aesthetic pleasure would remain and would support the secondary demand for a store of value
(4) in principle the primary value of a share is to earn dividends from economic effort and so in principle 100% CGT would not be relevant, however for (most) companies who reinvest some of their earnings 100% CGT would represent an actual confiscation of primary value so, yes, share prices would fall
(5)  Prices would completely collapse down to the price (if any) for the primary use i.e. as a medium of exchange and nobody really needs or demands cryptos as a medium of exchange


----------



## TheBigShort (13 Dec 2017)

An unavoidable 100% CGT would collapse trade and collapse capitalism.


----------



## RichInSpirit (18 Dec 2017)

Hi Fpalb, just looking at one of the hashes you mentioned earlier
"000000000000000000a0f386afac6d3049936453d3562559dd670257f432619f" it looks like it's 62 characters long. Am I right in thinking that it could take up to 62^58 attempts to create it ? Which is 9.09x10^103. Or am I looking at this wrong?


----------



## RichInSpirit (18 Dec 2017)

Or is it 58^62 = 2.15x10^109


----------



## fpalb (18 Dec 2017)

RichInSpirit said:


> Hi Fpalb, just looking at one of the hashes you mentioned earlier
> "000000000000000000a0f386afac6d3049936453d3562559dd670257f432619f" it looks like it's 62 characters long. Am I right in thinking that it could take up to 62^58 attempts to create it ? Which is 9.09x10^103. Or am I looking at this wrong?



The effort to solve a block depends on how many acceptable valid hashes there are which depends on the difficulty, which can change every two weeks. The link I gave to that block tells that the difficulty at the time was 1,347,001,430,558.57

difficulty * 2^32 will give the average number of hashing attempts required which by my calculation gives 5.785327092×10²¹

(reference: https://bitcoin.stackexchange.com/q...-of-hashes-tried-before-hitting-a-valid-block)


----------



## RichInSpirit (18 Dec 2017)

Thanks Fpalb !


----------



## john luc (20 Dec 2017)

If the block chain is a ledger with every transction in Bitcoin stored as a record, how much computing power will be needed to keep this data as time moves on. Will this data not eventually become enormous and unwieldy.


----------



## fastfullback (20 Dec 2017)

john luc said:


> If the block chain is a ledger with every transction in Bitcoin stored as a record, how much computing power will be needed to keep this data as time moves on. Will this data not eventually become enormous and unwieldy.



I think fpalb gave his thoughts on this back on the first page



fpalb said:


> but I am concerned about the scaling, this really needs to improve soon. I don't know what the correct answer is, I can see the point of view of both sides. What I do think is clear is that putting transactions for trivial things like a cup of coffee purchase in the blockchain, forever, stored by all nodes all over the world probably doesn't make much sense, it's overkill. I think it's likely that the future of bitcoin is as more of a base layer, where further technologies will develop new layers on top of it which are backed by bitcoin. For example perhaps a lot of back and forth transactions between a few parties happen on some higher layer, then are grouped together with only the final amounts owed settled with bitcoin transactions.


----------



## fastfullback (20 Dec 2017)

I gotta say fpalb, this is easily the best thread that explains the principles behind Bitcoin and Blockchain. Coming from a IT background I wanted to understand the tech behind it so this is brilliant.


----------



## fastfullback (24 Dec 2017)

Can I ask some questions on mining?

Presumably there are hundreds if not thousands of people/nodes mining Bitcoin?
Based on the 10 minute blockchains then only 6*12 , 72 bitcoins are awarded every hour? ( Excluding fees)
The award of the bitcoin is given to the node that solves the hash problem first, so if a node has more CPU power, are they guaranteed to win more often than someone with lower compute power?
If there something in place so every miner eventually knows they'll win or is it all luck/compute power?
Why has the fees for bitcoin gone up? Is it tied to the amount of work a miner/node has to do to confirm a transaction? Is there a defined formula for it?


----------



## Leo (2 Jan 2018)

fastfullback said:


> Why has the fees for bitcoin gone up? Is it tied to the amount of work a miner/node has to do to confirm a transaction? Is there a defined formula for it?



There is a very low maximum transaction limit of ~7 transactions per second is imposed, so only transactions where the user offers a high processing fee are being processed.


----------



## fpalb (2 Jan 2018)

fastfullback said:


> Can I ask some questions on mining?


Sorry missed this while I was on Christmas break. 


fastfullback said:


> Presumably there are hundreds if not thousands of people/nodes mining Bitcoin?


yes, though by now it is mostly done professionally at large scale. You need to have cheap hardware costs and cheap electricity to even hope for it to be profitable.


fastfullback said:


> Based on the 10 minute blockchains then only 6*12 , 72 bitcoins are awarded every hour? ( Excluding fees)


6*12.5 actually, so 75 new bitcoins come into existence and are awarded every hour on average. 


fastfullback said:


> The award of the bitcoin is given to the node that solves the hash problem first, so if a node has more CPU power, are they guaranteed to win more often than someone with lower compute power?


In the short term there may be variance, but yes in the long term nodes should solve blocks at a rate proportional to the computing power they are dedicating to it. Think of it as if you and I are entering a raffle every week and you buy twice as many tickets as I do, over time you should win twice as much as I do, but in the short term through luck I could win more than you.


fastfullback said:


> If there something in place so every miner eventually knows they'll win or is it all luck/compute power?


No guarantee, It's luck/compute power, see the previous raffle analogy. What small time miners tend to do to lessen the effect of risk is combine their power together into pools, then divide the proceeds of the blocks they mine proportionately among themselves - similar to a lotto pool. 


fastfullback said:


> Why has the fees for bitcoin gone up? Is it tied to the amount of work a miner/node has to do to confirm a transaction? Is there a defined formula for it?


Fees are unrelated to mining work. Each block (every 10 minutes) can currently only contain up to 1MB of data. So even if miners have a lot of pending transactions from users, they may only be able to include a subset. It's at their discretion which they include, but logically they tend to include the transactions with the highest fees, as they get to keep those. Fee setting in wallets is currently a bit messy as it can be difficult to predict what fee will be needed to be in a future block if the number of transactions is fluctuating a lot. Most wallets have a slider letting you move along the scale of low fee to high fee depending on how urgent you want your transaction confirmed. 

One interesting and non-intuitive thing to note here is that the size of a transaction in bytes is what's relevant NOT the amount of bitcoin being sent by that transaction. The size in bytes is determined by the number of inputs (how many transactions the coins being spent were received in) and the number of outputs (how many different addresses the transaction is spending to).  It's possible a bitcoin transaction sending 0.001 bitcoin could have a higher size in bytes than one sending 100k bitcons. So fees are often measured in satoshis per byte.

You can see a history of the average transaction fees here:  https://bitcoinfees.info/ which really shows how it's a rather recent symptom that there is frequently a backlog of transactions and therefore people choosing higher fees to get priority.


----------



## Firefly (2 Jan 2018)

fastfullback said:


> The award of the bitcoin is given to the node that solves the hash problem first, so if a node has more CPU power, are they guaranteed to win more often than someone with lower compute power?


Which begs the question, why don't Amazon, Google or Apple, with their endless hardware resources, not completely dominate this space?


----------



## fpalb (2 Jan 2018)

Firefly said:


> Which begs the question, why don't Amazon, Google or Apple, with their endless hardware resources, not completely dominate this space?


Because generic computing hardware isn't efficient enough for it. Miners these days are using purpose built machines, they are designed to be able to do the mining calculations as efficiently as possible and nothing else. They can do hashes per electricity unit at rates orders of magnitude above general purpose computers. They closest thing to that is graphics cards.

A better question might be why are chip manufacturers like Intel or AMD or GPU manufacturers like Nvidia not dominating it.... I guess it's a risk they didn't want to take. Mining is risky because you have all of the risk of cryptocurrency itself but also the risk that you don't actually make a profit mining. Whether you make a mining profit depends on unpredictable variables such as the future mining difficulty (a function of how much competition you will have in mining), the lead time of your hardware and the lifespan of your hardware.

I came to the conclusion a long time ago that if you believed bitcoin would be successful that attempting to mine bitcoin was not worth the extra risk over just buying it upfront. So you could just as easily ask, why did Amazon, Google or Apple not just buy loads of bitcoin a few years ago?


----------



## Firefly (3 Jan 2018)

fpalb said:


> Because generic computing hardware isn't efficient enough for it. Miners these days are using purpose built machines, they are designed to be able to do the mining calculations as efficiently as possible and nothing else. They can do hashes per electricity unit at rates orders of magnitude above general purpose computers. They closest thing to that is graphics cards.


I couldn't agree with that I'm afraid. Amazon, Google, Apple and IBM have unlimited hardware resources at their disposal and also the finest crop of technical minds in the world.  Just look at what Google AI was able to do in just 4 hours!
Any of these companies could modify an existing super computer with all the bells and whistles and easily beat a few miners IMO.



fpalb said:


> A better question might be why are chip manufacturers like Intel or AMD or GPU manufacturers like Nvidia not dominating it.... I guess it's a risk they didn't want to take. Mining is risky because you have all of the risk of cryptocurrency itself but also the risk that you don't actually make a profit mining. Whether you make a mining profit depends on unpredictable variables such as the future mining difficulty (a function of how much competition you will have in mining), the lead time of your hardware and the lifespan of your hardware.


If it was deemed worthwhile to do so (especially in the long run) these companies (like Amazon, Google, Apple and IBM above) would be mining already. 



fpalb said:


> I came to the conclusion a long time ago that if you believed bitcoin would be successful that attempting to mine bitcoin was not worth the extra risk over just buying it upfront. So you could just as easily ask, why did Amazon, Google or Apple not just buy loads of bitcoin a few years ago?


Probably because they feel it is not worth anything either


----------



## fastfullback (3 Jan 2018)

Thanks for the answers fpalb


----------

