Musings on BlockChain
by Raghu B on December 1, 2016
As many of you know, Blockchain is best known for being the underpinning technology behind Bitcoin. The Blockchain technology however has many use cases outside of Bitcoin, and even outside cryptocurrency. Blockchain has the potential to disrupt several technologies that we have taken for granted up until now. We shall cover some of these now.
Before we jump into the specific applications of Blockchain, let’s first review some basics.
Easily done using the diagram below.
The Domain Name Service is a service that provides name resolution on the Internet.
Now, if instead of the 8 root servers being the authoritative systems of record of the Internet, what if we used blockchain instead? There are various sources on the web that discuss this new way of doing DNS.
- https://github.com/okTurtles/dnschain - this is even a codebase to run DNS on Blockchain
The main premise is to store name blocks in a blockchain, and each block would have the addresses that correspond to the name. The blockchains would be distributed and replicated and not controlled by a central authority unlike now.
The primary notion behind a CDN is to distribute content in manner such that the number of hops taken by a consumer of such content is reduced, and speed increased. There are several CDN networks like Akamai, Limelight, Amazon Cloudfront, and more such names that offer such services.
With the advent of Blockchain, one can technically construct a CDN using blocks on a distributed ledger.
Services such as BlockCDN.org and Linius are leveraging the Ethereum network to create a blockchain based CDN. This is a specialized form of blockchain known as a Content Blockchain. Typically, an implementation (e.g. Linius) works as follows:
- A file index is stored in a block. That block is related to other blocks that contain transactions and the delivery format of that file.
- When a file is introduced to the CDN, the blockchain broadcasts a new content block
- A second block is created with the smart contract i.e. business rules around the content
- A third block contains security information e.g. user details, user agent and permissions
- A fourth block contains the delivery format
When a file is accessed, a virtual file is delivered to the client which is mapped to the CDN proxy server which in turn maps it as a physical file. The hash created for security is a signature created by a combination of a private key and a virtual file index stored in a block. The key changes every time a delivery is made.
Some of the advantages of this approach include:
- Provide a mechanism to measure usage and thereby royalty payments to authors of content
- Provide a more stringent access control mechanism to content
- Provide a decentralized content delivery mechanism
- Integrate content delivery and financial payments in a single mechanism
Web Services have been a mainstay of middleware for the last two decades coupled with the Service Oriented Architecture methodology. Typically, when a client wishes to request data from a provider, the server provides a web service interface. The client calls into the interface and the interface usually does computations or accesses internal databases and the sends back the results to the client.
Now with blockchain, when two entities wish to communicate and it involves looking up databases and such, one way to accomplish that would be to have a distributed decentralized database. The requesting party can access the blockchain to query for information that they need. The service provider, needs to simply publish relevant info to the blockchain and no longer needs to provide a web service. Any computation that was previously in the web service could be repackaged as a smart contract around the block(s) of data that were published.
This may be an alternative approach to consider, especially in cases where the web service was a gatekeeper to an internal database.
NetObjex and Blockchain
The NetObjex platform supports blockchain at multiple levels. It allows you to point and click and do the following:
- Select a chain of your choice
- Craft a data structure for what you wish to publish on the chain
- Associate a smart contract with a block
- Link to content associated with a block
- Store transactions that are linked with the block
- Publish and Launch!
NetObjex makes managing chains as simple as a-b-c!
We have seen some interesting use cases for the use of Blockchain technology. These are early days yet and some performance issues exist as well as niceties such as easy querying mechanisms are lacking. So, it may not be ready for prime time but definitely blockchain holds tremendous promise as a core technology construct in the arsenal of many tech organizations.
By Raghu B on December 1, 2016