ISE Blog

Distributed Ledger Technology, Blockchain, and IoT (Part 1)

You just hit buzzword bingo by reading the title, congrats!  Over this and several follow up blog posts we’ll explore the idea of distributed ledger technology (DLT), how it is related to blockchain technology, how DLT could be leveraged by IoT applications, and some of the challenges facing using DLT in the IoT space.  For starters we’ll focus in on what DLT is, which will lead to our discussion about blockchain.  Then in future posts, we’ll cover how this technology can be leveraged by IoT applications as well as some of the potential challenges.  While DLT and blockchain are often used interchangeably, for the purposes of our discussion we will treat them as two distinct items, though they are closely related.

What is DLT?

To start, let’s review the definition of DLT and then provide more depth around that definition.  Relying on Wikipedia we have the following

A distributed ledger (also called a shared ledger, or distributed ledger technology, DLT) is a consensus of replicated, shared, and synchronized digital data geographically spread across multiple sites, countries, or institutions.[1] There is no central administrator or centralized data storage.[2]

peer-to-peer network is required as well as consensus algorithms to ensure replication across nodes is undertaken.

For those familiar with the traditional client/server approach, I believe starting with the second sentence of the definition and exploring from there can add a lot of clarity in becoming familiar with distributed ledgers. 

“There is no central administrator or centralized data storage”

Consider any client/server application you are familiar with.  Online banking, registering for classes at college, many online clubs or groups, etc.  They follow the basic architecture seen in the figure below:

Client-Server Architecture

Client-Server Architecture (Source: Wikipedia)

All the connections on the network in the figure above represent a node.  Only one of those nodes, the central server node, has all the information – usernames, passwords, account settings, security challenge questions, etc. – maintained on a database at the server.  That database is the centralized ledger of all information.  If you want to add a new client they must sign up, provide the required information, and then get added to the ledger.  If somebody leaves, they are removed from the ledger.  But the data storage happens in one place.  It’s the traditional, tried-and-true, client server approach. 

In addition to maintaining the ledger of information needed to operate an application, the central server is also where administrative tasks are completed.  If you attempt to log in as a client to the system, you will need to provide credentials which are verified by the central server.  If you attempt to perform some type of transaction, it needs to go through the central server.  Going back to our previous list of applications – banking, class registration, online clubs – there are likely many times in any given day you interact with a system that relies on centralized control and ledger maintenance.

To understand DLT, keep in mind all the characteristics just discussed – ledger maintenance, user authentication, overall administration, etc. –  but remove the centralized server from the picture and consider the third sentence of the definition.

Peer-to-Peer Architecture

Peer-to-Peer Architecture(Source: Wikipedia)

“A peer-to-peer network is required as well as consensus algorithms to ensure replication across nodes is undertaken”

Now that the central authority has been removed, the nodes that are on the network need to play a part in maintaining the ledger, determining what transactions are allowable (consensus algorithms), and performing administrative tasks.  How these tasks are completed depends on how the system is designed.  Some of the key questions that must be answered to design a distributed ledger include:

  • How will the ledger be distributed?  The recording, sharing, and synchronizing of data across multiple data stores can be done in many ways.  How this is done will impact the scalability and security of the system. 
  • Is the distributed ledger permissioned or permissionless?  When network nodes need permission from other entities to make a change to the ledger it is considered permissioned, otherwise it can be thought of as permissionless.
  • Is the distributed ledger public or private?  If ledgers can be accessed by all they are public, if they can only be accessed by participating nodes in the network they are private. 

The best known distributed ledger being used today is blockchain, the technology that powers the cryptocurrency of Bitcoin.  When thinking about banking and all the well-established client/server options available to the market, why do we need a distributed ledger approach offered by Bitcoin?  What market need is it meeting? What problem is it solving?  Or, more directly, why do you care?

Coming up….

All interesting questions, so look for the second part in this sequence of blog posts where we touch on what problems DLT address and how a specific implementation, blockchain, addresses some of those in the financial domain.

Do you have questions about DLT or blockchain? Let us know what you would like to learn about in the comment section below or contact us!

Hudson Ludvigson, Senior Software Engineer

Hudson Ludvigson, Senior Software Engineer

Hudson Ludvigson is a Senior Software Engineer and the Practice Lead in Vehicle Telematics at Innovative Software Engineering. He has been with ISE since March 2006. He enjoys the diversity of the software engineering field and how it impacts and improves peoples' everyday life, particularly in the domains of agriculture, business, finance, and medicine. In his downtime he can be found enjoying college football and outdoor recreational sports, or spending time with his family.