Blockchain for social media – A cloud-agnostic Blockchain as a Service (BaaS) offering permissioned blockchain services for agile social media.
Social media platforms are key technologies for next‐generation connectivity and have the potential to shape and mobilise communication patterns. Major social media platforms such as Facebook, Twitter and YouTube have the power to censor users’ content even against the users’ wishes based on their terms of service. Furthermore, they monetise their users’ content and control the flow of revenue single‐handedly. Blockchain technology provides a solution to these problems. Social media projects can prevent the censorship issue by storing user content on a blockchain’s immutable ledger which gives users control over the reward and reputation points through unstoppable crypto transactions. Furthermore, the traceability and security provided by a blockchain infrastructure can ensure content ownership. This ensures that the power of content relevance lies in the hands of those who created it, instead of the platform owners.
Blockchain technology came into the forefront from innovation made for the BitCoin cryptocurrency. Since its inception, it has attracted many academic communities due to its inherent properties of traceability, accountability, anonymity, persistence, decentralisation and auditability. The initial blockchain technology developed for Bitcoin has now significantly evolved and utilised in various fields outside cryptocurrencies, resulting in a new disruptive business ecosystem. Some prominent examples include supply chain and logistics monitoring in the Supply Chain Management industry, secure sharing of medical data in the healthcare industry and secure voting systems. The last decade saw the emergence of a wide range of blockchain‐based applications and services due to significant advancements in blockchain technology.
Blockchain – The technology
Blockchain is a distributed ledger that allows collective guarantees on operations, transactions, and storage of data by a set of distinct entities rather than a single party. The transactions added to the ledger are immutable which can be verified by the nodes from various entities that are part of the network. Blockchains can be classified as permissioned and permissionless.
- Permissionless blockchains are public blockchains that require no permission to join and interact with.
- Permissioned blockchains are private blockchains that require special permission from the network administrator or the owner to join the network.
Agile social media DApps – Permissioned or Permissionless blockchain?
Public permissionless blockchains lack the ability to address the critical requirements of social DApps such as privacy, scalability, and performance. They are fully transparent, dependent on a fluctuating number of users that maintain the network and inherent nature of computationally expensive transaction validations as shown in figure 1. Public permissionless blockchains such as Ethereum and Bitcoin maintain a universal blockchain network supported by anonymous users allowing deployment of decentralised applications (DApps) to these networks whereas private permissioned blockchains need organisations to come together and form their blockchain network. Furthermore, public permissionless blockchains are not configurable in terms of consensus choice, architecture requirements, resource utilisation, and in turn are not adaptable to meet the critical requirements of social DApps such as privacy, scalability, and performance.
Based on this discussion, it is evident that there is a need for blockchain solutions that focus on the privacy and protection of sensitive user data while ensuring that the network remains highly available and can efficiently handle large and increasing numbers of transactions, user requests, and other operations. Private permissioned blockchains like Hyperledger Fabric become more relevant for enterprises providing social DApps as they can enforce their governance model and policies, whereas public permissionless blockchains need organisations adhering to the existing governance model of the network.
The importance of Blockchain as Service (Baas)
Recent technological advancements in the blockchain domain such as the high-performance consensus mechanisms offering high throughputs have evolved the technology to be viable for time‐critical social media projects other than the fields of finance. However, the technical complexities associated with blockchain technology makes it difficult for the developers to deploy, monitor, and maintain such blockchain‐based network ecosystems. This leads to vulnerabilities in the security and reliability requirements. Although this may be due to several reasons, the primary reason lies behind the complexities associated with the technology itself. This makes it difficult to adapt to future requirements, while they are designing the business logic. Additionally, this also increases the difficulty in monitoring the stability of such systems, since application developers lack the underlying domain knowledge.
To address these issues, developers have to spend a significant amount of time and energy to gain knowledge on the underlying blockchain technology instead of focusing on developing solutions to address the core business objectives.
In recent years, BaaS private permissioned blockchain solutions have been proposed to simplify the process of deploying and managing such high‐performance blockchain ecosystems. This will enable developers to quickly set up a blockchain‐based network in cloud platforms without worrying about the complexity of the underlying architecture. BaaS platforms also provide additional performance and security mechanisms for the underlying system.
What is Blockchain as Service (Baas)?
BaaS is the combination of blockchain and cloud computing, allowing users to utilise cloud‐based solutions to host, build and manage private permissioned blockchain networks, apps, and smart contracts. The requirements to maintain an easily accessible and operational blockchain ecosystem is managed by the BaaS providers. This reduces the deployment cost and simplifies the operation process which improves blockchain adoption across the business.
BaaS provides an abstraction over the underlying technical complexities and offers easy access to configure and deploy blockchain technology. BaaS also offers additional monitoring and operation services regarding the performance of the blockchain network. Developers can utilise these services to quickly verify their models and concepts. The serviceability of the BaaS platform is associated with its instrumentality offering facilities to create, deploy, monitor a blockchain‐based network.
Popular BaaS market Solutions
In recent times, several companies have released their BaaS platforms to reduce the efforts associated with the deployment of blockchain‐based networks. Among them, the more prominent are shortlisted in continuation:
IBM revealed BaaS in 2017 using the Hyperledger Fabric on IBM cloud, which allows any private and public organisations to introduce private, public, or consortium blockchain. IBM provides SaaS through Bluemix that helps developers to create blockchain applications without extra setup.
Microsoft Azure Blockchain Workbench aligned during late 2015 with Consensys offers an Ethereum BaaS on top of the existing Azure platform. The Azure Blockchain Workbench contains two major tools, Microsoft Flow (Ether.Camp) and Logic Apps (BlockApps), which establish a scalable and integrated blockchain development environment along with a consortium Ethereum blockchain DApp development environment.
Amazon Web Service (AWS) started providing blockchain by partnering with third parties (e.g. R3, Kaleido), however, it recently announced its blockchain platform. Later, Amazon declared its blockchain service based on Hyperledger in two forms: Amazon Quantum Ledger Database (QLDB) and Amazon Managed Blockchain.
Oracle recently introduced the Oracle Blockchain Cloud Service (OBCS) in addition to their already established PaaS and SaaS. To quickly start the internal blockchain (distributed ledger) project, Oracle BaaS introduced two key concepts. Firstly, OBCS possesses a turn‐key sandbox solely designed for developers. Secondly, independent software vendors facilitate the deployment of blockchain technology.
Kaleido Blockchain Business Cloud is the only full‐stack platform for building and running cross‐cloud, hybrid enterprise ecosystems. Kaleido brings the simplicity of SaaS combined with the performance, security, global reach, and cloud-scale in an enterprise platform.
R3 Corda ChainStack is a BaaS platform that gives enterprises access to the one‐click deployment of cloud‐based Corda nodes. Built on the latest release of Corda 4.1, developers can develop their private networks for testing environments and install Corda DApps on the private network nodes
SAP introduced SAP‐CloudPlatform Blockchain and SAP HANA Blockchain services. SAP HANA BaaS connects the SAP HANA database with DLT with support for the stellar consensus protocol (SCP) blockchain hosted on the third‐party cloud and local infrastructures. SAP HANA is not a blockchain node, but it configures the connection properties of SCP.
The services provided by these companies restrict the users to their cloud infrastructure to use the BaaS platform. For instance, Microsoft’s BaaS restricts users to use the Azure ecosystem, whereas Amazon’s BaaS platform requires EC2 instances. The primary objective of blockchain technology is to bring trust back to Internet applications. Most competitors fail to address this key property of blockchain by following the principles of centralised services in their offerings. Their blockchain services tend to lock‐in their customers into their private cloud infrastructure that defeats the purpose of blockchain being independent and decentralised. They fail to offer a modular cloud‐agnostic toolkit for fast and state‐of‐the‐art blockchain deployment across multiple independent cloud providers to support complex business scenarios.
ARTICONF as a novelty project promises to address these requirements and provide a cloud‐agnostic, convenient, reliable, and safer BaaS platform. ARTICONF aims to address these issues through its Trust and Integration Controller (TIC) tool. Below, in detail are explained the advantages and the functions of this tool.
Trust and Integration Controller (TIC)
The Trust and Integration Controller(TIC) is a BaaS platform that provides secure, resilient, and permissioned blockchain services over heterogeneous cloud environments. TIC improves the current BaaS platforms, providing an easier development environment for common developers. TIC is cloud‐agnostic allowing the deployment of a blockchain network over a heterogeneous set of cloud platforms, configurable to different types of architecture as per the business needs. Besides, TIC also provides API services for smart contract deployment and maintenance, SDK services for both mobile and web applications to interact with the blockchain network, explorer services to visualise the deployed blockchain network and architecture, management services to monitor and maintain the network. Furthermore, benchmarking services that help developers to easily conduct detailed performance analysis to perform targeted optimisation is needed.
To meet the high‐availability and high‐throughput requirements of time‐critical social DApps, TIC uses a Hyperledger Fabric permissioned blockchain which offers high‐performance compared to public permissionless blockchains, as discussed above. TIC uses the native Docker Swarm container orchestration to address the high availability and scalability of blockchain services. To address the issue of system failures, automatic service recovery, and storage of common certificate credentials required by the blockchain services, TIC uses a NAS called GlusterFS which efficiently handles the requirements of agile social media applications. Finally, to automate the deployment, management, and configuration of all the microservices, TIC utilises Ansible to offer the blockchain service as shown in figure 2.
The TIC tool of the ARTICONF platform provides a suite of micro‐services that collectively provide a cloud‐agnostic permissioned blockchain network for federated time‐critical social network applications.
It seamlessly integrates with heterogeneous cloud environments and can:
- Configure the cloud infrastructure architecture as per the application requirements of the blockchain organisation specified by the social DApps developer or explorer.
- Configure the microservices parameter of Hyperledger Fabric blockchain.
- Deploy the configured Hyperledger Fabric blockchain services.
- Provide blockchain network visualisation and monitoring services.
- Verify the deployed blockchain services.
- Provide SDK support for both mobile and web apps to interact with the deployed blockchain network.
- Provide API’s to install, instantiate, and update smart contracts of the social DApps.
- Provide benchmarking services to monitor the performance of blockchain services.
- Provide management services to fine‐tune the deployed blockchain microservices to achieve high performance.
TIC advantages over other BaaS Platforms
The primary objective of blockchain technologies is to bring trust back to internet applications. The majority of the competitors fail to address this key property of blockchain by following the principles of centralised services in their offerings into the blockchain. Their blockchain services tend to lock‐in their customers into their private cloud infrastructure that defeats the purpose of blockchain being independent and decentralised. Key technological advancements in TIC for the development and deployment of permissions enterprise‐oriented blockchains infrastructures are:
- Simplification of the deployment of custom and configurable blockchain infrastructures by encapsulating the underlying complexities into modular interfaces.
- Innovations on controlled sharing of data over a blockchain network, creating a shift in data sharing by empowering users to have complete control over their data.
- A modular Cloud provider agnostic toolkit for fast and state‐of‐the‐art blockchain deployment.
- A blockchain‐based framework for controlled software development environments in private data centres for third party application and service providers.
The existing BaaS solutions lack built-in orchestration mechanisms to support high availability, scalability, redundancy, automatic repair, automatic restart of the deployed blockchain services, which are critical requirements for social DApps. Furthermore, the existing BaaS solutions do not have high‐performance persistent storage support for the platform, to be able to recover during infrastructure or system failures.
- Antorweep Chakravorty and Chunming Rong. 2017. Ushare: user-controlled social media based on blockchain. 11th International Conference on Ubiquitous Information Management and Communication. ACM, New York, NY, USA, Article 99, 1–6. DOI: 10.1145/3022227.3022325.
- Tara Salman, Maede Zolanvari, Aiman Erbad, Raj Jain and Mohamed Samaka, Security Services Using Blockchains: A State of the Art Survey. IEEE Communications Surveys & Tutorials, vol. 21, no. 1, pp. 858–880, IEEE, 2019, DOI: 10.1109/COMST.2018.2863956.
- Devopscube, 18 DevOps Tools for Infrastructure Automation and Monitoring, 18 June 2020, devopscube.com/devops‐tools‐for‐infrastructure‐automation/
- Weilin Zheng, Zibin Zheng, Xiangping Chen, Kemian Dai, Peishan Li and Renfei Chen. NutBaaS: A Blockchain‐as‐a‐Service Platform. IEEE Access, vol. 7, pp. 134422 – 134433, 2019, DOI: 10.1109/ACCESS.2019.2941905
- “Introduction to Permissioned Blockchains,” 101 Blockchains, 17-Oct-2020. [Online]. Available: https://101blockchains.com/permissioned-blockchain/. [Accessed: 20-Oct-2020].
This blog post was written by bitYoga team in October 2020.
< Thanks for reading. We are curious to hear from you. Get in touch with us and let us know what you think. >