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