What is a Blockchain?

You hear the term Bitcoin and Blockchain more often these days, but there must be more to the technology than just crypto, or not?

Well, we can take a look at the underlying technology to understand better what it is.

A thread. ↓
1. Foreword

This thread is a high-level overview to give you an intro to blockchain technology.

It doesn't go too much into detail, so you should be able to follow along nicely.
2. Client-Server Architecture

Before we dive into blockchain technology, we should take a look at how most of the internet works.

We need this to understand the fundamental differences between a traditional model and the change blockchain technology brings.
Client-server architecture mainly powers the internet.

For each service offered, its data is stored and owned by one entity and distributed to many clients.

It is stored in databases and returned to the users on request with or without further processing. .
The server decides what is true.

Information that is stored once can still be modified.

No one can stop a website owner from modifying information within their database(s) or deleting it from their records.
If Twitter decides that one of your tweets shouldn't exist for some reason, they can delete it if they wish to (and so can you).

The same holds true for all other social networks and everything else.

If you think one of your blog posts underperforms, you can delete it.
Users always only get to see what the servers let them see, and we trust the owners of the websites/services we use that they won't act against us.

We actually have no choice other than to find someone else who we trust more when we are in doubt.
The same holds true for banks.

Although they are regulated and legally obliged to act in your favor, you still need to trust them with your finances and have faith in their IT systems.

You basically have no other choice.
If you try to transfer money from your bank account to one at another bank, it's still up to them to decide (within the bounds law forces on them) when to send the transaction.
Some banks make extensive usage of deadlines and delay your transactions to even out their balance sheets, for example.
3. Blockchain Technology

Blockchain technology itself is nothing entirely new.

It combines existing technologies creating something new and exciting, tackling particular problems while being broadly applicable.
Generally speaking, you deal with a peer-to-peer network where a client does not talk to a central server but to many other clients. .
This peer-to-peer network comes with a distributed database.

Data is shared among all clients of the network.

The data forms a chain where each block points at its predecessor in some form. .
Placing individual entries into the chain would be inefficient, which is why multiple entries are batched into blocks.

This means that each block contains several data entries (thus the name of the technology). .
To establish trust between all clients, or in other words, make sure that no one changes the chain and sends a fake one to your client, blocks contain a cryptographic reference.
This reference often takes the content of the current and the previous block into account so that the correctness of a block and the chain can be verified.

The process of appending a new block to the chain is either called mining or forging, depending on the implementation.
The chain itself is designed to be immutable.

Entries can't be changed and simply be deleted again.

There is always a new entry - like an event log that states what happened when - publicly available.
4. Mining / Forging

As you already learned, mining or forging is the process of appending a new block to the chain.
There are multiple algorithms that deal with verifying blocks on a blockchain.

Two of those are:

- Proof-Of-Work
- Proof-Of-Stake
-> Proof-Of-Work is the algorithm used by Bitcoin.

Miners have to guess random numbers that generate a defined result combined with the previous block content.
This process is so compute-intensive that only the combined power of many miners can generate a result in approximately 10 minutes on average.

One computer alone would take way more time to find just one result (~1 year).
Although this algorithm costs a lot of energy and resources, it is pretty safe because attackers always have to compete with the whole network, and it's not guaranteed when a miner finds the correct answer to the problem at hand.
Attacking a blockchain would mean constantly outperforming everyone else, which is nearly impossible.

Only governments have the spending power to finance such an attack.
-> Proof-Of-Stake is another algorithm that is not as compute-intensive and thus not as energy-intensive as Proof-Of-Work.

Based on some criteria, a random node is selected to verify the next block and append it to the chain.
That node doesn't have to calculate a complex result and thus doesn't need that much energy and so many resources.

You could say that this is an environment-friendly alternative with a lot of potential.
Stake, in this case, means money locked away.

This money is a safety deposit.

A miner can't access it as long as they want to participate, and if they act against the network, they might even lose their whole stake and be banned forever.
5. What A Blockchain Offers

The general idea of a blockchain is to provide a publicly available, decentralized database.

Everyone can participate and work with the network.
The implementation itself establishes trust because manipulation is very difficult or even impossible.

