does not really need to know
or care who is spending the
money, or how much total money he/she has. In this case, the
Blockchain has zero knowledge about who is the user to send
the money and how much money the user has.
Zero-knowledge proofs are a cryptographic principle used
in some Blockchains to increase the privacy of users.
Currently, Ethereum does not have support for zero-
knowledge proofs, but adding the necessary functionality for
zkSNARKS, a type of zero-knowledge proofs, is currently
included in the Ethereum development roadmap.
Hash Functions. Hash functions are a key technology
used in the Blockchain. A hash function is a mathematical
equation with five important properties for cryptography:
•
Fixed Size. Hash functions can take anything as input
and create an output with a fixed size. This makes it
possible to condense anything into a piece of data of a
fixed size. So Blockchains use hash functions to
condense messages for digital signatures.
•
Preimage resistance. Given an input, it is not hard to
calculate a hash output.
However given the hash
output, it is mathematically impossible to reverse-
engineer the original input. In fact, the only possible
way is to randomly input the data into the hash function
until the same output is produced.
•
2
nd
Preimage Resistance. If an input and its hash
output are given, to get the second input that produces
the same hash output is computationally infeasible.
•
Collision Resistance. Finding any two distinct inputs
is computationally infeasible to produce the same hash
output.
•
Big Change. If any single bit of the input is changed,
it will produce the entirely different hash output.
Fig. 3 shows that cryptographic hash function provides a
way to link all blocks on the Blockchain together. On the
block level, hash of previous Block
i-2 header is stored in
Block
i-1, hash of previous Block
i-1 header is stored in Block
i, hash of previous Block
i header is stored in Block
i+1, and
so on.
Fig. 3. Blockchain Connection Structure and Merkle Tree with Hash
Function.
Within a block, there are multiple transactions. Blockchain
also hashes every transaction and for a Merkle Tee at the
bottom part of Fig. 3 and Merkle Root is stored in the block
header. In this way, Blockchain creates a distributed ledger
that is immutable, secure, and extremely trustworthy. If any
block or any transaction or information
on that block is
modifies, no matter how small, it will be discovered
immediately and the link between that block and all
subsequent blocks will be broken.
P2PKH address. Besides Blockchain connection
structure, Merkle Tree and the PoW mining algorithm
mentioned in the previous session, cryptographic hash
functions are also used in Bitcoin pay to public key hash
(P2PKH) addresses [46]. Hash
functions and public key
cryptography are used to create the P2PKH address for the
Bitcoin user to send and receive funds (Fig. 4). Due to one-
way function, it is impossible to reverse engineering from the
address to its public key and to its private key.
Fig. 4. Public Key Cryptography and Hash Function for Bitcoin Address.
The length of a key is not changed. The size of a private
keys is 32 bytes, and the size of a public key is 65 bytes (or 33
bytes for a compressed public key). The size of P2PKH
address is 20 bytes.
IV.
B
LOCKCHAIN
A
PPLICATIONS
From the survey, the applications of Blockchain include
cryptocurrency, finance (stock exchange, financial services,
P2P financial market, crowdfunding, etc), Internet-of-Things
(IoT) (safety and privacy, e-business, etc), reputation system
(web community, academics, etc), security and privacy
(security enhancement, risk management, privacy protection,
etc) [3],
healthcare, insurance, copyright protection, energy,
society
applications
(Blockchain
music,
Blockchain
government), advertising [47], defense, mobile applications,
supply chain, automotive [28], agricultural sector [48],
identity management, voting, education, law and enforcement,
asset tracking [49], digital records, intrusion detection [50],
digital ownership management, property title registries, and so
on. Fig. 5 illustrates the spiral increasing applications of
Blockchain technology. It is expected that more and more use
cases of Blockchain systems are emerging.
In the following sub-sessions, cryptocurrency as the first
application, supply chain as a widely use case and Smart
Dubai Office as a first whole government service application
are selected for the further information to be presented.
A. Cryptocurrencies
The first cryptocurrency is Bitcoin, which was announced
in 2008 and launched in 2009. The maximum number of
Bitcoin is 21 million BTC. Once one mining node (miner)
finds a nonce value that matches the difficulty and succeeds in
having a block accepted, the miner obtains a transaction fee
($24 and $31) and a mining reward of 6.25 BTC at this
moment. For every 210,000 blocks (roughly 4 years), the
mining reward gets cut in half. Currently just under 90% of
BTC has been mined.
After Bitcoin, the market cap of
H
1
H
2
T
1
H
12
T
2
H
3
H
4
T
3
T
4
H
34
Merkle Root
i
= H
1234
Merkle
Tree
Block
i Header
Hash of Previous
Block
i-1 Header
Version
Merkle Root
i
Timestamp
Difficulty
Nonce
Block
i Body
Transactions:
T
1,
T
2,
T
3,
T
4
Block
i+1 Header
Hash of Previous
Block
i Header
Version
Merkle Root
i+1
Timestamp
Difficulty
Nonce
Block
i+1 Body
Transactions
in Block
i+1
Block
i-1 Header
Hash of Previous
Block
i-2 Header
Version
Merkle Root
i-1
Timestamp
Difficulty
Nonce
Block
i-1 Body
Transactions
in Block
i-1
Private
Key
Public
Key
Address
ECC
Hash
Journal Pre-proof
Ethereum (ETH) is roughly 19% of Bitcoin's size and ranks as
the second-largest cryptocurrency currently. Cryptoslate lists
2403 top cryptocurrencies by market capitalization in its coin
rankings [51]. Among them, 7 cryptocurrencies which are
mentioned as consensus use examples in the previous session
are shown in Table II.
Fig. 5. Blockchain Applications
Pros of cryptocurrencies include:
•
Cryptocurrencies are good use cases for
Blockchain which make full use of the advanced
features of Blockchain.
•
Payments go directly from one person to another.
•
The processing fee is tiny.
•
There are no delays and no limits for sending
money.
Cons of cryptocurrencies include:
•
There
is no control, which may incur the black
money.
•
It may suffer the security attack and lose the
digital assets.
•
The government regulations are lacked and some
policies may be launched to manage or control
the cryptocurrencies.
•
Some comments that it is highly risky and
speculative to invest in cryptocurrencies. For
example, Tesla alerted investors about the
volatility of Bitcoin’s price in its SEC filing [53]..
B. Supply Chains
Blockchain technology offers distributed ledgers that
create a permanent and shared record of every transaction. All
recorded transactions are visible to authorized participants,
traceable within the ledger, immutable and irrevocable, which
prompt the increasing usage of Blockchains for data sharing
in supply chains. For example, IBM has released permissioned
Blockchain-based data sharing
solutions for supply chains
with a particular focus on logistic [3]; and the cold-chain
logistics solution from VeChain uses Blockchain to track and
monitor the logistic information for transparent, regulated,
secure and reliable data sharing [4]. In Makerchain [54],
twinning unique chemical signature data to Blockchain is
presented as an anti-counterfeiting method.
In addition, various Blockchain technologies have been
presented to enhance the security,
transparency, and
traceability of the supply chain. In [55], Blockchain
technology is used to secure smart manufacturing in industry
4.0 which addresses cybersecurity issues in the manufacturing
systems. In [56], Blockchain is used to achieve sustainability
from the manufacturing system perspective and the product
lifecycle management perspective. ManuChain [57] based on
a permissioned Blockchain network is presented to get rid of
unbalance/inconsistency between holistic planning and local
execution in individualized manufacturing systems.
T
ABLE
II.
C
RYPTOCURRENCIES
[52]