Semantic Blockchain: Semantic web on/with the blockchain

Finding all the ways to inject, insert, use, relate, apply, etc. Semantic web principles on blockchain based technologies. Author: Héctor Ugarte https://twitter.com/hectugaroj

Semantic Blockchain (SB) – Semantic Distributed Ledger (SDL)

This new idea that in some way applies Semantic web principles on blockchain and/or viceversa, is currently being under research by few computer scientist and researchers around the world. Some few proposed definitions (by me) of Semantic Blockchain are:

  1. Semantic Blockchain is the use of Semantic web standards on blockchain based systems. The standards promote common data formats and exchange protocols on the blockchain, making used of the Resource Description Framework (RDF).
  2. Semantic Blockchain is a distributed database that maintains a continuously-growing list of standardized data records, using generally Resource Description Framework (RDF), hardened against tampering and revision.
  3. Semantic Blockchain is the representation of data stored on the blockchain using Linked Data.

rdfnet

It is true that Semantic Web didn’t have the desired impact on the industry. It is widely used and popular on the academic world, but very misunderstood and underestimated on the business environment. But blockchain technologies can be a game changer for this not ideal currently reality. The inherent properties of the blockchain as: auditable, traceability, guaranteed continuity, super distributed Security, proof of uniqueness, ownership of data, etc should work as a boost for Semantic Web.

Similarly, current blockchain platforms as Ethereum are lacking of Semantic reasoning on its components, for example on the “Smart contracts”. Semantic web standards are out from many years and could be easily adapted to these new blockchain based platforms.

In fact, there is a big space of research to make in the field of “Semantic Blockchains” or “Semantic Distributed Ledgers”, and hopefully will not stay on the research field only, and will take a big jump to the industrial world. For that it results crucial to start developing applications that merge these 2 worlds.

SemanticBlockslogoplastic

Starting thoughts.

semanticblockchain2

“The Semantic Blockchain Network”

sbn

The Semantic Blockchain Network (SBN) and its implementation on Ethereum The Ethereum Semantic Blockchain Network (ESBN). Idea proposed by Héctor Ugarte.

BLONDiE Blockchain Ontology with Dynamic Extensibility

blondie

As early introduced:

A comprehensive vocabulary that covers the structure of different components (Wallets, Transactions Blocks, Accounts, etc) of blockchain platforms (Bitcoin and Ethereum) that can be easily extended to other alternative coins.

This project is in a very early stage and surely present inconsistencies, but I’ll be iterating throw it and improve it. I will try to build a good use case application that could be for example a Blockchain explorer based on RDF datasets instead of relational databases like the most popular ones.

For Bitcoin 1.0 applications the semantification of the blockchain starts from a simple mapping like this one. For Bitcoin 2.0 (Blockchain 2.0) platforms, it will require a more deeper analysis of How to store RDF data on the blockchain and start building a Linked Data Graph on this platform (for example Ethereum).

Github link: https://github.com/hedugaro/Blondie

Semantic Blockchain

a.k.a.: “semantic distributed ledger” (SDL)

With the emerge of blockchain principles and latest applications being developed on Bitcoin 2.0 platforms, the need for semantic reasoning emerge on the blockchain. The natural name for this new addon of the blockchain is “Semantic blockchain”. The blockchain is the perfect platform to make Semantic web principles widely used and add to this related datasets a new property that is “trust”. Since blockchain logs the truth, or at least the accepted truth by transactions or smart contracts, this new datasets are completely trustable. Also the blockchain offers an homogeneous platform to create the new Web 3.0, as opposite of the current heterogeneous web.

  •  Semantic technologies offer clear performance benefits for making sense of large amounts of structured and unstructured data, i.e. a relational framework

  • Blockchain technologies potentially offer unique ways for managing, processing and securing transactions in decentralized systems, i.e. a sequential framework

Combination of these two approaches is vital for implementation of next generation systems which should provide the possibility for mapping, programming, processing and securing existing and new data with a common global language

SOURCE: ISITC Europe Blockchain Work Stream Inaugural Meeting In Association with BISS Research Kindly hosted by London Met http://www.isitc-europe.com/files/documents/Complete-presentation-for-Blockchain-Event-FINAL.pdf