No one can easily take control of a blockchain and change everything to their advantage.

Small-scale manipulation can be spotted and negated by the network itself.
Users no longer have to trust a central entity to manage something for them. The network does it.

And there is much more to a blockchain than only cryptocurrencies.

You can build a whole social network on a blockchain where no censorship is possible, for example.
Each entry ever made is persistent.

No chance to delete a statement or modify it after pushing it out. Every modification is transparent.

There is also no chance to let users vanish only because you want it to happen.
There are already a few experimentations out there playing around with the concept of a social network.

But to be fair, none of those has yet managed to become pretty popular.

The concept itself, though, is already fascinating.
It shows that theoretically, such a concept could indeed be implemented based on a blockchain.

And depending on the right entrepreneurs to come, it might become a reality sooner or later.
6. Thread end

That's it for this thread.

I hope you found something useful for you in it.

If you enjoyed reading this thread, consider dropping a like, retweet the first tweet, and follow me (@oliverjumpertz) for more content like this.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Oliver Jumpertz

Oliver Jumpertz Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @oliverjumpertz

16 Sep
Do you know what many dApp developers struggle with?

Which data to put on-chain. More data on the chain can drive the cost up. Too much data might render your app unusable. Storing fewer data might not be an option.

Here are some ideas for you to fix this.

A thread. ↓
1. Use A Dedicated Database

This approach will make your dApp into an app.

If you bring in central data storage, you can circumvent the limits of some blockchains, but it doesn't keep the promise of being decentralized.
You can store anything that you can't store on-chain in your database and associate it with a user.

Whenever you need that type of data, you fetch it from your database.
Read 13 tweets
16 Sep
I regularly post visual content about JavaScript. And at the moment, this content is a lot about algorithms.

Now it's time for a collection of many of those visuals for any developer interesting in algorithms with JavaScript!

A thread. ↓
1. Check For Palindrome .
2. Reverse A String .
Read 23 tweets
14 Sep
Do you want to get into Web 3.0 as a web developer and take the next step on your awesome journey?

Perfect! 🔥

Time for a small introduction to Web 3.0 development with JavaScript and ethers.js!

A thread. ↓
0. What Is ethers.js?

ethers.js is a JavaScript library that allows you to interact with the Ethereum blockchain, as well as its ecosystem.

Simply stated: You can access your wallet, send transactions, and interact with smart contracts through it.
1. Installation

Let's assume that you already have a JavaScript (frontend) project of any kind set up. If not, do that first.

Before you now install ethers, you should get one last prerequisite: MetaMask.
Read 14 tweets
13 Sep
Do you know what an NFT is?

Some are currently sold for millions, and unknown artists suddenly make a name for themselves and earn hundreds of thousands of dollars.

Let's take a closer look.

A thread. ↓
1. What An NFT Is

Non-fungible tokens (NFTs) are digital assets.

Just imagine a trading card where each card has unique information engraved into it.

No two NFTs are the same and they are thus not interchangeable.
Other than crypto, where one BTC is one, and two BTC are two BTC, two NFTs are one NFT and one NFT.

Just because you have two NFTs of the same type, you cannot sum them up together.
Read 23 tweets
7 Sep
From time to time you read the term Web 3.0. For many of us, however, this term is still mysterious.

Time to shed some light on it and explain what it actually is all about!

A thread. ↓
1. The Web Today

The web as we know it today is actually already Web 2.0.

It is an extension of the original Web (1.0).

In the beginning, the web was meant for websites to provide information and users to consume it.
Web 2.0 changed this and brought the user into the game.

Users started to create the content themselves, while websites became the platform to distribute this new content instead of only consuming information.
Read 26 tweets
26 Aug
I recently posted a lot of visual JavaScript tips, explanations, and algorithm implementations. 💛

Here is a collection of them. 📖

They will definitely help developers of any skill level to learn something new.

A thread. ↓ 38 visual JavaScript tips, explanations, and algorithm imple
1. The Nullish Coalescing Operator .
2. Strict Equality Comparison > Abstract Equality Comparison .
Read 39 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(