What is the Blockchain?
Image by Bernard Spragg on Flickr
Blockchain software technology works as a distributed ledger to record what was done and when.
If someone asked your age thousands of years ago, there often was no way to prove the day or year of your birth. In many places the local church or temple would register the date you were received into the religion and the date you died. If you bought land, a house, or a farm, a record would be made made at the town or city hall.
Today, despite computers, recording basic facts of our lives mostly follow these ancient patterns. Computers make the data more accurate and easy to find, of course. But in theory it is still possible to lose a record or file an inaccurate record. And compiling a list of events over time often requires tapping into several databases to create a master list of events in their correct order.
Blockchain technology is designed to solve this simple problem of recording transactions and events in order as they happen and in a way that cannot be changed.
You might have heard of Bitcoin, the electronic currency, and possibly blockchain which is a critical component of Bitcoin and other digital currencies. However, blockchain turns out to have many uses beyond financial transactions.
In simplest terms, a blockchain is what it sounds like, a block or ledger that records a chain of events. These events could be life events — birth, marriage, death — or voting or property transactions or really any human interaction that requires both a record of when the event happened and in what order. Plus the records must be difficult or impossible to change.
A blockchain is made of datestamped blocks of data for one event or transaction. Each block of data includes the hash for the datestamped block before it, to ensure each block is connected to a prior chain of data blocks.
If you don’t know, a hash takes data of arbitrary size and makes it a fixed size by, among other methods, adding spaces or encrypting the data until it is a fixed size. It’s a way to compare data regardless of its size, for example, to identify duplicate data records.
Each event recorded in a blockchain is called a transaction, whether or not the event is financial. The transaction contains content which describes what happened. Then the transaction is turned into a block which includes the transaction and the hash of the last datestamped block. Each new block is marked with the date and time it was accepted by the software that creates and maintains the blockchain.
Perhaps more fascinating, blockchains can be managed without a single master database. Because every block in a blockchain has references to past events, it is possible to create a master ledger of transactions from blocks of data stored in multiple locations, or nodes, on a network.
Blockchains also allow people to record transactions without a need to identify themselves. Combined with the reality that blocks of data in a blockchain are almost impossible to change, privacy and trust are two reasons this technology is considered as important as the appearance of the internet.
Created as part of the digital currency Bitcoin, blockchains turn out to be a perfect way to solve the problem of recording human events, in order as they happen, in a way that is difficult or impossible to change, and with privacy. Big companies and small have started to use blockchains in their software, not only banks, but governments to create accurate land registeries to identify who owns land, music companies to manage royalties paid to musician for their songs, and more.
Learn More
Blockchain
https://en.wikipedia.org/wiki/Block_chain_%28database%29
Hash
https://en.wikipedia.org/wiki/Hash_function
Forget Bitcoin: What is the Blockchain and Why Should You Care?
http://recode.net/2015/07/05/forget-bitcoin-what-is-the-blockchain-and-why-should-you-care/
The great chain of being sure about things
Understanding the blockchain
http://radar.oreilly.com/2015/01/understanding-the-blockchain.html
Also In The April 2016 Issue

The iDTech summer camp recently posted 102 questions. Here are a few with links to the full list.

The choice of a first programming language can be overwhelming, from simple drag and drop to full languages.

10 steps you can take to improve your skills as a programmer.

REST is a standard way for software applications to work with each other to do things.

Blockchain software technology works as a distributed ledger to record what was done and when.

This online emulator lets you learn and try out a little of the Ruby programming language.

Here's a fun way to learn about telnet and watch the original Star Wars movie in ASCII format.

Believe it or not, computers and keyboards were not invented together.

Learn the basics of Go plus neat math details about Go and AlphaGo, the computer that beat a human playing Go.

If you were a wizard, wouldn't you want to know how to scale your spells for maximum effect?

This programming language is both easy to learn and teaches excellent coding form.

Code Monster from Crunchzilla is a fun online emulator used to learn JavaScript.

A phone and tablet app exposes the invisible world of radio, phone, and satellite waves that connect our computers.

ASCII is a set of letters, numbers, and characters computers use to communicate accurately.

Links from the bottom of all the April 2016 articles, collected in one place for you to print, share, or bookmark.

Computing at School (CAS) provides resources and support for computer science teachers and parents.

Interesting stories about computer science, software programming, and technology for April 2016.