What is a blockchain?

2018 is poised to be year when cryptocurrencies become mainstream. The original cryptocurrency, Bitcoin, has entered the common jargon of the modern world last year as its valuation hit record a record high of nearly 20k USD/BTC, and stayed in the news as its valuation dropped to more reasonable levels. Ethereum is also gaining recognition as it became the #2 cryptocurrency in terms of market capitalization. In short, a little over 8 years since the creation of Bitcoin cryptocurrencies are gaining recognition and acceptance in the “real” world.

Cryptocurrencies are created as part of something called a blockchain. And more than cryptocurrencies, it is the blockchain idea which is expected to have a huge impact on the computing world, at least for the next couple of years. As such it is a good idea to learn what a blockchain is, at both a basic and more advanced level.

The Basics

At its core, a blockchain is a distributed ledger. Those with an accounting background will immediately recognize what a ledger is — it is a record of transactions. A blockchain is distributed, which means that entries in the ledger are written by many parties, as opposed to by one centralized authority.

Like an ordinary paper ledger, blockchains are write-once. Once a block has been verified and added to the blockchain it cannot be erased or modified. This insures that transactions cannot be taken back.

The Nodes

All these “parties” are actually computers running a node for the blockchain’s network on the internet. This involves executing software which contributes to the blockchain network. Depending on the network involved there may be several types of nodes in a blockchain; this will be explored in depth later.

The Blocks

Nodes compile a number of transactions into a block. How large the blocks are, and how often they are verified, varies widely between blockchains. For example, the Bitcoin blockchain generates a block every 10 minutes. The Ethereum blockchain, in comparison, generates a block in less than 20 seconds, and Bitshares blocks are generated every 3 seconds at most. A number of factors affect block time; if you’re not intimidated by math check out this article for more information.

The Chain

Blockchains are so named because each new block is appended to the previous block, effectively forming a chain. In fact one can always look at certain information in the latest block of any given blockchain and trace the blockchain’s history all the way back to its very first block.

Hashing

Since blocks are appended to the blockchain by several different nodes, there needs to be a way to ensure that only the block with the right data can be added at any given time. Otherwise there would be no way of ensuring the continuity of the blockchain from the genesis block to the most current one.

This is where hashing comes in. Hashing is a cryptographical technique that is used to generate a unique code that can be used to identify a set of data, rather like a fingerprint. The hash is generated from the transactions contained in the block and recorded as data in the block, which also includes the hash from the previous block. This is one of the mechanisms used to verify any new blocks. If the previous-block hash does not match the previous block’s recorded hash, then the current block is invalid and cannot be added to the chain.

The actual library used to generate the hashes depends on the blockchain. SHA256 is a popular one and is used by Bitcoin. Other libraries include scrypt, X11, Cryptonight and ETHash.

Hashing produces a completely different string if there is any change whatsoever to the original hashed content. The SHA256 library can produce a very large number of distinct values (3.4028237e+38) so arriving at the same value from two different pieces of content is extremely unlikely. By comparison, the chances of winning the Powerball lottery in the USA is 1 in 2.92e8. One could win this lottery 4 times and that would still be less likely than generating the same hash from 2 different sources. Thus the use of hash values makes blockchains virtually tamper-proof.

This was a very basic overview of blockchains. We’ve barely scratched the surface. In my next few articles I will be providing more in-depth coverage on subjects such as concensus algorithms, blockchain node types, the relationship between blockchains and cryptocurrencies, and how the blockchain can be used by businesses to streamline processes and reduce processing costs.

Lenovo update…

I got a call from Lenovo today informing me that one of the items ordered for me was on back-order… good thing I wasn’t holding my breath. AFAIK it’s the system restore disk for the laptop, which just raises further questions. If I need an additional copy of a CD/DVD I’ve already made before, I just use the image to make a new copy. Does Lenovo not know this?

I’m pretty sure this laptop has been a paperweight for longer than it’s been operating since I bought it.

Lenovo: a fall from grace

I used to be very happy with my Thinkpad X60 Tablet, and was practically an evangelist for the Thinkpad line. Just in the past year I practically sold two systems, a laptop and an iPad-style tablet, for the company. However this good feeling only lasted until my latest purchase. As things stand now I am pretty certain that I will never buy Lenovo again.

My mistake was buying a Thinkpad X220i Tablet in August of 2011. Said laptop stopped working in November, when I tried to start it Windows crashed with a 0x00000e9 error (unspecified I/O error, but more specifically a hard disk problem). Whatever, these things happen. They sent me a set of startup disks (DVDs) to try and make sure the HD was the problem. Those startup disks didn’t work (couldn’t boot off any of them), so I called Lenovo again, they apologized (they’re a very apologetic company, to the point that it becomes annoying really), told me they would send me another set of startup DVDs.

So I waited… and waited, and waited. After a couple of weeks (today) I decided to call and see what was up. The first support call seemed to go well, until I got disconnected. So I called again. The lady took my case number, told me Lenovo had a tracking number for the disks, gave me the tracking number, but it was pretty clear that she was refusing to do anything else (wtf is up with that?). I look up the tracking info through purolator (the most useless delivery company IMHO but that’s another story) and it’s clear that the package was returned to Lenovo. Couldn’t the lazy lady have at least looked that up instead of just wasting my time?

So I call for the third time on that day, and finally I get to talk to someone who knows what he’s doing. He is sending me a new hard disk and recovery disks. Well, hopefully he is. You’ll excuse me for not holding my breath until they get here.

Now, if the problem were only the service, passe encore. However the X220i Tablet is a piece of junk. It feels cheap and flimsy, the weight is unevenly balanced, and the build quality is terrible — I can pull the battery in an out of its housing by a couple of millimeters when it’s in the locked position! What’s more, the touchscreen has never worked properly, and that’s kind of the point of owning a tablet PC. Why does the 5 year old X60T I have feel so much better and more solid? Is it perhaps because it’s an IBM-branded product?

I once heartily recommended Lenovo to friends and family, but I can no longer honestly do so. The quality of the company’s products and service has taken such a nosedive that it’s really not worth endorsing anymore. It’s a shame because Thinkpad used to be the brand to go to for a first-rate experience with laptops, but clearly they’ve taken the road well-travelled of cheaping out on the design, cheaping out on the manufacturing, and cheaping out on the service. All of which I wish I could say to Lenovo customer service, but try as I might I cannot find an actual customer service number for them anywhere. I guess that’s representative of the company’s recent attitude towards the people who give them money…