2 What Is Blockchain and What Should You Know About It?
2 What Is Blockchain and What Should You Know About It?
discussion of Blockchain use in the international supply chain and expanding it to include the
relevance of other advanced technologies such as the Internet of Things (IoT) and Artificial
Intelligence (AI). This forum could support Senior Managers responsible for making decisions
about international supply chain applications, particularly in government. It could also help
UN/CEFACT to identify areas where its work could facilitate the use of these advanced
technologies in support of trade facilitation.
The Project team supported a proposal to establish an Advisory Group on Advanced
Technologies in the international supply chain2 which would support the implementation of the
UN/CEFACT programme of work areas related to the use of digital technologies for
exchanging trade information. Its main task would be to identify emerging strategic issues and
international best practices for senior public and private sector officials on this topic. One of
the first activities of this Advisory Group would be to look at specific issues raised within the
sectoral analyses and the case studies in this White Paper. On the basis of this work, the
Advisory Group would advise on recommendations for future work as well as guidelines and
information papers for consideration and possible adoption and publication by UN/CEFACT.
2
See the proposed “Mandate and Terms of Reference of the Advisory Group on Advanced Technologies”
ECE/TRADE/C/CEFACT/2019/22.
The first Blockchain to use smart contracts was Ethereum which was invented by Vitalik
Buterin. He first described the use of smart contracts on a Blockchain in a White Paper in late
2013. Then, when he failed to gain agreement on this concept within the Bitcoin community,
he proposed the development of a new platform called Ethereum. This new network, launched
on 30 July 2015, is today the Blockchain with the largest number of transactions and is among
the top three in market capitalization.3
3
According to https://bitinfocharts.com/ (as of February 2020).
e) Node: A system that hosts a full copy of the Blockchain ledger. In some Blockchains,
such as Bitcoin and Ethereum, all nodes participate in the consensus process, in others
it may be only be selected nodes.
f) On-chain transaction: An automated procedure that creates or updates the status of a
Blockchain asset in the Blockchain database by appending new data to the ledger.
Examples include digital asset exchange, or execution of an automated business
process.
g) Validation: Work performed by nodes, in parallel, that verifies transactions using a
consensus algorithm. Different networks may use different consensus algorithms.
When mutual validation results in a consensus, then the nodes all commit (record) the
verified transactions onto their Blockchain as a new block.
4
A Turing complete programming language can solve any mathematical problem computationally (if you know
how to program it). In general, this means it must be able to implement a conditional repetition or conditional
jump (while, for, if and goto) and include a way to read and write to some storage mechanism (variables).
public/private key cryptography. Hash functions are used to construct the fundamental proof
that links each block to the rest of the chain before it. Hashes, in a different context, can also
be used to provide proof of validity for data that is referenced by blocks and they are used in
Proof-of-Work consensus algorithms where a hash with a specified number of leading zeros
serves as the “difficult problem” that nodes must solve in order to reach consensus.
Public/private key cryptography is used for identifying parties to a transaction and controlling
access to data. An analogy is email, where the public key is your email address which others
can use to send messages to you, and the private key is your password which gives access to
the private material, which is your messages. So, on a Blockchain, a public key can be used,
for example, to implement a transaction that sends a document or a payment to a party, but
only the party with the private key can access those documents or payments after they are sent.
A critical aspect to keep in mind when designing Blockchains is the management and security
of users’ private keys, given that there is no centralized management system. If a user loses
their private key, all assets related to that key are lost as well, unless a way to recover that key
has been put in place. On the other hand, the classic solution to this problem, the creation of a
centralized key management system, would most likely create a single point of failure, and
such a system would no longer meet the basic principles that a distributed, decentralized model
is based upon. As a result, creative solutions are needed.
5
Bitcoin is designed so that, over time, mining rewards are reduced with the objective of eventually having all
mining rewards come from transaction fees.
This characteristic is the origin of the word “chain” in “Blockchain” because each block is
anchored to the previous block and proves the existence of all the data it references going back
to the first “block” of data in the “chain”.
2.2.7 Some time is needed before the existence of a new block can be “confirmed”
Each node creates new blocks based on the information available to it at a specific point of
time. Because of network latency, whereby nodes may receive information at different times,
this can result in different nodes publishing different blocks at the same time, without this
being caused by errors or inaccurate data. This can, temporarily, result in differing versions
of a Blockchain ledger existing which is called a “ledger conflict”. For example, in a
Blockchain-based digital currency system, the same money could show as spent and unspent,
depending on at which Blockchain ledger version we were looking. However, these conflicts
are resolved automatically as the longest chain available becomes the official Blockchain. Any
data that was in a shorter block and is not included in the longest, selected block, is returned
to the unused transaction pool to be included in a later block.
Because of the possibility of ledger conflicts resulting in a processed transaction being
returned to the unused transaction pool (because the block it was included in turned out not to
be the longest one), a concept called confirmations is deployed for users to measure the
probability of a transaction being permanently present in a Blockchain. A transaction’s
confirmation is the number of blocks present after the block where the transaction is found.
For example, in the Bitcoin network 6 confirmations are considered very safe as it would be
extremely difficult for so many blocks to be rejected due to ledger conflicts or for a forking
to happen before the block containing the said transaction if it is followed by six new valid
blocks. The number of confirmations considered to ensure that a transaction is safe is different
for different protocols based on the block creation time and whether the Blockchain is
permissioned or permission less.
6
https://bitinfocharts.com/ (as of February 2020).
• Creating an alternate chain that is longer than the original chain which nodes will switch
to because they will automatically think that the longer chain has had the most
verification work done to it; and
• Disrupting how and where information is distributed by thwarting or not transmitting
blocks to other nodes.
Public Blockchain ledgers are designed to operate according to rules that do not require
governance or regulatory mechanisms to intervene in order to prevent antisocial transactions,
because those mechanisms might themselves be exploited for antisocial outcomes—for
example, if a governance mechanism were to be hacked by a third party or abused by a
regulator. Public Blockchains operate with absolute assurance in their algorithms and are
designed to avoid any need to trust any counterparties. Public Blockchains are sometimes
referred to as being trustless.
Public ledgers typically compromise other aspects of performance in order to achieve a strong
resistance to Sybil (51 per cent) attacks. They also rely on the transparency of the public ledger,
and on the transparency of the open-source software involved.
Public Blockchain systems, which typically have thousands of users, are difficult to manage
and maintain because of the need for consensus (being 51 per cent or more of users) in order
to make changes. This can also be true of permissioned Blockchains, depending upon their
governance structure. Within Blockchains, changes are implemented through forks, of which
there are two types:
• Soft forks - These represent software changes that do not prevent users from using the
changed Blockchain system.
• Hard forks - These are software changes that prevent users who have not adopted the
change from using the changed Blockchain system. This requires a decision from users
to either upgrade and stay with the main fork or continue without the upgrades and stay
on the original path. Users on different hard forks are prevented from interacting with
each other, which helps to avoid conflicts between ledgers.
As with all information technology systems, developers are responsible for changes to the
underlying software. These developers maintain some level of control over the direction of the
Blockchain on which they are working, primarily the power of proposal. For example, a group
of developers may recommend a change in the hashing algorithm or changes to the block
structure. In public and some permissioned Blockchains, these proposed changes will then
require a majority of the nodes (validators) on the network to agree and require a hard fork. It
is very difficult to obtain the permission of a majority of nodes for a hard fork, resulting in an
underlying difficulty in maintaining and updating Blockchains. It is therefore important to look
at the governance mechanisms in place when selecting a Blockchain and at the trade-offs
involved between stability and the ability to evolve over time.
on a public database using smart contracts, however, authorities might be concerned that there
is a greater security risk since anyone who wants to could see (and try to hack) the smart
contracts in question. Such a database might be desirable for official records such as land deeds,
licenses, certificates, etc. Unlike a traditional database, a private Blockchain ledger is
immutable (i.e. cannot be updated) and transactions are verified by a consensus mechanism
that is established by the network operators.
Private ledger technology is typically applied in enterprise use cases where immutable
transactions are required that can be verified by a closed community of nodes. These nodes
may be independent of parties to the transactions on the Blockchain and may be subject to
oversight and governance that is not possible, or considered desirable, in a permissionless,
public Blockchain system.
Permissioned ledgers operate with a different threat model to the public ledgers. The operators
of permissioned ledger nodes are not anonymous; they are subject to some kind of governance
controls and are collectively trusted by the users. Antisocial behavior by a node or participant
could result in that party being evicted from the network and their transactions blocked. The
expectation of users of a permissioned ledger is that the operators will intervene in antisocial
behavior but not commit antisocial behavior themselves.
On permissioned ledgers, the level of security, and the confidence that users can have in the
immutability of the data, varies depending upon the rules established for that permissioned
ledger, including its consensus mechanism. Permissioned ledgers can also create a false sense
of security because only known participants are allowed to maintain nodes and participate in
verification. At the same time, even known participants can become untrustworthy upon being
hacked; permissioned ledgers with single points of failure are also vulnerable should anything
happen to that single point, and poorly tested smart contracts can create bad consequences for
participants—even if no harm was originally intended—especially if the Blockchain network
does not have adequate controls in place.
7
See for example the Buy-Ship-Pay Reference Data Model Business Requirement Specification:
http://www.unece.org/fileadmin/DAM/cefact/brs/BuyShipPay_BRS_v1.0.pdf (as of February 2020)
For example, if you click on a link on a television news website, which changes on a regular
basis as it is updated, what you find tomorrow may be different from what you find today. With
a Blockchain anchor data link, the information in the Blockchain is a guarantee (proof of
existence) that the data being pointed to has not been changed.
The location for data found in a Blockchain anchor data link is identified with a Universal
Resource Identifier (URI). The URI can be registered as part of a Blockchain transaction or
referenced in (or used by / created by) a Blockchain smart contract. The URI may point to data
in public/open distributed data systems such as those located on the Internet and accessed using
standard protocols (i.e. FTP, HTTP, HTTPS, or IPFS8) or it may reference data in private
databases that are selectively available to permissioned ledger users. With private off-chain or
cross-chain references, it is possible for network operators to know that some data exists, but
to have their access limited by additional controls (for example, with a technique called zero-
knowledge proofs). This can be very interesting from a privacy standpoint as it is possible to
access data in order to know that, for example, someone is over 21 without giving their age, or
that they live in London, without giving their address.
These sources of external data are sometimes called oracles which are described in more detail
below.
8
FTP = File Transfer Protocol, HTTP = HyperText Transfer Protocol, HTTPS = HyperText Transfer Protocol
and IPFS = InterPlanetary File System. For not too technical explanation of IPFS see
https://medium.com/wolverineBlockchain/what-is-ipfs-b83277597da5 (as of February 2020).