Modelling principles for blockchain-based implementation of business or scientific processes Mantas Jurgelaitis Vaidotas Drungilas Lina Čeponienė Information Systems Department Information Systems Department Information Systems Department Kaunas University of Technology, Kaunas University of Technology, Kaunas University of Technology, Informatics Faculty Informatics Faculty Informatics Faculty Kaunas, Lithuania Kaunas, Lithuania Kaunas, Lithuania mantas.jurgelaitis@ktu.lt vaidotas.drungilas@ktu.lt lina.ceponiene@ktu.lt Rita Butkienė Evaldas Vaičiukynas Information Systems Department Information Systems Department Kaunas University of Technology, Kaunas University of Technology, Informatics Faculty Informatics Faculty Kaunas, Lithuania Kaunas, Lithuania rita.butkiene@ktu.lt evaldas.vaiciukynas@ktu.lt Abstract—Blockchain technology and smart contract scientific papers about blockchain technology are development currently lacks clarity in its implementation. The whitepapers, documentations or technical documents; some of complicated architecture of blockchain is an obstacle that which may be incomplete or are still being updated. A developers face during design and implementation of practical approach to blockchain development also demands blockchain-based systems. In this paper we propose a method considerable investment [6]. Developers need to have a clear based on Model Driven Architecture, which could be used for understanding of the capabilities and limitations of blockchain defining and specifying blockchain structure and behavior. technology. Additionally, they need to acquire the necessary Such approach could be used as one of the ways for describing skills to implement the technology and to figure out how the blockchain-based systems in a more general language in order new trust architecture would affect the application. to facilitate blockchain development process. Currently, the blockchain technology is most broadly Keywords—blockchain, smart contract, MDA, UML applied for cryptocurrencies, but other areas are in early adoption as well. Solutions for automating the insurance I. INTRODUCTION process [7], supply chain management [8] even some Blockchain is a decentralized, distributed database that is proposals for scientific reproducibility or decentralization of shared and replicated across all the parties participating in the scientific data exist [9] [10]. But various authors describe the network. It takes a form of a public ledger for the transactions same concepts differently and only a few define their contained in the chain [1]. The blockchain is made up of development process [8] [11] [12]. The capability for blocks, where each block contains a hash of the previous replicating blockchain technology solutions is low, as it is block, thus linking to it [2]. The main advantages provided by highly dependent on the authors' environment. No formal the blockchain are a peer-to-peer exchange (i.e. methods exist, and common elements are difficult to find or to decentralization) and robust public record keeping with the associate. This is particularly noticeable with the more possibility to eliminate the intermediary between parties [3]. complex elements that support more complicated scenarios [13]. The common process for development of blockchain- Blockchain enables development of distributed software based system could ease the applicability in other areas than architecture where networks of untrusted participants can the financial sector and bridge the knowledge gap among establish agreements on shared states for decentralized and stakeholders of blockchain technology. transactional data in a secure way. Blockchain ensures trust among parties in decentralized systems without the need of Modelling is a common tool for facilitating centralized supervisor in charge of verifying the correctness communication, visualizing the development process and of the records in the ledger [4]. Since blockchain digital even automating the implementation of some development currencies combine features of money with those of a payment artefacts. The strategies of Model Driven Development [14] system, central banks started to investigate the technology. are often applicable in the area of software engineering. Model From the industry side, over one hundred corporations have Driven Architecture (MDA) is a methodology, which joined blockchain working groups or consortia and the encompasses a set of guidelines for specifying models during number of patents filled increased to more than three thousand software development process [15]. Each MDA-based in 2017 [5]. specification has three levels: A Computation Independent Model (CIM), a Platform-Independent Model (PIM), and one Blockchain itself cannot handle large amount of or more Platform-Specific Models (PSM). Unified Modelling information, because the main purpose is to store simple Language (UML) [16] is commonly used for MDA model transactional logs. As a result, scalability of blockchain is a development. MDA models can represent system at different concern for the developers [4]. Even though the technology levels of abstraction, from various viewpoints, from enterprise has been around for a while, there are only a few academic architectures to technology implementations [17]. Model- blockchain-related studies. Most of the available non- Driven Architecture principles could be adapted to blockchain and smart contract domain together with guidelines for © 2019 for this paper by its authors. Use permitted under Creative developing blockchain structure and smart contract behavior. Commons License Attribution 4.0 International (CC BY 4.0) 43 In this paper we present our idea of blockchain technology first generation of blockchain was all about cryptocurrency development method, based on MDA principles. The and its exchange possibilities. The 2.0 generation focuses proposed method could be used for different processes for the heavily on the use of smart contracts built using scripting definition of common elements and the identification of language of the blockchain. The third generation of potential application areas. The method could provide a more blockchain supports decentralized applications based on structured approach for the development of blockchain blockchain technologies in other previously unsupported areas elements, which could potentially shorten the time of like government, health, science and culture. development. In the future we plan on developing the method further. 1) Blockchain 1.0: Bitcoin and cryptocurrency Blockchain technology began with Bitcoin, and many The rest of the paper is organized as follows. The second developers around the world still consider that the main section discusses the background of blockchain technology blockchain example. Blockchain technology relies on a shared and its evolution. The third section presents current areas of public ledger that entire cryptocurrency networks share and blockchain application and research on improving blockchain- depend on. Traditional currency system participants rely on based systems development process. The fourth section the bank to authenticate the integrity of a ledger, but describes our proposition on applying principles of model- blockchain relies on peer-to-peer network transfer thus driven architecture for blockchain system development. The eliminating the need of the third parties. Today, the first last section summarizes concludes our main insights and generation of blockchain technologies is mainly defined by outlines future work. cryptocurrencies like Bitcoin [19]. Bitcoin has proven to be an effective decentralized digital currency. The relative II. BACKGROUND simplicity of Bitcoin and its inability to handle contracts limits This chapter presents the basic concepts and categories of its ability to serve a wider range of use cases. blockchain technology. In this way, we intend to define the domain in order to outline a common understanding of these 2) Blockchain 2.0: Ethereum and smart contracts technologies and attain a more comprehensive Bitcoin introduced a very basic scripting language, that communication in this area. Although the terms “blockchain” allowed some form of contractual complexity. The extension and “distributed ledger” are used interchangeably, the of this scripting language to handle more complex data blockchain is a type of distributed ledger technology and manipulations within blockchain came to be defined as a blockchain mostly differs from distributed ledger in the way second-generation blockchain technology. The second the data is stored [5]. For this reason, we refer to these generation is mainly represented by Ethereum. Ethereum technologies using the terms “blockchain” and “blockchain proposed a structure in which blockchain technology could be technologies” as they cover both concepts. used to facilitate the management of digital assets. Ethereum offers new functionality through so-called smart contracts, A. Blockchain technology which can manage agreements between parties on the Blockchain is a distributed database that is shared across blockchain [20]. A smart contract can manage itself, events participants [18]. Participants can independently verify can be triggered without the need of any party input. Second- information because copies of records are available in the generation blockchains can leverage distributed network for blockchain. If a node fails, the remaining ones can continue to computing power, this way smart contracts can execute operate. Verification process does not depend on a centralized complicated logic. In such cases, parties do not need to pay a authority. Information is kept in a digital ledger. The ‘trusted’ third party and could leave agreements to execute transactions in the blockchain are recorded near real time. autonomously. Once transactions are included in the ledger it is nearly Unfortunately, these blockchain technologies are known impossible to delete or rollback the changes. Each block is to struggle with scaling difficulties. Additionally, neither timestamped, and each block has a pointer referring to the data Ethereum nor Bitcoin is fundamentally integrable with other stored in the previous block in the chain. decentralized currencies or platforms; meaning that in most The data in blocks are hash sealed. The participants can cases users wishing to transfer value from one platform into interact with the blockchain only by using a generated address another must do so through via exchange services [21]. so that the identity of the user is not revealed. Any transaction 3) Blockchain 3.0 refers to some previous transactions. Once the current The new generation blockchains come into existence with transaction is recorded into the blockchain, the state of a focus to address the issues in both Blockchain 1.0 and 2.0 referred transactions change. That way transactions can be via different protocols, techniques and frameworks. High tracked and verified once needed. scalability, interoperability, adaptability, sustainability, Participants in the network authenticate and approve privacy as well as instantaneous transactions are features that transactions before inclusion to the blockchain. Few different should separate Blockchain 3.0 from its previous iterations methods for reaching consensus exist. Consensus algorithms [19] [22]. The third generation of blockchain is at the time in blockchain are used to maintain data consistency in a being developed and there are no specific blockchain solutions distributed network. Usually, the basis of such algorithms is which define this generation. A candidate for flagship that the majority of network participants needs to approve the blockchain example in this category should address present correctness of transaction. This way the need for a third party flaws of existing solutions. is avoided. In a traditional centralized transaction system, each B. Smart Contracts transaction needs to be validated by a central trusted agency (e.g., the central bank). An additional implementation of more advanced data manipulation mechanism for blockchain enabled application The blockchain technologies are divided into three layer development in the form of smart contracts. Basically, a generations, based on the complexity of the components. The smart contract is a deployed program that can be executed on 44 the blockchain network following the principle of trigger and the second that proposes using blockchain to work on causing an appropriate reaction [23] [24]. Smart contracts can scientific computations giving monetary rewards or free of express triggers, conditions, and even cover entire business charge. There are suggestions for blockchain to be used as a processes [11]. A contract can be viewed as a simple class, or platform to store medical data [27]. Storing medical data in it can contain complex structures, functions, modifiers, events blockchain makes medical data more accessible for medical for the implementation of various level of logic [25]. Usually, staff and general public alike. Also, there are propositions to blockchains have a built-in scripting language, which is used use blockchain technology as a proof of intellectual work [10]. to execute additional business logic triggered by a transaction. This could enable scientists or members of the general public Recent generations of blockchains (e.g. Ethereum and to store ideas in the blockchain with a timestamp of the Hyperledger) use integrated programming language proposed idea. The second category is run by business and executable by a virtual machine [2]. scientific organizations alike [28] [29]. The third category uses blockchain technologies for both storing data and The consumer deals directly with the transactions on the performing computational tasks. An example of the third blockchain, a smart contract holds value which is released at category could be blockchain used for federated learning and the time certain conditions are met, this way the contracts have also analyzed the latency aspects of their proposed lower transactional costs unlike traditional contracts [12]. architecture [30]. Smart contracts could theoretically cover entire software applications, but most smart contracts currently are like Blockchain use cases continue to grow in scope and traditional contracts for creating legally binding agreements complexity, that is why the need for common guidelines between certain parties. Other areas of applications for smart becomes apparent [31]. For blockchain to be accepted as a contract hold entertainment value (e.g. CryptoKitties [26]), technology in other industries besides financial, it is essential unlike aforementioned contracts, these contracts are most that stakeholders have a common understanding of the likely developed by people with interest in Solidity (contract- technology and possibilities of blockchain [32]. A few oriented programming language for writing smart contracts on proposals for standardization of software engineering of Ethereum blockchain) [11]. Smart contract code generation blockchain technologies have emerged during the last year would potentially simplify the smart contract development [11] [33] [34] [35]. The author of [11] proposes a development process, raise the abstraction level and increase potential method which includes smart contract development approach usage in various domains. based on MDA. In [33] a general proposal is presented for extending existing modelling notations to include specific Blockchain technologies are rapidly evolving and the area blockchain concepts or integrations. An approach for the of their application broadens. Our research focusses on modelling blockchain business networks via layer-based analyzing the applicability of these technologies in various modeling and ontology design is presented in [34]. Authors areas and possibilities of improving the development process describe abstraction layer which can be used to describe of blockchain-based systems. blockchain and develop a Blockchain Business Network III. RELATED WORK Ontology which depicts common terms for blockchain networks. A model-driven approach for generation of smart In this section we overview applications of blockchain contract code of is described in [35]. Authors develop BPMN technologies in various fields and discuss difficulties of process model for collaborative business process and use it for application of blockchain technology to diverse domains. The generation of smart contract code. In the area of information research on the applicability of modelling techniques to systems, the application of blockchain technology and blockchain-based system development is also overviewed. cryptocurrencies is still quite limited [2] [5]. In order to adapt One of the blockchain application areas is tracking the blockchain technology to specific needs, the main attention provenance of assets. Solutions like supply chain management should be paid to the development and implementation are one of the business issues that could benefit from methodologies of such technologies. automation with smart contracts. Evaluation of provenance is The lack of a formal and unified methodology complicates generally difficult not only because of the number of goods the application of blockchain technology. Only a small portion that are handled in complex supply chains but also because of of authors describe their development process, unfortunately the amount of information for tracking product location, these are often specialized for specific use cases. A universal physical characteristics. As a solution to this problem, simple method for development could ease the design and data models of the ontology were described. These models implementation process of blockchain technology-based were later used to develop smart contract implementation [8]. systems [36]. Introduction of some standard way for defining Another way to utilize smart contract on blockchain is and specifying blockchain structure and behavior could insurance-related contracts. The extended solution in a form facilitate the blockchain development process [37]. There are of framework exists to help developers deploy more secure proposals suggesting that blockchain components could be and less costly contracts. Smart contracts can automate the modeled using BPMN and UML [33], although researchers processes of insurance operations such as client registration, are not proposing to apply MDA to the whole development policy assignment, premium payouts, submission claims, and process. A similar proposal of using modelling to define smart processing of refunds without or with minimal involvement of contracts have been proposed in [38]. An approach to third parties [7]. Ethereum smart contract development was also proposed [11]. The analyzed proposals for modelling of blockchain and smart As well as business processes, there are many suggestions contracts are in the early stages and have not yet been to improve scientific processes using blockchain technologies extensively validated or tested. [9] [10]. Proposals for implementing blockchain technologies could be grouped into three groups: the first that uses Based on the analysis of blockchain application areas and blockchain as a storage unit or as a token indicating possession proposed techniques for its implementation, introduction of a 45 common methodology for blockchain-based system limitations of blockchain technology and the applicability of development could facilitate the development process and the technology for general purposes. Following this example, broaden the scope of its applications. the second step of the method would be to identify whether blockchain is applicable in the specific case. Using the defined IV. APPLYING THE PRINCIPLES OF MODEL-DRIVEN CIM and applicability questionnaire the specific case would ARCHITECTURE FOR BLOCKCHAIN-BASED SYSTEMS be assessed, and the outcome would be the conclusion whether DEVELOPMENT to proceed with the development of blockchain. To facilitate the development of a blockchain-based If blockchain technology is applicable, the development of system, we propose a methodology based on MDA principles. the blockchain would continue with the design of the Platform We believe, that such methodology could help to describe Independent Model (PIM). Traditionally PIM represents the blockchain-based systems concepts and behavior in a more design of the system without the details about its general language [37]. Furthermore, some development implementation. Considering the method is tailored for the actions could be accelerated by automation. This methodology blockchain, the defined models would include details about is seen as covering five system development stages (Fig. 1). implementation, but would not be based on any specific For each stage, a certain type of resource required and a certain blockchain technology (e.g. Hyperledger or Ethereum). The set of outcomes is identified. UML and its extension in a form previously described CIM models would be used as an input of UML profile for blockchain specified using domain for the development of the PIM. Using the blockchain PIM, a specific language (DSL) [39] are proposed as a language for smart contract state model, blockchain structure model and modelling different aspects of the system. Below the blockchain-based process model can be defined. These methodology is explained in more detail. defined models would help to select a specific platform for further development because different platforms differ in terms of chain architecture, transaction structure, number of participants, smart contract capabilities, consensus algorithms and so on. Afterwards the development of blockchain Platform Specific Model (PSM) would take place. MDA suggests automating the production of a PSM from previously defined models. It requires to define transformation rules which specify how models are transformed based on parameters defined by developers [15] [17]. The PSM of a system is defined and tailored for a specific platform. In our proposed method a PSM would be developed for a specific blockchain implementation. The previously defined PIM model would be used to define blockchain structure and smart contract model for the selected platform. Specialized model for a particular blockchain solution could be provided in a form of DSL. Finally, in the last stage applying transformation rules for the specific blockchain PSM model the code for smart contract and blockchain implementation of that particular platform would be generated. The generated artefacts could be used to start building specific blockchain technology implementation. The proposed methodology would not only help to define the blockchain artefacts, but also help to identify whether it is reasonable to adopt the technology. It could also offer Fig. 1. The proposed process for blockchain-based business process guidelines for selecting appropriate blockchain platform. The implementation solution would provide the possibility to facilitate and at least partially automate the blockchain technology-based system In the first development stage Computation Independent development process by providing a more standardized way Model (CIM) should be specified. The purpose of this model of describing such systems, expanding the potential uses of is to show how blockchain could be adapted for specific blockchain for different business goals by restructuring processes’ restructuring, reorganization, and integration. In current business processes. MDA, a Computation Independent Model (CIM) is often referred to as a business or domain model. It presents the V. CONCLUSION context of the system under development and what the system The blockchain technologies are currently most broadly is expected to do but hides all information technology related applied in the financial sector, and the application in other specifications to remain independent. A model should be areas is still quite limited. The design process of blockchain created using the provided UML profile for blockchain CIM. technology-based systems is quite difficult, because no formal It would consist of a participation interaction model, or formalized design, development methodologies exist. A vocabulary and a business case process model. proposed application of MDA principles in the process of Due to the fact that blockchain technology is not development of blockchain technology-based systems should applicable in every case, solutions helping to determine the help to determine whether it is possible to model blockchain suitability of blockchain exists [40]. These structure and smart contract logic and whether the business questions/frameworks help to assess the advantages and logic could be conveyed in the smart contracts. The 46 methodology could be used for modelling blockchain and [19] B. Smith, "What are the three generations of blockchain, and how are smart contracts of business processes and thus relocating these they similar to the web?," 2018. [Online]. Available: to the blockchain. In addition, an extensive analysis of https://www.coininsider.com/three-generations-of-blockchain/. business processes is still required for determining how the [20] G. Wood, "Ethereum: a Secure Decentralised Generalised relocation of the business logic to the blockchain could affect Transaction Ledger," 2014. [Online]. Available: https://gavwood.com/paper.pdf. the current processes. Going forward, it is essential to [21] B. Smith, "The blockchain can succeed like the web – here’s how," thoroughly examine the possibilities of adopting MDA Coin Insider, 18 December 2018. [Online]. Available: principles for blockchain technology-based system https://www.coininsider.com/the-blockchain-can-succeed-like-the- development process. It is important to analyze blockchain web-heres-how/. implementations and find common elements. The results [22] "What is Blockchain Technology?," 2018. [Online]. Available: should help to determine how to model blockchain structure https://blockgeeks.com/guides/what-is-blockchain-technology/. and smart contract logic, and how business logic can be [23] M. Vincenzo, Business Innovation Through Blockchain: The B3 conveyed by the smart contracts. Perspective, 2017, p. 101–124. [24] S. Omohundro, "Cryptocurrencies, smart contracts, and artificial REFERENCES intelligence," AI Matters, vol. 1, no. 2, pp. 19-21, 2014. [25] N. Prusty, Building Blockchain Projects, Packt Publishing, 2017. [1] S. Nakamoto, "Bitcoin: a peer‐to‐peer electronic cash system," 2018. [26] U. W. Chohan, The Leisures of Blockchains: Exploratory Analysis, [Online]. Available: https://bitcoin.org/bitcoin.pdf . SSRN, 2017. [2] F. Glaser, "Pervasive Decentralisation of Digital Infrastructures: A [27] A. Azaria, A. Ekblaw, T. Vieira and A. Lippman, "MedRec: Using Framework for Blockchain enabled System and Use Case Analysis," Blockchain for Medical Data Access and Permission Management," in Proceedings of the 50th Hawaii International Conference on in International Conference on Open and Big Data, Vienna, 2016. System Sciences , 2017. [28] J. Zawistowski, P. Janiuk, A. Regulski and A. Skrzypczak, "The [3] M. Swan, Blockchain Blueprint for a New Economy, O'Reilly Golem Project," 2016. [Online]. Available: Media, 2015. https://golem.network/crowdfunding/Golemwhitepaper.pdf. [4] S. Raval, Decentralized Applications: Harnessing Bitcoin’s [29] G. Fedak, W. Bendella and E. Alves, "Blockchain-Based Blockchain Technology, O’Reilly Media, 2016. Decentralized Cloud Computing," 2018. [Online]. Available: [5] P. Tasca and C. J. Tessone, "Taxonomy of Blockchain Technologies. https://iex.ec/wp-content/uploads/pdf/iExec-WPv3.0-English.pdf. Principles of Identication and Classication," 2018. [Online]. [30] H. Kim, J. Park, M. Bennis and S.-L. Kim, "On-Device Federated Available: https://dx.doi.org/10.2139/ssrn.2977811. Learning via Blockchain and its Latency Analysis," CoRR, 2018. [6] D. W. Cearley, B. Burke, S. Searle and M. J. Walker, "Top 10 [31] E. Piscini, D. Dalal, D. Mapgaonkar and P. Santhana, "Blockchain to Strategic Technology Trends for 2018," Garnter, 2017. blockchains," in Tech Trends 2018: The symphonic enterprise, 2017. [7] M. Raikwar, S. Mazumdar, S. Ruj, S. S. Gupta, A. Chattopadhyay [32] J. d. Kruijff and H. Weigand, "Understanding the Blockchain Using and K.-Y. Lam, "A Blockchain Framework for Insurance Processes," Enterprise Ontology," 2017. [Online]. Available: in 2018 9th IFIP International Conference on New Technologies, https://link.springer.com/chapter/10.1007/978-3-319-59536-8_3. Mobility and Security (NTMS), 2018. [33] H. Rocha and S. Ducasse, "Preliminary Steps Towards Modeling [8] H. M. Kim and M. Laskowski, "Toward an ontology‐driven Blockchain Oriented Software," in 1st International Workshop on blockchain design for supply‐chain provenance," Intelligent Systems Emerging Trends in Software Engineering for Blockchain, 2018. in Accounting, Finance and Management, 28 March 2018. [34] S. Seebacher and M. Maleshkova, "A Model-driven Approach for [9] b8d5ad9d974a44e7e2882f986467f4d3, "Towards Open Science: the Description of Blockchain Business Networks," in Proceedings The Case for a Decentralized Autonomous Academic Endorsement of the 51st Hawaii International Conference on System Sciences, System," 12 4 2016. [Online]. Available: 10.5281/zenodo.60054. 2018. [10] M. Sharples and J. Domingue, "The Blockchain and Kudos: A [35] X. Xu, I. Weber and M. Staples, "Model-Driven Engineering for Distributed System for Educational Record, Reputation and Blockchain Applications," in Architecture for Blockchain Reward," in Learning: Proceedings of 11th European Conference on Applications , Springer, 2019, pp. 149-172. Technology Enhanced Learning (EC-TEL 2015), Lyon, 2016. [36] C.-F. Liao, S.-W. Bao, C.-J. Cheng and a. K. Chen, "On Design [11] K. Boogaard, A Model-Driven Approach to Smart Contract Issues and Architectural Styles for Blockchain-driven IoT Services," Development, 2018. in IEEE International Conference on Consumer Electronics , Taiwan, [12] V. Buterin, "A Next-Generation Smart Contract and Decentralized 2017. Application," 2014. [Online]. Available: [37] A. B. Tran, X. Xu, I. Weber, M. Staples and P. Rimba, "Regerator: a http://blockchainlab.com/pdf/Ethereum_white_paper- Registry Generator for Blockchain," in CaiSE2017: 29th a_next_generation_smart_contract_and_decentralized_application_ International Conference on Advanced, Essen, Germany, 2017. platform-vitalik-buterin.pdf. [38] M. Marchesi, L. Marchesi and R. Tonelli, "An Agile Software [13] D. Furlonger and R. Valdes, "Practical Blockchain: A Gartner Trend Engineering Method to Design Blockchain Applications," in Insight Report," Gartner, 2017. Software Engineering Conference Russia, Moscow, 2018. [14] O. Pastor, S. España, J. I. Panach and N. Aquino, "Model-Driven [39] A. V. Deursen, E. . Visser and J. . Warmer, "Model-Driven Software Development," Informatik Spektrum , 2008. Evolution: A Research Agenda," , 2007. [Online]. Available: [15] O. Pastor and J. C. Molina, Model-Driven Architecture in Practice, http://swerl.tudelft.nl/twiki/pub/eelcovisser/modeldrivensoftwareev Springer, 2007. olutionaresearchagenda/dvw07.pdf. [Accessed 30 1 2019]. [40] Kapuściński, T., Nowicki, R. K., & Napoli, C. (2016, June). [16] O. M. Group, "UML 2.5 Specification," 01 03 2015. [Online]. Application of genetic algorithms in the construction of invertible Available: http://www.omg.org/spec/UML/2.5/PDF. substitution boxes. In International Conference on Artificial [17] Object Management Group, "Model Driven Architecture (MDA) Intelligence and Soft Computing. Springer, Cham, p. 380-391. MDA Guide rev. 2.0," 18 June 2014. [Online]. Available: [41] K. Wüst and A. Gervais, "Do you need a Blockchain?," 2017. https://www.omg.org/cgi-bin/doc?ormsc/14-06-01. [18] Deloitte, "Blockchain @ Media | A new Game Changer for the Media Industry?," 2017 . [Online]. Available: https://www2.deloitte.com/content/dam/Deloitte/tr/Documents/tech nology-media-telecommunications/deloitte-PoV-blockchain- media.pdf. 47