The proposed logo for this new concept is the next one:

3 blocks of the semantic web logo, connected representing a chain.

SemanticBlockslogo2

Or simply one cube:

Semantic Blockchain Logo

Semantic Blockchain Logo

Blockchain logo as a database

When trying to model diagrams explaining architectures working on/with a blockchain, there is a need for a conventional logo to represent a blockchain node.

Standard database are represented on diagrams as a cylinder. The cylinder of database represented round edges of a Hard Drive Platter disk. This representation comes from a hardware point of view.

IxnMY
In case of the blockchain, I think that the best representation should be a cube block, with wide borders, representing the blockchain. and a shaking hands on the top face representing consensus.

blockchainlogo

EXAMPLE:

exemplary

 

 

Semantic Web Ontology for Cryptocurrencies

Currently I am developing a Semantic Web Ontology for Cryptocurrencies based on the structure of the different elements of the Bitcoin and Ethereum platforms (Wallet, Transactions, Blocks, etc). It is just in an early step, but is a good starting point for semantifiying blockchain concepts.

BitcoinOntology

What is Ethereum?

There are plenty sources of information on the web to answer this question. That is why instead of try to explain it explicitly, I will give some tips to understand this new platform quick and easy.

1. First, if you have no idea what is a cryptocurrency, I suggest you to start understanding what and how Bitcoin works. A very good book to do this is: Mastering Bitcoin by Andreas Antonopoulos (http://www.amazon.com/Mastering-Bitcoin-Unlocking-Digital-Cryptocurrencies/dp/1449374042).

2. Once you get the idea of bitcoin. Ethereum, is simple a Bitcoin 2.0 platform that takes the principle of achieve concensus without a central authority to also other use cases beyond money. In principle it also works very similar to Bitcoin, processing transactions, but in each transaction is possible to embeed code (Smart Contracts) that will let us build new Descentralized Applications(again, just another applications without needing a central authority to achieve concensus).

and Vitalik Buterin explaining it:

3. What are these others Descentralized Applications? In principle, every system that is working on a centralized manner can also be rewritten on a Descentralized way using Ethereum. But, surely the main idea of Ethereum is not that. Ethereum intention is not to overwrite all the existing systems in this new P2P blockchain way of thinking, but is to give a platform, that can handle Applications that really need Descentralization. The natural division right now is Financial and non Financial Applications. Very good usecases can be, Provenace of things in general, Electronic Vote, Crowfunding, Internet of Things, etc.

4. There are dozens of Other benefits of using a descentralized protocol like Bitcoin. Like keeping a permanent record of all transactions, where all the info is public, and for private information this can be simply encrypted. And one more important benefit, is that gives an Homogeneus framework for this Descentralized Applications, that can be a very benefitial point for Systems like Semantic Web based ones.

5. A very nice motivating video about Bitcoin:

 

Provenance: White paper abstract

LINK TO THE WITHEPAPER: https://www.provenance.org/whitepaper

provenancelogo

Provenance: White paper abstract

Prototype that uses block chain technology to enable secure traceability of certifications and other salient information in supply chains. Enables every physical product to come with a digital passport that proves authenticity and origin. Creates auditable records of the journey behind all physical products.

Transparency: Competitive advantage. Centralized systems can’t power transparency: “Relying in one party creates an inherent bias and weakness in the system”.

3 key differences between block chain and most existing computer designs:

  • Non localization: Data on the block chain is determined by consensus. A user can unambiguously discover the state of the system.
  • Security
  • Auditability: By design is perfectly auditable.

Authentication provided in the form of an unforgeable digital signature.

Implementing supply chain certification on block chain:

Propose alternative approach to the certification and chain-of-custody challenge in suitable supply chains. A system to assign and verify certifications of certain properties of physical products.

Outline a model of the various materials and components from initial production through manufacture and assembly to the final customer.

At each point of time, 4 key properties concerning all materials and consumables it covers:

  • The nature (what it is)
  • The quality (how it is)
  • The quantity (how much of it there is)
  • The ownership (whose it is at any moment)

Information architecture for a certification and chain-of-custody system on the block chain

6 different types of actors:

  1. Producers (e.g. cotton growers)
  2. Manufacturers (e.g. makers of fabrics of jeans)
  3. Registrants (Organizations that provide credentials and unique identity to actors) (e.g. accreditation service)
  4. Standards organizations (Define the roles of a certain scheme) (e.g. Fair trade)
  5. Certifiers and auditors which are agents, usually separate agents, to maximize secure, that inspect producers and manufacturers and verify certain standards like annual production capacity.
  6. Buyers of product all along the supply chain, including the end consumer.

Principal architecture:

Consist of a number of modular programs.

  1. Registration program

It’s this program alone that form the fundamental trust relationship between customer and the system as a whole.

This program is initial deployed by the registrar that initially a process for registration of named participants (certifiers, auditors, producers, and manufacturers)

Such participants may request registration of their digital identity, which links their real world identity with their block chain based digital identity. (that way allow them to interact with the block chain using their real-world identity. Upon request, the registration authority verifies their identity and records the result in the block chain, available for all to inspect.

Important: The system could allow participants to remain anonymous, at the cost of opacity at the state of the supply chain, at which the actor operates.

The exception is certifiers, who need to register and identify themselves in order to make the system work.

  1. Standards programs.

These programs represent the implementation of schemas for proper recognition of a standard. Through these programs, standards organizations provide for the creation of compliant production of manufacturing programs, allowing instances or batches of goods and materials to be added to or processed on the block chain.

Such producers or manufacturers may require inspection by a certifier or auditor of their facilities and processes to be able to obtain and operate a certified program.

Successful verification results in the deployment of a production or manufacturing program that is both registered with the certification program and authenticated by an auditor, and allows a producer to create the digitally tradeable equivalent of a good.

  1. Production programs

These programs are used by producer to prove the creation of materials or primary goods. The program specifies and implements the parameters for each production facility, including:

  • Certification of the production capacity for the production of the good (eg. Scoot of cotton per year)
  • A taxonomical description of the good. Which would include a detailed description of the output, together with additional tags to help identify specific attributes. (e.g. for trade, for labor, organic).
  • The production accounting, i.e. Registration of created produce up to the maximum annual capacity as well as their registration of their sales.

These parameters can be adjusted according to desire guidelines by certifiers or following the inspection by an auditor, and in case if unsuccessfully audit the program cam temporally revoke if necessary.

Producer: programs are the root for the traceability of finished goods.

  1. Manufacturing programs

These programs implement the transformation of input goods from production into output goods. Much as production programs once deployed by the certifier, the programs are operated by manufacturers, but with additional constraint: Input goods must be used for any output to be created just as in the physical world.

For example, the registration of a certain amount of organic cotton and after this usage the raw organic cotton should no longer be usable.

Tagging. Establishing secure links between the digital and the physical world.

Serial numbers, bar codes, digital tags like RFID and NFC, genetic tags linked this with secure hash to the block chain.

Semantic web ontologies development & Publish Guide

A compilation for a fast and easy way to develop and publish web semantic ontologies. Like the ones I will develop and use for the blockchains.

LINK: https://es.scribd.com/doc/306978185/Semantic-web-ontologies-development-Publish-Guide

Multilayered architecture on Ethereum

Lets consider the next facts:

  • Smarts contracts can be written in different languages (one of them Solidity), and they will be stored on the blockchain on a precompiled format).
  • As you may know ethereum recommends to use “existing web development skills, tools, and favorite frameworks “ to develop User Interfaces.
  • web3.js API. is a way to call Smart Contracts using JavaScript.

In an architectural hardware point of view:

  • Smart contracts are replicated on the blockchain that works on a P2P environment.
  • UI framework, and connectivity, for the moment relies on a client-server architecture. Maybe in a future, P2P environments will also be used.

ethereum_architecture_blog
server-based-p2p

Multilayered architecture is defined as: “…is a software architecture that uses many layers for allocating the different responsibilities of a software product”.

For this purpose, 3 most common layers:

  • Presentation layer: Lets consider all the elements working on the the web browser environment, even if all this environment can be splited on its own on different layers, from a general point of view, on Ethereum, they form the presentation layer. [FRONTEND]
  • Application layer: Is formed by the smart contracts, [BACKEND]
  • Data access layer: Data is stored on the transactions, and could be also stored outside the blockchain (f.e. with IPFS)