IoTeX Whitepaper 1.5 EN
IoTeX Whitepaper 1.5 EN
1
Abstract
The majority of Internet of Things (IoT) devices are deployed in a central-
ized way as of today, though decentralized in nature. Many problems have
been exposed: scalability, high operating cost, privacy concerns, security risks,
and lack of functional values. Blockchain, decentralization by design, could be
a good solution to these problems. First, blockchain is elastic enough to solve
the scalability challenge of IoT in a cost-effective manner. Second, retaining
data within well-scoped blockchains eliminates the concern of IoT data being
stored in cloud and potentially being leaked or abused. Third, blockchain with
smart contract and tokens has huge potential to enable autonomous coordina-
tion of devices to create functional values. However, existing blockchains have
their limitations facing IoT problems because of the special characteristics of
IoT, such as, large quantity and heterogeneity of devices, and constrains in
computation, storage and power, etc.
This paper introduces IoTeX, a decentralized network for IoT powered by
a privacy-centric blockchain with four major innovations:
• Blockchains in blockchain for a well-balanced distributed network that
maximizes scalability and privacy in a cost-effective way;
• True privacy on blockchain based on relayable payment code, constant-
size ring signature without trusted setup, and first implementation of
bulletproof;
• Fast consensus with instant finality greatly improving the throughput of
the network and reducing transactional cost;
• Flexible and lightweight IoTeX-based system architectures purpose-built
for key IoT applications across multiple industry sectors.
1
Contents
1 Internet of Things 5
1.1 Scalability Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Lack of Privacy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Lack of Functional Values . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Blockchain 6
2.1 Ingredients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Operational Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2
6.2.4 Finalize Block . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.3 Creating Periodic Checkpoints for Light Clients . . . . . . . . . . . . 29
10 Conclusion 36
11 Acknowledgements 36
3
List of Figures
1 IoTeX: Blockchains in blockchain, a rootchain and subchains architecture. 13
2 Cross-Blockchain Transactions . . . . . . . . . . . . . . . . . . . . . . 17
3 Bandwidth Model for Sharing Rootchain Capacity . . . . . . . . . . . 18
4 A Transaction on the Bitcoin Blockchain . . . . . . . . . . . . . . . . 23
5 A Confidential Transaction with Public Verifiability . . . . . . . . . . 23
6 Randomized Delegated Proof of Stake (Roll-DPOS) . . . . . . . . . . 28
7 IoTeX Powered Shared Economy . . . . . . . . . . . . . . . . . . . . 33
8 IoTeX-Powered Smart Home . . . . . . . . . . . . . . . . . . . . . . . 34
List of Tables
1 IoT Benefits From Blockchain Properties . . . . . . . . . . . . . . . . 9
2 Comparison Between Rootchain and Subchain . . . . . . . . . . . . . 14
3 Privacy-Preserving Techniques for Blockchains . . . . . . . . . . . . . 19
4
1 Internet of Things
The Internet of Things (IoT) is rapidly emerging as the manifestation of the networked
society vision – everything that benefits from a connection is connected. Yet, this far-
reaching transformation is just the beginning. The number of connected IoT devices
is expected to grow by 21% annually, rising to 18 billion in 2022 [10] and the global
market of IoT is expected to grow from 170 billion USD in 2017 to 560 billion USD
by 2022 [15], at a compound annual growth rate of 26.9%. Though many industry
experts and excited consumers have pegged IoT as the next industrial revolution or
the next internet, there are three main problems that are holding back the massively
development and adoption of IoT.
5
4. Privacy-violating interaction and presentation: Conveying private information
through a public medium and in the process disclosing it to an unwanted audi-
ence;
5. Life cycle transitions: Devices often store massive amounts of data about their
own history throughout their entire life cycle that could be leaked during changes
of control spheres in a device’s life cycle;
7. Linkage: Linking different previously separated systems such that the combina-
tion of data sources reveals (truthful or erroneous) information that the subject
did not disclose to the previously isolated sources and, most importantly, also
did not want to reveal.
All these common privacy threats are due to data leak at device level; or, data leak
during communication; or, more often, data leak by centralized parties.
2 Blockchain
Blockchain technology was introduced in 2008 and its first implementation, i.e. Bit-
coin, was introduced a year later, in 2009, published in the paper Bitcoin: A Peer-to-
Peer Electronic Cash System [21] by Satoshi Nakamoto (alias). Essentially, blockchain
is a distributed, transactional database that is shared across all the nodes participat-
ing in the network. This is the main technical innovation of Bitcoin and it acts as
a public ledger for the transactions. Every node in the system has a full copy of
6
the current chain state, which contains every transaction ever executed. Every block
contains a hash of the previous block, linking these two together. The linked blocks
become a blockchain.
2.1 Ingredients
A blockchain can be perceived as a four-dimensional continuum that has three hor-
izontal layers including transaction and blocks, consensus, compute interface, and
governance, one vertical layer.
Consensus
The middle horizontal layer manifests the peer-to-peer nature of the blockchain, where
all nodes within the network reach consensus on all internal states on chain via tech-
niques like Proof of Work (PoW), Proof of Stake (PoS) and their variants, Byzantine-
fault tolerance (BFT) and its variants etc. The consensus layer affects scalability the
most. PoW is usually considered less scalable as compared to PoS. In addition, this
layer heavily impacts security in terms of double spending and other attacks focused
on mutating the blockchain states in an unanticipated way.
Compute Interface
The first two horizontal layers form the shape of a blockchain while the Compute
Interface layer is critical to make a blockchain useful, which encompasses extensibility
and usability. For instances, smart contract has been implemented by Ethereum to
enable programmability where one could count on the distributed ”world computer”
for executing the terms of a contract. Sidechain, together with merged mining, has
also been developed intensively to support programmability. Second-layer protocols
like Raiden network [25], state channel has been developed to extend the scalability
of a blockchain at this layer. In addition, tools, SDKs, frameworks, and GUIs are
also extremely important to usability. The Compute Interface layer gives developers
the capability to develop decentralized apps (DApps), an essential part of making the
blockchain useful and valuable.
7
Governance
As with organisms, the most successful blockchains will be those that can best adapt
to their environments. Assuming these systems need to evolve to survive, initial
design is important, but over a long enough timeline, the mechanisms for change
are most important, which is known as the vertical layer governance. There are two
critical components of governance:
• Incentive: Each group in the system has their own incentives. Those incentives
are not always 100% aligned with all other groups in the system. Groups will
propose changes over time which are advantageous for them. Organisms are
biased towards their own survival. This commonly manifests in changes to the
reward structure, monetary policy, or balances of power.
• Coordination: Since it is unlikely all groups have 100% incentive alignment at all
times, the ability for each group to coordinate around their common incentives
is critical for them to affect change. If one group can coordinate better than
another, it creates power imbalances in their favor. In practice, a deciding factor
is how much coordination can be done on-chain (e.g., votes to the rules of the
system like Tezos [34], or even roll back the ledger if majority stakeholders don’t
like the change) vs. off-chain (such as Bitcoin Improvement Proposals (BIPs)
[3]).
8
Table 1: IoT Benefits From Blockchain Properties
Blockchain Property IoT Benefits From
Decentralization Scalability, Privacy
Byzantine fault tolerance Availability, Security
Transparency & Immutability Anchoring Trust
Programmability Extensibility
3.1 Benefits
By embracing blockchain technology, IoT immediately benefits from the following
aspects thanks to blockchain’s properties including decentralization, Byzantine fault
tolerance, transparency and immutability. Table 1 summarizes how IoT benefits from
blockchain properties.
Decentralization
Decentralization frees users and devices from centralized controlled and consistent
monitoring, thus partially addressing the privacy concern imposed by centralized par-
ties who monopolize the market and try to understand every aspect of user/device
for their own benefits, e.g., advertising. Decentralization, under the context of cryp-
toeconomy, also indicates ”elasticity” that is often defined as ”the degree to which
a system is able to adapt to workload changes by provisioning and de-provisioning
resources in an autonomic manner, such that at each point in time the available
resources match the current demand as closely as possible”. A blockchain and the
underlying cryptoeconomy can be designed in a way that is elastic enough and cost-
effective enough for IoT scenarios and applications. For example, more blockchain
nodes could be spun up if the network has enough computation tasks with enough
incentives to perform.
9
Byzantine Fault Tolerance (BFT)
The objective of Byzantine fault tolerance is to defend against failures in which com-
ponents of a system fail in arbitrary ways, i.e., not just by stopping or crashing but by
processing requests incorrectly, corrupting their local state, and/or producing incor-
rect or inconsistent outputs. The Byzantine failure models real-world environments
in which computers and networks may behave in unexpected ways due to hardware
failures, network congestion and disconnection, as well as malicious attacks. BFT
property can be leveraged to achieve many desired security properties in the context
of IoT, e.g., eliminate man-in-the-middle (MITM) attacks as there is no single thread
of communication that can be intercepted and tampered, make Denial of Service
(Dos) attacks almost impossible.
Programmability
Bitcoin came with basic programmability to allow a transaction to succeed only if
the underlying small script execute successfully. Ethereum enhances this feature
to achieve the Turing-complete smart contract which is written in high-level pro-
gramming language and executed in a small virtual machine known as EVM. This
programmability can be and should be extended to IoT devices, some of which cur-
rently only have simple and hard-coded logic that can’t be further programmed once
shipped.
3.2 Challenges
Benefiting from common properties provided by blockchains does not mean every
blockchain is suitable for IoT use. In fact, it doesn’t seem like any existing public
blockchain can be applied to IoT since there are quite a few challenging problems.
10
servers, using pseudonymity. However, if a device’s pseudonym is ever linked to its
identity, everything it ever did under that pseudonym will now be linked to it.
• Not able to store large amount of data (e.g., gigabyte level, not mentioning
terabyte-level and petabyte-level) due to the power and storage constraints;
• Not able to connect to peers all the time, depending on its uptime and connec-
tivity quality.
11
smart contracts quite challenging. IoT Chain (ITC) [16], another IoT blockchain
project based in China, inherits the same tangle structure from IOTA, and thus has
the same pros and cons. HDAC [13] is another recently proposed blockchain for IoT
in Korea, which partnered with Hyundai Group, will focus on more specific fields in
IoT such as device authentication and Machine-to-Machine (M2M) transaction.
Separation of Duties
Directly connecting all IoT nodes into one single blockchain is a dream that can’t
become true. Besides the fact that different IoT applications require fundamentally
different feature sets of a blockchain, hosting every IoT node on one blockchain makes
it grow fast in size and computation, and eventually become too heavyweight for many
IoT devices. Instead, a separation of duties makes sure each blockchain interacts with
a specific group of IoT nodes, and, at the same time, interacts with other blockchains
when needed. This is analogous to the internet – heterogeneous devices first form an
intra-connected group, intranet. Smaller intranets can further form a larger intranet,
which eventually connects to the backbone of the internet and communicates with
each other. “Separation of duties” usually creates a well balanced system to maximize
both efficiency and privacy.
Occam’s Razor
Each blockchain has different usages and applications, and should be designed and
optimized toward different directions. For example, a blockchain that is dedicated to
relaying transactions between its subchains does not need to have Turing-complete
contract running on top of it; another blockchain that connects devices in the same
trust zone should not care about transactional privacy too much.
IoT Friendly
As aforementioned, IoT world is full of heterogeneous systems and nodes, stronger or
weaker in terms of their resources of computation, storage and power. Since opera-
12
tions that can be done by weak nodes can be easily done by strong nodes, operations
on the chain should be designed and optimized for weak nodes, i.e., operations should
be lightweight enough to conserve resources like computation, storage and energy.
The root blockchain is a public chain accessible by anyone, which has three main
objectives:
1. Relay value and data across subchains in a privacy-preserving way to enable
interoperability among subchains;
13
Table 2: Comparison Between Rootchain and Subchain
Properties Rootchain Subchain
Public vs Private Public Public or Private
Scalable Required Varies
Robust Strongly Required Required
Privacy-centric Required Varies
Extensibility Non-Turing Complete Turing Complete
Instant Block Finality Required Required
14
rootchain allows primarily two types of transaction: (1) basic transactions includ-
ing P2PKH, P2SH, Multisig and etc., and advanced transactions that enable cross
blockchain operations like BondedRegistration, Lock, ReLock, Reorg and etc.. Val-
idated transactions are added into a block that has a dynamic size, upper-bounded by
8MB. A block is produced every three seconds by our consensus scheme as detailed
in the next section. The rootchain is designed to be non-Turing-complete with the
support of a stack-based script and rich set of opcodes.
4.4 Subchains
IoTeX comes with a framework for developing and provisioning a tailored subchain
for decentralized IoT applications by encapsulating low layer primitives like gossip
protocol and consensus mechanism. The permission model, specification, parameters,
and transaction types of the subchain can be customized to fit into its application.
IoTeX subchains use account-based model, which is better for tracking state tran-
sitions. There are two types of accounts, similar with Ethereum, regular accounts and
contracts. Valid transactions are added into the block, which is produced by the same
consensus scheme as the root chain to achieve the same degree of finality to make
cross-blockchain communication more efficient. Subchains either use the root chain’s
token, IoTeXtoken, or define their own token. The token defined by developers on
subchains can be distributed publicly by token sales or exchanging on public traded
exchanges.
Smart contract is supported by subchains and runs on top of the lightweight and
efficient virtual machine. We are currently evaluating Web Assembly (WASM) [36],
an emerging web standard for building high-performance web applications. WASM
is efficient and fast, and can be made deterministic and sandboxed with some mod-
ifications as attempted by EOS project [9]. Other options are also being explored.
With smart contract, IoT devices connected to the same subchain utilize the shared
state in two ways,
• First, devices can interact with the physical environment based on their sub-
chains’ states, e.g., light bulbs turn on and off by themselves based on a “clock
state” on the subchain;
• On the other hand, devices can mutate the state on subchains when the physical
environment changes, e.g., thermostat updates temperature via smart contract
based on its sensor data.
15
4.5 Cross-Blockchain Communication
Cross-blockchain communication is expected to be used with high frequency in IoT
applications. There is always the need for an IoT device in a subchain to coordi-
nate with another device in a different subchain. Again, limited by IoT devices’
low computation and storage footprint, we are motivated to design cross-blockchain
communication in a fast and cost-effective way.
16
make a ”remote call” from subchain 1 to subchain 2 via rootchain, i.e., (1) a Lock
transaction on subchain 1; (2) a Reorg transaction against rootchain; (3) another
Lock transaction on rootchain; and (4) another Reorg transaction against subchain
2. This process indicates David has to wait for at least 4 blocks to accept this “remote
call”, and data this “remote call” carries needs to be stored on all three blockchains,
which makes it slow and expensive. We aim to optimize this process by combing (2)
and (3) into one ReLock transaction, which not only speeds up the entire process but
also avoids storing data on subchain 1 and the rootchain. Our protocol is depicted
in Figure 2.
3. Once Lock transaction has been included on subchain 1, Charlie initiates ReLock(X,
H(D), F/T , S, P ) transaction to the rootchain by including X, H(D), F/T ,
some current stats of subchain 1 denoted as S as well as proof-of-inclusion P
17
that includes Merkle branches of recent block headers and Merkle branches
proving Lock transaction has been included;
5. Once ReLock transaction has been included on the rootchain, Charlie broad-
casts a Reorg(X, D, F/T , P 0 ) transaction on rootchain’s network with X,
D, F/T and another proof-of-inclusion P 0 that proves the inclusion of ReLock
transaction;
One can define quota based on the storage space within one block. Assuming block
size is 8MB maximum, and 4MB is reserved for normal transactions happening on the
18
Table 3: Privacy-Preserving Techniques for Blockchains
Techinique Hide Sender Hide Receiver Hide Amount
Stealth Address N Y N
Pedersen Commitments N N Y
Ring Signatures Y N N
zk-SNARKs Y N Y
rootchain, and 4MB is reserved for all cross-blockchain transactions, which is further
divided into, say 4096 quota piece with each quota piece to be 1KB. A subchain bids
for n quota pieces (with a certain upper bound) according to the intended usage by
putting down a deposit proportional to n. At each round, only up to nKB can be used
within a new block for transactions from this subchain and each such transaction is
charged a ”bandwidth” fee from the deposit (to reward miners who help to enforce this
rule); remaining transactions are queued up and eventually dropped when timeout.
The quota allocation could be dynamic in the sense that it gets changes when the
rootchain grows, as shown in Figure 3. If one subchain spams others, it burns out
its deposit at a fast pace and eventually loses the quota. On the other hand, if
one subchain puts down a big deposit merely to reserve a big chunk of bandwidth
without actually using it, the rootchain will have a mechanism to refund part of the
deposit based on the ratio between the average number of transactions per block and
the reserved bandwidth, which helps to stabilize the reserved bandwidth close to the
actual usage.
19
• Ring signature is optimized to make it compact in size with a distributed trusted
setup.
1. Bob creates two pairs of private and public keys, denote as (a, A) and (b, B),
where A = a · G and B = b · G, where G is the base point on an elliptic curve.
2. Bob publishes public keys (A, B) which are known as his stealth address;
One obvious drawback of stealth address it that the receiver has either to scan
all transactions (which is not ideal in an IoT world) in the network or rely on the
assistance of a trusted full node (which compromises privacy to a certain degree).
Payment Code
Payment code has been designed to address the above drawback of stealth address
with a certain sacrifice in privacy. The idea is that Alice notifies Bob of a payment
code in a confidential way and Bob only watches transactions against addresses deriv-
ing from that code. Therefore, this proposal has two flows – notification, which is a
one-time setup between two certain parties, and sending, which can happen multiple
times between these two parties.
Assuming Alice has master public-private key pair (mpubAlice , mpriAlice ) where
mpubAlice = mpriAlice ·G and wallet public-private key pair (wpubAlice , wpriAlice ) where
wpubAlice = wpriAlice · G; Bob has master public-private key pair (mpubBob , mpriBob )
where mpubBob = mpriBob · G, the one-time notification flow works as below:
20
1. Bob derives B0 = b0 · G = (mpriBob + Hash(0, seed, metadata)) · G, converts it
to an notification address addr(B0 ), publishes it and listens on it
2. Alice picks a chain code cc at random; (mpubAlice ||cc) is the payment code for
Alice;
Once the notification flow is done, Alice and Bob establish one uni-directional private
channel for sending tokens. The first sending flow works as below:
1. Alice derives a new address from the her payment code ( that is already shared
with Bob) by A0 = a0 · G = mpubAlice + Hash(0, seed, metadata) · G;
2. Alice selects the next unused public key derived from B0 . Note that B0 is the
unused public key for the first round.
3. Alice calculates the new shared secret S0 = a0 ·B0 , and calculates the ephemeral
public key used to send the transaction to which is B00 = B0 + SHA256(S0 ) · G
4. Bob could derive A0 non-interactively since he knows Alice’s payment code, and
only listens on address derived from B00 = B0 + SHA256(S0 ) · G and S0 = A0 · b0 .
5. Upon receipt, Bob could use the tokens with private key b0 + SHA256(S0 ).
21
the payment prior to a deadline by generating cryptographic proof of payment or
forfeit the ability to claim the payment, returning it to the sender.
Assuming Charlie has master public-private key pair (mpubCharlie , mpriCharlie )
where mpubCharlie = mpriCharlie · G. The improved notification flow works as follows.
2. Alice generates her payment code (mpubAlice ||cc) in the same way;
4. Bob, incentivized by the tokens sent over from Alice, sends P 0 , Y, Y < X tokens
and HT LC(Hash2 (v)) to Charlie using their uni-directional private channel;
Once this flow is done, Alice and Charlie establish one uni-directional private channel
for sending tokens. It is noteworthy that the routing of Alice’s transaction could be
multiple hops.
Our relayable payment codes offer better privacy in terms of hiding the intention
of ”sending of something” on the chain by leveraging the existing private channels
without adding any computation or storage overhead to the nodes, which, while
designed for IoT scenarios, is usable for most blockchains like Bitcoin.
22
Figure 4: A Transaction on the Bitcoin Blockchain
The goal of confidential transactions (see Figure 5) is to enable only senders and
receivers of transactions to reveal the {vi,j } values and conceal them from the rest
of the world. Moreover, confidential transactions also allow other network entities to
verify the validity of those transactions in question without seeing the actual amounts.
The realization of confidential transactions on blockchain requires a number of ad-
vanced cryptographic techniques.
23
Zero-Knowledge Proof
In a zero-knowledge proof protocol, the prover proves a statement to the verifier with-
out revealing anything about the statement other than that it is true, which protects
the prover against the malicious verifier, which attempts to gain more knowledge than
what is intended. The protocol can be either interactive or non-interactive. The key
difference with non-interactive proofs is that all interactions consist of a single message
sent by the prover to the verifier. We use the notation NIZKPoK(α, β) : a = g α ∧ b = g β
to denote a non-interactive, zero-knowledge proof of knowledge of the values α and β
such that a = g α and b = g β . All values not enclosed in parenthesis are assumed to be
known to the verifier. When we use a non-interactive zero-knowledge proof to authen-
ticate auxiliary data, the resulting scheme is referred to as signature of knowledge [8].
Basically, a signature of knowledge scheme means that one in possession of a solution
w to the problem x has singed the message m. For the above NIZKPoK, we use nota-
tion SoK[m](α, β) : a = g α ∧ b = g β to denote a signature of knowledge on message m.
Ring Signature
The concept of ring signature was first introduced by Rivest et al.[27] in 2001 as a
special kind of group signature. In a ring signature, the message signer selects a set
of ring members including themselves as the possible message signers. The verifier
can be convinced that the signature was indeed generated by one of the ring mem-
bers. However, the verifier is not able to tell which member actually generated the
signature. Unlike a general group signature, a ring signature scheme does not involve
designating a group manager for managing the set of ring members, thereby elimi-
nating the possibility of revealing the identity of the actual message signer by the the
group manager. In order to provide anonymity in smart contract token transactions,
a special kind of ring signature, so-called linkable ring signature, has been employed
in the privacy-focused cryptocurrency Monero [20]. Linkable ring signature has ad-
ditional property that any signatures generated by the same signer, whether signing
the same message or disparate messages, has an identifier (called a tag) linking the
signatures. This property enables third parties to efficiently verify that the signa-
tures were generated by the same signer, without leaking the actual signer’s identity.
The linkable ring signature used in Monero is called a Multi-layered Linkable Spon-
taneous Anonymous Group Signature (MLSAG) [22], which is a ring signature on
a set of key-vectors and has a communication complexity of O(m(n + 1)), where m
is the number of public/private key pairs owned by the signer and n is the size of ring.
24
Accumulator
One-way accumulators, which were first proposed by Benaloh and de Mare in [2], are
defined as one-way hash functions with the property of being quasi-commutative. A
quasi-commutative function f : X × Y → X satisfies that, for all x ∈ X and for all
y1 , y2 ∈ Y , we have f (f (x, y1 ), y2 ) = f (f (x, y2 ), y1 ). A one-way accumulator allows us
to combine a set of values into a secure digest and this digest does not depend on the
order in which the values are accumulated . It can also be used to generate a witness
that enables one to attest that a given value is actually part of the accumulator.
Commitment Scheme
A commitment scheme is a protocol enabling a user to commit to a value of his
choice without revealing that value to the recipient of the commitment. In a later
phase, when the user is asked to reveal the committed value, the recipient will have
the means to verify that his revealed value is indeed unconditionally linked to his
commitment. A commitment scheme should meet two requirements. While the hid-
ing requirement prevents the recipient from learning the content of the commitment,
the biding requirement prevents the user from cheating when opening this commit-
ment. In Pedersen commitment scheme [23], the domain parameters are a cyclic
group G of prime order q, and generators (g0 , . . . , gm ). For committing to the val-
ues (v1 , . . . , vm ) ∈ Zm
q , one picksQa random number r ∈ Zq and set the commitment
C = PedCom(v1 , . . . , vm ; r) = g0r m vi
i=1 gi .
25
• A new linkable ring signature scheme with communication complexity less than
O(n)
26
instant finality which is a critical property required to construct efficient cross-chain
communication.
• Small players can pool their stakes to have a higher chance together to partici-
pate in block proposing and voting, and share the rewards afterwards.
• Resource-constrained nodes can choose their delegates, so not all the nodes need
to stay online to contribute to consensus.
• Delegates can be the nodes with strong power supply and network conditions,
and also can be chosen dynamically and randomly, so we will have a higher
overall availability for the network reaching consensus.
The typical cryptocurrencies using DPoS include EOS [9] and Lisk [18].
27
algorithm that provides quick finality that is critically important for building an
efficient and salable blockchain. As demonstrated in Castro and Liskov’s original
paper, PBFT offers both availability and safety if at most a third of the network
nodes are faulty or malicious, and the network cost of PBFT is very minimum, i.e.
about 3 percent compared to unreplicated network system.
The typical cryptocurrencies based on PBFT include Stellar [30] and Zilliaq [38].
28
delegates share forged rewards with their voters. The candidates forms a set of at least
97 delegates; this number will increase in the future to further avoid the centralization
of the mining power. Once the candidates are selected, they will be fixed in one epoch,
which is consistent of 47 iterations.
29
blockchain and interact with it - the design is included in Satoshi’s original Bitcoin
whitepaper [21].
However, using PoS instead of PoW has a disadvantage for light clients. When
verifying correctness of PoS based blockchains, clients need to download a list of public
keys and signatures for block proposers and voters, and the sets of block proposers
and voters may change for each block. Thus, when light clients come back online
after staying offline for a while, the clients may need to download a large number of
public keys and signatures, and then verify all of them. To mitigate this performance
issue, Vitalik, the inventor of Ethereum, has proposed creating periodic checkpoints
on the blockchain, called epochs [6], for example every 50 blocks. Each checkpoint
can be verified based on the previous checkpoint, such that light clients can catch up
with the whole blockchain much faster.
30
not in any way represent any shareholding, participation, right, title, or interest
in IoTeX Foundation Ltd. (the Foundation), its affiliates, or any other company,
enterprise or undertaking, nor will IOTX entitle token holders to any promise of fees,
revenue, profits or investment returns, and are not intended to constitute securities
in Singapore or any relevant jurisdiction. IOTX may only be utilized on the IoTeX
Network, and ownership of IOTX carries no rights, express or implied, other than
the right to use IOTX as a means to enable usage of and interaction with the IoTeX
Network.
In particular, IOTX:
(a) is non-refundable and cannot be exchanged for cash (or its equivalent value in
any other virtual currency) or any payment obligation by the Foundation or
any affiliate;
(b) does not represent or confer on the token holder any right of any form with
respect to the Foundation (or any of its affiliates) or its revenues or assets, in-
cluding without limitation any right to receive future revenue, shares, ownership
right or stake, share or security, any voting, distribution, redemption, liquida-
tion, proprietary (including all forms of intellectual property), or other financial
or legal rights or equivalent rights, or intellectual property rights or any other
form of participation in or relating to the IoTeX Network, the Foundation, the
Distributor and/or their service providers;
(d) is not a loan to the Foundation or any of its affiliates, is not intended to represent
a debt owed by the Foundation or any of its affiliates, and there is no expectation
of profit; and
(e) does not provide the token holder with any ownership or other interest in the
Foundation or any of its affiliates.
31
crowdsourcing vendors, autonomous cars developers, etc. This section describes a few
IoTeX powered ecosystems.
2. The shared economies are not completely driven by community. Many shared
things are owned by a company. This has caused a waste of society resource.
Take shared bikes as example. When the shared bikes companies are out of
business, the bikes are disposed.
3. Due to the centralized nature, the user data will be stored and controlled by
one company. There are risk that either the cloud or the client can be hacked
to obtain user data.
1. Deposit is completely settled by smart contract. With no one holding back the
money, returning of the deposit is always guaranteed. Users don’t have to trust
the company to use the service.
32
Figure 7: IoTeX Powered Shared Economy
2. Each shared thing realizes its value and mission in an autonomous way. In the
ecosystem, it doesn’t matter who owns the shared things in it. Everyone can
own and contribute to the ecosystem. The economy can be run by community.
As a result, companies can play a role of maintaining the IoT lock and manage
the community. It is much lighter business model that companies can fast
expand and serve more people.
3. Again, users don’t have to trust the company to maintain their data. Their
data is kept in the chain with privacy protection.
33
trips from user instruction to changing the state of a light bulb. Manufacturers are
not cloud experts so often their service is not optimal. The round trip can take one
to three seconds. This forces them to use cloud service by big IT companies. There
are two downsides of using these cloud services:
In contrast, IoTeX blockchain manages the devices locally and interact with public
chain on the internet when necessary. The public chain is maintained by community.
There is no maintenance cost for IoT manufacturers. IoTeX blockchain has privacy
protection that can prevent leaking data or control being hacked even if the intranet
is not safe.
34
manufacturers will simply integrate the chip to get their devices supported by IoTeX
blockchain.
Privacy-preserving Computation
There are several areas in this direction we are actively exploring:
• How to retain confidential states on the blockchain which can be used for com-
puting by a certain group of nodes;
• Privacy-preserving smart contract where smart contract can be evaluated when
its business logic is protected by encryption. While fully homophobic encryption
[26] and indistinguishable obfuscation schemes [11] are the holy grail in theory,
practical proposals like Hawk [17] is promising for the near future;
• Further reduce the computation and storage footprint of the privacy-preserving
techniques IoTeX is currently using;
35
• The quantum-safe version of privacy-preserving techniques IoTeX is currently
using such as quantum-safe ring signature.
10 Conclusion
In this white paper, we introduced IoTeX, a scalable, private, and extensible blockchain
dedicated for Internet of Things, with its architecture and core technologies including
1. blockchains in blockchain to maximize scalability and privacy, 2. true privacy
on blockchain based on relayable payment code, constant-size ring signature without
trusted setup, and first implementation of bulletproofs, 3. fast consensus with in-
stant finality based on VRF and PoS for high throughput and instant finality, and 4.
flexible and lightweight IoTeX-based system architectures.
11 Acknowledgements
We would like to express our gratitude to our mentors and advisers and to the many
people in the IoT, cryptography and cryptocurrency communities for their early feed-
back and constructive suggestions.
36
References
[1] Adam Back et al. “Enabling blockchain innovations with pegged sidechains”.
In: URL: http://www. opensciencereview. com/papers/123/enablingblockchain-
innovations-with-pegged-sidechains (2014).
[2] Josh Benaloh and Michael de Mare. “One-Way Accumulators: A Decentral-
ized Alternative to Digital Signatures”. In: Advances in Cryptology — EURO-
CRYPT ’93: Workshop on the Theory and Application of Cryptographic Tech-
niques Lofthus, Norway, May 23–27, 1993 Proceedings. Ed. by Tor Helleseth.
Berlin, Heidelberg: Springer Berlin Heidelberg, 1994, pp. 274–285. isbn: 978-3-
540-48285-7. doi: 10.1007/3-540-48285-7_24. url: https://doi.org/10.
1007/3-540-48285-7_24.
[3] Bitcoin Improvement Proposals. https://github.com/bitcoin/bips.
[4] Blockchain Size. https://blockchain.info/charts/blocks-size.
[5] Benedikt Bünz et al. Bulletproofs: Efficient Range Proofs for Confidential Trans-
actions. Cryptology ePrint Archive, Report 2017/1066. https://eprint.iacr.
org/2017/1066. 2017.
[6] Vitalik Buterin. Light Clients and Proof of Stake. https://blog.ethereum.
org/2015/01/10/light-clients-proof-stake/.
[7] Miguel Castro, Barbara Liskov, et al. “Practical Byzantine fault tolerance”. In:
OSDI. Vol. 99. 1999, pp. 173–186.
[8] Melissa Chase and Anna Lysyanskaya. “On Signatures of Knowledge”. In: Ad-
vances in Cryptology - CRYPTO 2006: 26th Annual International Cryptology
Conference, Santa Barbara, California, USA, August 20-24, 2006. Proceedings.
Ed. by Cynthia Dwork. Berlin, Heidelberg: Springer Berlin Heidelberg, 2006,
pp. 78–96. isbn: 978-3-540-37433-6. doi: 10.1007/11818175_5. url: https:
//doi.org/10.1007/11818175_5.
[9] EOS. https://eos.io/.
[10] AB Ericsson. “Ericsson mobility report: On the pulse of the Networked Society”.
In: Ericsson, Sweden, Tech. Rep. EAB-14 61078 (2015).
[11] Sanjam Garg et al. “Candidate indistinguishability obfuscation and functional
encryption for all circuits”. In: SIAM Journal on Computing 45.3 (2016), pp. 882–
929.
[12] Yossi Gilad et al. “Algorand: Scaling byzantine agreements for cryptocurren-
cies”. In: Proceedings of the 26th Symposium on Operating Systems Principles.
ACM. 2017, pp. 51–68.
37
[13] HDAC Blockchain for IoT. https://hdac.io/.
[14] Hyperledger Fabric. https://www.ibm.com/blockchain/hyperledger.html.
[15] Internet of Things (IoT) Market by Software Solution (Real-Time Streaming
Analytics, Security Solution, Data Management, Remote Monitoring, and Net-
work Bandwidth Management), Service, Platform, Application Area, and Region
- Global Forecast to 2022. https://www.jasper.com/sites/default/files/
cisco-jasper-hidden-costs-of-delivering-iiot-services-en_2.pdf.
2016.
[16] ITC Blockchain for IoT. https://iotchain.io/.
[17] Ahmed Kosba et al. “Hawk: The blockchain model of cryptography and privacy-
preserving smart contracts”. In: Security and Privacy (SP), 2016 IEEE Sym-
posium on. IEEE. 2016, pp. 839–858.
[18] Lisk. https://lisk.io/.
[19] Silvio Micali, Michael Rabin, and Salil Vadhan. “Verifiable random functions”.
In: Foundations of Computer Science, 1999. 40th Annual Symposium on. IEEE.
1999, pp. 120–130.
[20] Monero – Private Digital Currency. https://getmonero.org/.
[21] Satoshi Nakamoto. Bitcoin: A peer-to-peer electronic cash system. 2008.
[22] Shen Noether and Adam Mackenzie. “Ring Confidential Transactions”. In:
Ledger Vol. 1 (2016), pp. 1–18. doi: https://doi.org/10.5195/ledger.
2016.34.
[23] Torben Pryds Pedersen. “Non-Interactive and Information-Theoretic Secure
Verifiable Secret Sharing”. In: Advances in Cryptology — CRYPTO ’91: Pro-
ceedings. Ed. by Joan Feigenbaum. Berlin, Heidelberg: Springer Berlin Heidel-
berg, 1992, pp. 129–140. isbn: 978-3-540-46766-3. doi: 10.1007/3-540-46766-
1_9. url: https://doi.org/10.1007/3-540-46766-1_9.
[24] Serguei Popov. “The tangle”. In: IOTA (2016).
[25] Raiden Network. https://raiden.network/.
[26] Ronald L Rivest, Len Adleman, and Michael L Dertouzos. “On data banks and
privacy homomorphisms”. In: Foundations of secure computation 4.11 (1978),
pp. 169–180.
[27] Ronald Rivest, Adi Shamir, and Yael Tauman. “How to leak a secret”. In:
Advances in Cryptology—ASIACRYPT 2001 (2001), pp. 552–565.
[28] Nicolas van Saberhagen. Cryptonote v 2. 0. 2013.
38
[29] Samsung. Samsung ARTIK and Successful Strategies for Industrial IoT Deploy-
ment. Samsung, 2016.
[30] Stellar. https://www.stellar.org/.
[31] Shi-Feng Sun et al. “RingCT 2.0: A Compact Accumulator-Based (Linkable
Ring Signature) Protocol for Blockchain Cryptocurrency Monero”. In: Com-
puter Security – ESORICS 2017: 22nd European Symposium on Research in
Computer Security, Oslo, Norway, September 11-15, 2017, Proceedings, Part
II. Ed. by Simon N. Foley, Dieter Gollmann, and Einar Snekkenes. Cham:
Springer International Publishing, 2017, pp. 456–474. isbn: 978-3-319-66399-
9. doi: 10.1007/978-3-319-66399-9_25. url: https://doi.org/10.1007/
978-3-319-66399-9_25.
[32] Tendermint. https://tendermint.com/.
[33] Tendermint Ecosystem. https://tendermint.readthedocs.io/en/master/
ecosystem.html.
[34] Tezos: A new digital commonwealth. https://www.tezos.com/.
[35] The hidden costs of delivering IIoT services. https : / / www . jasper . com /
sites / default / files / cisco - jasper - hidden - costs - of - delivering -
iiot-services-en_2.pdf. 2017.
[36] WebAssembly. http://webassembly.org/.
[37] Jan Henrik Ziegeldorf, Oscar Garcia Morchon, and Klaus Wehrle. “Privacy in
the Internet of Things: threats and challenges”. In: Security and Communication
Networks 7.12 (2014), pp. 2728–2742.
[38] Zilliqa. https://www.zilliqa.com/.
39