Blockchain technology

Blockchain technology

Introduction

Almost unknown before the year 2015, ‘blockchain technology’ is now far more mainstream, and widely used by businesses and governments around the world.

Before blockchain technology came in, Internet commerce was exclusively tied to the financial institutions serving as the trusted third party who process and mediate any electronic transaction. The role of trusted third party is to validate, safeguard and preserve transactions

A blockchain is a ledger of digital transactions or events, but instead of being centrally located and controlled, it's decentralized, shared among participating parties and not under the control of any individual.

Each transaction in the public ledger is verified by consensus of a majority of the participants in the system. And, once entered, information can never be erased. The blockchain contains a certain and verifiable record of every single transaction ever made.

Key concepts

Before move forward and explain how blockchain technology works, let's talk about what difference it.

Asymmetric Encryption

This is a mechanism which allows people to encrypt data without the need to share a secret, such as a password. Instead, a pair of keys are provided, one private and one public. The public key is made freely available to anyone, besides, the private key is kept secret, so that only you know it (figure 1).

Figure 1: Asymmetric encryption

Any message (text, binary files, or documents) that are encrypted by using the public key can only be decrypted by applying the same algorithm, but by using the matching private key and vice versa.

In a blockchain, the public key is represented by a public address, which can be shared with anyone. Regardless of the asset being sent to that public address, only the owner of the corresponding private key can access the asset in order to transfer it elsewhere.

Hashing

Hashing is an technique which maps, via a hash function, large data sets of variable length, called keys, to smaller data sets of a fixed length. This technique is widely used in many kinds of computer software, particularly for cryptography (it very difficult to reconstruct input data based on hashed output data) or database indexing.

How it works

The blockchain is a method of storing data where the participants (nodes) continue listening for new transactions and when they find them, they validate them by checking if them follow the rules of the protocol [e.g. in structure and size]. All valid transactions are put into a block, recorded in the public ledger and linked to its predecessor (figure 2).

Figure 2: Example of chain of blocks

This structure ensures that the database can only have entries added, data can never be changed or removed because changing a single entry in an older block would mean rewriting the entire history of transactions subsequent to that block.


To view or add a comment, sign in

More articles by Ivan Porta

  • How to create and configure your bot to work in Microsoft Teams

    This article is a step-by-step guide on how to create a Bot from scratch using Microsoft Bot Framework and how to…

  • Move your SharePoint On-Premise to Teams

    With the Covid-19 pandemic, remote working has become a must more than a luxury. Many companies decided to adopt…

  • Continuous testing and integration with GitHub repo and CircleCI

    In this article, I'll show you how to use two patterns that have penetrated all aspects of software development:…

  • Partial classes and methods

    In this article, I'm going to explain what partial classes and partial methods are, and how to implement them in C#. In…

  • How to create a web application using NPM and Docker in 5 minutes or less

    In this article, I will show first how to build a Docker image and then download it from Docker Hub and use it to…

    3 Comments
  • Sealed modifiers

    In this article, I will discuss what is a sealed modifier, how to use it and what's its impact on your application's…

  • Data types and memory management in C#

    Before explaining the different data types available in C#, it's important to mention that C# is a strongly-typed…

  • What is a virtual member?

    We can't talk about virtual members without referring to polymorphism. In fact, a function, property, indexer or event…

  • State Management in ASP.NET

    Whenever you visit a web application, your browser will communicate with the respective server through HTTP or HTTPs…

  • What is CTS?

    .NET is language agnostic which allows programmers to write code in different languages (which can be compiled to IL)…

Others also viewed

Explore content categories