Blockchains | Web3 Explained

Zachary Bloss
CodeX
Published in
4 min readJun 19, 2022

The term Blockchain has been used as a means to many ends over the last 10 years. Startups have nestled it into their mission statement to raise funding, large corporations have used it to pump their stock price, and arm-chair traders have given expert price predictions on assets named after Dogs. Through the good times and the bad, there are breakthroughs in Web3 technology, either new technology is created or existing technology finds a use-case. I will cover the details of these cycles in a later post, but for now we will understand the basic technology that all of the good, the bad, and the ugly is built on top of: Blockchains.

What is a Blockchain?

At it’s most basic, a blockchain is a series of records stitched together one-by-one into an immutable sequence. The technology varies slightly from project-to-project (I’ll cover this later on as well) but generally a record consists of multiple transactions. Each transaction has three basic components:

A scroll with 3 items in a list, Previous Transaction Hash, Record Data, and Current Transaction Hash.
Here we see an example “transaction”. These transactions are the core “so what” of blockchains. Here, data is stored in an immutable fashion, meaning it can not be changed.

Quick Segway into “Hashing”

You’re going to hear the term “hash” used frequently in this space, and that is because without hashing we wouldn’t have Web3. So why do we care about hashing? Hashing is very similar to encrypting, except it is impossible to decrypt something that has been hashed. This lays the ground work for how we string individual transactions into blocks and then into a blockchain.

Something crucially important about hashing is it is not random. Hashing a word or sentence will always result in the same hash. The nerd-term for this is “deterministic”. The Ethereum Blockchain uses a hashing algorithm called Keccak-256, the nuances of that algorithm are not important but what is important is it is deterministic. Below is a link to a free demo where you can play around with this hashing algorithm for yourself.

Try entering “This article series is really good” and “This article series is really good!

Two boxes, one over the over. In the top box we have the phrase This article series is really good and in the bottom box is the hashed version.
A visual example of the deterministic nature of the Keccak-256 hashing algorithm.

You got “b13b6b8d9da9897717a0d03aa1815807587ccf50f9d2dae85080c29decece055” and “6d729172f9e86d2f292928901a6424762adbbabc723cfee0f1f64072a883d264” back didn’t you?

You and I got the same values because the hashing algorithm is deterministic. The very interesting and equally powerful fact is that there is no way to decode a hash back into the original text. The only method for determining the input text is via guessing-and-checking every possible combination of numbers, letters, and symbols until you get the appropriate hash. Doing this requires a ton of computing power and is extremely expensive. Hold this thought, we’ll come back to it.

Blockchains, Assemble!

So let’s put a block together ourselves to truly understand what all of the hype is about. Let’s say my friends and I are going on a few trips this summer and we need a way to coordinate all of our payments. In this example, Zach & Joe send $100 each to Dave, who then gives that money along with another $100 to Sally who is responsible for paying the host of the AirBnb.

Here we have 4 friends who need to send funds to one another. Records of each transaction will be stored on our blockchain.

Zach first sends $100 to Dave. This is the first transaction we will examine, and at it’s simplest this is just a receipt like you would get from a store. The difference is our transaction will live on a blockchain instead of on a piece of paper or a company’s database. So going back to our transaction components, we know the Record will be “Zach sent $100 to Dave” and our Current Transaction Hash will be the hashed value of this Record: “c3e9fecca5c299b4e9ba9496c974d7d28eae25a38ab200d2bc3a474b93ceff8b”. You may be wondering what the Previous Transaction Hash is, well this is how blocks become a blockchain. Our Current Transaction Hash becomes the Previous Transaction Hash of the next block.

Let’s recap. Each Record gets hashed. That hash along with the previous hash make up a transaction, and these transactions are joined together by the hashes matching. So the next transaction “Joe sent $100 to Dave” gets hashed and now we have the following chain of transactions on our blockchain.

Two example transactions joined together on the previous transaction hash of transaction #1 being the current transaction hash of transaction #2
While this is a very simple example, this truly is how blockchains work. The real complexity comes from what is possible to put inside of the “Record”.

Conclusion

We covered some really complex topics. We explored the core technology behind what transactions, blocks, and blockchains are. In the next article, I will cover the mechanics of what happens when transactions are added to a block, who is actually doing all of this and how blocks are created in the first place. I will also touch on the environmental impact of Web3 by explaining Proof-of-Work and it’s successor Proof-of-Stake.

Socials

Twitter: https://twitter.com/altozachmo

LinkedIn: https://www.linkedin.com/in/zachary-bloss/

ETH / BTC / DOGE / LTC / SOL — block-ops.eth

Block-Ops.xyz: https://block-ops.xyz

--

--

Zachary Bloss
CodeX
Writer for

Ethereum Developer, block-ops.xyz, block-ops.eth, MLOps Architect, ex-Staff Data Scientist