For Beginners By A Beginner
What is a blockchain?
Blockchains are a revolutionary technology that allow systems to function without a central authority.
Central authorities can be thought of as banks, governments or servers (like Amazon, Facebook, iTunes and YouTube) – to name only a few. They are a single point of security weakness, targets for hacking and are prone to corruption. We trust them with all our passwords, all our data, we give them the power to adjust core algorithms behind the scenes and we trust them to track our records. However, we often see that this level of fundamental control is abused: our data is taken, prices are raised, documents are manipulated, interest rates are adjusted, our records are sold, our passwords are leaked and we’re charged high fees for this privilege too.
How do blockchains work?
I see a blockchain as a decentralised system of two parts.
- The first part is that everyone checks everyone else’s transactions. You do this by signing onto the network with your computer, which forms another node in the network and begins to automatically process and confirm transactions within the system. This means the system has no single point of weakness or control. It can be thought of in the same way that everybody accesses the internet but nobody owns it, however it’s even greater because there are no major servers to be owned either.
- The second part is that these confirmed transactions are recorded on a public ledger and everyone in the decentralised community stores a full and regularly updated copy of it on their computer. This prevents manipulation of records. The transparent ledger is the blockchain. Individual transactions are grouped together into blocks and then blocks are processed by computer nodes on the network before being added to the blockchain.
How does the computer process transactions?
When I say “processed by computer nodes” I mean that the computer must do some ‘work’ to ‘solve’ and validate the block. This work is usually the completion of mathematical algorithms (called hashing), although you will see in Lesson Four that it can also be scientific research, graphics rendering, data storage, contract management and even running applications. By carrying out this work the computer is rewarded with some of the system's asset. This could be tokens for currency, storage, apps or music – the list is nearly infinite. This reward acts as an incentive for people to join the network. These computer nodes are actually referred to as miners because it is seen that they are mining the blockchain to yield the digital asset (whatever it may be for that particular cryptocurrency).
What are the advantages of a blockchain?
The main use so far has been for a type of currency, like Bitcoin, called cryptocurrencies. Cryptocurrencies other than Bitcoin are called altcoins (alternative coins). There are several advantages to using cryptocurrencies.
- Firstly, payments are almost instant and may have negligible fees – whereas banks can charge substantial fees and take several days to process payments.
- Secondly, transactions are both secure and anonymous. I will talk more about this below.
- Thirdly, there is no inflation. While a government or national mint can simply produce more money, there is usually a predefined amount of each cryptocurrency that will ever be circulated. Until that point, of course, the supply does increase – although usually so does the demand.
- This technology could be fundamental in countries with developing infrastructures that are yet to fully trust their governments. Also, if the internet became decentralised then we would own our valuable data and content instead of giving it up to major corporations to sell for their profits.
A good currency should be able to move through time and space efficiently with minimal losses*. Gold keeps its value over time but is difficult to move through space. Bank notes are easy to move through space but lose value over time. Bank accounts are easy to move through time and space but encounter losses in the form of fees. Blockchain technology thus potentially allows for the greatest currency with the most efficient movement through both time and space.
(*I can’t remember where I read this quote so if anyone knows where I stole it from, comment below and I will reference it properly)
What makes a blockchain so secure?
There is no requirement for personally identifiable information to use one. You have a private key to access your wallet and a public key is used to generate and receive all payments. Generally speaking, the public key cannot be traced back to your private key and it can even be changed if necessary. Further security measures involve heashing, which is discussed below.
What is a wallet?
Just like real money, you need somewhere to store your cryptocurrencies. Of course there are no banks but there are multiple wallet options instead.
- Some people use a web wallet, which is just an online website. Although the web wallet probably provides the quickest and most flexible access to your coins, it is also the least secure method and is a form of centralisation that reintroduces a single point of weakness back into the system.
- You can also use a software wallet, where you download a wallet to your computer, hence limiting access to only yourself.
- There are hardware wallets, which are USB devices you can load your cryptocurrencies onto for safe storage away from the computer.
- Finally there are even paper wallets, where a private key is generated only once for you to write down and store somewhere safely without need for a computer. This is the one and only key to your cryptocurrencies.
These offline wallet methods are known as ‘cold storage’. Some web wallets also claim to store your coins in cold storage on your behalf.
What is Hashing?.
A hash is a key code consisting of a string of letters and numbers, like this: 2d94683fa2f8aaae4a6f377d93b875f680adf96b9c3e9577554b742f412fa9ad.
A hashing function takes an input string of data and cryptographically converts it into a hash key of fixed length.
- The length of the final hash from the script is always the same regardless of the amount of input data. For bitcoin this hash length is always 64.
- The same data input will always produce the same output hash yet it should be impossible to work out the original data input from the output hash.
- The script is written in such a way that a small alteration to the input data should produce a radically different output hash.
The Bitcoin hashing algorithm is called SHA-256 (Script Hashing Algorithm 256) and was developed by the NSA. Without going into too much detail (because I can’t), the Bitcoin system employs further encryption by mixing these hashes with other hashes to undergo further hashing – in the form of something called Merkle trees.
For a Bitcoin miner to confirm a block:
- The output hash must be lower than a specified number.
- If it isn't, the miner adds an arbitrary number to the input data to generate a new hash for testing.
- This continues by trial and error until the block is successfully hashed into a key beneath the permissible threshold.
The Bitcoin algorithm automatically adjusts this threshold every two weeks to maintain block time at approximately ten minutes. This can be achieved because the amount of computing power required to complete the hashing task can be predicted.
The real ingenuity behind the Bitcoin blockchain is that each new block includes the hash from its immediate predecessor (@topjimmy). This makes it impossible to alter historical data without corrupting the rest of the blockchain – and so being rejected.
Blockchains are a vast subject so this article mainly refers to the Bitcoin cryptocurrency. This is the most major example of a blockchain in practice and so is used here to aid your comprehension before understanding the wider uses of a blockchain. However be mindful that there are always exceptions to every rule – this article is not Gospel.
This is the first article in my ‘For Beginners By A Beginner’ series for the fellow newbies trying to understand this crypto world. I personally found it difficult to learn without a central source of information, so here I attempt to offer one. Even if it acquires no attention on Steemit, I hope it remains on Google and is useful to any eager newcomer whom stumbles upon it.
There will undoubtedly be errors and misunderstandings in my text, so do add corrections and additions in the comments section below. If I choose to incorporate them I will reference your username and upvote your comment.
Lesson 1: Introduction to Cryptocurrencies and Blockchain Technology
Lesson 2: Disadvantages of Cryptocurrencies
Lesson 3: A Brief Overview of Crypto Terminology
Lesson 4: Further Uses of Blockchain Technology
Lesson 5: Final Opinion and Conclusions
Will be uploaded on 21/06/17
UPDATED to include a section on hashing. Thanks to @topjimmy.
Calum
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
One of the biggest things Satoshi did that made bitcoin and blockchain so powerful, is the hash of each block contains the hash of the previous block. So any attempts to go back and change a previous block would be denied because they will break every subsequent block not just the one you are trying to change. Mine is a very simple description, but hopefully you get the point. Theoretically it is possible to change the blockchain history if you have enough computing power. A state actor with lots of resources may be able to pull it off, but at enormous cost for relatively small benefit. So it is highly unlikely this will ever become an issue.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Thanks, this was really helpful. I have incorporated this above (and given you due credit).
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Your version sounds better than mine! Nice work
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
On to lesson 2 now - very well worded and easier to understand as its relatively jargon-less....well done to you..:)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Excellent, I'm glad you think so! I'm no expert but if you have any further questions I will try to answer them. Cheers!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Great resource!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Thanks a lot! Glad somebody thinks so
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit