Page 27 - ITU Journal - ICT Discoveries - Volume 1, No. 2, December 2018 - Second special issue on Data for Good
P. 27
ITU JOURNAL: ICT Discoveries, Vol. 1(2), December 2018
Poelstra, Wilkins, Piekarska, Gorlick, and A sidechains attribute is defined using ASN.1 as
Friedenbach describe a sidechain as an follows:
interoperable blockchain solution that can be used
to decentralize risk and enhance security [10]. In sidechains ATTRIBUTE ::= {
their proposed blockchain-based system, WITH SYNTAX Sidechains
ID id-Sidechains
sidechains provide a mechanism for moving }
"assets to and from other blockchains" [10]. Once
an asset is moved to a sidechain, the sidechain Sidechains ::=
participants can manage their own operational SEQUENCE SIZE(0..MAX) OF linked Sidechain
environment without affecting any parent blocks. Sidechain ::= HashPointer
This splitting of operations "between entities" The syntax of a sidechains attribute is a series of
serves to "limit the damage an attacker can cause" values of type Sidechain. A value of type Sidechain
to the overall system [10]. This mechanism also links a parent block to a sidechain. This linkage
provides additional system agility benefits. Though relies on type HashPointer defined in section 3.1.
the "chains are still attached" the sidechain can be Type Sidechain contains two optional components,
used to test new system features and to isolate a named hash and pointers. In a value of type
set of logical activities "without harming the main Sidechain, the pointers component must be
network should vulnerabilities arise" [11]. The present. When the message digest of the sidechain
blocksigners "who sign blocks of transactions on block header can be calculated, the hash
the sidechain" and define "its consensus history" component of type Sidechain can also be included.
can use a different consensus mechanism and
different cryptographic algorithms than those used When a new sidechain root block is created, it may
on the parent blockchain [10]. be doubly linked to point back to the parent block
as shown in Fig. 3.
5.2 Fixed sidechains
One or more fixed sidechains can be added to a
new top block of a parent SignedData blockchain as
the block is created. Pointers to these fixed
sidechains can be included in the parent block
header using the signed attribute, sidechains. The
sidechains attribute is cryptographically bound to
the new top block of the parent blockchain under a
digital signature to link sidechains to the parent.
Fixed sidechain pointers cannot be modified or
removed from the signed attributes of the parent
block header without detection. Each parent block
header is a value of type SignerInfo, which includes
a precedingBlock attribute and a timestamp. This Fig. 3. Fixed SignedData sidechain
signed attribute hash-links the parent blocks of the
blockchain together, and cannot be altered without To link the sidechain back to the parent block, a
loss of blockchain integrity. Each sidechain pointer parentBlock attribute must be included in the root
can locate a new sidechain root block, or point to block of the new sidechain. The parentBlock
any block that already exists. Pointers to existing attribute is similar to the precedingBlock attribute
blocks may locate blocks within the parent defined in section 3.1. The parentBlock and
blockchain, perhaps to associate related precedingBlock attributes have different identifier
information contained in preceding blocks. A names so that applications can readily distinguish
sidechain pointer can also point to a distributed between these two types of links.
block, a block whose physical location differs from
that of the parent block. Subsequent blocks added to a sidechain root block
must include a precedingBlock attribute. This
attribute should not be included in the root block
© International Telecommunication Union, 2018 5