Smart to Social – Evolution of Social IOT

Sridhar krishnan

Sridhar krishnan

Things, the smart objects turn to social objects to boost the pace of IoT emergency and to make it more universal. The relationships of co-location, co-ownership, co-work and parental among friend objects provide a platform to share services, information, computing, and other resources and output. This modern promising paradigm of technology extension is called Social Internet of Things (SIoT). An inevitable aspect of SIoT is the convergence of smart objects and social media that can introduce new social interactions by enabling the things to have their own social networks and interactions. The smart objects can establish their social relationship based on their activities, interest, and profile.

Here are the three main facets of an SIoT system:

  1. The SIoT is navigable. We can start with one device and navigate through all the devices that are connected to it. It is easy to discover new devices and services using such a social network of IoT devices.
  2. A need of trustworthiness (strength of the relationship) is present between devices (like friends on Facebook).
  3. We can use models like studying human social networks to also study the social networks of IoT devices

Basic Components

In a typical social IoT setting, we treat the devices and services as bots where they can set up relationships between them and modify them over time. This will allow us to seamlessly let the devices cooperate among each other and achieve a complex task.

To make such a model work, we need to have many interoperating components. Let us look at some of the major components of such a system.

ID: we need a unique method of object identification. An ID can be assigned to an object based on traditional parameters such as the MAC ID, IPv6 ID, a universal product code, or some other custom method.

Meta information: along with an ID, we need some meta information about the device that describes its form and operation. This is required to establish appropriate relationships with the device and appropriately place it in the universe of IoT devices.

Security controls: this is like “friend list” settings on Facebook. An owner of a device might place restrictions on the kinds of devices that can connect to it. These are typically referred to as owner controls.

Service discovery: such kind of a system is like a service cloud, where we need to have dedicated directories that store details of devices providing certain kinds of services. It becomes very important to keep these directories up to date such that devices can learn about other devices.

Relationship management: this module manages relationships with other devices. It also stores the types of devices that a given device should try to connect with based on the type of services provided. For example, it makes sense for a light controller to make a relationship with a light sensor.

Service composition: this module takes the social IoT model to a new level.
With SIoT, things can publish information and services, find information and services and get environment characteristics that can be used to achieve the following,

Communal sharing – Behavior of objects with collective relevance

Equality matching – Objects operate as equals and requests/provide information among them in the perspective of providing IOT services to users while maintaining their individuality

Authority ranking – Established between objects of different complexity and hierarchical levels

Market pricing – Working together with the view of achieving mutual benefit. Participation in this relationship only when it is worth the while to do so.

The goal of having such a system is to provide better-integrated services to users. For example, if a person has a power sensor with her air conditioner and this device establishes a relationship with an analytics engine, then it is possible for the ensemble to yield a lot of data about the usage patterns of the air conditioner. If the social model is more expensive, and there are many more devices, then it is possible to compare the data with the usage patterns of other users and come up with even more meaningful data. For example, users can be told that they are the largest energy consumers in their community or among their Facebook friends.



How to Use the IonBloc SDK


Srinidhi Murthy

What is Block Chain?

A blockchain – originally block chain – is a distributed database that is used to maintain a continuously growing list of records, called blocks. Each block contains a timestamp and a link to a previous block. A blockchain is typically managed by a peer-to-peer network collectively adhering to a protocol for validating new blocks. By design, blockchains are inherently resistant to modification of the data. Once recorded, the data in any given block cannot be altered retroactively without the alteration of all subsequent blocks and a collusion of the network majority. Functionally, a blockchain can serve as “an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way. The ledger itself can also be programmed to trigger transactions automatically.”

Blockchains are secure by design and are an example of a distributed computing system with high Byzantine fault tolerance. Decentralized consensus has therefore been achieved with a blockchain. This makes blockchains potentially suitable for the recording of events, medical records, and other records management activities, such as identity management, transaction processing, and documenting provenance.


ionBlocIonBloc Data flow and usage

IonBloc is our version of Open source Ethereum Blockchain network that can be setup as a public production implementation or a private test implementation depending on client needs.

In an IoT network, the blockchain can keep an immutable record of the history of smart devices. This feature enables the autonomous functioning of smart devices without the need for centralized authority. Thus, blockchain opens the door to a series of IoT scenarios that were remarkably difficult, or even impossible to implement without it.

By leveraging blockchain, IoT solutions can enable secure, trust less messaging between devices in an IoT network. In this model, the blockchain will treat message exchanges between devices like financial transactions in a Bitcoin network. To enable message exchanges, devices will leverage smart contracts which then model the agreement between the two parties.

Using blockchain will enable true autonomous smart devices that can exchange data, or even execute financial transactions, without the need of a centralized broker. This type of autonomy is possible because the nodes in the blockchain network will verify the validity of the transaction without relying on a centralized authority.


The IonBloc SDK allows for a seamless connection to our private Blockchain. Here’s how you can do it. You need to have a Raspberry PI 3 with a 16GB SD card and running the latest Raspbian OS. Also, you need to have a stable high speed Internet connection (500 kbps at a minimum)

  • Download the Zip file from Github or execute a git clone command on our repository.
  • Extract and Install the SDK using the Installation script.
  • Some of the necessary support libraries are installed and you are taken to a GETH console.

Once you are in the GETH console,

  • Create a new account. (Noted down the password)
  • Provide our Admin Enode address and Pair
  • That’s it you are connected to our private Block Chain.

Now the possibilities are endless, but to get you started we have given a sample code and procedure to create contracts to blink an LED connected to a GPIO pin on the R-PI.

You can create contracts which have more features, which can read sensors, turn on actuators, monitor sensors etc.
IonBloc SDK is just the starting point … the tip of the iceberg. Some of the more advanced use cases can be found in

IonBloc SDK is just the starting point … the tip of the iceberg. Some of the more advanced use cases can be found in

  • Industrial and manufacturing for improving monitoring and efficient “Just in Time” (JIT) processes.
  • Connected and Driverless vehicles where every vehicle becomes a node and there can be an efficient vehicle to vehicle communication.
  • Public infrastructure and smart cities: Smart devices are already being used to track the health of bridges, roads, power grids etc. Blockchains can be used to interconnect these to share efficiencies and to conduct maintenance, forecast usage trends for power usage, pollution etc.

We have given a limited set of features to create a working POC that can be later developed into fully fledged modules. There are many more features that can be added as a part of customization for specific requirements.
We can do a lot more with IonBloc (some of the features are present in the data flow diagram).

Please feel free to contact us at the for any information or customization.