Definition(s)

1) record-keeping technology
2) blockchain is a distributed, decentralized, public ledger
3) digital information (the “block”) stored in a public database (the “chain”)

What does a block store?

– information about transactions like the date, time, and amount
– information about who is participating in transactions
– a hash identifier (that distinguishes it from other blocks). (Hashes are cryptographic codes created by special algorithms.)

How does it work?
When new data it is added to the blockchain, a block is created. In order for a block to be added to the blockchain, four things must happen:
1) a transaction must occur
2) transaction must be verified. The job is done by a network of computers.
3) transaction must be stored in a block
4) block must be given a hash (identifier) and hash from the previous block

Privacy

At Bitcoin’s blockchain, we have access to transaction data, along with information about when, where, and by who the block was added to the blockchain.

Anyone can view the content of blocks, but users can also connect their computers to the chain network as nodes. In this case, computer receives a blockchain copy, which is updated whenever a new block is added.

Each computer in the network has its own copy of the blockchain. Each copy of the blockchain is identical and spreading information across a network of computers makes the information difficult to manipulate, meaning a hacker would need to manipulate every copy of the blockchain on the network. This is what is meant by blockchain being a “distributed” ledger.

Some information, e.g. personal information about users, can be limited to their digital signature or username, making it invisible for other users on the chain.

Security

Taken care of security in several ways:
1) blocks are always stored linearly and chronologically. They are added to the “end” of the blockchain. When a block is altered after being added to a chain, it’s hash is changed as well. Hash codes are created by a function that turns digital information into a string of numbers and letters. If information is edited in any way, the hash code changes as well. If a blocks hash changes, pointers from the previous and the following block needs to be adjusted. This means, whenever a block is edited, all hash codes need to be recalculated and blocks updated.

Solving the hash requires the miner to determine which string to use as the nonce, which itself requires a significant amount of trial-and-error. This is because the nonce is a random string. It is highly unlikely that a miner will successfully come up with the correct nonce on the first try, meaning that the miner may potentially test a large number of nonce options before getting it right. The greater the difficulty—a measure of how hard it is to create a hash that meets the requirement of the target hash—the longer it is likely to take to generate a solution.