Thesis
Thesis
Thesis
June 2018
Scientific Supervision by
Supply chain refers to the flow of products and associated information which are
exchanged between companies. The direction of this flow goes from supplier to
consumer, with complex exchanges and transformations happening between the origin
and delivery of a product. Thus, supply chain management (SCM) is essential in the
coordination of a supply chain.
A supply chain faces many difficulties: traceability and provenance of the products,
inventory management, quality control and schedules to follow are some. Delays are
common, affecting a company’s finances, growth and reputation. This is aggravated by
the fact that the needed information is not always accurate or available, a consequence,
in part, of the manual processes for inserting information into the companies’ systems
and of the non-existence of reliable technologies which can integrate the information
in a secure and fast manner.
One way to approach these problems of supply chains is to prioritize them and up-
date the supporting technologies. A technology that seems adequate is the blockchain
distributed architecture, which allows for the immutable and secure storage of data,
making any piece of information be accessible anytime, anywhere. As such, blockchains
might be the adequate mean to achieve traceability of a supply chain, possibly leading
the way to turning the chain fully digital and automated.
This dissertation focuses on researching the extent of the issues of supply chains,
and whether blockchain can be used to solve these issues. Therefore, the hypothesis is
that blockchain architectures can be a good fit for supply chain management.
To validate the issues of SCM and elicit requirements for a supply chain software
system, a survey was conducted. By using these requirements, it was possible to
propose and iteratively build a blockchain architectural solution, aiming to test whether
the gathered requirements are feasible to be implemented.
In the end, the solution was analyzed against the elicited requirements, in order to
verify the degree to which it was possible to implement them. From this verification, it
was possible to draw some conclusions. The fact is that the designed architecture could
ii abstract
prove to handle most of the requirements for a supply chain, but the implementation
of other requirements remains to be achieved. The expectation is that the contributions,
both of the successes and failures, might help pave the way for future work and
research in integrating blockchain architecture into SCM software systems.
Keywords: Supply Chain, Supply Chain Management, Requirements Engineering,
Blockchain, Distributed Architecture, Security, Traceability, Information Integration,
Interoperability
Resumo
Abstract i
Resumo iii
List of Figures ix
List of Tables xi
1 Introduction 1
1.1 Supply Chains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 From Blockchain Technologies to Supply Chains . . . . . . . . . . . . . . 4
1.4 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.6 Dissertation Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Blockchain Technologies 9
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Core Concepts and Features . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.1 Immutability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.2 Consensus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.3 Private, Public and Hybrid Blockchains . . . . . . . . . . . . . . . 12
2.2.4 Types of Consensus Mechanisms and Algorithms . . . . . . . . . 13
2.2.5 Transparency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4 Blockchain Frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.1 Ethereum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.2 Hyperledger Fabric . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4.3 Hyperledger Composer . . . . . . . . . . . . . . . . . . . . . . . . 24
vi CONTENTS
2.4.4 Corda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.4.5 Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4 Problem Statement 43
4.1 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1.1 Main Points of Focus . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1.2 Possible Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.1.3 Thesis Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.2 Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2.1 Supply Chain Issues Validation And Requirements Elicitation . . 47
4.2.2 Solution Design and Implementation . . . . . . . . . . . . . . . . 48
7 Conclusions 109
7.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
7.2 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7.3 Difficulties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.4 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Appendices 113
References 119
List of Figures
6.1 Class Diagram for the relationships between assets and participants. . . 94
6.2 Exemplification of the non-relational model problem in the Hyperledger
Projects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.3 Example fabric topology for 3 organizations. . . . . . . . . . . . . . . . . 101
6.4 Architectural layer representation of Blockchain Integration with other
systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
B.1 Full class diagram for the designed Hyperledger Composer model . . . 118
List of Tables
5.1 Question results metrics for the affirmations about the use of cryptocur-
rencies in the blockchain. . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.2 Question results metrics for the affirmations about the effects of informa-
tion gaps, the reliability of management planning and lack of a system
with good integration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.3 Question results metrics for the question to rank the importance of
improvement aspects of the supply chain. . . . . . . . . . . . . . . . . . . 66
5.4 Question results metrics for the question to rank the importance of
functionalities in an information system for supply chain. . . . . . . . . 69
5.5 Elicited requirements grouped by improvement area of focus. . . . . . . 76
A.1 Data analysis metrics used in the survey results analysis . . . . . . . . . 116
xii LIST OF TABLES
Chapter 1 1
Introduction 2
Our society is turning more consumerist, with most people in developed countries 3
having high consumer power and standards of life. Consumers goods, from the essen- 4
tials up until the entertainment goods, are manufactured and ordered continuously in 5
high quantities. 6
Modern supply chains feel the pressure of this growth, leading to the demand for 7
an efficient management. Most companies are making efforts towards this end, and, 8
even though part of the answer to an efficient management lies in having efficient 9
processes, a good management is also based in using the right technologies. Thus, the 10
development of technologies that can satisfy the demands of supply chain management, 11
Supply Chains can be found, in some form, in nearly every business, spanning many 14
different areas of operation. Traditionally, a supply chain encompasses all the processes 15
and activities that lead from the initial raw materials to the final finished product, 16
as well as all the functions and services within and outside a company. A supply 17
chain can also be defined as the network of entities through which material flows. 18
centers, retailers, and customers [25]. Naturally, with the upstream and downstream 20
flow of these materials and resources, comes a lot of information on them and on the 21
processes, people and organizations they are associated with. Realistically, the flow is 22
not always arborescent, as there are many considerations to be taken and decisions 23
to be made. Supply chains have multiple end products with shared components, 24
2 introduction
1 facilities and capacities [13]. As a consequence, the paths taken by the resources and
2 information are not straightforward, but interlace, diverge and converge at different
3 points, go back and forth, as exemplified in Figure 1.1.
Figure 1.1: Representation of a garment supply chain and all the relationships it involves. Taken
from the International Training Centre of the International Labour Organization
briefing on global supply chains [20].
4 The activities and processes a supply chain encompasses include: sourcing raw
5 materials and parts, manufacturing and assembly, warehousing and inventory tracking,
6 order entry and order management, distribution across all channels, delivery to the
7 customer, and managing the information systems necessary to monitor all of these
8 activities. As Lummus [25] describes, these activities can be roughly mapped to the 4
9 essential processes: plan, source, make, deliver.
10 Coordinating all of these is no easy task, and so the discipline of SCM comes into
11 life. According to Ballou [3], the Council of SCM Professionals (CSCMP) defines SCM
12 as “the planning and management of all activities involved in sourcing and procurement,
13 conversion, and all Logistics Management activities. Importantly, it also includes coordination
14 and collaboration with channel partners, which can be suppliers, intermediaries, third-party
15 service providers, and customers. In essence, SCM integrates supply and demand management
16 within and across companies”.
17 From this definition follows that SCM deals a lot with both coordination and
18 collaboration between entities, and so, the management of the flow of information
19 and resources between them is very important. The objective is always, of course, to
20 minimize the total cost of these flows between and among stages [? ]. In the end, the
21 creation of value (products and services) in a supply chain stems from the relationships
challenges 3
that different entities build between themselves, and not from the work of a single 1
entity. As such, supply chains, not firms, compete and those which have the best 2
And this is where SCM shines and shows just how useful it can be. Managing 4
all the processes in a supply chain, while maintaining safety, quality and keeping to 5
schedule is difficult. An event on one side of the world, large or small, be it from 6
human or natural causes, can easily disrupt the links in the supply chain. For instance, 7
it might disrupt the supply of a critical component or service. Delays are, therefore, 8
common, and the consequences of such disruptions might have a severe impact in the 9
SCM diminishes the impact of such disruptions, and actively works to avoid or 11
diminish them, while optimizing the way the supply chain works. This is why SCM is 12
such an important discipline, that we have to better understand and improve, with all 13
the means that we can, and this includes, of course, research into technologies like the 14
blockchain. 15
1.2 Challenges 16
Having already introduced the concepts of Supply Chain and SCM, it is now possible 17
The first, and most generalist problem of a supply chain, is the ease with which an 19
unexpected event might cause delays. These events, already mentioned in Section 1.1 20
are not always predictable and must be contained as fast as possible. One event in 21
particular which, often, causes delays are synchronization problems in the processes 22
Another problem is that, often, there are difficulties in sharing information between 24
companies. This is caused both by the fact that companies value their privacy and the 25
security of their information, which means they might not want to share too much 26
information, or that they might only share it through secure channels, and by the 27
lack of standards for sending information and communicating [22]. The issue with 28
non-existing standards is that companies are left to discuss what details to share or 29
Most important of all, in the industry, the use of traditional tools and manual 31
work is still too prevalent. Emails are sent, documents are printed and mailed, instead 32
of transmitting the information in a more automatic, direct and secure way through the 33
4 introduction
1 network. This point also brings the next problem of supply chains to light: the apparent
2 lack of interoperability between certain softwares (which might be a byproduct of by
3 the lack of standards).
4 Finally, provenance and traceability of the products on a supply chain are a big
5 objective for companies. But the current technologies used in supply chain only
6 accomplish provenance and traceability in a limited scope, as the information a
7 certain entity possesses is usually also limited. And so, it is very hard for anyone to
8 have a global overview of the supply chain.
9 Though it is not proven, it is be possible that some, if not most, of these issues in
10 supply chain might be caused by the use of software architectures that do not allow for
11 full data integration. An optimal supply chain should be as efficient and effective as
12 possible, while being secure and satisfying all the traceability requirements. Perhaps,
13 it is time to try out new solutions which replace or augment the existing ones, in such
14 a way that supply chain management can better satisfy the needed requirements.
thus leading to a lot of chaos and uncertainty as to the state of the key items in the 1
chain [41]. 2
This dissertation work will focus on supply chain management, and on how 3
blockchains can possibly be applied to improve this area, leading to positive impacts 4
in the logistics industry and eventually finding benefits for the consumer as well. 5
1.4 Motivation 6
As described in section 1.2, a possible cause of these problems might be the use of 7
software that can not keep up with the evolution of the requirements of modern supply 8
chains. Today’s supply chains have high standards for their requirements and even 9
when the software works just fine, maybe it is not recent enough or it was not specified 10
and built to satisfy these requirements. For instance, product falsification might be 11
a huge issue nowadays in the supply chain, but maybe it was not rated as a high 12
importance problem 15 years ago. Therefore, the software from 15 years ago complied 13
with different requirements than the ones from today and was not built to handle that 14
There is an immediate need for solutions, which might either completely replace the 17
One way to approach these specific problems is to research what would a modern 19
requirements specification for supply chain look like, and develop new technologies 20
that are more accurately specified for the supply problem challenges in question. 21
architectures are the perfect means to achieve traceability of a supply chain, and so, 24
they are good to achieve provenance as well. At the same time they are a secure, 25
time, being perpetually available to anyone who has permission, anywhere within the 27
network. It would also be the way to close the analog gaps, turning the chain fully 28
1 1.5 Objectives
2 The main objective of this dissertation is to find whether blockchain technology is a
3 good fit to solve the most common problems of supply chain management, and also
4 to find out the technological requirements of a modern supply chain. There are a
5 multitude of small tasks that blockchain could automatize in supply chain, so this
6 thesis will try to figure out which ones blockchain applies to better.
7 The primary objective of this dissertation is determining if blockchain architectures
8 can be successfully applied to supply chain management as an improvement towards
9 the technologies that are already being used. For this purpose, it is necessary to
10 conduct research on the supply chain issues and validate these, in order to propose a
11 blockchain design that can target these issues successfully.
29 • Chapter 4, "Problem Statement", specifies the thesis statement and the questions
30 that need to be answered in order to reach a conclusion.
dissertation structure 7
tures a survey and the analysis of its results, such as to gather the requirements 2
a proof of concept (PoC) project that implements the requirements elicited from 6
the survey. 7
Part 3: Conclusion - Gathers all the information from the results of the solution to 8
Blockchain Technologies 2
This chapter introduces the most important concepts of blockchain which are essen- 3
tial for its applications. It interleaves the features of blockchain with its applicability to 4
in general and in particular to SCM, as well as any existing models for the integration 6
2.1 Introduction 8
which, in simple terms, states that consistency in a distributed system can never be 10
fully guaranteed [23]. This is derived from a lack of general consensus as to what the 11
practical way to approach this problem (though with its limitations), even earning 14
the term "Practical Byzantine Fault Tolerance (PBFT) Algorithm", because of how 15
it handles the consensus issue. The fact that many kinds of applications rely on 16
distributed architectures, which might face these problems, turns blockchain all the 17
more appealing. 18
Some improvements have been built upon the traditional blockchain, such as smart 19
contracts, which further enhance its use and allow for a wider variety of applications. 20
Some areas where blockchain is starting to see some use include insurance, finance, 21
In each of these areas, there are many ways in which blockchain can be used, be it 23
1 versatility is what makes it so popular and what allows for the possibility of many
2 other applications to be proposed.
25 2.2.1 Immutability
26 This hash thus guarantees that the blocks are linked to each other, but it also guarantees
27 the integrity of the block chain. If one block is altered, the hash on the block that
28 follows it stops matching the block’s. If we really wanted to change something on this
29 first block, we would have to alter the hash on the following block to match. But then,
30 that second block would also have been altered, and we would have to change the hash
31 on the third block to match, and so on. This means that the blockchain is immutable,
32 as it is not possible to alter a single block without manually altering all the others.
core concepts and features 11
2.2.2 Consensus 1
The blockchain and its data exists only in a peer-to-peer network, and as such, it is 2
stored and extended by the nodes of the network, which form a topology between 3
them. The nodes are machines that have the core code of the blockchain system and 4
which receive and share among themselves the incoming information, in the form of 5
blocks, validating it according to the established rule set. All the nodes, if they are 6
not malicious and actively attempting to change the contents of the chain, contain the 7
same blockchain structure and information, as they all agree on its contents through a 8
consensus algorithm. 9
Some nodes are open to the internet and the world, thus receiving information 10
from outside the peer-to-peer network and disseminating it to the rest of the network’s 11
nodes. A subset of the nodes, called miners, will then gather the circulating information 12
from the peer-to-peer network (by receiving transactions from the nodes they are 13
connected to), and form blocks of information, which they try adding to the blockchain. 14
Obviously, it is impossible for all the nodes to add their blocks at the same time, as 15
each of them would then have a different version of the blockchain and they would 16
get desynchronized. And so, the nodes must reach a consensus as to which block gets 17
added next to the blockchain. For this very reason, the code of the blockchain must 18
In public blockchains, the mining nodes do all the hard work, and they usually 20
12 blockchain technologies
1 need some incentive to do so. Cryptocurrencies are virtual currencies that only exist
2 on the blockchain they belong to, and they allow for a new monetary system to come
3 into life. These currencies play an important role in blockchain, since they allow for
4 miners to be rewarded. Without them, public blockchains would probably not work
5 as well, which is why there are so many alternative currencies popping up, with the
6 advent of this technology.
7 Of course, this is just one of many ways to make a blockchain move forward
8 successfully, and other types of consensus algorithms have been idealized, though
9 most of the consensus algorithms in public blockchains will use cryptocurrencies as
10 the prime incentive.
21 Private Blockchains These are usually owned by some organization and have access
22 control, restricting write access to certain peers inside the organization. Read access
23 might be restricted or not, according to the organization’s goals. These blockchains,
24 unlike public ones, might not require cryptocurrency or incentives, as the maintenance
25 of the blockchain is done by the organization who owns it, and so they have all the
26 interest in having nodes that can run the consensus process. In the end, this is a
27 more centralized version of the blockchain, as the nodes are concentrated under the
28 ownership of the organization. This also gives the advantage that alterations to the
29 blockchain are easier to achieve, if so is desired (though it subtracts from the actual
30 meaning and concept of an immutable blockchain). It is usually more efficient than
31 public blockchains, being able of achieving a higher number of transactions processed
32 per second.
core concepts and features 13
a private blockchain. They are controlled by many different organizations, and the 2
consensus might involve, for example, at least a certain percentage of the nodes 4
agreeing on something (e.g.: if there are 15 fixed nodes, require at least 10 to sign the 5
Consortium and private blockchains are not that different. According to Vitalik 8
Buterin, [9], "so far there has been little emphasis on the distinction between consortium 9
blockchains and fully private blockchains, although it is important: the former provides a hybrid 10
between the ‘low-trust’ provided by public blockchains and the ‘single highly-trusted entity’ 11
model of private blockchains, whereas the latter can be more accurately described as a traditional 12
The most commonly used consensus algorithm is Proof of Work (PoW), though there 15
are others, like the most used alternatives, Proof of Stake (PoS), and Proof of Activity 16
2.2.5 Transparency 18
The blockchain is not only available to the mining nodes in the network. Though they 19
are the ones who actively interact with the chain in order to make it grow, if the chain 20
is public, anyone can view the records and verify the authenticity of the data. This is 21
that only certain actors have access to certain records, according to the access control 23
rules set by the organization or set of organizations that manage it. This is done with 24
the help of sets of asymmetric key pairs and a public key infrastructure. 25
14 blockchain technologies
2.3 Applications 1
In general, blockchains are applied in different ways, from public ledgers to private, in 2
a continuum, according to the specific needs. Many of them even apply the concept 3
and many more have been idealized, with some even being successfully applied. Here 5
are some examples of areas where the benefits of introducing blockchain have been 6
studied. 7
recorded. 9
• Insurance - Smart contracts, having to abide to certain rule with certainty, make 10
for a perfect system for risk-management. Given that certain conditions are 11
met, the insurance could be claimed, giving way to faster and less error-prone 12
insurance processing. 13
• Health care - Health records easily accessible anywhere. This could be coupled 14
with other applications, like using sensors and smart contracts to automatically 15
• Voting - Using blockchain, digital voting could become feasible. The greatest 19
barrier to e-voting have been the concerns with security, and blockchain provides 20
• Internet-of-Things (IoT) - Any object connected to the Internet can upload infor- 22
mation, which can either be stored or processed on the blockchain. Devices with 23
sensors, for instance, can be programmed to send their values to the blockchain, 24
which can then be queried by others to check these values. There can even be 25
6 2.4.1 Ethereum
7 With the purpose of building a blockchain that does more than just provide a currency
8 system, the Ethereum project was developed and launched in 2014. A white paper,
9 written by Vitalik Buterin was released explaining the concepts and inner-workings
10 of this platform, and its popularity has been growing ever since. Citing Buterin’s
11 paper, Ethereum has the intent to "allow developers to create arbitrary consensus-based
12 applications that have the scalability, standardization, feature-completeness, ease of development
13 and interoperability" [8].
14 Smart Contracts
Currency 1
The interesting aspect of Ethereum, however, is that the code from these applications or 2
available computer. Of course, with computational power comes a price. Each time a 4
function from a contract is called, someone’s computer, a mining node, is doing all 5
the computations, and for each line of code, an agreed fee must be paid. As such, 6
Ethereum has its own cryptocurrency, by the name of Ether, and which is essential to 7
Consensus 9
At the moment, Ethereum is still using PoW as the consensus protocol, in a similar 10
fashion to Bitcoin. There are projects currently trying to move Ethereum to PoS, such 11
as Casper [10]. PoS is a consensus protocol with a different paradigm, in which the 12
block mining process is roughly based on trust, on the fact that the miner has a certain 13
The benefit of PoS over PoW is that there is not as much "waste" of computational 16
power as in PoW. In PoW, miners have to intensively search for a target number, 17
which allows them to claim the block as their own. This serves no other scientific or 18
practical purpose other than making the mining process hard, and, as soon as a node 19
successfully mines a block, all the energy used by all the other mining nodes that were 20
in this process basically goes to waste [7]. There are other concerns that make a PoS 21
Ever since its conception, there has been concern as to whether Ethereum’s throughput 24
and latency are enough to handle a large amount of applications running at once, and 25
if it will be scalable in the future. The recent launch of an application by the name of 26
1
CryptoKitties disrupted Ethereum, congesting the main network and slowing down 27
These concerns are also very much valid for the case of supply chains. If Ethereum 29
were to be integrated with a supply chain, by using smart contracts, one of the most 30
important factors to take into account would be exactly the performance and scalability 31
1 https://www.cryptokitties.co/
18 blockchain technologies
1 of the system. It is important to note, though, that private and public blockchains
2 have different performances as well as different scalability concerns. Furthermore,
3 certain values that affect the performance (such as the block time) also have an affect
4 on the scalability, and consequently, on the security (a blockchain with a lot of nodes
5 is more secure than one with fewer, for instance). This means that these attributes
6 are interdependent and require a fine balance. It is important to mention that it is
7 possible to deploy a network for Ethereum separate from the main network, so that it
8 runs on a separate number of nodes and so that the network could have some of its
9 values customized. However, such a network will still be public, like the main network
10 already is, suffering from most of the same issues.
11 In a public chain, security is a much bigger concern, as there are many different
12 kinds of attacks, and the blockchain’s values, such as the block size, are balanced in a
13 way that tries to prevent these. Such values can easily be adjusted in a private chain,
14 in ways they can not in a public chain, where they would cause forks, clog the chain or
15 raise security issues. In addition, private blockchain deployments are usually more
16 centralized, concentrating their power in fewer nodes, as there is an inherent sense of
17 trust from within the network. For this very reason, this type of blockchain is more
18 easily scalable as well.
19 The performance of blockchains such as Ethereum is usually measured by the
20 average throughput, which is the number of processed transactions per second (TPS).
21 This depends a lot on two main factors:
22 • The block size - in Ethereum, the block size is not a fixed value; rather, it has
23 a "gas" limit; each transaction put into the block spends some gas, and when
24 the gas reaches the limit for that block, the block is full; here, "gas" is a unit
25 that refers to the computational steps taken to process a certain transaction or
26 contract; the more complex the transaction, the more "gas" it spends;
27 • The average time to publish a block - block interval; in Bitcoin, this was a fixed
28 10 minute time, but in Ethereum, this time can be as low as 15 seconds [35]; this
29 is directly related to the latency, the time a transaction takes to be integrated into
30 the blockchain;
31 The fact that both transactions and block can vary in their size makes it hard to
32 theoretically pinpoint what the performance of an Ethereum network is. In practice,
33 though, and according to recent studies and statistics gathered, the throughput of the
34 main Ethereum network is around 15 TPS.
blockchain frameworks 19
Besides latency and throughput, most blockchains are facing the problem that the 1
blockchain size, the required to store the blockchain itself is becoming increasingly 2
large, and is constantly growing. With this kind of pace, not every node will be able to 3
This easily becomes a security problem for public blockchains, as the power will be 5
concentrated among the few nodes who can store the blockchain. In Ethereum, every 6
node has to store and process all transactions as well as store the entire state of the 7
Proposed Solutions 9
Solutions to the above mentioned issues of the above mentioned issues have already 10
been proposed and are being tested. Some of these are Raiden, Casper, Sharding and 11
Plasma. 12
partial consensus mechanism that aims to implement PoS as the consensus algorithm 14
in Ethereum. It works by allowing anyone who holds anything of value in the system, 15
in this case, the Ethereum currency, Ethers, to participate in choosing the next block. 16
deposit some of their currency to have a stake on the mining process of a block, so 18
they have their own deposits at stake. Therefore, they are encouraged to be honest, 19
because any violation of the rules or attempts of attack puts them at risk of losing this 20
deposit. The higher the stake, the higher the power: with a high stake, it might be 21
easier to perform an attack, but as it is also a lot riskier, so attacks are discouraged. 22
Another important aspect of Casper is that, as a PoS based mechanism, it allows for 23
a more efficient Blockchain as it enables miners to work without high end hardware 24
and high electricity costs, while also potentially allowing for lower block times. 25
increase the throughput of Ethereum. It acts upon the problem that every node 27
must validate every transaction, by dividing nodes and transactions into subsets and 28
assigning them such that a subset of the nodes will verify a subset of transactions [6]. 29
This allows for transactions to be processed in parallel, and, as long as there are 30
per second are able to be processed, therefore increasing throughput in a scalable way. 32
20 blockchain technologies
1 Raiden - Token transfer throughput scalability Raiden is a solution that allows for
2 off-chain transfers of tokens to happen outside the blockchain, on a side-channel, in
3 a secure way, using cryptography to build balance proofs [15]. This way, for a certain
4 number of transactions, a side channel can be opened, the transactions are performed,
5 and, at the end, the channel is closed and the transactions are submitted onto the chain.
6 Raiden implements the protocol that provides the routing between the nodes and all
7 other functionalities that make this possible.
contributed by IBM, tries to address some of the open issues of the existing frameworks, 5
Chaincode 9
to Ethereum, the chaincode programs are event driven programs which run on the 11
ledger, changing the ledger’s state when executed, thus being able to move assets 12
around. It can be said that this works much like a state machine. 13
A big difference to Ethereum, though, is the language used in the chaincode. Pro- 14
grams are written in Go, with support for other languages like Java to be implemented. 15
and lowers the barrier of entry to use this framework as a blockchain. But it also 18
raises the issue that the code might be non-deterministic, leading to forks, which is the 19
specific reason why Ethereum uses a language that it compiles and runs on EVM. 20
Architectural Revision 21
The latest version of Fabric, v1.1, has a totally revised architecture from some of the 22
previous versions, like v0.6. These changes in architecture originated from changes 23
in the requirements, as well as to better address some other underlying issues of the 24
technology. 25
The previous version (v0.6) shared similarities with other blockchain systems, in 26
and mined (agreed upon), all other nodes will execute its transactions sequentially. 29
This was a simple architecture, but it has several liabilities when used in a permissioned 30
21 In Fabric, transactions are of two types: either deployment transactions, which create
22 new chaincode, or invoke transactions, which perform operations on the deployed
23 chaincode.
24 Being a permissioned blockchain, any node which wants to interact with trans-
25 actions is required to authenticate itself and have an identity. Transactions and data
26 are therefore restricted to certain participants of the network. The data partitioning
27 mechanism used to control this is called a channel. Users can belong to a channel,
28 having visibility of these transactions, and the consensus will happen only within the
29 channel and its members. This also means that there is one ledger (set of transactions
30 plus the state) per channel. The channels themselves have defined sets of rules for
31 what actions each participant can execute.
blockchain frameworks 23
Besides the existence of permissioned channels, the other main difference in this 1
revised architecture is the way in which consensus works. The following definitions cor- 2
respond to steps in the consensus mechanism, which are needed to better understand 3
Endorsement Some endorser stakeholder first verifies the transaction and then de- 5
cides whether to accept it or reject it. The endorsement is simply a signature of the 6
transaction, which confirms the decision of the endorser. Endorsement policies might 7
Ordering All the transactions gathered within a certain period are grouped into a 9
Types of nodes: 14
• Peer Node - peers form a peer-to-peer gossip network, maintain the state of the 16
• Orderer Node - the orderer nodes together form a ordering service; this service 21
from the peers, create a block with them and then broadcast this block to the 23
committers; 24
follows: 26
2. The endorser nodes simulate the transaction and choose whether they endorse it 28
or not. If they do, they sign the transaction and send the endorsement back to 29
the client. 30
24 blockchain technologies
2 4. The ordering service gathers incoming transactions, sorts them into blocks and
3 then broadcasts the transactions by order to all the peers (orderers and com-
4 mitters); the peers then validate the transactions and verify their endorsements,
5 applying only the transactions which fulfill the endorsement policy.
Table 2.2: Comparison between traditional PoW consensus and Hyperledger’s BFT consensus
mechanism
abstraction of Fabric, which allows for a big reduction in the lines of code written and 1
simplifies the whole process of building a business network and deploying it, as well 2
as the process of managing the identities of the network’s participants. The whole 3
documentation for the project is continuously being updated at their website [24]. 4
It features a nice and intuitive graphical user interface to manage all of its com- 5
ponents, and it also features a REST server to expose the blockchain to outside 6
applications. 7
Business Network 8
A business network is a model of all the data in the blockchain, which includes all the 9
objects, functions, transactions and identities that will connect to each other and be 10
saved on the ledger. It is basically an abstraction of the chaincode that will be installed 11
onto Fabric. A business network, being a network model, can be deployed into an 12
business network. It is divided into 4 main components, as can be seen in Figure 2.3. 15
nodes each time, it will simply constitute different instances of a network model. 17
Each instance will constitute a separate network with a separate ledger, independent 18
26 blockchain technologies
Figure 2.3: Hyperledger Composer abstraction over Fabric. Available in Composer’s docu-
ments [38].
1 from the other networks. This is analog to modelling a class in a object oriented
2 programming and then instancing it multiple times. Each instance is separate from the
3 others, even though it is based on the same model. Therefore, a good model design
4 can be used by several businesses separately, and each can configure the model to
5 represent the topology they are looking for.
6 The 4 main components:
7 Model File This is where all the main data components are defined. Assets are
8 the main "objects" that are handled in transactions, and they can represent a variety
9 of things. One example can be a "car". Participants are the types of people that
10 will be participating in the network. One example participant can be "Customer",
11 which will have fields like "Balance" and "Name". An instance of a participant can be
12 linked to a real identity of a person using the blockchain. Transactions are the most
13 important data object. They model what actions can be taken, and they usually have
14 some data fields associated, which act as the input of the transaction. An example
15 of a transaction can be "BuyCar", which could have as parameters the car ID, and a
16 participant could then call this transaction, if they had the permission to do so. All
17 these 3 components, Assets, Participants and Transactions have their own registry.
18 While the Assets and Participants registries are mutable, the Transactions registry is
19 not. Additionally, another type of object can be defined in this file, Events, which can
blockchain frameworks 27
be emitted by transactions and subscribed by applications which can handle them, for 1
Script File This file contains all the functions that define how a transaction behaves 3
and what kind of data it processes and outputs. It can also have additional auxiliary 4
functions. 5
Access Control This is where the access rules are defined. These rules include 6
restrictions on who can invoke which transactions, who can read the data, and many 7
other permissions. 8
Query File This file includes some queries that can retrieve information from the 9
history, and it is also subject to the access control rules. These queries are both 11
exposed to outside applications through the composer REST server and to the Script 12
file functions. 13
All of these components can be compiled into one file (.bna), which is then deployed 14
onto Fabric. 15
certificate and private key, in the form of an account which can interact with the 18
blockchain network. Within a certain business network, an identity can even be bound 19
which can then be bound to some real person’s account. That person will then be 22
able to interact with the blockchain, but will be bound by whatever access rules the 23
"Business Network Cards". These cards are files which can are associated with an 26
identity and a network, and also act as a private key. If a user possesses a card, they 27
can import it to prove their identity and start interacting with the blockchain. 28
28 blockchain technologies
1 Fabric Topology
2 Composer also has configuration files for some of Fabric’s properties. It possesses files
3 to determine which organizations exist and which kind of nodes they possess, along
4 with their mapping. It also has a definition for the endorsement policies.
5 2.4.4 Corda
6 Corda’s take on blockchains vastly differs from Ethereum or Hyperledger. Traditionally,
7 banks have their own ledger, but Corda wants to unify these ledger’s into one, claiming
8 that it improves the cost and efficiency. Corda focuses solely on providing a distributed
9 ledger for financial services, where financial agreements can be recorded and managed,
10 available to any financial institution[5].
11 This is a very specific purpose, which means that Corda’s application on Supply
12 Chains would be rather limited, to fixing payments and agreements, perhaps. Even
13 Corda’s own smart contracts are pretty limited in what they allow, in comparison to
14 Ethereum’s, since they do not allow for all the freedom of computation. In theory,
15 Corda is limited to the financial and legal contracts domain, with the functionality for
16 custom contracts being very limited.
Figure 2.4: Corda’s vision on a Shared Ledger. Available in Corda’s White Paper [5].
17 Concepts
18 Corda is also a permissioned blockchain. While the ledger is global, some transac-
19 tions and agreements involve only certain groups and should be visible only to the
20 participating parties or those with a reason to be able to see them.
21 There are some other important concepts to understand how Corda works:
blockchain frameworks 29
State Objects The state of the ledger, where the agreements are set and stored, in the 1
Transactions These are the actions that change the state of the ledger. 3
Transaction Protocols It is the business logic that enables the coordination of actions, 4
CorDapps 6
CorDapps are distributed applications running on the Corda platform. The concepts 7
of State Objects, Transaction Protocols, among others, all fit into these distributed 8
applications. 9
The functionality of these applications is, however, rather limited, since a CorDapp’s 10
ultimate goal is to program a specific agreement, which will then lead to updates on 11
the ledger. So, similarly to a "smart contract", the execution of CorDapp’s leads to 12
transactions which change the state of the ledger, fixing immutable agreements into 13
the blockchain. 14
These applications have code, just like a smart contract would. But, while a normal 15
smart contract is just code, a program, CorDapps have another side to them: they 16
incorporate legal prose into the code, transforming them into something akin of a 17
"smart legal contract", legally enforceable contracts, clearly designed for the highly 18
As with Ethereum, Corda also uses a virtual machine. In this case it is the Java 20
2.4.5 Comparison 22
Comparison’s between these three platforms are recurrent, though Hyperledger and 23
Corda might have more in common with each other than with Ethereum. Valenta [39] 24
concisely describes the main points of difference between these frameworks, with a 25
and customizable in ways that the other frameworks are not. On the other end, Corda 29
was designed with one specific application in mind, financial services, and it is rigid 30
in that sense, which actually made its architecture a lot more simple compared to 31
30 blockchain technologies
1 Fabric’s. It is also arguable that Hyperledger can be tailored to resemble Corda, due
2 to its modularity, as Corda is not really a competitor of Hyperledger, but rather a
3 complement.
4 Hyperledger vs Corda In one sense, Corda has more of an out-of-the box experience,
5 while with Fabric, the logic would have to be implemented. Composer does make
6 Fabric more user-friendly, but it is still hard to setup and configure, compared to Corda.
7 It all comes down to what kind of system we want to build, and what are its the final
8 objectives, functionalities and requirements.
14 Performance
Figure 2.5: Comparison of average latency between Ethereum and Hyperledger, with growing
number of transactions. Available in [29].
and is slow to start up, while Hyperledger executes the transactions more consistently. 1
This was exactly one of the reasons for the revision in the architecture of Fabric. 2
32 blockchain technologies
Chapter 3 1
This chapter presents an overview of how the blockchain might apply to the 3
industry in general and supply chain in particular. It goes on to describe the general 4
advantages of using blockchain, with a focus on how it might positively affect SCM, 5
as well as the disadvantages and challenges the integration of blockchain might face. 6
Some applications that are already trying to merge the concepts of blockchain and 7
Supply Chain are presented. Finally, an overview of some design alternatives are given, 8
which will be the basis for the design analysis and decisions later on. 9
The purpose of this chapter is to present some topics that might unify the topics of 10
blockchain and supply chain into one, to ascertain if they are a good fit. 11
Some of the advantages blockchain would bring to supply chain, over other solutions: 13
• Less error prone: reduction in errors on manual data entries, especially when 14
• Improved tracking: the ledger is easy to analyze and delivers the results really 18
fast, making it possible to know the status of any order or asset at any time; at 19
the same time, any error, either accidental or on purpose, that manages to find 20
1 • Improved consumer trust: blockchain could allow users to check the provenance
2 of their products, developing a relationship of trust with the suppliers.
3 • Reduced costs: reduced governance costs for exchanging info and etc, allowing
4 for higher efficiency and faster times at processing the information (enhancing
5 cost effectiveness); reduced internal management costs, increasing efficiency
6 and sustaining competitiveness; reduced product or service costs, creating com-
7 petitive advantage and barriers to competition, reduced supply chain lead times
8 and increased flexibility in supply chain design.
9 • Internal supply chain trust: It is important that the elements of a supply chain
10 trust the information that comes and goes from each other, and blockchain allows
11 this to happen.
12 This last point is one of the most important aspects, which is often overlooked in
13 favor of other more obvious functionalities.
14 Informally speaking, a business knows it can easily access its own data at any time,
15 so there is usually a lot of self trust. Therefore, businesses trust and rely a lot on
16 themselves, but not always on others. Trust means being cooperative and relying on
17 other business for the needed data, and believing that this data is also error-free.
18 As described by Panayides [27], co-operation and trust are the key in improving
19 supply chain performance and innovativeness, increasing the quality and leading
20 to benefits for all parties involved. Similarly, Yeung [42] managed to find a relation
21 between trust and a higher supply chain integration. In the context of supply chains,
22 trust might be defined as not only loyalty, but also reliability. This last aspect is very
23 important, because it measures just how much you can expect from your partners in a
24 supply chain. And when you need information quickly, trust in the form of reliability
25 is a very important asset to have.
26 In this sense, if the blockchain technology manages to improve the information
27 flow in a supply chain, while maintaining security and trust between parties (at least
28 at a technical level), then it follows that, just as concluded by Panayides and Yeung, the
29 supply chain itself will have an improvement in performance, since the parties involved
30 do not have to worry as much about these aspects or any power struggles. Therefore,
31 trust seems to be a key factor in building an efficient and effective supply chain.
challenges of blockchain application to supply chain 35
Chain 2
The reverse side of the coin is that Blockchain is not always as good a solution as it is 3
prophesied. Blockchain itself is a topic in research and, while some of its applications 4
and advantages are quite obvious, many of its disadvantages are overlooked, and these 5
might be crucial when making the decision to apply blockchain to a supply chain. 6
The technical limitations include, but are not limited to: throughput, latency, size and 8
systems. This is one of the main concerns in supply chain, that a blockchain can 12
not process the information quite as fast as the current systems, which could lead 13
though, the decrease in speed is often the price to pay for decentralization in 15
supply chain. Ultimately, while the flow of information inside one specific 16
company might be lower than before, the flow between different companies, 17
which were previously not integrated, might actually be much faster than before. 18
It is not fair to compare the speed of a centralized system with the speed of 19
a distributed ledger, since the latter offers more functionality and disperses 20
the information further where the former could not. A slower dispersion of 21
information globally, through various entities, is, in this case, preferred to a fast 22
with higher functionality and integration being achieved at the cost of throughput. 25
like Bitcoin, each transaction might take a long time to validate, and this time 28
platforms such as Hyperledger, which have low latency, even in the presence of a 30
1 • Size: The more transactions are processed and information stored in the
2 blockchain, the bigger it actually grows. In the current context, if we were
3 to deploy a global blockchain for all the supply chains, it would probably grow
4 way too large in a small amount of time, which would not be sustainable in the
5 long run. In a more limited scope, however, it would probably not be as big of a
6 problem. There is also a lot of research in the optimization of blockchain size.
7 • Security: One concern for blockchains in general is how security is handled. This
8 issue is more important in the case of public blockchains with PoW consensus.
9 In the case of supply chains, there are many alternatives, and possibly having a
10 public PoW blockchain is not the optimal one, so this is not the main security
11 aspect to worry about. There is, however, another aspect to take into account,
12 which is the fact that the hash functions being used at the moment might be
13 broken in some years. If this were to happen, the immutability property of a
14 blockchain would be broken and any prospects of proving the provenance of
15 products or their traceability would lose their groundwork.
3.3.1 CargoX 1
CargoX delivers a solution for making the Bill of Lading (B/L) documents digital. To 2
give some context: in a supply chain, many times, the products are delivered by cargo 3
ships, inside containers. The B/L document has the same value as the value of the 4
ferred from the carrier to the company acquiring the products in a safe way. Losing 10
this document would mean losing the rights to all the goods in the shipment, as well 11
as losing the proof that they were even shipped in the first place. 12
CargoX uses Ethereum’s smart contracts to put these paper documents into the 13
blockchain. It has a built in token system that allows to exchange the document’s 14
It is a very specific solution for a very specific problem. It is a concept that could be 17
integrated in a broader solution, and should fit the needs of this dissertation partially, 18
in theory. 19
The execution of the concept, however, seems to be lackluster in that it uses a public 20
blockchain, Ethereum, for extremely valuable documents. One one hand, might bring 21
about security issues, or even other problems. If Ethereum were to suffer a 51% attack 22
or any other kind of attack, the whole project would be compromised, along with the 23
bills of lading. 24
On the other hand, the project uses a token system that seems designed to monetize 25
a concept and also to move currency around more than the documents themselves. 26
integration, especially when these documents prove the ownership of something, and 28
blockchain, depending on the execution, might be a good idea to digitize that proof of 29
1 3.3.2 Eximchain
2 Eximchain is an all-round solution, which acts as a ledger, recording historical data and
3 transactions, as an inventory management tool and also provides financial applications,
4 by means of smart contracts. It was developed using a fork of Ethereum, Quorum,
5 which is a permissioned version of Ethereum, focused on enterprise use, which means
6 Eximchain runs on its own network [16].
7 The smart contracts of Eximchain allow for the transmission of finances and veri-
8 fication of the validity of orders placed. All the data from these transactions, which
9 include the transmission of goods, is recorded onto the ledger, allowing suppliers to
10 prove their reliability to deliver.
11 At the same time, the inventory, as well as all the goods, as are tracked across the
12 supply chain with small delay, with the information being accessible seamlessly among
13 partners. This allows for more accurate supply and demand predictions, especially if
14 the information is directly integrated with forecasting systems.
16 This application seems to focus on the most important points of supply chain manage-
17 ment: the tracking of goods by the enterprises, the financial process of transmitting
18 those goods and the integration of this information. These applications are highly
19 practical and resonates with the goals that this dissertation tries to achieve, which are
20 exactly to turn SCM more efficient by making the information readily available.
21 3.3.3 OriginTrail
22 Like CargoX, OriginTrail operates on the Ethereum network, and has its own ERC20
23 tokens. It synchronizes all supply chain data in the platform, and uses these tokens
24 as an incentive. Underlying the use of the Ethereum network, OriginTrail has a
25 custom network topology protocol designed as a privacy-layer, which can be seen in
26 Figure 3.1. This network uses zero-knowledge methods to validate data without making
27 it accessible. This custom protocol consists of Data Holder (DH) and Data Creator
28 (DC) nodes working together to receive, transmit, store and process the information.
29 The data is communicated to the blockchain, where people with OriginTrail tokens
30 can interact with it.
31 The main objective of the project is to ensure traceability of the products as they
32 move from supplier to retailer, all while ensuring the data is not tampered with, which
similar existing applications 39
means this project has a high focus on privacy. The tokens serve as a way to exchange 1
This solution specializes more in the tracking of the goods, especially so that the public 4
can know where their products are coming from, as well as the companies. This allows 5
for higher integrity and authenticity of the products. A good example of a use case 6
is in situations where a bad product is detected and batch recalls need to be made. 7
With this tracking, a specific batch can be identified and removed, whereas without 8
the tracking, product providers as well as the product buyers would have to get rid of 9
focuses on. This can be one of the easiest methods to save money by integrating the 12
3.3.4 Ambrosus 14
Ambrosus focuses on tracking the quality of the goods transported during shipments, 15
specializing in the food and pharmaceutical industries. Not only does it track ship- 16
40 blockchain in the industry
1 ments throughout the entire supply chain lifecycle, it also uses the Internet-of-Things
2 (IoT), through sensors, to communicate quality metrics of the products in real-time to
3 the blockchain.
4 The enterprises can then query this data and retrieve it immediately to their
5 own databases, effectively achieving a better quality assurance. It is also provides
6 enforceable proof of the quality or, if otherwise, the lack of it.
7 Like OriginTrail, Ambrosus also has its own protocol, called AMB-NET, which
8 hosts smart-contracts and communicates with the Ethereum blockchain.
10 This is another project with a more narrow scope, specializing in the tracking of the
11 quality by using IoT. It is something that the other projects are not implementing, but
12 it is important nonetheless. To some industries, it is even more important than any
13 other feature, which makes quality-tracking a must in a supply chain management
14 blockchain project.
23 Although it has a similar purpose to the one of this thesis, there have been reports
24 of companies discontent with this platform, since it does not focus on the industry
25 as a whole and ensure common standards. Instead, it is a platform designed to meet
26 IBM and Maersk’s expectations. Other than this, there has been very little information
27 about it yet or about any progress made [1].
designing a blockchain-based supply chain 41
Blockchain is not always a one-size-fits-all solution, and its use must be carefully 2
tailored to the application in question and to the specific requirements. This section 3
describes some important points of focus to have in mind when making decisions for 4
designed between each two specific endpoints. Each new connection must be modeled 8
separately. In a large scale, this does not work very well, it is a model that only works 9
which other companies can connect, as long as they follow the hub’s communication 12
standards or use its API. This way, a single company can establish connections with 13
multiple intermediaries. 14
Many-to-many entities Cloud B2B - This model encompasses full integration, where 15
the information can flow freely between businesses. This is the ultimate goal of a 16
standards, which are, at the moment, lacking. Otherwise, it is the most cost-effect 18
model and the one which can bring about the most benefits as well, given that the 19
As seen in the previously mentioned projects, like CargoX, Eximchain and OriginTrail, 22
each of them followed their own purpose and goals, and each of them has a different 23
set of features that allows them to achieve these goals. Similarly, these are some of the 24
key components that a blockchain possesses, and the respective features that must be 25
decided upon: 26
Information Storage The most basic and important feature of a blockchain is the 27
ability to save data, which is then considered immutable, as well as registering any 28
important events. As such, information storage might be important in the supply chain. 29
42 blockchain in the industry
1 It also makes Inventory Management possible (though its implementation is out of the
2 blockchain’s scope), traceability and provenance of products.
3 Ledger and Transactions Similarly, allowing for transactions and their recording
4 onto the chain might be important, especially in what accounts for payments between
5 businesses.
6 Smart Contracts Finally, smart contracts have the potential to be an important part
7 of SCM. In the applications we described, smart contracts were used to transfer
8 ownership of either data or products through tokens. This is just one of the many
9 possible uses. Other smart contract uses include tracking items by their location or
10 condition, automatically updating the status on the blockchain and reacting to any
11 important events by notifying the organization responsible for the items. Another
12 possible functionality is the automation of payments upon delivery. In the end, smart
13 contracts allow for virtually any application, since they are code, programs being run
14 on the blockchain, and so, they are one of the components of blockchain with the most
15 potential for new and innovative features to be developed upon.
Chapter 4 1
Problem Statement 2
This chapter focuses on explaining the objectives of this thesis, by defining the 3
thesis statement, as well as the approach that will be taken to determine whether the 4
technology and frameworks, as well as about supply chain management and supply 7
chain issues, it is now time to focus on what these issues mean. Therefore, a possible 8
way to overcome these issues through the means of Blockchain technology shall be 9
4.1 Objectives 11
This section introduces the focus points of the research content and the objectives of 12
In SCM, a product’s life cycle can be roughly divided into the many phases the product 15
goes through, down from the raw materials up until the finished product ends in the 16
hands of a consumer. Starting in the raw materials, most products undergo iterations of 17
processing and shipment, traveling from one place to another, while being transformed 18
in successively more refined versions and changing owners. This holds true for any 19
product in any kind of industry, and even the simplest of products which might not 20
require any processing (for instance, fresh produce), have to be shipped from their 21
1 The improvement of the management of this life cycle is one of the main objec-
2 tives of this thesis. This improvement, however, has many points of focus. Some
3 were already briefly introduced in Sections 1.1 and 1.2, from which the following
4 points are summarized as being important:
5 • Speed of delivery The effects of the evolution of SCM throughout the last century
6 are visible to everyone. Products are bought and shipped from one side of the
7 globe to the other in a matter of weeks or sometimes even days. Whether this is
8 fast enough or not is a question that can not be entirely answered in one collective
9 voice.
10 The world around us moves quickly, and in the freneticism and frenzy of our
11 lives, it might happen that sometimes weeks or days are not enough. The faster
12 the products arrive to their buyer, the faster the buyer can satisfy their needs.
13 This holds true not only for the final customer of a product, but also for any
14 enterprise that provides products and services to other enterprises, be it in the
15 role of supplier, manufacturers, distributors or retailers.
that are required by the regulatory entities. This can sometimes even lead to 2
For this reason, it is of the utmost importance that the products are tracked 5
since their origin, right up until the delivery to the final customer, as well as the 6
• Security This point is one of the most important to deal with, as security is 8
comprised of many aspects, such as: who to authorize to access the information 9
and how to restrict this, what authentication methods should be used, how to 10
that only trusted entities can access it. Most enterprises (or groups of enterprises) 13
compete amongst themselves to make the most sales, the most deliveries and 14
have the fastest product cycles. Therefore, the information that is generated 15
order to keep the edge on the competition. Additionally, the information that 17
is generated and inserted into any system should always be verified, in order 18
While these previous points of focus are not problems in themselves, their improvement 21
will greatly benefit any industry as well as the consumers of these industries. As 22
such, the actual problem here can be narrowed down to finding a way to satisfy these 23
Some of the most common and traditional solutions for this problem include 25
distributed systems, and there are many solutions already available. However, these 26
solutions, which include distributed systems like the cloud or distributed databases, 27
might not satisfy all the needs of the supply chain. Researching alternative designs 28
can be a good way to find new and useful implementations that might possibly even 29
So, is there any other tool or technology that can be applied to SCM, in order to 31
satisfy the need for improvement, one that is scalable, as well as secure? In many ways, 32
Blockchain is similar to a distributed database, and it can even be integrated with the 33
46 problem statement
1 cloud for a mixed solution (the best of both worlds?), so there is a need to investigate
2 if it might or might not be a good solution for the supply chain requirements.
25 These questions are sequential, meaning that, in theory, in order to answer one
26 of them, we have to answer the previous question. But in practice, it is not always
27 practical to follow this sequence, and a question might serve as a guide to start
28 working on the following one. Therefore, the questions can be worked on iteratively.
29 For instance, having some answers to the survey might allow work on the architecture
30 and prototype to start, and, as more answers are collected, the more the requirements
31 for the prototype are refined.
approach 47
In the end, all the questions end up being answered and it is possible to reach 1
a definitive conclusion towards the thesis statement. The sub-conclusions are also 2
4.2 Approach 4
To answer these questions from Section 4.1.3, the work of this dissertation was divided 5
Each of these focuses on reaching a conclusion towards the answers that underlie 9
The first question to answer in order to reach any conclusion is "What supply chain is- 12
sues, improvements and requirements do the experts really find the most important?". 13
As already mentioned, the other questions depend on the answers that we reach for 14
this question. 15
The proposed way that was used to get an answer was an online survey. The 16
• Collecting quantitative data on the relevance of the issues that supply chain 18
• Collecting quantitative and qualitative data on which are the major points of 20
• Collecting quantitative and qualitative data on which use cases the experts think 22
• Correlate some of the data collected in the previous point and reach some extra 26
1 The survey was designed to be answered by people with experience in the field
2 of Supply Chain, with knowledge about Blockchain being optional but appreciated.
3 These are the opinions that have the most importance on this field, and these are also
4 the people that interact with the systems in question and can more accurately pinpoint
5 the points of failure and improvement.
6 The survey was distributed over the internet, through relevant media and social
7 forums, as well as through direct contact with professionals from the area. It was
8 shared on some telegram channels of projects that apply Blockchain to the supply
9 chain (most of which mentioned in the state of the art), on Reddit, through their supply
10 chain and logistics forums, as well as on supply chain focused forum websites. It
11 was also distributed to professionals through messages on LinkedIn (with a focus on
12 managers), personally and through email.
13 In conclusion, the goal of the survey is to validate some assumptions and direct the
14 dissertation towards the most important supply chain management problems.
32 2. Design - using the requirements, building a model that can implement the
33 elicited requirements
approach 49
4. Validation - check if the built system satisfies the initial requirements fully, and 2
After this approach is finished, the results are analyzed qualitatively, as to which 4
use cases are implementable and usable or not and as to what were the limitations 5
found because of the various decisions taken. Taking the various points of this analysis 6
into consideration will allow for some conclusions to be taken in reference to the 7
remaining question. 8
After having answered all of the three questions that underlie the thesis statement, 9
it is possible to analyse the validity of the thesis statement ,though future work may 10
great and fast developments, due to the amount of research being put into it. 12
50 problem statement
Chapter 5 1
Requirements Elicitation 3
The opinions of experts from a field can be highly valuable for research to achieve 4
valuable contributions for that field. The optimal way to validate the issues of the 5
supply chain would be to interview experts in a formal way. However, there were 6
difficulties in this aspect, especially because most of the contacts did not go through 7
and a lot of time and effort put into this was not fruitful. Therefore, since expert 8
knowledge was still necessary, it was decided that a survey would be a more efficient 9
The survey was written during the months of March and April, 2018, with results 11
being collected from the end of April up until the mid of June. The purpose, method- 12
ology and results of the survey are analyzed in this chapter, leading to the validation 13
of the issues mentioned in the previous chapters. The survey and analysis done here 14
also serves as a basis for the requirements that were used to build a proof of concept 15
prototype. 16
However, due to various factors, the survey and collection of results was delayed 17
from the initial planning, resulting in the collection of results only being completed in 18
June. Thus, the PoC used some assumptions from both the background analysis and 19
the few initial answers from the survey, and kept iterating the requirements based on 20
16 5.2 Methodology
17 This section describes how the data was collected and analyzed. It gives a brief
18 overview of what questions were asked, how they were grouped, the objectives of each
19 question, along with the type of answers used.
Blockchain technology. 10
issues, focusing on the level of agreement that the participants have with the 15
with the points of failure that might underlie them; The others rate specific 17
• Goals - Validation of the issues that affect the supply chain management 19
of Blockchain Technology 22
• Questions - The first half of these questions serves to prioritize the im- 23
second half of the questions ranks the use cases and benefits that Blockchain 26
• Goals - This is the main point of the survey, and from here, the most 28
system requirements. 31
54 supply chain issues validation and requirements elicitation
1 Most of the important questions use statements with the Likert scale in the answer,
2 from 1 to 5, where 1 means "Strongly Disagree" and 5 means "Strongly Agree". In
3 this survey the middle of the scale, 3, is "Neutral" or "Neither Agree nor Disagree"
4 and there was a separate answer with "Do not know". Therefore we can classify this 1
5 to 5 scale as ORDINAL, since all of the values directly relate to a scale of increasing
6 agreement. Additionally, some of the other questions also use a scale of importance
7 from 1 to 5, while the remaining questions mostly have nominal answers (meaning
8 that the group of answers for a question are fixed, qualitative and not numerical).
21 5.3 Results
22 The results of the survey are analyzed in this chapter 1 . Each group of questions
23 features the graphs and metrics of the corresponding questions, and a brief informal
24 analysis is done, based on the values.
What is your role in the Supply Chain Industry? WHAT SUPPLY CHAIN INDUSTRIES DO YOU WORK ON OR
I am a Developer, either working or
HAVE THE MOST EXPERIENCE WITH?
4% interested in Supply Chain.
4%
Retail 4
I am a Student (Masters/PhD).
12%
Transport and logistics 13
I am an investor.
Other 4
I am knowledgeable in these areas, but
12% don't necessarily study or work with them.
56% None 2
I work in Consulting related to Supply
Chain and Logistics.
Health 5
8% 8% 201 to 1000
13%
50 to 200
8%
36%
3 to 5
Less than 50
6 to 10
Figure 5.1: Questions about the respondent’s Role, Industry, Years of Experience and Company
Size.
The data, as can be seen in Figure 5.1, can be summarized in the following state- 1
ments: 2
• Most people, about 68% of the respondents, have an active role working in 3
areas related to supply chain. From these, 56% work in a company directly 4
and 12% work in consulting related to these areas. The rest are people with a 6
profile that gives them knowledge about supply chain, be it through education 7
• The most common area of supply chain to work in is, by far, Transport and 9
Logistics, with 52% of the respondents saying they have work experience in this 10
field. Health and Retail are also common areas, with 20% and 16% respectively. 11
• 48% of the respondents have less than 3 years of experience, with 36% having 12
12% 8%
1 - No knowledge
20%
2 - Insufficient knowledge
3 - Sufficient knowledge
24%
4 - Good knowledge
36%
In Figure 5.2, it can be seen that most answers are in the middle of the scale, while 1
both the extremes have few answers, which closely resemble a gaussian or normal 2
distribution. 3
Indeed, when calculated, the skew of this data is about -0,065104294, which is a 4
very low number (the standard error was about 0,46) and close to 0 (zero). A normal 5
Additional, it can be said that there is not much of a bias towards accepting or denying 7
blockchain when answering other questions, either from knowing too much or too 8
blockchain. 11
After inquiring about the blockchain knowledge of the respondents, some affirmations 12
were made about cryptocurrencies, which can be seen below. The question was 13
Affirmations: 16
well. 18
incentives for good behavior, but not always necessary in private chains. 20
Independently, these affirmations do not hold an absolute value that can help 23
ascertain if there is a need for a cryptocurrency in the case of supply chain. But 24
The first affirmation states that a blockchain, any at all, independently of the 26
purpose or type, does indeed need a cryptocurrency. The second affirmation goes 27
on a tangent from the first one, stating that maybe cryptocurrencies are only needed 28
as an incentive, and otherwise could be not needed. The final affirmation is more 29
and cryptocurrency. The results for each affirmation can be found in Figure 5.3 and 31
in Table 5.1. 32
58 supply chain issues validation and requirements elicitation
13
13
Do not know
11
1 - Strongly Disagree
10
2 - Disagree
7
3 - Neither Agree nor
Disagree 5
4
4 - Agree
3
1
1
5 - Strongly Agree
0
0
A BLOCKCHAIN ALWAYS CRYPTOCURRENCIES ARE BLOCKCHAINS CAN BE
NEEDS TO HAVE A USEFUL IN BLOCKCHAINS USEFUL IN SOME USE CASES,
CRYPTOCURRENCY ATTACHED OPEN TO THE PUBLIC, IN INDEPENDENTLY OF
IN ORDER TO FUNCTION ORDER TO CREATE WHETHER THEY HOLD A
PROPERLY. INCENTIVES FOR GOOD CRYPTOCURRENCY OR NOT.
BEHAVIOUR, BUT NOT
ALWAYS NECESSARY IN
PRIVATE BLOCKCHAINS.
Figure 5.3: Question to rate affirmations about the use of cryptocurrencies in the blockchain.
Table 5.1: Question results metrics for the affirmations about the use of cryptocurrencies in the
blockchain.
Standard
Mode Median Mean Range Skewness
Deviation
1. Blockchain needs
1 1 1,36 0,79 3 2,74
cryptocurrencies to work well
2. Cryptocurrencies are only
useful as incentives in public 4 4 4,06 0,87 4 -2,51
blockchains
3. Blockchains can be useful in
some cases, regardless of having 5 5 4,61 0,50 1 -0,50
or not cryptocurrencies
1 • The first affirmation has a very low agreement rate. Almost all of the respondents
2 answered that they strongly disagreed with it, which can be seen in the table,
3 as both the mode and median are 1, and the mean is also close to it. It can
4 be concluded that, according to these opinions, blockchain can sometimes not
5 have a cryptocurrency and still perform well.
6 • The second affirmation has a high agreement rate, with an average of 4.06. The
7 mode and mean are also very close to the mean, and the standard deviation is
8 lower than 1, which means that there is a consensus on the responses. Therefore, it
9 can be concluded that, as per the opinions of the professionals, a cryptocurrency
10 is more useful in public blockchain contexts and applications, as an incentive,
11 than in private blockchains, where these incentives are not needed.
results 59
• The last affirmation has a very high agreement rate, the highest of them, with 1
leading to a low standard deviation and range. There is a slight skew, since the 4
answers are distributed between these 2 items, with a bigger number of responses 5
on item 5. The conclusion for this affirmation is that blockchains are useful, 6
With these conclusions in mind, one final conclusion can be derived. If blockchains 9
do not need cryptocurrencies to perform well (concluded from the non agreement 10
with affirmation 1) and can generally still be useful without them (affirmation 3), 11
option, depending on the benefits it can bring to a particular use case. Taking this 13
conclusion into account, and also according to the agreement with affirmation 2, 14
lems 19
This part of the survey focuses on finding out if the issues dug out on the background 20
and pointed out in the Problem Statement chapter are really the ones that plague 21
The respondents were asked the following 2 questions, as well as some affirmations to 25
Questions: 27
1. In your experience, how frequently does the absence of crucial information cause 28
2. How important is Inventory Management for the efficiency of the supply chain? 30
60 supply chain issues validation and requirements elicitation
1 Affirmations:
4 2. Distribution, supply, demand and inventory planning all rely heavily on the
5 information being both accurate and up to date
6 3. Supply Chain Management lacks a way to quickly and seamlessly share between
7 companies all the information generated by the flow of assets in a Supply Chain.
8 The data collected from the first 2 questions can be visualized in the graphs from
9 Figure 5.4. The data for the 3 affirmations can be visualized in the graphs from
10 Figure 5.5 and was summarized in Table 5.2.
IN YOUR EXPERIENCE, HOW FREQUENTLY DOES THE ABSENCE OF CRUCIAL HOW IMPORTANT IS INVENTORY MANAGEMENT FOR THE
INFORMATION CAUSE DELAYS IN PROCESSES SUCH AS SHIPPING, EFFICIENCY OF THE SUPPLY CHAIN?
PACKAGING, ETC.?
14
13
9
12
11
10
7
6
4
4
3
2
1
1
0
0
(a) Inventory Management Importance (b) Relation between the absence of information and delays
Figure 5.4: Questions to rank inventory management importance and relationship between
absence of information and delays.
results 61
16
16
12
12
14
10
10 12
10
9
8
8
6
6
4 4
2
2 2
1
0
0
0
12
10
6
5
4
2
2
1
0
DO NOT KNOW 1 - STRONGLY 2 - DISAGREE 3 - NEITHER 4 - AGREE 5 - STRONGLY
DISAGREE AGREE NOR AGREE
DISAGREE
Figure 5.5: Questions to rate affirmations about the effects of information gaps, the reliability of
management planning and lack of a system with good integration.
• The first question had the objective of finding out whether Inventory Management 2
was ranked from 1 to 5, with 1 being "Not at all important" and 5 being "Very 5
Important". The question scored a mean of 4.48, with the mode and median 6
both being 5, since most results sit on that score. There is little dispersion in the 7
results, with most of the other answers scoring a 4 and only 1 answer scoring a 3. 8
• The second question tries to relate the absence of information with delays in the 11
processes of sending products. The scale went from 0 to 10, which corresponded 12
from the percentages 0 to 100%. The final results ranged from 40% to 90%, with 13
most of the answers sitting between 60% and 80%. The results were not very 14
spread out, with a standard deviation of only 1.29, in the scale of 1 to 10. There 15
62 supply chain issues validation and requirements elicitation
Table 5.2: Question results metrics for the affirmations about the effects of information gaps,
the reliability of management planning and lack of a system with good integration.
Standard
Mode Median Mean Range Skewness
Deviation
Affirmation 1 - A reduction
of the information gap
5 4 3,92 1,26 3 -1,21
between partners can lead
to a faster product cycle.
Affirmation 2 - Distribution,
supply, demand and inventory
planning all rely heavily on 5 5 4,64 0,49 1 -0,62
the information being both
accurate and up to date.
Affirmation 3 - Supply Chain
Management lacks a way to
quickly share between 4 4 3,79 0,83 3 -0,56
companies all the information
from the supply chain.
1 were not also any significant outlier values, with the skew being classified as
2 normal, with a value below the threshold of the standard error. The average
3 result for this opinion was 68%, which is a reasonably high percentage that we
4 can say there might really be correlation between these 2 aspects, especially
5 given the consensus and non-existence of outlier values. However, this can
6 never be said with total certainty, since these are only opinions and not factual
7 data.
9 • The first affirmation related a reduction in the information gap with a faster
10 product cycle. In layman’s terms, this can be thought of as "if there is more
11 information available, the products will get made faster, shipped faster and
12 received faster". Many respondents seemed to only cautiously agree with the
13 affirmation, not committing to a strong answer. Even though the most popular
14 answer was 5, the mean still was below the normal agreement level, at 3.92.
15 There is some skew and spread, due to the lower results, but these still look
16 like valid answers. Therefore, it can be informally generalized that while it may
17 be true indeed that having information available will generally help products
18 finish their cycle faster, it might not always be the case, as there is not a strong
19 consensus about this.
20 • The second affirmation relates all the planning disciplines in SCM with the
21 existence of up-to-date and accurate information. The respondents all answered
results 63
with either 4 or 5, a very low spread of answers, with most of them strongly 1
agreeing (agreement average of 4.64. It can then be concluded that having accurate 2
also be essential. It is, therefore, of the utmost importance for a supply chain 5
• The last affirmation states that supply chain management might lack a way to 7
integrate the information provenient from the flow of assets between companies 8
easily. However, out of the 3 affirmations, this is the one with the lowest agree- 9
ment of them. While the average agreement, 3.79, is close to the one from the first 10
affirmation, the most popular choice here was 4 (Agree), followed by 3 (Neutral). 11
The skew is almost low enough that this would represent a normal distribution 12
for the answer. While it seems that not every professional agrees, and some 13
think that there are already good ways to integrate information quickly and 14
seamlessly, the majority still thinks that SCM is lacking on this aspect. 15
Finally, with the objective of ascertaining whether quality assurance is also an issue, 17
the respondents were asked 2 questions, with the results being shown in Figure 5.6. 18
The first, similarly to previously, was asking about the agreement with an affirmation, 19
and the second was a question. Both the affirmation and question are as follows: 20
1. Non-compliance with certain standards is a big issue that affects the reputation 21
2. In your experience, do you think that compliance with quality standards would 23
be easier to achieve if all the products were traced as well as the processes they 24
go through? 25
64 supply chain issues validation and requirements elicitation
RATE THE FOLLOWING AFFIRMATION: "NON -COMPLIANCE WITH CERTAIN IN YOUR EXPERIENCE, DO YOU THINK THAT COMPLIANCE WITH QUALITY
STANDARDS IS A BIG ISSUE THAT AFFECTS THE REPUTATION OF COMPANIE S STANDARDS WOULD BE EASIER TO ACHIEVE IF ALL THE PRODUCTS WERE
WORKING WITH SENSITIVE PRODUCTS." TRACED AS WELL AS THE PROCESSES THEY GO THROUGH?
14 16
15
12
12 14
11
12
10
10
9
8
8
6
6
4
4
2
2 2
1
0
0
0 0
DO NOT KNOW 1 - STRONGLY 2 - DISAGREE 3 - NEITHER 4 - AGREE 5 - STRONGLY DO NOT KNOW 1 - STRONGLY 2 - DISAGREE 3 - NEITHER 4 - AGREE 5 - STRONGLY
DISAGREE AGREE NOR AGREE DISAGREE AGREE NOR AGREE
DISAGREE DISAGREE
(a) Relation between standard non-compliance and company (b) Relation between process traceability and quality standards
reputation compliance
1 Looking at the graphics, the second question has a slightly higher agreement rate
2 than the first one. However, both questions have very high agreement results, with
3 absolutely no disagreement answers and only 1 neutral answer on the second question.
4 It can be concluded that quality standards compliance might affect a company’s
5 reputation and is also somewhat dependent on the traceability of products and
6 processes they go through.
14 • From the second set of questions, the only conclusion was that companies have
15 in their interest to follow the quality standards, and traceability plays a big role
16 in this.
17 The questions from this group have successfully validated most, if not all, of the
18 supply chain issues raised in the previous chapters. The remaining questions from the
19 survey point towards points of improvement for these issues, as well as what possible
20 features to implement in a system could help with these issues.
results 65
The first goal for this part of the survey is to find out the points of improvement 4
for supply chain. What is being questioned are not the issues of the supply chain 5
themselves, which were already asked, but what parts of supply chain, even though 6
The second goal is to find out more about the requirements that an information 8
system must have to satisfy the needs of SCM. This includes ranking the functionalities 9
relate to the points of improvement found here, as well as to the supply chain issues 11
For the sake of simplifying the ranking process for both the "points of improvement" 13
be done according to the observed results. The importance scale went from 1 to 5, but 15
Therefore, the following classification for the lists of results will be adopted: 17
to improve. 22
In this category, we can see the results on Figure 5.7 and then represented on Table 5.3. 23
Pretty much all the options had a range of 3 and deviations close to 1, which is to be 24
expected. Traceability had the highest skew value, as there seemed to be some dissent, 25
as a few outlier values pushed the mean to be lower than the median. However, it still 26
18
16
14
13
13
12
12
11
10
10
8
8
6
6
6
6
5
5
4
4
4
4
4
4
3
3
2
2
2
1
1
0
0
0
0
TR A CEA B ILITY D EVELO PMEN T F R AU D AU TO MATED B ET TER D ELIVERY S U PPLY
O F IN D U S TRY D ETEC TIO N IN FO R MATIO N IN FO R MATIO N S CHED U LES CO N TRO L
S TA N DA R D S S HA R IN G PR IVA CY
Figure 5.7: Question: "Rank the importance of some aspects which Supply Chains aim to
improve."
Table 5.3: Question results metrics for the question to rank the importance of improvement
aspects of the supply chain.
Standard
Mode Median Mean Range Skewness
Deviation
Traceability 5 5 4,40 1,12 3 -1,67
Development
of Industry 4 4 3,63 1,06 3 -0,36
Standards
Fraud
5 5 4,13 1,18 3 -1,00
Detection
Automated
Information 5 4 3,64 1,19 3 -0,20
Sharing
Better
Information 2 2 3,13 1,32 3 0,51
privacy
Delivery
5 4 3,84 1,28 4 -0,71
Schedules
Supply Control 5 5 4,24 0,926 3 -0,87
results 67
Conclusions: 6
• High Importance - It had already been concluded from the previous set of 7
SCM, so it was expected that Supply Control would be rated highly as a point 9
was expected to rank highly, since it is related to both quality assurance and 11
availability of information, two other issues that were validated in the previous 12
set of questions. At the same time, Fraud Detection was also highly ranked, which 13
can be explained by its relation to traceability and quality compliance and control. 14
Traceability helps to avoid fraud and, at the same time, fraud detection also 15
relates to quality control and compliance, since avoiding fraud is all about 16
making sure that the products circulating the supply chain are authentic and 17
have good quality. With this in mind, it is only natural that Fraud Detection is 18
In conclusion, the 3 most important items are traceability, supply control and 20
fraud detection, with supply control and fraud detection directly depending 21
• Medium Importance - From the items that got rated as medium importance, 2 of 24
Development of Industry Standard. The last point, Delivery Schedules also relates to 26
ity or some of the other items that depend on traceability, it is still a welcome 29
1 • Low Importance - Finally, the lowest ranking item was Better Information Privacy.
2 This comes as a surprise, since security was a big focus on the background
3 research for supply chain management.
4 The conclusion we can take from this item being rated the lowest, is that it
5 might be a concern that the current systems already take care of, therefore it
6 does not have much space for improvement.
14
13
12
12
12
11
10
8
8
8
8
7
7
6
6
6
6 6
5
5
4
4
3
2
2
2
1
1
1
0
0
0
0
0
0
0
0
INTEROPERABILITY SECURITY STANDARDIZED STANDARDIZED REAL-TIME MONITORING AND OPTION TO ADD CONTROLLED
BETWEEN SYSTEMS ACCORDING TO THE PROCESS DATA FORMATS TRACKING AND CONTROLLING INFORMATION AS ACCESS FOR THE
(ERPS, MES, AND LATEST SECURITY INTERFACES SHARING OF EVENTS ATTACHMENT USERS
OTHER REQUIREMENTS (STANDARDIZED INFORMATION
INFORMATION DATA PROCESSING WITH PARTNERS
SYSTEMS) AND APIS)
Figure 5.8: Question: "Rank the importance of some functionalities in a supply chain based
information system."
10 Results for this question are found in Figure 5.8, and the analysis metrics are in
11 Table 5.4 the range of answers is pretty much 3 for all options but 2 of them. The
12 mean and median of the items are also a close approximation of each other, which
13 happens because the skew in most cases is not very high (only for the Interoperability
14 and Security items was it higher than 1). The skew is highest on the items that also
15 had the highest mean. This happens because, even though these items are the most
results 69
Table 5.4: Question results metrics for the question to rank the importance of functionalities in
an information system for supply chain.
Standard
Mode Median Mean Range Skewness
Deviation
Interoperability Between
Systems (ERPs, Manufacturing
5 4,5 4,29 0,86 3 -1,08
Execution Systems, and other
information systems)
Security according to the
5 5 4,33 1,05 3 -1,49
latest security requirements
Standardized Process Interfaces
4 3 3,32 1,18 4 -0,36
(Data Processing and APIs)
Standardized Data Formats 4 4 3,60 0,96 3 -0,31
Real-time tracking and sharing
5 4 4,16 0,94 3 -0,67
of information with partners
Monitoring and controlling events 5 3 3,48 1,19 3 0,05
Option to add information
2 3 2,79 1,02 4 0,19
as attachment
Controlled access for the users 4 4 4 0,85 3 -0,96
popular, there are always a few answers from people who disagree. However, this is 1
to be ignored, given the low deviation and given that the median and mean are very 2
close to each other in every case. Therefore, the mean can still be used here to classify 3
the importance. 4
Conclusions: 12
• 2 of the high importance items actually relate to security, namely access control 13
and following security requirements. This contrasts with the point of improve- 14
ment from the previous set of questions "Better information privacy", which was 15
rated the lowest in relative importance. There seems to be a disparity between the 16
might mean that the functionality is important but already good enough as it is. 18
70 supply chain issues validation and requirements elicitation
1 The conclusion we can take is that keeping security up to date still seems to
2 be considered important, but on aspects other than privacy (which is already
3 fulfilled) such as access control, which relates to authorization and authenti-
4 cation.
15 • Most of the items rated as having medium or low importance do not necessarily
16 stand out nor do they have important conclusions to be taken. The one thing that
17 stands out is that "Monitoring and controlling events" rated as a low importance
18 functionality, even though traceability rated high as a point of improvement,
19 which does not make a lot of sense, since traceability also means having the
20 means to monitor what is happening.
Location Data 1
None 1
Financial transactions 15
Do not know 2
Contract enforcement 11
Asset management 6
0 5 10 15 20
Figure 5.9: Question about the Blockchain use cases for the supply chain.
What benefits would you expect BLOCKCHAIN to bring to Supply Chain Management in
your industry (or in general, if you don't belong to one in specific)? Select all that
apply.
0 5 10 15 20
Figure 5.10: Question about the Blockchain benefits for the supply chain.
• Financial transactions was, by far, the most popular choice. The respondents 2
manage the goods themselves, since traditional systems only deal with data and 4
the money is dealt with by third parties (banks). It makes sense that the second 5
1 and state of the art, it was pointed out that some of the applications already
2 enforce payments through contracts, when the goods are delivered,for instance,
3 without the need of a third party (thus reducing fees). Financial transactions and
4 contract management go hand in hand.
5 • With the same number of votes, also in second place, is "regulatory compliance
6 and auditing". Regulatory compliance is a term also related to contracts enforce-
7 ment. Contracts are used to establish mandatory rules which are automatically
8 enforced according to the conditions of the system (for instance, enforce that the
9 food transported in a truck never goes over a certain temperature value). How-
10 ever, an important point to note is that regulatory compliance and auditing
11 are made possible through the traceability characteristic of blockchain, which
12 allows for products and processes to be thoroughly verified. This means that
13 traceability is a highly sought after application of blockchain.
14 • "Secure data storage" was also a highly voted option. Security is an important
15 focus in information systems, so this should be taken into account when building
16 the proof of concept. In the previous set of questions, "access control" and
17 "security according to the latest requirements" were also features that stood
18 out, so it is not a surprise that secure data storage is seen as one of the main
19 advantages of blockchain, since it boasts of being cryptographically secure,
20 having immutability by design and an easy to implement access control..
21 The proof of concept has to not only take these use cases into account as the main
22 applications, but also implement (or make possible the implementation of) the most
23 important features of information systems previously analyzed, which makes the
24 second question complementary of the first one.
25 For the second question, there is an analysis of the benefits that blockchain can
26 bring to the supply chain, according to the respondents:
27 • The three most voted items were: "Better transaction integrity and visibility", "Reduc-
28 tion of risks (fraud/tampering/information leaks)" and "Stronger working relationships
29 with partners".
30 The first two items were expected to rank high. They directly relate to the security
31 and traceability, points of improvement already discussed - traceability makes it
32 possible to view the records to make sure nothing suspicious is going on, and
33 the security and immutability of the information makes it impossible to tamper
34 with the data.
results 73
interesting to see being chosen a high ranked benefit. The concept of strong 2
trust, which was already introduced in 3.1. The ability for partners to trust each 4
other is what makes the supply chain possible and efficient to the standards of 5
The selection of these 3 items as the most voted does not seem to be a coincidence. 8
Blockchain can be used as a source of truth for the supply chain and this leads 9
to the side benefits of internal trust, better relationships with the partners, 10
less fraud, less tampering, less leaks, among other benefits, all made possible 11
This was the most important group of questions in that it provides direct information 14
as to which functionalities the proposed system design should possess and implement. 15
At the same time, these functionalities can be related to the points of improvement 16
• From question group 3, some issues in the supply chain were validated: inventory 18
management, quality assurance and getting accurate and timely data. On this 19
group, the main points of improvement were found to focus on: traceability, 20
common links to both issues and points of improvement seem to be: security, 22
• Another important conclusion to take from this set of questions are the features 25
to include in the design for the blockchain system. These include the "Blockchain 26
well as the standard "Information system features", which are the features that 28
– Financial transactions. 31
project seems promising, but is yet to prove most of its functionalities, having released 1
proof of concepts mostly for the traceability requirements. This seems to be a common 2
element to most of these projects, in that they look promising but take a long time to 3
Ambrosus Focuses a lot on auditing, fraud detection, quality control and traceabil- 5
ity in general, so it fills all the traceability requirements. Even though these features 6
are a must, and seemingly the most important, most of the other requirements are not 7
met, especially the financial transactions, asset management and part of the security 8
requirements. 9
In summary, the existing projects are either very specialized and do not meet all 10
the requirements, or they are very broad in the requirements, but in early stages of 11
5.5 Conclusions 13
Having analyzed all the groups of questions from the survey, it should now be possible 14
to have an answer for the first question of the thesis sub-statements, presented in 15
the problem statement: "What supply chain issues, improvements and requirements do the 16
Most of the conclusions for the survey were summarized in the analysis of question 18
group 4. These conclusions included the most important issues of the supply chain, 19
accurate and timely data. This last item was confirmed by the respondents to have a 23
correlation to the lack of good integration and synchronization tools and to be one 24
of the possible causes for the difficulties in planning management and product cycle 25
delays. 26
tion and synchronization. These items reflect themselves on the feature requirements 28
that were elicited. The results can therefore be crossed with the points of improvement 29
information system features and blockchain features, are summarized in Table 5.5. 32
These are important contributions from the experts of the area, though with a 33
76 supply chain issues validation and requirements elicitation
Area Requirements
Security according to the latest requirements
Security Controlled access for the users
Secure data storage
Regulatory auditing
Fraud detection
Traceability
Asset management
Real-time tracking information
Interoperability between systems
Synchronization Development of industry standards
Real-time sharing of information with partners, leading to
better working relationships
Transaction Financial transactions
Enforcement and Enforceable contracts (smart contract functionality)
Financial domain
1 bigger sample, the answers would have been more representative. The next chapter
2 will focus on these requirements as the major points of focus for the design.
Chapter 6 1
Following the conclusions and requirements elicited from the previous chapter, it 3
is now time to answer the remaining two questions. The first question, "What is the 4
that can support these requirements?" requires an analysis of the frameworks. The 6
such a tool, to implement all these requirements?" requires that the elicited require- 8
ments be formed into a list and that an architectural design be built and implemented 9
using the chosen framework. Only at the end of these tasks can we verify if all the 10
This chapter deals with explaining these tasks sequentially. The first section 12
analyzes which frameworks best satisfy the requirements and a choice is made. The 13
now time to answer the second question from the problem statement: What is the 19
In order to make a good choice for the framework, there is a need to make a mixed 22
analysis that focuses on the most important functionalities that an information system 23
78 solution design and implementation
1 should feature as well as what use cases are most viable for applying blockchain to the
2 supply chain.
3 In addition to the requirements from the previous chapter, the performance analysis
4 from Chapter 2.4.5 should also be taken into account.
Table 6.1: Summary of the framework requirements for each improvement area.
plications, and cryptocurrencies are a part of this. However, for financial applications 1
pending on the design of the blockchain network. For this, and other functionalities to 4
work, smart contract functionality should exist, though. Thus, the selected framework 5
should either have a native cryptocurrency, or allow for the design of some kind of 6
So, what conclusions can be taken from these framework requirements? Firstly, a 10
private blockchain framework seems more adequate, because of all the security con- 11
trol mechanisms that are needed. Secondly, the framework should allow for highly 12
customizable networks, including not only asset management, but also identity 13
management, where the participants of the blockchain can be given specific permis- 14
has strong financial capabilities. However, it costs money to run code on. Having 19
the same time, it does not natively feature the essential identity management, 22
80 solution design and implementation
7 • Hyperledger Fabric - It has the needed mechanisms for authentication and au-
8 thorization, and, similarly to the other frameworks, has smart contract capability.
9 It is highly customizable, allowing for all the data and identity management
10 needed. As for synchronization, it features easy to deploy rest servers, which is
11 also important. However, it has a setback: though it is customizable, it does not
12 feature a native cryptocurrency, so financial transactions are possible, but only if
13 designed from scratch to be simulated by the network.
have to be finished before the requirements were written, but in practice, the work was 1
The structure for this specification will somewhat resemble the organization of IEEE 3
some of the unneeded clutter and information. The specification is divided in the 5
following way: 6
Composer. It does not represent what a fully developed project would act or look like. 14
Therefore, the objective is to showcase a product concept that can enhance the 15
making the data more easily accessible, reducing synchronization time, improving 17
integration and security, and providing a tool that assists in guaranteeing end-to-end 18
traceability. 19
network itself is comprised of the blockchain ledger model and respective integration 23
supply chain, and it will also be possible to execute smart contracts, in the form of 25
The process of extracting data from the ERP systems and forwarding it to the 27
system’s node endpoints, as well as the process of sending data from the ledger to the 28
ERP are out of the scope of this PoC. External systems must themselves build their 29
own integration modules. Building the needed APIs for this is a task of this project, as 30
82 solution design and implementation
1 well as the standardization of the data, with the aim of facilitating future integration
2 tasks.
15 • The consumer - the consumers may be able to track some of their goods to a
16 more precise level;
17 • Auditors and certification Authorities - easy single entry points for auditors to
18 collect their information from;
20 • Supply Chain members - the employees from all types of companies will be the
21 most common users, and they may register incoming and outgoing products on
22 the blockchain (through their companies own integration module); distribution
23 delivery employees may, for instance, register deliveries, etc.
24 • Regulatory Entity - the auditors that will use the network to view information
25 from the companies and make sure everything appears to be running correctly
26 and without fraud.
27 • System administrators - to control the network, help solve any issues that come
28 up and do the needed maintenance.
Each user shall have defined roles assigned within the system, according to their 1
needs. These roles, along with the system itself, are the actors of the system: 2
• System - Hyperledger Fabric and Composer have certain behaviours that can be 3
adjusted, which makes it possible for the system itself to be an actor with specific 4
• Regulatory Entity 6
• Admin 7
– Supplier 9
– Manufacturer 10
– Distributor 11
– Retailer 12
– Customer 13
1. Functional Requirements 15
To simplify reading and to save space, the functional requirements list consists of a 16
small explanation at the beginning, followed by each requirement, with the ID and 17
description. Since Hyperledger Fabric and Composer are being used, the requirements 18
have some terms specific to the software, such as asset registry, transaction registry, 19
participants, etc. 20
The System The system itself needs to be able to record aggregate all of the data 21
into blocks; the data consists of transactions, which are the actions undertaken in the 22
system, and there should be registries for the network participants and assets as well. 23
It is important that the information from these transactions can be made visible and 24
that they can be invoked by the participants which have the permissions to do so. At 25
the same time, the system should be able to handle multiple organizations joining the 26
ledger, inserting all of their current data to the system, as well as extracting it to their 27
are all be concerns of the system and how it is programmatically written. Some of 30
84 solution design and implementation
1 these concerns are already partially supported by Hyperledger, but the remaining have
2 to be implemented. In the end, the system used itself already has a lot of support for
3 the elicited requirements from the survey.
5 • S2 - The system shall record all user actions, including transactions, into a registry
6 with the identification of the user and action performed.
7 • S3 - The system shall maintain an immutable list of all the past transactions, in
8 the form of blocks.
9 • S4 - The system shall allow for the submission of a transaction batch, with many
10 transactions at once (possibly corresponding to the synchronization process of a
11 company uploading their data, for instance).
20 • S9 - The system shall define different permissions for each role and for some
21 specific identities, including permissions for invoking transactions and reading
22 the data on the ledger.
23 • S10 - The system shall be able to expose all of the actions that users can undertake
24 in the form of a REST API.
25 • S11 - The system shall be able to authenticate users through a REST API.
26 Supply Chain Member For the supply chain member users, all of the following
27 requirements are only doable in case the specific actor has the specific permissions,
28 as was mentioned in requirement S9. In this system, the supply chain members
29 need to be able to manage their assets and shipments. All of the actions need to
30 be recorded onto the immutable ledger, which means that any action happens by
requirements specification 85
the invocation of a transactions. Therefore, the users can invoke transactions for 1
pretty much every action they need to do: to create, edit, delete assets, interact with 2
shipments, deploy contractual agreements, check the status of assets and shipments. 3
All of these actions will ensure both the data management and information tracking 4
and traceability aspects that were so popular in the survey. The financial aspect and 5
• SCM2 - The members shall have the ability to read the information of assets, 8
• SCM3 - The members shall have the ability to write and deploy their own 10
• SCM4 - The members shall be able to query and obtain the steps through which 12
a particular product has gone, effectively tracing the product from origin up to 13
• SCM5 - The members shall be able to query what is the current entity possessing 15
an asset. 16
• SCM7 - The members shall be able to edit or delete the assets they own. 18
• SCM8 - The members shall be able to create shipments with the assets they own. 19
• SCM10 - The members shall be able to query all the information of a specific 21
shipment, including the owner, holder and assets involved in the shipment. 22
• SCM11 - The members shall be able to query the shipments owned by a specific 23
user. 24
• SCM12 - The members shall be able to query the user that possesses a specific 25
• SCM13 - The members can check a shipment status, location and the status of 27
all the item status included in the shipment, given that they are either the buyer, 28
1 • SCM14 - The members shall be able to submit item damage reports into the
2 system for the assets in the shipments that they hold;
3 • SCM15 - The members shall be able to update the shipments, along with the
4 status, for the shipments they hold.
6 • SCM17 - The members shall be able to input an XML file with a standardized
7 format in order to submit data automatically;
11 Regulatory Entity
12 The auditor is a role essential to manual fraud detection, as well as to ensure that
13 the system is working well and as intended. As such, the auditor needs to be able to
14 have full read access to the system.
15 • RE1 - The regulatory entity shall be able to query and obtain the steps through
16 which a particular product has gone, effectively tracing the product from origin
17 up to where it is at the moment of the query.
18 • RE2 - The regulatory entity shall be able to query all the transactions, participants
19 and assets in the system.
20 Admin
21 The admin is an essential part of the ecosystem that the blockchain will support.
22 Any node maintenance, any problem, will have to be solved by an admin. The
23 admin is also the entry point for users to join the network, as well as an authority
24 that can help fight fraud and make the system more secure and controlled. The
25 identity management mechanisms, which include authentication and authorization
26 are managed by the admin, making the admin an essential user for the enforcement of
27 the elicited requirements.
30 • A2 - The admin shall be able to create and delete new ledger channels.
requirements specification 87
• A3 - The admin shall be able to create a network identity card for a user. 1
• A5 - The admin shall be able to update the details of the participants, including 5
• A8 - The admin shall have the permission to change the roles of the other users. 9
• A9 - The admin shall have the permission to give others the permission to change 10
roles. 11
These requirements were written having in mind the architecture of the Hyperledger 12
projects, as well as the needs of a supply chain. They are also loosely written because 13
they are iterated on during the implementation phase of the proof of concept. 14
2. Data Requirements 15
Another important part of the requirements which is not in itself an action undertaken 16
by the users, is the form in which the data is formatted. One of the main objectives of 17
building a blockchain system transversal to a whole supply chain, is to make the data 18
as standardized as possible, so that any organization can easily import or export the 19
data from the ledger to their systems and still have it in formats that any organization’s 20
As such, research was undertaken, and the following data requirements were built, 22
based on the standards from the GS1 organization 1, an organization which builds 23
• The Master Data relates to Products/Assets and Entities, being more generalist 26
and fixed, for those pairs. It includes the location number (for the location), the 27
1 https://wiki.hyperledger.org/_media/groups/requirements/hyperledger_-_
supply_chain_traceability-_anti_counterfeiting.pdf
88 solution design and implementation
1 entities name, country and address data, as well as the asset’s weight, name,
2 identification number (GTIN).
3 • The Transactional Data relates to the movement of assets through the supply
4 chain, in the form of transactions. It includes the "when" part of the transactions,
5 such as the planned date, expected dates and actual dates of a shipment, for
6 instance.
14 1. Usability
15 The available product, corresponding APIs and documentation should be clear
16 enough to allow for the developers to perform the implementation of an oracle,
17 which is a piece of software that connects the blockchain to another external
18 product, serving as a means of pulling and pushing information from and to the
19 blockchain and from and to the external system (ERP, for instance).
20 2. Performance
21 Speed and latency: The throughput and latency on Hyperledger have already
22 been tested, and the throughput is not expected to be as high as in a centralized
23 data system. But, overall, the time to synchronize the information from one
24 company to another might increase; The goal is to make the product be as fast
25 as needed to support the businesses, even if it does not have better performance
26 than other alternatives, since what we are looking for here is the addition of new
27 functionalities (shared ledger);
28 Precision and accuracy: The product shall record the data just as it was entered,
29 and the predictions as to whether a product has any mismatching entries shall
30 always be justifiable;
requirements specification 89
Reliability and availability: The product shall not always be available unless all 1
of the nodes fail at once, which is almost impossible, unless a coordinated attack 2
were to happen; If some of the nodes happen to fail, the response time of the 3
The product is expected to run on Linux based systems, compatible with the 8
Docker, nodejs and golang versions that Hyperledger Fabric uses. More specif- 9
ically, Amazon Web Services services have servers with the required setup for 10
this. 11
Creating new nodes or moving an existing one should be an easy process, without 12
much complication, other than starting the node software on the environment, 13
4. Security 15
products, which might be privacy sensitive; sharing some data would pose 17
a threat or could possibly have negative effects for some of the companies; 18
Authorization: All changes to any data should be approved by the people that 21
possess the data or will be affected by these changes directly. A shipment delivery 22
transaction should, for instance, be approved by both the person delivering and 23
5. Legal 25
auditors, and it must also comply with certain laws, such as the european global 27
"Traceability and its relation to the law (e.g., regulatory law, international law 29
etc.) has a profound effect upon many products. In the case of diamonds, conflict 30
global law governing these items. Ensuing traceability of these products can 32
90 solution design and implementation
3 2. Mandated Constraints
4 • The data will follow the GS1 EPCIS standards 2 and specifications for data
5 formatting, as possible.
6 • The product shall have well defined APIs that allow for incoming and outgoing
7 data to circulate between the ledger and external systems, namely ERPs.
8 • Any software frameworks used will be open source. This project will use Hyper-
9 ledger Fabric and Hyperledger Composer.
14 3. Project Issues
15 1. Open Issues
16 The architecture of Hyperledger Fabric and Composer are complex and not
17 completely studied yet, which may lead to deviations from the requirements or
18 alterations at some point.
19 Again, these softwares are open source, constantly evolving, and Composer is
20 still in the Incubation phase, so it is not a complete product that can be relied
21 upon for everything. In this case, it is a PoC, so a risk is being taken.
22 2. New Problems
23 User Problems:
24 3. For a new company that is trying to use the product, they have to take the time
25 to understand the API and develop their own oracle to synchronize all the data.
26 Limitations in the Implementation Environment:
2 https://www.gs1.org/sites/default/files/docs/epc/EPCIS-Standard-1.2-r-
2016-09-29.pdf
design and implementation 91
4. It is not yet known how many companies this will be able to scale to, since it also 1
depends on how many nodes each of them run, and the quantity of data going 2
5. Costs 4
Maintaining the blockchain running requires little to no cost, as only a few dozen 5
nodes might be needed at most, depending on the scale, and each of them might 6
The development itself and testing might run into cost troubles in the aspects 8
that require the simulation to be faithful to reality, such has having lots of servers 9
services, at times). 11
Although some projects build entire or partially custom blockchain network software, 13
The baseline for the design will be the written list of requirements, mainly the 16
These parts are not necessarily sequential, but following the listed order may bring 23
about the best results in development. Since time was an issue and the dissertation 24
already included aspects other than the development, the scope of the development 25
itself could not be broad enough to include a deep exploration of all the aspects listed. 26
Therefore, the project here presented focuses more on the quality and functional 27
aspects of applying blockchain to the supply chain, and not so much on the quantitative 28
part, which would include tests to the efficiency of the network (throughput, latency). 29
What this means is that the development had a bigger focus on the model design, 30
92 solution design and implementation
19 Participants
20 The first step towards designing the system was to define who the users are, in order
21 to model the participants. This is an easy task, as the actors of the system were already
22 defined beforehand.
23 The logical separation for the participant type:
24 • auditor - the participant type that will represent the auditor role; the reason a
25 specific participant type is needed for this actor is so that the access control for
26 the auditors can later be specified;
– Supplier 1
– Manufacturer 2
– Distributor 3
– Retailer 4
– Customer 5
Both the auditor and the supply chain member participant types have as attributes 6
some company and personal identification, and the supply chain members also have 7
an account balance, which is the basis for financial transactions. The reason the admin 8
does not appear here is that the admin of a business network does not need a user 9
type to be able to invoke transactions. Instead, they only need their admin identity 10
Assets 12
Another integral component of the system are the assets, for the asset management 13
need to be modeled as assets, so that the network can register which ones exist, their 15
The proposed assets in this model were: Commodity, ShipmentBatch and Con- 17
tract. Each of them serves a purpose. A diagram with the assets and their relationships 18
Commodity - Represents a single product being exchanged, with all its attributes, 20
including the product ID (GTIN), name, description, item status and even the ID of 21
The shipment includes all the tracking information, including tracking number,a ship- 24
ment status and location. Additionally, the shipment has an array of the Commodity 25
items included in it, as well as information on who is the current physical holder of 26
the shipment and owner (other participants). When a shipment is created, since it has 27
an origin and a destination along with other sensible data and shipment conditions, it 28
makes sense that a contract is generated, therefore the shipment also has a contract 29
associated. 30
OrderContract - This represents a digital contract for the conditions of the shipment. 31
The expected arrival location and time, the buyer and seller, as well as a payment price, 32
for when the shipment is delivered (though it is optional). One of the requirements was 33
94 solution design and implementation
Figure 6.1: Class Diagram for the relationships between assets and participants.
5 The way that the participants an interact with the network and with the assets is
6 through transactions. Transactions are the chaincode functions with certain parame-
7 ters invoked by a user of the network (how a user can invoke a transaction is another
8 matter, also discussed in the following sections). So, while the participants and assets
9 model the users and data storage of the system, the transactions model the behaviour
10 of the network, by accessing the participant and asset registries and making changes.
11 Any transaction invocation is always recorded in an immutable historical record.
12 All the creation, deletion and update transactions are already supported by default
13 by Composer, but all other behaviour needs to be modeled, and sometimes, even these
design and implementation 95
default transactions should be made restricted and replaced by custom made ones, to 1
The transactions that were modeled for this network, are featured in the following 3
at the same time, for a certain set of parameters, which includes a buyer, seller, 6
pass it over to a new holder. In case the shipment is being delivered to the buyer, 9
a "possible fraud" event when a shipment does not arrive on the expected 11
location, and a normal event warning that the shipment was updated as well. 12
using the default one. The reason is to make access control rules easier for this 14
behaviour easier. 15
reason for this transaction being custom is that a verification must be done to 17
check if the commodity is part of a shipment before deleting it. In case it is, to 18
different set of commodities, by deleting the old ones and creating new ones. It 24
is useful, for instance, when creating a product out of raw materials. Emits an 25
different participant of the network, but only if the commodity is not currently 28
part of any shipment. Emits an event warning about the change of ownership. 29
temperature readings can be inserted into the system. A shipment can log an 31
96 solution design and implementation
1 array of temperature readings, and each time this transaction is called for a
2 shipment, a reading can be inserted into the array.
3 Additionally, the transactions, with all their parameters can be seen in Figure B.1,
4 from appendix B.
5 Queries
6 The transactions are used to model actions and behaviour, but to retrieve some of
7 the information, something else is needed. Composer already retrieves the basic
8 information for participants, assets and transactions, but anything else requires
9 queries. Hyperledger Fabric uses a relational database to store the asset and participant
10 registries and Composer features a way to retrieve that data easily, through filtered
11 queries (using a javascript framework, LoopBack).
12 In this proof of concept, some queries were programmed for some of the most
13 important pieces of information that can ensure traceability and other properties. These
14 can be found in table 6.2.
Table 6.2: List of designed and implemented queries, with their parameters.
15 The queries are pretty straight forward to code. They are a basic SELECT type of
16 query, with the specification of what object we want to select, followed by a WHERE
17 kind of statement, where certain conditions like equality, inequality, "CONTAINS"
18 among a few others can be used.
19 For instance, query number 12, getCommodityOwner, takes as parameter the Com-
20 modity’s ID (GTIN), but instead of retrieving the owner of the commodity, a participant,
design and implementation 97
it returns the Commodity itself. Why? Because the commodity retrieved has all the 1
information of who the owner is. This information has to be extracted manually since 2
Query Difficulties 4
Though the ease of coding the queries is appreciated, they are pretty limited in what 5
they can do. For instance, it is impossible to natively nest a "SELECT" inside another. 6
Since the database behind is not relational, there are also no powerful query elements 7
like "JOIN", which makes for getting some pieces of information very hard or even 8
impossible. 9
To make up for this, some changes in the model had to be made. Originally, the 10
Commodity asset did not have a Owner data attribute, since it was not thought to 11
would be possible to retrieve the Owner, simply by joining the tables for the shipment, 14
participant and commodity using the given ID, and it would return the owner. In a 15
relational database, any relation points both ways, so it is easy to navigate between the 16
Figure 6.2: Exemplification of the non-relational model problem in the Hyperledger Projects.
Figure 6.2 illustrates the problem anc changes to the developed model that had to 18
be made to adapt to it. The Commodity was adapted to have a Owner data attribute so 19
that it is easier to query the owner of a commodity. This pretty simple query would be 20
a lot harder to accomplish in Composer, and anything more complex or having more 21
tables than this would be pretty much impossible to do without exporting all the data 22
1 Another problem that this can bring, other than having the trouble of changing
2 the model, is the integrity issues that can be caused in the data. Anytime that the
3 owner of a shipment is changed, the owner of the commodity also has to be changed
4 in the code. If the owner of a commodity was not changed in the code, then it would
5 be inconsistent with the owner of the shipment, who in reality should also own the
6 commodity. If a programmer consistently adds attributes to classes to make up for
7 the weak Composer queries, eventually they might forget to make a change similar
8 to this one and the system might lose integrity.
specified commodity; 4
• TemperatureReading - Allowed only for the holder of the shipment with the 5
• TransformCommodities - Allowed only for the owner of all the commodities that 8
Assets 13
• Commodity 14
– Read - Allowed for supply chain member participant type who owns the 16
– Update - Allowed for supply chain member participant type who owns the 18
• OrderContract 21
– Read - Allowed for the buyer and seller of the contract; allowed for the 23
• ShipmentBatch 25
– Read - Allowed for the owner and holder of a shipment, as well as the buyer 27
1 Participants
2 • Supply Members
6 • Auditor
9 So, these rules reflect some basic facts. Auditors can read anything in the network,
10 while admins can read, update, delete, create or invoke anything. The common users
11 are subject to reading only details from themselves and the assets they are associated
12 to in some way (buyer, owner, holder, etc). In the same way, they are also limited on
13 the transactions they can invoke based on these associations.
14 Finally, the CRUD actions that the supply chain members can execute for the assets
15 and participants are also pretty limited, in order to maintain system integrity. This
16 was essential since Composer does not, by default, make some essential integrity
17 checks on the CRUD actions. For instance, when updating an asset’s reference to
18 another asset, Composer does not verify if the new reference actually points to an
19 existing instance of an object, which is the reason for why some custom transactions
20 were designed, such as UpdateCommodity.
21 Though all of these access rules were designed, not all were implemented in time,
22 but the ones that were implemented were tested and worked flawlessly.
could be confirmed securely. Such a thing is not yet permitted by this framework and 1
constitutes a grave security fault, therefore not satisfying the security requirements 2
completely. 3
Composer also features network topology design, which includes choosing the organi- 5
zations running the network, how many nodes each organization hosts and what types 6
of nodes and the endorsement policy. This is especially useful to quantitatively test the 7
efficiency metrics and scaling of the system, depending on the topological setup. Such 8
measurements are important to compare this system with other possible architectures. 9
However, the scope of this project covers mostly the qualitative and functional 10
part of building the network, with the aim of finding out if the requirements can 11
scales and independently of how other architectures behave. Especially in the case of 13
Hyperledger Composer, the implementation so far works, either with just 1 node,nd, 14
even though there was no implementation of a big topological network of nodes, some 15
With that in mi and thought were given as to how a proper network should look 17
like. Figure 6.3, taken from the Fabric documentation, exemplifies how a small supply 18
Figure 6.3: Example fabric topology for 3 organizations. Adapted from [18]
102 solution design and implementation
28 Composer already features a ready-to-start API server, which includes all the transac-
29 tion invocations, queries and CRUD operations. Authentication, using identity card
30 files, is also included in the REST server’s functionalities.
31 It is also possible to write a custom REST server for composer, using Angular
32 applications, but the default server has the necessary features.
results and validation 103
Figure 6.4: Architectural layer representation of Blockchain Integration with other systems.
Other Applications 1
Other software are possible to be implemented with the blockchain. One such instance 2
In order to determine the answer to the third and last of the problem statement 8
questions, "Is it possible to build a feasible architectural design, by using such a tool, to 9
implement all these requirements?", the suggested design and its implementation have to 10
possible to implement, which ones were not, which ones were indeterminate (as in, 15
the development was not finished in time to come to a conclusion as to whether they 16
104 solution design and implementation
Table 6.3: Validation of the functional requirements, according to the possibility of their imple-
mentation.
8 There were 3 requirements not possible to implement, all due to limitations of the
9 framework: submitting transaction batches, using multiple ledgers on composer and
10 reverting a transaction’s effect.
• S6 - Multiple channels are still not available on Composer, making the creation 1
programmatically in the script file, using the Composer runtime API, to access 4
The partial requirements mean that part of the requirement was possible, or the 7
requirement was somehow simulated in a different way than the one written in the 8
specification. 9
contract format specified in the design. This means that custom contracts can not 11
be submitted. Smart contracts are also limited to the ones already deployed on 12
the network, and only the admins can update the network with new contracts. 13
• SCM4 and RE1 - Querying a product’s lifecycle steps is possible for commodi- 14
ties that have not gone through transformations, by simply querying all trans- 15
formed, it basically is deleted and new ones are created and there is no way, with 17
the current Composer queries, to retrieve all of the transactions associated with 18
why it is only partially implemented. It still has the same usability a real 21
cryptocurrency would have, since the balance can not be double spent because 22
of the consensus, but it has limited interchangeability with other currencies and 23
• A2 - Create and delete new ledger channels is possible in Fabric, though not in 25
Composer. In theory, an admin can create a channel for Hyperledger Fabric, but 26
The validation and analysis of the satisfaction of the quality requirements is pre- 29
1 from the survey and also reaching a final conclusion for the last questions. The
2 validation of the survey requirements is shown in Table 6.5.
3 As can be seen, most of the requirements were fulfilled, but not all of them totally.
4 Security, as could be seen in the functional and non-functional requirements, has
5 some faults.
6 Regulatory auditing is also limited, because of the commodity transformations,
7 which limit the scope of how far we can trace back a product.
8 The development of industry standards is done by organizations such as GS1,
9 which are actively working to ensure that the standards they develop are adopted
10 world-wide.
11 Financial transactions were developed, but not fully to a level that can be used
12 industrially, so there is a lot of work to do on that field.
13 Enforceable contracts, as explained, are also limited to the designed contracts, and
14 the deployment of new or custom contracts is limited.
Some of the Composer framework limitations found that impacted the development 2
• Queries are not powerful enough. There is no JOIN and the usual SQL syntax is 4
• The default Composer REST server is somewhat limited in its API. To extend 7
the API, a custom server needs to be written; The queries and use of LoopBack 8
filters is also limited on the default server, but can be more extensively used by 9
• It is impossible to natively nest queries with the query language. To make up for 11
inefficient. 13
• The run-time API does not have methods to access transactions, so that past 15
transactions from the registry can be interacted with in the script file. 16
• The framework is still in development and has some bugs. For instance, LIMIT 18
in queries is bugged and does not work. Sometimes, when an asset is deleted, 19
108 solution design and implementation
1 a new asset with the same ID as the previous can not be created, because the
2 system thinks the previous asset still exists.
3 • Organizations are not supported in Composer in the same way they are in Fabric.
6 6.5 Conclusions
7 The whole chapter focused on building a list of requirements, designing a system,
8 implementing it and validating the work done. All to answer the question: "Is it
9 possible to build a feasible architectural design, by using such a tool, to implement all these
10 requirements?".
11 Thus, the final results and validation are essential to the answer and they are the
12 ultimate goals, but the whole process of getting there by building the requirements,
13 the design, and the implementation also provides important contributions.
14 Through the analysis of the results, the direct answer to the posed questions is:
15 No. It is not possible to use the Hyperledger Composer and Fabric frameworks to
16 satisfy ALL of the requirements through the built design, mainly because of limitations
17 in the software, and not because of the architectural design itself.
18 Even though the answer to the posed question was negative based on the results
19 from this dissertation, the fact remains that it was still possible to implement most
20 of the requirements. Therefore, if the question is instead changed to "Is it possible
21 to build a feasible architectural design, by using such a tool, to implement MOST of these
22 requirements?", the answer turns into a YES.
23 The design itself is feasible to be implemented, and even though the tool has some
24 limitations, most of the functionalities and quality requirements were indeed satisfied.
25 Both the design and the tool are not without some merit and it would not be fair to
26 simply say that such an architectural design, based on Blockchain, is not feasible or
27 usable simply because it does not satisfy an extensive list of requirements.
Chapter 7 1
Conclusions 2
The work done so far can be aggregated to reach some conclusions. This chap- 3
ter summarizes these conclusions to reach a final conclusion in the overview. The 4
difficulties that molded the trajectory of this dissertation are alo described. 5
Finally, this chapter features important content in the form of a list of contributions 6
of this dissertation, which interlace with the possible future work. More research can 7
be done in this area and hopefully some of it based on the findings from this thesis. 8
7.1 Overview 9
All the work and contributions of this dissertation aim towards proving whether the 10
Chapter 5 provided the answer to the first question. Chapter 6 used this answer to 20
provide the answer to the second and third questions, which can now lead to a final 21
1 Thesis Statement
2 We have almost all of the pieces to reach a final conclusion towards the main thesis
3 statement. However, there is still the need for the expression "a good architectural
4 design for the SCM domain" to be clarified. What exactly does it mean for an
5 architectural design to be good for some domain?
6 If we were to compare a new architectural design against other existing designs for
7 that same domain, then a system based on a new design could be considered good if
8 it could cover all of the functionalities of the other designs and have some additional
9 ones or be more efficient. But it was already determined that the focus of this thesis
10 statement was not to compare this architecture to others, but to evaluate it according
11 to the requirements. Therefore, a good design could be one that objectively covers all
12 of the most important elicited requirements.
13 The chosen framework had the possibility of satisfying the most requirements, out
14 of all the frameworks. Even so, by answering the last question, it was concluded that
15 the proposed design, even while choosing the most convenient tool possible, could
16 only fill the requirements partially.
17 Therefore, if a good design is one that must be able to satisfy all of the requirements, then it
18 is not certain that Blockchain is a good architecture for the supply chain management domain,
19 since not all of them were satisfied.
20 However, this does not mean Blockchain is not useful, since it can still partially
21 fill some important requirements. The fact that by itself, it might not be good
22 enough to satisfy all the requirements, does not mean it cannot be used together
23 with the current architectures to fill in some gaps. Blockchain can still be applied as
24 an aid and enhancement to some information system functionalities. For instance,
25 financial transactions was a requirement that was fulfilled and listed very high on the
26 requirements from the survey. No other present architecture uses this functionality,
27 but through Blockchain, it can be implemented.
28 7.2 Contributions
29 It is important that a conclusion was reached, but it is also important to look at the
30 work was done to reach that conclusion. The whole process of originating the answers
31 to the questions that support the conclusion also generated useful contributions.
32 These contributions might be useful for future research:
– Validation by the experts of the most important supply chain issues, supply 1
chain needs and the most wanted blockchain use cases for supply chain 3
management 4
7.3 Difficulties 11
The work done in this research was not always linear, even though the logic is made to 12
be linear. Since the beginning of the research, questions arose as to what points should 13
be focused, what work would make the contributions important enough to reach a 14
good conclusion. 15
One of the initial difficulties that most impacted the research was the lack of a 16
quantitative baseline to compare the proposed design to. There are many other projects 17
that attempt to, in one way or another, enhance the capabilities of supply chain by 18
However, none had publicly available efficiency metrics that could be used for this 20
project to be compared to. Many developers and companies were contacted to try to 21
collect more data from the existing projects, to establish a baseline but the contacts did 22
In the same way, some supply chain companies were contacted to the purpose of 24
establishing a quantitative baseline for the needs of supply chain. This could have 25
included, for example, knowing how many products a company shipped per a certain 26
amount of time, since this data could lead to interesting conclusions. But none had the 27
specific data needed or the interest to maintain a continuous working relationship for 28
1 The code developed for this model is open source, and can be found at https://github.com/
coletiv/supplychain-composer-thesis.
112 conclusions
1 Thus, one of the biggest difficulties for this dissertation was the lack of partnerships
2 and difficulty in establishing and maintaining contacts interested in contributing to
3 the research.
4 Another difficulty was that the frameworks used are not very mature. Some had
5 their development abandoned, while others are still in development, with unstable
6 code, and there are always new versions being released, which sometimes changed the
7 way the features worked.
8 Finally, without a comparison baseline, the survey was developed, as a way to get
9 expert knowledge in a more indirect way. But getting experts to answer the survey was
10 not easy. The expected profile for the participants of the survey was not a common
11 one, and the survey had to be shared through specific channels, often times having a
12 relatively low answer rate.
21 • Taking specific requirements from the most important requirements on the list
22 and research on using blockchain to successfully apply them as enhancements:
26 • Research and attempt to use different frameworks to fulfill the same requirements
27 that were elicited in this dissertation.
28 • Build a more complete topological network for the proof of concept, thoroughly
29 analyze the performance and compare it to other systems and architectures,
30 including systems different from Blockchain.
Appendices 1
Appendix A 1
Table A.1: Data analysis metrics used in the survey results analysis
Metrics Meaning
The mean represents the most probable value. In this
survey, with the use of scales with a lower and upper
bounds, the mean has the roles of representing the
average value of agreement, importance and other
measures.Normally, when the skewness of a distribution
Measures of Mean
is high, the meaning of the mean may get distorted by
Central Tendency
the existence of outlier values. However, since the scales
or Location
have a low range, with a lower and upper bound on the
answer values, this is not much of a concern. Therefore,
even in cases of skewness, the mean can be a useful metric.
Value of the 50% percentile, for numerical answers. Half
the answers are above this value and half are below,
pointing to a central tendency around this value. This is
Median a good metric to use, especially in skewed distributions
where there are outliers in the collected values, since the
meaning of the mean may get slightly distorted by the
outlier values.
Most frequent response. Though it represents the most
Mode popular answers, by itself the metric means nothing else,
as there might be answers almost as popular or not.
Quantifies the variation within the data set, by showing
how much the distribution spreads to either sides of the
center. A high value for the standard deviation means
Standard that there are a lot of values away from the mean, from
Measures of Spread,
Deviation which can be concluded that there is not a general
Scale or Dispersion
consensus on a certain answers.A low value means that
there is consensus, since all the values of the data set are
bundled more closely together.
Difference between highest and lowest value of the data set.
Together with the standard deviation, indicates the dispersion
of the value of the answers. A range of 0 means that a
Range question had the same value for all responses, for instance.
This metric ignores the frequency with which each answer
was given, that is why it must be coupled with the standard
deviation to be relevant.
This metric indicates the lack of symmetry in a distribution,
where the results bunch up in one side of the distribution.
Measures of
For instance, negative skewness values indicate a skew to
Skewness and Skew
the left: the values bunch up at the right end of the distribution
Kurtosis
and the left tail is long, indicating there are outliers in the lower
values.
Appendix B 1
Figure B.1: Full class diagram for the designed Hyperledger Composer model
References 1
[1] Ole Andersen and Louise Vogdrup-Schmidt. Rivals reject blockchain solution from Maersk and IBM, 2
[2] A.P. MOLLER - MAERSK. Maersk and IBM Launch Digital Joint Venture, 2018. URL https://www. 5
maersk.com/stories/maersk-and-ibm-launch-digital-joint-venture. Date Ac- 6
cessed: 2018-02-08. Cited on p. 40. 7
[3] Ronald H. Ballou. The Evolution and Future of Logistics and Supply Chain Management. European 8
Business Review, 19(4):332–348, 2007. ISSN 0955-534X. doi: 10.1108/09555340710760152. URL 9
http://www.emeraldinsight.com/doi/10.1108/09555340710760152. Cited on p. 2. 10
[4] Dave Bayer, Stuart Haber, and W. Scott Stornetta. Improving the Efficiency and Reliability of 11
Digital Time-Stamping. Sequences II, pages 329–334, 1992. doi: 10.1007/978-1-4613-9323-8_24. URL 12
http://link.springer.com/10.1007/978-1-4613-9323-8{_}24. Cited on p. 4. 13
[5] Richard Gendal Brown, James Carlyle, Ian Grigg, and Mike Hearn. Corda: An Introduction. pages 1– 14
15, 2016. URL https://docs.corda.net/_static/corda-introductory-whitepaper. 15
pdf. Cited on p. 28. 16
[7] Vitalik Buterin. What Proof of Stake Is And Why It Matters, 08 2013. URL 19
https://bitcoinmagazine.com/articles/what-proof-of-stake-is-and-why- 20
it-matters-1377531463/. Date Accessed: 2018-03-20. Cited on p. 17. 21
[8] Vitalik Buterin. A Next-Generation Smart Contract and Decentralized Application Platform. 22
Ethereum White Paper, (January):1–36, 2014. URL https://github.com/ethereum/wiki/ 23
[9] Vitalik Buterin. On Public and Private Blockchains, 2015. URL https://blog.ethereum.org/ 25
[10] Vitalik Buterin and Virgil Griffith. Casper the Friendly Finality Gadget. pages 1–10, 28
2017. URL https://github.com/ethereum/research/blob/master/papers/casper- 29
basics/casper_basics.pdf. Date Accessed: 2018-02-07. Cited on p. 17. 30
[12] CargoX. Reshaping the Future of Global Trade with World’s First Blockchain Bill of Lading, 2017. 34
URL https://cargox.io/CargoX-Whitepaper.pdf. Cited on p. 37. 35
120 REFERENCES
1 [13] Ram Ganeshan and Terry P Harrison. Introduction to Supply Chain Management. Supply Chain Man-
2 agement An International Journal, 47(July):3–4, 1995. ISSN 1745493X. doi: 10.1111/j.1745-493X.2011.
3 03231.x. URL http://lcm.csa.iisc.ernet.in/scm/supply_chain_intro.html. Cited
4 on p. 2.
5 [14] Stuart Haber and W Scott Stornetta. How to time-stamp a digital document. Journal of Cryptology,
6 3(2):99–111, jan 1991. ISSN 1432-1378. doi: 10.1007/BF00196791. URL https://doi.org/10.
7 1007/BF00196791. Cited on p. 4.
10 [16] Juan Huertas, Hope Liu, and Sarah Robinson. Eximchain: Supply Chain Finance Solutions on a
11 Secured Public, Permissioned Blockchain Hybrid, 2017. URL https://www.eximchain.com/
12 EXIMCHAIN-Whitepaper.pdf. Cited on p. 38.
19 [19] IBM Research. Hyperledger Fabric Documentation. page 257, 2017. doi: 10.5281/zenodo.
20 1009257. URL https://media.readthedocs.org/pdf/hyperledger-fabric/latest/
21 hyperledger-fabric.pdf. Cited on pp. 22 and 24.
25 [21] Filiz Isik. Complexity in Supply Chains : A New Approach to Quantitative Measurement of the
26 Supply-Chain-Complexity. Supply Chain Management, pages 417—-432, 2011. Cited on p. 4.
27 [22] Kari Korpela, Jukka Hallikas, and Tomi Dahlberg. Digital Supply Chain Transformation toward
28 Blockchain Integration. pages 4182–4191, 2017. doi: 10.24251/HICSS.2017.506. URL http:
29 //hdl.handle.net/10125/41666. Cited on p. 3.
30 [23] Leslie Lamport, Robert Shostak, and Marshall Pease. The Byzantine Generals Prob-
31 lem. ACM Transactions on Programming Languages and Systems, 4/3:382–401, July
32 1982. URL https://www.microsoft.com/en-us/research/publication/byzantine-
33 generals-problem/. Cited on p. 9.
37 [25] Rhonda R Lummus and Robert J Vokurka. Defining Supply Chain Management: a Historical
38 Perspective and Practical Guidelines. Industrial Management & Data Systems, 99(1):11 – 17, 2014.
39 ISSN 10983015. doi: 10.1108/02635579910243851. Cited on pp. 1 and 2.
40 [26] Satoshi Nakamoto. Bitcoin: A Peer-to-Peer Electronic Cash System. Www.Bitcoin.Org, page 9, 2008.
41 ISSN 09254560. doi: 10.1007/s10838-008-9062-0. URL https://bitcoin.org/bitcoin.pdf.
42 Cited on p. 4.
REFERENCES 121
[27] Photis M. Panayides and Y. H. Venus Lun. The Impact of Trust on Innovativeness and Supply 1
Chain Performance. International Journal of Production Economics, 122(1):35–46, 2009. ISSN 09255273. 2
doi: 10.1016/j.ijpe.2008.12.025. URL http://dx.doi.org/10.1016/j.ijpe.2008.12.025. 3
Cited on p. 34. 4
[28] Marc Pilkington. Blockchain Technology: Principles and Applications. Research Handbook on 5
Digital Transformations, pages 1–39, 2015. ISSN 1553-877X. doi: 10.4337/9781784717766.00019. URL 6
http://papers.ssrn.com/abstract=2662660. Cited on p. 10. 7
[30] Joseph Poon and Vitalik Buterin. Plasma: Scalable Autonomous Smart Contracts Scalable Multi- 12
Party Computation. pages 1–47, 2017. URL https://plasma.io/plasma.pdf. Cited on 13
p. 20. 14
[31] Michael Prokle. Theory and Practice of Supply Chain Synchronization. Doctoral Dissertations, 2017. 15
Cited on p. 3. 16
[32] Alan Punter. Supply Chain Failures - A Study of the Nature, Causes and Complexity of Supply 17
[33] Branimir Rakic, Tomaz Levak, Ziga Drev, Sava Savic, and Aleksandar Veljkovic. OriginTrail: 19
First Purpose Built Protocol for Supply Chains Based on Blockchain, 2017. URL https:// 20
origintrail.io/storage/documents/OriginTrail-White-Paper.pdf. Cited on p. 39. 21
[34] Branimir Rakic, Tomaz Levak, Ziga Drev, Sava Savic, and Aleksandar Veljkovic. Technology @ 22
origintrail.io, 2018. URL https://origintrail.io/technology. Date Accessed: 2018-06-07. 23
Cited on p. 39. 24
[35] Mattias Scherer and Jerry Eriksson. Performance and Scalability of Blockchain Networks and 25
Smart Contracts. 2017. doi: UMEAUniversity. Cited on pp. 18 and 19. 26
[36] IEEE Computer Society. Ieee recommended practice for software requirements specifications. IEEE 27
Std 830-1998, pages 1–40, Oct 1998. doi: 10.1109/IEEESTD.1998.88286. Cited on p. 81. 28
[37] Nick Szabo. Smart Contracts: Building Blocks for Digital Markets. URL: 29
http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/ LOTwinter- 30
school2006/szabo.best.vwh.net/smart_contracts_2.html, 1996. Cited on p. 16. 31
[39] Martin Valenta and Philipp Sandner. Comparison of Ethereum, Hyperledger Fabric and 35
Corda. (June):1–8, 2017. URL http://explore-ip.com/2017_Comparison-of-Ethereum- 36
Hyperledger-Corda.pdf. Cited on p. 29. 37
[40] Marko Vukolić. Hyperledger Fabric - an Open-Source Distributed Operating System for 38
Permissioned Blockchains, 2017. URL https://blockchain-summer.epfl.ch/talks/ 39
hyperledger-fabric-vukolic.pdf. Cited on p. 22. 40
[41] Richard Wilding. The Supply Chain Complexity Triangle: Uncertainty Generation in the Supply 41
Chain. International Journal of Physical Distribution & Logistics Management, 28(8):599–616, 1998. ISSN 42
1 [42] Jeff Hoi Yan Yeung, Willem Selen, Min Zhang, and Baofeng Huo. The Effects of Trust and Coercive
2 Power on Supplier Integration. International Journal of Production Economics, 120(1):66–78, 2009.
3 ISSN 09255273. doi: 10.1016/j.ijpe.2008.07.014. URL http://dx.doi.org/10.1016/j.ijpe.
4 2008.07.014. Cited on p. 34.
REFERENCES 123