{"id":2794,"date":"2019-05-04T22:29:43","date_gmt":"2019-05-04T20:29:43","guid":{"rendered":"https:\/\/blog.iese.fraunhofer.de\/?p=2794"},"modified":"2024-02-07T08:41:25","modified_gmt":"2024-02-07T07:41:25","slug":"architecting-blockchain-based-applications-1-foundations","status":"publish","type":"post","link":"https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-1-foundations\/","title":{"rendered":"Architecting Blockchain-Based Applications (1\/3)"},"content":{"rendered":"<p class=\"lead\">Blockchain is a hype topic that already led to some disillusionment. The development of blockchain-based applications is nowadays often technology-driven and with a trial-and-error approach. We provide foundational guidance for architecting blockchain-based applications. We put structure on key foundations and terms around blockchain, we outline architecture drivers that benefit from using blockchain technology, and we guide architects with numerous questions through the design space of blockchain-based applications.<\/p>\n<p><a href=\"#Needs\">\u2460Needs<\/a> | <a href=\"#Background\">\u2460Foundations<\/a> | <a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-2-what-do-you-really-mean-by-blockchain\" target=\"_blank\" rel=\"noopener noreferrer\">\u2461Blockchain Terminology<\/a> | <a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-3-blockchain-architecture-design-guidelines\" target=\"_blank\" rel=\"noopener noreferrer\">\u2462Architecting Guidance<\/a> | <a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-3-blockchain-architecture-design-guidelines#GetStarted\" target=\"_blank\" rel=\"noopener noreferrer\">\u2462Get Started<\/a><\/p>\n<div class=\"info-box\">\n<p>This article is the first of a three-article series (\u2460<a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-2-what-do-you-really-mean-by-blockchain\" target=\"_blank\" rel=\"noopener noreferrer\">\u2461<\/a><a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-3-blockchain-architecture-design-guidelines\" target=\"_blank\" rel=\"noopener noreferrer\">\u2462<\/a>) on architecting blockchain-based applications. The series is based on results of an internal workshop of the Fraunhofer IESE department ACE (Architecture-Centric Engineering) in 2018.<\/p>\n<p>&nbsp;<\/p>\n<p>Authors (main editors underlined): Susanne Braun, Frank Elberzhager, Matthias Gerbershagen, Andreas Giloj, Sebastian Heupts, Steffen Hupp, Alberto Lara, <u>Rodrigo Falc\u00e3o<\/u>, <u>Matthias Naab<\/u>, <u>Kai Plociennik<\/u>, Bernd Rauch, Dominik Rost, <u>Johannes C. Schneider<\/u>, Stefan Schweitzer, Adeline Silva Sch\u00e4fer, Balthasar Weitzel.<\/p>\n<p>&nbsp;<\/p>\n<p>If you want to develop innovative ideas, architectures, and prototypes of applications based on blockchain technologies: Don\u2019t hesitate to contact us!<\/p>\n<\/div>\n<h2 id=\"Needs\">The Need for Precise Terminology and Architecting Guidance<\/h2>\n<div>\n<p>The rise of the <a href=\"https:\/\/bitcoin.org\/bitcoin.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">Bitcoin currency<\/a> made <strong>blockchain known to a vast majority of people<\/strong> in the IT business and even the overall population. We could get the impression that at least the finance world will <strong>undergo a major revolution<\/strong> in the next years because of blockchain technology, which both new and traditional companies are exploring. While the projected impacts and visions are immense, <strong>real applications<\/strong> beyond crypto currencies <strong>are<\/strong> <strong>not wide-spread<\/strong>, yet.<\/p>\n<p>The development of blockchain-based applications is nowadays often <strong>technology-driven<\/strong> and done with a <strong>trial-and-error<\/strong> approach. The goal of most companies is to gather first experiences and to learn about technologies and potentials. Available literature is either extremely technical and detailed or high-level and visionary. Additionally, we found in literature that key terms are often confused and used in an overloaded way. Nevertheless, architects need to be able to reason precisely when architecting blockchain-based applications and make well-informed decisions on central architectural questions. This is especially important because the developed applications are used for handling data that is of high relevance to the users. Hence, we decided to give <strong>guidance for architecting blockchain-based applications<\/strong> in the following way:<\/p>\n<ul>\n<li>In this article, we describe <strong>key topics and terminology<\/strong> of blockchain technology and applications which we consider to be important when architecting blockchain-based applications.<\/li>\n<li>Key terms around blockchain are often confused and used in a not clearly delineated way. In the second article of our series, <a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-2-what-do-you-really-mean-by-blockchain\" target=\"_blank\" rel=\"noopener noreferrer\">&#8222;<strong>What Do You Really Mean by &#8218;Blockchain&#8216;?&#8220;<\/strong><\/a>, we provide a blockchain terminology that clearly delineates the central concepts we think one has to be able to precisely reason about when architecting such applications.<\/li>\n<li>When architecting blockchain-based applications, care has to be taken to make well-informed decisions on central architectural questions that impact the application&#8217;s properties. This is not an easy task due to the complex nature of the blockchain concept and its applications, and due to the importance of the handled data. In the third article of our series, <a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-3-blockchain-architecture-design-guidelines\" target=\"_blank\" rel=\"noopener noreferrer\">&#8222;<strong>Guidance for Architecting Blockchain-Based Applications&#8220;<\/strong><\/a>, we give guidance to find out whether using blockchain technology is an adequate choice for the given application, and we guide architects to make well-informed and understood architecture decisions.<\/li>\n<\/ul>\n<p>The following figure summarizes the contents of our article series.<a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Outline.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3419 size-large\" src=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Outline-698x422.png\" alt=\"\" width=\"698\" height=\"422\" srcset=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Outline-698x422.png 698w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Outline-400x242.png 400w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Outline-768x464.png 768w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Outline.png 1288w\" sizes=\"auto, (max-width: 698px) 100vw, 698px\" \/><\/a><\/p>\n<h2 id=\"Background\">Background on Key Topics of Blockchain<\/h2>\n<p><a href=\"#Foundations\">Foundations<\/a> | <a href=\"#SmartContracts\">Smart Contracts<\/a> | <a href=\"#Technologies\">Technologies<\/a> | <a href=\"#Applications\">Applications &amp; Impact<\/a><\/p>\n<h3 id=\"Foundations\">Blockchain Foundations<\/h3>\n<p>The purpose of a blockchain is to be a <strong>public digital ledger that is operated by peer participants in a distributed way<\/strong>. The participants want to keep track of <strong>transactions<\/strong> that they make, and they want to make sure that the record of transactions cannot be tampered with, so that everyone can rely on unaltered data in the transaction record. This is achieved <strong>without the need for a central authority<\/strong>, since a blockchain is made up from peer nodes. Hence, blockchain technology enables the development of innovative applications that are easily scalable and robust, without the need for up-front invest in IT infrastructure. Since the concrete concept of <strong>&#8222;what a transaction is&#8220; can be handled in a flexible way<\/strong>, this includes applications such as the well-known crypto-currencies Bitcoin and Ethereum, where the transactions refer to value in some currency system, but also other applications are conceivable such as ones where the transactions refer to files in a distributed file system or to commitments in a legal system.<\/p>\n<p>In the absence of a central authority, the system of peer nodes forming the blockchain determines the correct state of the ledger via a <em>consensus algorithm.<\/em> In the consensus algorithm, the nodes negotiate the correct state of the ledger by executing a certain communication protocol and &#8222;voting&#8220; for the next state. The basic idea here is that the transaction data in the blockchain is stored in a sequence of data blocks, to which new blocks can be appended. In principle, any node in the system can append a new block of data to the sequence, which is called <em>mining<\/em>. The following figure gives an overview on how data is stored in the sequence of data blocks:<\/p>\n<p><a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Blockchain_Blocks.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3422 size-large\" src=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Blockchain_Blocks-698x295.png\" alt=\"Fraunhofer IESE - overview on how data is stored in the sequence of data blocks\" width=\"698\" height=\"295\" srcset=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Blockchain_Blocks-698x295.png 698w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Blockchain_Blocks-400x169.png 400w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Blockchain_Blocks-768x325.png 768w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Blockchain_Blocks.png 1370w\" sizes=\"auto, (max-width: 698px) 100vw, 698px\" \/><\/a><\/p>\n<p>Starting with an initial <em>genesis block<\/em> containing potential bootstrapping information, blocks of transaction data are mined as described above, i.e., appended to the existing sequence of blocks. This is done using cryptographically safe, i.e., collision-resistant, hash functions to link blocks and data: The hash values computed for previous blocks&#8216; headers and the hash trees computed for the transaction data in a block certify the integrity of the referenced data, since by collision-resistance of the used hash functions, it is computationally hard to find different data (in a try to manipulate the blockchain) with the same hash value. Hence, one assumes that no such attempt will succeed and integrity of the blockchain will be given.<\/p>\n<p>In a <em>public, permissionless<\/em> blockchain, where anybody can participate in the mining process, there is a risk that a node might be malicious. Hence, certain &#8222;proof concepts&#8220; are used in different blockchain technologies: Nodes must prove to act in the interest of the whole community when mining blocks of new transaction data. A popular proof concept, used e.g. in the Bitcoin technology, is <em>Proof of Work<\/em> (PoW), where a node is required to solve some computationally hard problem before being able to append a new block of data to the chain. This makes it hard to alter the data in the blockchain in a malicious way, since one would need a very large amount of computational resources to succeed in manipulating the consensus process in which the nodes vote for the correct state of the ledger. However, e.g. in a so called <em>51 % attack<\/em>, where a malicious party possesses 51 % of the computing resources in the system, an attack could be successful.<\/p>\n<p>To summarize, the approach to provide a public digital ledger without a central authority is attractive, but one has to be aware that there is a price one has to pay for that:<\/p>\n<ul>\n<li>Firstly, <strong>unalterability of the data in the ledger is not guaranteed<\/strong>. This is due to the fact that as mentioned, it is computationally hard but not impossible in a strict sense to alter the data in the ledger in a malicious way, since e.g. a 51 % attack is possible, where a malicious party can take over control of the blockchain and harm other participants.<\/li>\n<li>In case the concrete blockchain uses proof of work as a proof concept, we can observe a second price one has to pay: <strong>Energy consumption can become very high if the system grows<\/strong>, as has happened e.g. for the Bitcoin network. Also, the fact that a consensus algorithm replaces the need for a central authority leads to the fact that using blockchain technology, <strong>transactions tend to be slower than in centralized systems<\/strong>, since more complicated computational tasks have to be executed to add data to the ledger than in a more simple, centralized system.<\/li>\n<\/ul>\n<p>Whether one is willing to pay the price of not having a guarantee on unalterability of the data in the ledger is a question of the concrete application that has to be developed. With respect to the second point, we mention that depending on the concrete setting in which the blockchain should be used, <strong>problems such as the mentioned high energy consumption using proof of work can be attenuated<\/strong>:<\/p>\n<ul>\n<li>In a public, permissionless blockchain, where anyone can participate in the consensus process and nodes are actually peer, concepts such as proof of work are needed, since one does not know which nodes might be malicious. However, in a blockchain operated by a single company or a consortium of companies, i.e., a <em>private<\/em> or <em>federated<\/em> one, access to the blockchain could be restricted to a preselected set of nodes, and also the right to modify the data in the ledger and to mine nodes might only be given to certain nodes which have to authenticate to do so. No proof of work is needed here, alleviating the energy consumption problem. Also, an intermediate solution of a public but <em>permissioned<\/em> blockchain is possible.<\/li>\n<li>Also, other concepts than proof of work exist, each with its own advantages and disadvantages. For example, in <em>Proof of Capacity<\/em> (PoC), a node has to prove that it possesses a certain amount of storage capacity, thereby replacing the computing resources from proof of work by storage resources, with advantages in energy consumption.<\/li>\n<li>Another example is <em>Proof of Stake<\/em> (PoS), where a node has to prove to possess a certain share of the total value in the system to be able to participate in the mining process. Intuitively, the ability to influence the data in the ledger scales with the possessed share of total value in this concept. The goal here is analog to the one for proof of work: Make it unlikely that a malicious party can attack the blockchain, since the party would need to possess a large fraction of the total value in the system (for crypto-currencies: the total amount of monetary value). However, from the real world, we know that large fractions of the total amount of private assets can well be concentrated in the possession of a minority of participants, making an attack potentially possible.<\/li>\n<\/ul>\n<h3 id=\"SmartContracts\">Smart Contracts<\/h3>\n<\/div>\n<div>\n<p>\u201cA <a href=\"https:\/\/en.wikipedia.org\/wiki\/Smart_contract\" target=\"_blank\" rel=\"noopener noreferrer\">smart contract<\/a> is a computer protocol intended to digitally facilitate, verify, or enforce the negotiation or performance of a contract. Smart contracts allow the performance of <strong>credible <\/strong>transactions without third parties by using <strong>trackable and irreversible transactions<\/strong>.\u201d This <a href=\"https:\/\/en.wikipedia.org\/wiki\/Smart_contract\" target=\"_blank\" rel=\"noopener noreferrer\">definition<\/a> outlines all aspects that are crucial to smart contracts. In the context of blockchains, when we talk about a smart contract, we usually mean program code being executed on the runtime environment provided by the blockchain.<\/p>\n<p>In contrast to traditional contracts, <strong>no authorized third parties<\/strong> as e.g. notaries, the government, or a centrally trusted bank are needed to guarantee the fulfillment of a contract. Instead, contracts are enforceable by their program code, which is expressed by the so-called \u201ccode as law\u201d principle.<\/p>\n<p>The fact that smart contracts are stored on the blockchain in an unchangeable way has two crucial consequences:<\/p>\n<ol>\n<li>Every smart contract published on a blockchain is visible to everyone participating in the blockchain. This includes the bytecode and the internal state of a smart contract. In the case of public blockchains, this means that everybody with internet access can read every detail of every smart contract. Hence, it is not possible to store secrets inside the smart contract code.<\/li>\n<li>There is no possibility to rework or even revoke a smart contract once it has been published. Since we all know that programs can have bugs, this can lead to big problems, which is not a theoretical consideration: An undesired and unforeseen behavior in the contracts that define the <a href=\"https:\/\/medium.com\/swlh\/the-story-of-the-dao-its-history-and-consequences-71e6a8a551ee\" target=\"_blank\" rel=\"noopener noreferrer\">Decentralized Autonomous Organization<\/a> made it possible for a hacker to extract an equivalent of $70 million from the contract, which finally lead to a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Fork_(blockchain)#Hard_fork\" target=\"_blank\" rel=\"noopener noreferrer\">hard fork<\/a> of the Ethereum blockchain.<\/li>\n<\/ol>\n<p>The implementations of smart contracts differ depending on the blockchain technology. In <a href=\"https:\/\/www.ethereum.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Ethereum<\/a>, one of the most popular platforms for smart contracts, smart contracts are usually written in a C-like programming language <a href=\"https:\/\/solidity.readthedocs.io\" target=\"_blank\" rel=\"noopener noreferrer\">Solidity<\/a>, which compiles to byte code that is finally stored on the blockchain. The effective <strong>computing capabilities of smart contracts<\/strong> are <strong>limited<\/strong>. There are two main reasons for this:<\/p>\n<ol>\n<li>Whenever an Ethereum node verifies a transaction that includes the execution of a smart contract, it runs the code in a sandboxed and isolated virtual machine. Since this has to be done by <strong>every<\/strong> verifying node, only limited computing resources are available.<\/li>\n<li>Every person that executes a method of a smart contract has to pay a price (expressed in the unit \u201cgas\u201d) that depends on the effective number of instructions and memory usage of this method call.<\/li>\n<\/ol>\n<p>Thus, complex calculations easily become very expensive. To put it with the words from the <a href=\"https:\/\/github.com\/ethereum\/wiki\/wiki\/Ethereum-Development-Tutorial\" target=\"_blank\" rel=\"noopener noreferrer\">Ethereum Development Tutorial<\/a>: \u201c<em>Roughly, a good heuristic to use is that you will not be able to do anything on the EVM that you cannot do on a smartphone from 1999.<\/em>\u201d<\/p>\n<p>While there are lots of simple use cases that one can build with a single smart contract, e.g. ledgers for own crypto currencies or tokens, more complex applications are usually built by combining several smart contracts together, which is possible since one smart contract can call functions from another smart contract. Because there is no single point to attack such <strong>decentralized applications (DApps)<\/strong>, they are highly fault-tolerant and very difficult to attack. On the other hand, DApps are difficult to build (complex protocols, few ready-to-use components), difficult to maintain (bug fixing) and difficult to extend (updates, scaling). In Ethereum, operating a DApp can also become more expensive compared to regular apps due to a so-called <em>gas fee<\/em> which has to be payed to the mining node every time a function of a smart contract is executed.<\/p>\n<p><a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/SmartContract_Oracle.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3423 size-large\" src=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/SmartContract_Oracle-698x276.png\" alt=\"Fraunhofer IESE - Architectur blockchain-bases decentralized applications (DApps)\" width=\"698\" height=\"276\" srcset=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/SmartContract_Oracle-698x276.png 698w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/SmartContract_Oracle-400x158.png 400w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/SmartContract_Oracle-768x303.png 768w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/SmartContract_Oracle-1138x450.png 1138w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/SmartContract_Oracle.png 1319w\" sizes=\"auto, (max-width: 698px) 100vw, 698px\" \/><\/a><\/p>\n<p>We have already mentioned that a smart contract can access data from the blockchain and from other smart contracts. However, many real world contracts concern external data like stock prices, weather data, flight (delay) schedules or sensor data of IoT devices. In the smart contract\/blockchain context, so-called <strong>oracles<\/strong> provide this data by storing it in the blockchain. There are different approaches to oracles, the simplest being trusted third party service provider that add a timestamp to the data and digitally sign it, which, however, adds again dependency to single authorities. Other mechanisms include a consensus protocol of several independent trustees or a web of trust.<\/p>\n<p><strong>Use cases<\/strong> for smart contracts have been discussed a lot in the past. They reach from <strong>simple conditional payments<\/strong> (e.g. money back on flight delay) over <strong>decentralized government<\/strong> (voting and publishing of elections in the blockchain), <a href=\"https:\/\/slock.it\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>economy of things<\/strong><\/a>, <strong>health data<\/strong> (with automatic health insurance handling) up to <strong>rental agreements<\/strong> (of apartments, bikes, cars in combination with smart locks) and <strong>(software) license management<\/strong>. However, few of these use cases are in fact implemented and established at the time of writing this article. Ethereum has a list of available DApps, where you can find applications mostly from the sectors gaming\/gambling and financial trading\/exchanges, the first belonging to \u201clet\u2019s try out what is possible with this new technology\u201d and the latter being the most typical blockchain use case: speculation with crypto coins.<\/p>\n<h3 id=\"Technologies\">Blockchain Technologies<\/h3>\n<p>Many different blockchain technologies are available today. Unless some very special use case has to be handled and someone with expert knowledge in cryptography and network protocols is available, we recommend choosing from already existing technologies.<\/p>\n<p>We give a brief description of 5 well-known technologies:<\/p>\n<ul>\n<li><a href=\"https:\/\/bitcoin.org\/en\/bitcoin-core\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Bitcoin Core<\/strong><\/a> is the original and reference implementation for the Bitcoin cryptocurrency. It is licensed under MIT license and is maintained by an open community where the release process is managed by a team of developers. The Bitcoin network is permissionless, employs Proof of Work as consensus algorithm and it has a cross-industry focus, targeting no concrete use case. Bitcoin Core supports Smart Contract functionality through extensions with scripts. There is a second implementation of Bitcoin, Bitcoin Cash, which is a fork of Core created in 2017.<\/li>\n<li><a href=\"https:\/\/github.com\/ethereum\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Ethereum<\/strong><\/a> is a blockchain technology maintained by the Ethereum Foundation and Ethereum Alliance. Ethereum is licensed under different models depending on the component. It is permissionless and employs proof of work as consensus algorithm, although the goal is to move to a proof of stake algorithm. It has a cross-industry focus, originating from the banking and finance sectors. Ethereum supports smart contract functionality and provides the cryptocurrency Ether.<\/li>\n<li><a href=\"https:\/\/www.hyperledger.org\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Hyperledger<\/strong><\/a> is a set of open source tools and frameworks for blockchains, which is developed under the leadership of the Linux foundation. Many big tech companies, like Airbus, IBM and Intel, support its development. The best-known framework originating from this project is Hyperledger Fabric. Its architecture allows the flexible combination of the different building blocks of a blockchain in a plug-and-play manner. With the different frameworks and tools of the Hyperledger project you can create permissioned and permissionless blockchains with different consensus algorithms.<\/li>\n<li><a href=\"https:\/\/monax.io\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Monax<\/strong><\/a>, previously Eris, is a blockchain technology based on Ethereum and owned by Monax Industries Limited. It is licensed under GPLv3. Monax network is permissioned and employs a Byzantine fault-tolerant Tendermint consensus engine, which is a deposit based proof of stake protocol. It has a cross-industry focus and it was designed as an easy to use blockchain technology that can be integrated rapidly by companies. Monax was designed to support Smart Contracts.<\/li>\n<li><a href=\"https:\/\/ripple.com\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Ripple<\/strong><\/a> is <strong><em>no <\/em><\/strong>blockchain technology, but a distributed open source protocol for a currency exchange network. The creators of ripple publish the source code under the ISC license. Under the hood, it uses a XRP Ledger. It is permissioned and the basis for its consent algorithm is a divide-and-conquer approach, which divides large networks into collectively trusted subnetworks.<\/li>\n<\/ul>\n<h3 id=\"Applications\">Blockchain-Based Applications and Their Potential Impact<\/h3>\n<p>Dragged by the successful use case of Bitcoin, numerous initiatives have been started to, somehow, surf on the \u201cblockchain wave\u201d \u2013 which has led to a multitude of applications that are so exotic to the point that some people, not without a reason, consider Blockchain \u201ca solution searching for a problem\u201d. Examples include the end of <a href=\"https:\/\/worldpeacecoin.io\/\" target=\"_blank\" rel=\"noopener noreferrer\">poverty<\/a> and human suffering, the cure of <a href=\"https:\/\/curecoin.net\/\" target=\"_blank\" rel=\"noopener noreferrer\">cancer<\/a>, the ownership shares of <a href=\"https:\/\/www.galleonquest.io\/\" target=\"_blank\" rel=\"noopener noreferrer\">ancient sunken treasures<\/a>, among many, many others.<\/p>\n<h4>Hype and Frustration<\/h4>\n<p>The hype around blockchain finds particular expression in numerous articles and statements about the potential impact of blockchain and the expectations towards it:<\/p>\n<ul>\n<li><a href=\"https:\/\/medium.com\/@markymetry\/blockchain-technology-is-the-most-significant-invention-since-the-internet-and-electricity-f2d44a631ef6\" target=\"_blank\" rel=\"noopener noreferrer\">Blockchain Technology is the Most Significant Invention since the Internet and Electricity<\/a><\/li>\n<li><a href=\"https:\/\/uk.pcmag.com\/amazon-web-services\/87703\/feature\/blockchain-the-invisible-technology-thats-changing-the-world\" target=\"_blank\" rel=\"noopener noreferrer\">Blockchain: The Invisible Technology That&#8217;s Changing the World<\/a><\/li>\n<li><a href=\"https:\/\/www.mckinsey.com\/industries\/high-tech\/our-insights\/how-blockchains-could-change-the-world\" target=\"_blank\" rel=\"noopener noreferrer\">How blockchains could change the world<\/a><\/li>\n<li><a href=\"https:\/\/www.computerworld.com\/article\/3191077\/security\/what-is-blockchain-the-most-disruptive-tech-in-decades.html\" target=\"_blank\" rel=\"noopener noreferrer\">What is blockchain? The most disruptive tech in decades<\/a><\/li>\n<li><a href=\"https:\/\/www.cbc.ca\/news\/canada\/saskatoon\/bitcoin-cryptocurrency-blockchain-technology-blockgeeks-1.4465810\" target=\"_blank\" rel=\"noopener noreferrer\">Beyond bitcoin: How cryptocurrency is changing the world<\/a><\/li>\n<li><a href=\"https:\/\/www.forbes.com\/sites\/theyec\/2018\/03\/09\/eight-ways-blockchain-will-impact-the-world-beyond-cryptocurrency\" target=\"_blank\" rel=\"noopener noreferrer\">Eight Ways Blockchain Will Impact The World Beyond Cryptocurrency<\/a><\/li>\n<li><a href=\"https:\/\/www.inc.com\/bill-carmody\/3-biggest-ways-blockchain-will-change-society.html\" target=\"_blank\" rel=\"noopener noreferrer\">3 Biggest Ways Blockchain Will Change Society<\/a><\/li>\n<li><a href=\"https:\/\/www.ted.com\/talks\/don_tapscott_how_the_blockchain_is_changing_money_and_business\" target=\"_blank\" rel=\"noopener noreferrer\">How blockchain is changing money and business<\/a><\/li>\n<\/ul>\n<p>At the same time, there are also counterarguments and criticism of blockchain or the way how the world looks at it. To be really heard, they formulate their statements strongly, too:<\/p>\n<ul>\n<li><a href=\"https:\/\/hackernoon.com\/ten-years-in-nobody-has-come-up-with-a-use-case-for-blockchain-ee98c180100\" target=\"_blank\" rel=\"noopener noreferrer\">Ten years in, nobody has come up with a use for blockchain<\/a><\/li>\n<li><a href=\"https:\/\/www.wired.com\/story\/theres-no-good-reason-to-trust-blockchain-technology\/\" target=\"_blank\" rel=\"noopener noreferrer\">There&#8217;s No Good Reason to Trust Blockchain Technology<\/a><\/li>\n<li><a href=\"https:\/\/medium.com\/@kaistinchcombe\/decentralized-and-trustless-crypto-paradise-is-actually-a-medieval-hellhole-c1ca122efdec\" target=\"_blank\" rel=\"noopener noreferrer\">Blockchain is not only crappy technology but a bad vision for the future<\/a><br \/>\n\u201cThere is\u00a0no single person in existence\u00a0who had a problem they wanted to solve, discovered that an available blockchain solution was the best way to solve it, and therefore became a blockchain enthusiast.\u201d<\/li>\n<\/ul>\n<h4>Central Characteristics of Blockchain for Applications<\/h4>\n<p>The following key characteristics come with the usage of blockchain technologies and can be employed to come up with beneficial and innovative applications.<\/p>\n<ul>\n<li>Decentralization<\/li>\n<li>Peer-to-peer communication<\/li>\n<li>Data immutability<\/li>\n<li>Transparency<\/li>\n<li>Automated contract logic<\/li>\n<\/ul>\n<p>In recent years, initial scientific works such as <a href=\"https:\/\/eprint.iacr.org\/2017\/375.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">\u201cDo you need a blockchain\u201d<\/a> have been published aiming at providing support on how to properly identify use cases for blockchain, and figuring out in which type of blockchain a potential application would fit.<\/p>\n<h4>Potential Impacts and Benefits of Blockchain<\/h4>\n<p>Independent of concrete application domains, impacts and patterns of blockchain can be identified. The following impacts (which mostly express particular quality properties of the resulting applications) can be found in recent applications and in literature:<\/p>\n<ul>\n<li><strong>Removal of intermediaries and decentralization<br \/>\n<\/strong>Many established businesses rely on central authorities and expensive intermediaries and middlemen, which are perceived to dictate and add costs and to delay the business. The idea is the get rid of the intermediaries and come up with direct business relationships among parties.<br \/>\nHowever, it is often neglected that the intermediaries might add much more services and benefits than just the pure transaction. Additionally, the trust moves from authorities to software and algorithms.<\/li>\n<li><strong>Transparency and rebalancing of information symmetry<\/strong><br \/>\nEstablished businesses are often perceived as not transparent and giving certain parties an informational disadvantage. This should be overcome by more transparency of information placed in blockchains.<\/li>\n<li><strong>Resiliency against attacks, proof of authenticity, and preventing fraud<br \/>\n<\/strong>In traditional businesses and information systems, there is often a central authority, which can be attacked for various reasons. The distributed character of blockchains is expected to make certain attacks and fraud extremely hard or even impossible. The authenticity of data can be proven without trusting a third party. This might be in particular interesting in contexts where trustworthy central authorities are rare (e.g. in areas with unstable governments).<br \/>\nHowever, the overall trust and authenticity still relies on the trustworthiness of people entering data and a trustworthy access to the blockchain-based application itself (there might be intermediaries, which bundle the access of users to the blockchain).<\/li>\n<li><strong>Operational efficiency and removing human variance<br \/>\n<\/strong>While many traditional business processes still heavily rely on human work and intervention, in particular when it is about contracts and legally binding transactions, blockchain and in particular smart contracts promise to strongly increase the degree of automation. Additionally, distributed and heterogeneous data silos should be broken up and consolidated in central blockchain storages.<br \/>\nHowever, the operational efficiency is often traded off against a strongly increased energy consumption.<\/li>\n<\/ul>\n<h4>Example Blockchain-Based Applications<\/h4>\n<p>Existing blockchain applications are spread across diverse domains. Examples include:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.everledger.io\/\" target=\"_blank\" rel=\"noopener noreferrer\">Everledger<\/a> provides a global digital ledger that tracks and protects valuable assets throughout their lifetime journey. E.g. 1.6 million diamonds are tracked on the blockchain including central data attributes like color, carat and a certificate number, which can be also inscribed on the stone. Thus, the blockchain data becomes the digital twin of the diamond. The data is entered by manufacturers and retailers of diamonds.<\/li>\n<li>In the <strong>financial<\/strong> market, the Australian\u2019s biggest stock exchange, <a href=\"https:\/\/www.coindesk.com\/asx-postpones-roll-out-of-dlt-settlement-system-to-2021-q2\/\" target=\"_blank\" rel=\"noopener noreferrer\">ASX, has decided to adopt blockchain in order to improve the efficiency in post-trade processing<\/a>, cutting the costs of transactions, and making them faster and more secure. They expect that the \u201cnew system will be able to save as much as $23 billion once implemented\u201d;<\/li>\n<li>In the <strong>energy<\/strong> domain, <a href=\"https:\/\/www.brooklyn.energy\/\" target=\"_blank\" rel=\"noopener noreferrer\">Brooklyn Microgrid is developing a community-powered microgrid in Brooklyn, NYC<\/a> \u2013 an automatic logging on the blockchain quickly shows who has produced or consumed how much electricity in the last billing period, and because the data is stored decentrally, the producers are independent of the energy companies and can still be sure that no one cheats the other.<\/li>\n<li>In the <strong>public sector<\/strong>, the government of Estonia has launched an <a href=\"https:\/\/e-resident.gov.ee\" target=\"_blank\" rel=\"noopener noreferrer\">E-Residence program<\/a> that allows any person in the world to have a digital ID that offers the opportunity to start and manage an EU-based business from anywhere on the earth. The health care system in Estonia runs also on a blockchain to ensure data security.<\/li>\n<li>In the <strong>public sector<\/strong>, <a href=\"https:\/\/followmyvote.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">FollowMyVote<\/a> offers a secure online voting platform providing greater election transparency. Voters can verify that their vote was not tampered with. The voters remain private while the overall results are transparent for everyone.<\/li>\n<li><a href=\"https:\/\/www.heise.de\/newsticker\/meldung\/Schweiz-Blockchain-Identitaet-fuer-Zug-E-ID-fuers-ganze-Land-3892220.html\" target=\"_blank\" rel=\"noopener noreferrer\">In Switzerland, citizens have a blockchain-based e-ID<\/a>, and their elections are based on these IDs.<\/li>\n<li>In the <strong>real estate<\/strong> market, <a href=\"https:\/\/www.smartcitiesdive.com\/news\/vermont-city-to-use-blockchain-for-land-registry\/515627\/\" target=\"_blank\" rel=\"noopener noreferrer\">Vermont city (in the US) launched a pilot program to use blockchain to record property transactions<\/a>, to reduce costs related to paper process and human verification.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Blockchain_Applications_Wordcloud.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3425 size-large\" src=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Blockchain_Applications_Wordcloud-698x451.png\" alt=\"Fraunhofer IESE - Word Cloud Examples Blockchain-Based Applications\" width=\"698\" height=\"451\" srcset=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Blockchain_Applications_Wordcloud-698x451.png 698w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Blockchain_Applications_Wordcloud-400x259.png 400w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Blockchain_Applications_Wordcloud-768x497.png 768w, https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Blockchain_Applications_Wordcloud.png 812w\" sizes=\"auto, (max-width: 698px) 100vw, 698px\" \/><\/a><\/p>\n<h4>Legal Issues<\/h4>\n<p>This article has no focus on legal issues of blockchain. However, this is a very important topic in the overall design and operation of blockchain-based applications. Looking at the potential impacts and benefits outlined above, it becomes directly clear, that blockchain needs very thorough legal consideration as it often touches very sensitive data and it typically spans the boundaries of organizations. Some aspects to be considered are:<\/p>\n<ul>\n<li>The law of which country applies if there are transactions across country borders?<\/li>\n<li>What is the relationship to GDPR and which data can be made transparent, which data needs the possibility to be deleted later on?<\/li>\n<li>What is the relationship between a smart contract and a real-world contract?<\/li>\n<\/ul>\n<p>For some further introduction to this topic, we recommend an <a href=\"https:\/\/www.osborneclarke.com\/insights\/an-introduction-to-blockchain-the-key-legal-issues\/\" target=\"_blank\" rel=\"noopener noreferrer\">article about key legal issues of blockchain<\/a> by Osborne Clarke.<\/p>\n<p>Continue with the second article of our series: <a href=\"https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-2-what-do-you-really-mean-by-blockchain\" target=\"_blank\" rel=\"noopener noreferrer\">&#8222;What Do You Really Mean by \u201cBlockchain\u201d?&#8220;<\/a><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Blockchain is a hype topic that already led to some disillusionment. The development of blockchain-based applications is often technology-driven and with a trial-and-error approach. We provide guidance for architecting blockchain-based applications. We put structure on foundations and terms around blockchain, we outline architecture drivers that benefit from using blockchain technology, and we guide architects with numerous questions through the design space of blockchain-based applications.<\/p>\n","protected":false},"author":6,"featured_media":4363,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[211],"tags":[198,202],"coauthors":[16,199,200],"class_list":["post-2794","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-digitale-transformation","tag-english","tag-softwarearchitektur"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Architecting Blockchain-Based Applications (1\/3) - Blog des Fraunhofer IESE<\/title>\n<meta name=\"description\" content=\"Fraunhofer IESE provides a foundational guidance for architecting blockchain-based applications and describes the terminology of blockchain technology.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-1-foundations\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Architecting Blockchain-Based Applications (1\/3) - Blog des Fraunhofer IESE\" \/>\n<meta property=\"og:description\" content=\"Fraunhofer IESE provides a foundational guidance for architecting blockchain-based applications and describes the terminology of blockchain technology.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-1-foundations\/\" \/>\n<meta property=\"og:site_name\" content=\"Fraunhofer IESE\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/FraunhoferIESE\/\" \/>\n<meta property=\"article:published_time\" content=\"2019-05-04T20:29:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-07T07:41:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Blockchain_Serie_Teil1_FraunhoferIESE.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"748\" \/>\n\t<meta property=\"og:image:height\" content=\"375\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Dr. Matthias Naab, Dr. Kai Plociennik, Dr. Johannes C. Schneider\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@FraunhoferIESE\" \/>\n<meta name=\"twitter:site\" content=\"@FraunhoferIESE\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dr. Matthias Naab\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"21\u00a0Minuten\" \/>\n\t<meta name=\"twitter:label3\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data3\" content=\"Dr. Matthias Naab, Dr. Kai Plociennik, Dr. Johannes C. Schneider\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/architecting-blockchain-based-applications-1-foundations\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/architecting-blockchain-based-applications-1-foundations\\\/\"},\"author\":{\"name\":\"Dr. Matthias Naab\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#\\\/schema\\\/person\\\/f710ad164ef775e1ee339f78399e4ec1\"},\"headline\":\"Architecting Blockchain-Based Applications (1\\\/3)\",\"datePublished\":\"2019-05-04T20:29:43+00:00\",\"dateModified\":\"2024-02-07T07:41:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/architecting-blockchain-based-applications-1-foundations\\\/\"},\"wordCount\":4134,\"publisher\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/architecting-blockchain-based-applications-1-foundations\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/05\\\/Blockchain_Serie_Teil1_FraunhoferIESE.jpg\",\"keywords\":[\"English\",\"Softwarearchitektur\"],\"articleSection\":[\"Digitale Transformation\"],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/architecting-blockchain-based-applications-1-foundations\\\/\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/architecting-blockchain-based-applications-1-foundations\\\/\",\"name\":\"Architecting Blockchain-Based Applications (1\\\/3) - Blog des Fraunhofer IESE\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/architecting-blockchain-based-applications-1-foundations\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/architecting-blockchain-based-applications-1-foundations\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/05\\\/Blockchain_Serie_Teil1_FraunhoferIESE.jpg\",\"datePublished\":\"2019-05-04T20:29:43+00:00\",\"dateModified\":\"2024-02-07T07:41:25+00:00\",\"description\":\"Fraunhofer IESE provides a foundational guidance for architecting blockchain-based applications and describes the terminology of blockchain technology.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/architecting-blockchain-based-applications-1-foundations\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/architecting-blockchain-based-applications-1-foundations\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/architecting-blockchain-based-applications-1-foundations\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/05\\\/Blockchain_Serie_Teil1_FraunhoferIESE.jpg\",\"contentUrl\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/05\\\/Blockchain_Serie_Teil1_FraunhoferIESE.jpg\",\"width\":748,\"height\":375,\"caption\":\"Fraunhofer IESE - Teil 1 Blockchain-Reihe: Architecting blockchain-based applications\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/architecting-blockchain-based-applications-1-foundations\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Architecting Blockchain-Based Applications (1\\\/3)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/\",\"name\":\"Fraunhofer IESE\",\"description\":\"Blog des Fraunhofer-Institut f\u00fcr Experimentelles Software Engineering\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#organization\",\"name\":\"Fraunhofer IESE\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/08\\\/fhg_iese_logo.png\",\"contentUrl\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/08\\\/fhg_iese_logo.png\",\"width\":183,\"height\":50,\"caption\":\"Fraunhofer IESE\"},\"image\":{\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/FraunhoferIESE\\\/\",\"https:\\\/\\\/x.com\\\/FraunhoferIESE\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/fraunhoferiese\\\/\",\"https:\\\/\\\/www.youtube.com\\\/c\\\/FraunhoferIESE\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/#\\\/schema\\\/person\\\/f710ad164ef775e1ee339f78399e4ec1\",\"name\":\"Dr. Matthias Naab\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/5D3_1053_blog-96x96.jpgfae66133cc73b6f37629c808fe15c266\",\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/5D3_1053_blog-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/5D3_1053_blog-96x96.jpg\",\"caption\":\"Dr. Matthias Naab\"},\"url\":\"https:\\\/\\\/www.iese.fraunhofer.de\\\/blog\\\/author\\\/matthias-naab\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Architecting Blockchain-Based Applications (1\/3) - Blog des Fraunhofer IESE","description":"Fraunhofer IESE provides a foundational guidance for architecting blockchain-based applications and describes the terminology of blockchain technology.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-1-foundations\/","og_locale":"de_DE","og_type":"article","og_title":"Architecting Blockchain-Based Applications (1\/3) - Blog des Fraunhofer IESE","og_description":"Fraunhofer IESE provides a foundational guidance for architecting blockchain-based applications and describes the terminology of blockchain technology.","og_url":"https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-1-foundations\/","og_site_name":"Fraunhofer IESE","article_publisher":"https:\/\/www.facebook.com\/FraunhoferIESE\/","article_published_time":"2019-05-04T20:29:43+00:00","article_modified_time":"2024-02-07T07:41:25+00:00","og_image":[{"width":748,"height":375,"url":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Blockchain_Serie_Teil1_FraunhoferIESE.jpg","type":"image\/jpeg"}],"author":"Dr. Matthias Naab, Dr. Kai Plociennik, Dr. Johannes C. Schneider","twitter_card":"summary_large_image","twitter_creator":"@FraunhoferIESE","twitter_site":"@FraunhoferIESE","twitter_misc":{"Verfasst von":"Dr. Matthias Naab","Gesch\u00e4tzte Lesezeit":"21\u00a0Minuten","Written by":"Dr. Matthias Naab, Dr. Kai Plociennik, Dr. Johannes C. Schneider"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-1-foundations\/#article","isPartOf":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-1-foundations\/"},"author":{"name":"Dr. Matthias Naab","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#\/schema\/person\/f710ad164ef775e1ee339f78399e4ec1"},"headline":"Architecting Blockchain-Based Applications (1\/3)","datePublished":"2019-05-04T20:29:43+00:00","dateModified":"2024-02-07T07:41:25+00:00","mainEntityOfPage":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-1-foundations\/"},"wordCount":4134,"publisher":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#organization"},"image":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-1-foundations\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Blockchain_Serie_Teil1_FraunhoferIESE.jpg","keywords":["English","Softwarearchitektur"],"articleSection":["Digitale Transformation"],"inLanguage":"de"},{"@type":"WebPage","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-1-foundations\/","url":"https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-1-foundations\/","name":"Architecting Blockchain-Based Applications (1\/3) - Blog des Fraunhofer IESE","isPartOf":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-1-foundations\/#primaryimage"},"image":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-1-foundations\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Blockchain_Serie_Teil1_FraunhoferIESE.jpg","datePublished":"2019-05-04T20:29:43+00:00","dateModified":"2024-02-07T07:41:25+00:00","description":"Fraunhofer IESE provides a foundational guidance for architecting blockchain-based applications and describes the terminology of blockchain technology.","breadcrumb":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-1-foundations\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-1-foundations\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-1-foundations\/#primaryimage","url":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Blockchain_Serie_Teil1_FraunhoferIESE.jpg","contentUrl":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Blockchain_Serie_Teil1_FraunhoferIESE.jpg","width":748,"height":375,"caption":"Fraunhofer IESE - Teil 1 Blockchain-Reihe: Architecting blockchain-based applications"},{"@type":"BreadcrumbList","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/architecting-blockchain-based-applications-1-foundations\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/www.iese.fraunhofer.de\/blog\/"},{"@type":"ListItem","position":2,"name":"Architecting Blockchain-Based Applications (1\/3)"}]},{"@type":"WebSite","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#website","url":"https:\/\/www.iese.fraunhofer.de\/blog\/","name":"Fraunhofer IESE","description":"Blog des Fraunhofer-Institut f\u00fcr Experimentelles Software Engineering","publisher":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.iese.fraunhofer.de\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#organization","name":"Fraunhofer IESE","url":"https:\/\/www.iese.fraunhofer.de\/blog\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2016\/08\/fhg_iese_logo.png","contentUrl":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2016\/08\/fhg_iese_logo.png","width":183,"height":50,"caption":"Fraunhofer IESE"},"image":{"@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/FraunhoferIESE\/","https:\/\/x.com\/FraunhoferIESE","https:\/\/www.linkedin.com\/company\/fraunhoferiese\/","https:\/\/www.youtube.com\/c\/FraunhoferIESE"]},{"@type":"Person","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/#\/schema\/person\/f710ad164ef775e1ee339f78399e4ec1","name":"Dr. Matthias Naab","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/07\/5D3_1053_blog-96x96.jpgfae66133cc73b6f37629c808fe15c266","url":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/07\/5D3_1053_blog-96x96.jpg","contentUrl":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/07\/5D3_1053_blog-96x96.jpg","caption":"Dr. Matthias Naab"},"url":"https:\/\/www.iese.fraunhofer.de\/blog\/author\/matthias-naab\/"}]}},"jetpack_featured_media_url":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-content\/uploads\/2019\/05\/Blockchain_Serie_Teil1_FraunhoferIESE.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/posts\/2794","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/comments?post=2794"}],"version-history":[{"count":46,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/posts\/2794\/revisions"}],"predecessor-version":[{"id":10159,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/posts\/2794\/revisions\/10159"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/media\/4363"}],"wp:attachment":[{"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/media?parent=2794"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/categories?post=2794"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/tags?post=2794"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.iese.fraunhofer.de\/blog\/wp-json\/wp\/v2\/coauthors?post=2794"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}