You are on page 1of 20

A public blockchain solution permitting secure storage and

deletion of private data —Draft


Dr. Björn Stein1, Konstantin Kuznecov1, Sangseop Lee2 and Dr. Jürgen Müller3
1Lition
Foundation
2
Korea Blockchain Association
3SAP Innovation Centre

August 14, 2018

Abstract never final. This way, partitions are avoided


(as they are temporary). Without (persisting)
We present the design for a blockchain net- partitions, the CAP theorem does not require
work and minimum requirements for a gov- that a choice must be made between availabil-
erning agreement among a privileged subset of ity and consistency.
the nodes’ operators to ensure that sensitive Blockchain applications have reached a sig-
and private data can be handled and securely nificant audience with Bitcoin [Nakamoto,
deleted on demand. The guiding design cri- 2009], a cryptocurrency built on top of a dis-
teria are based on an operational blockchain tributed consensus algorithm using the hash-
application and include data minimization un- cash [Back, 2002] proof-of-work algorithm as a
der the constraint of providing fault toler- competition to determine an orderer. Unlike
ance, postquantum security, privacy of sensi- other Byzantine fault tolerant consensus algo-
tive data, a provision to delete all occurrences rithms, Bitcoin and other blockchain technolo-
of sensitive data, and the freedom to join as a gies can typically operate with an unknown
(non-privileged) node without any special pro- number of participants and in a trustless fash-
visions or legal obligations. ion that is radically different from the thresh-
old fraction of honest nodes required by merely
1 Blockchain technologies Byzantine fault tolerant consensus algorithms.
Both the ability to operate with an unknown
Distributed systems are subject to the CAP number of nodes and being trustless are orig-
theorem asserting that consistency, availabil- inally achieved by determining a temporary
ity, and partition-tolerance cannot all be simul- orderer (or successful “miner”) by a proof-of-
taneously achieved. Although the CAP the- work algorithm, ensuring the correctness of its
orem was proven to be correct, [Gilbert and submissions (or the “mined block”) by vali-
Lynch, 2002] practical applications continue dation in each node, and further validating
to show ways that come close to simultane- blocks by treating as valid only the nodes in the
ously achieving these three desirable qualities. longest path (the “blockchain”) from the root
Blockchain technologies do so in a probabilis- in a tree of such blocks to the latest submission
tical fashion in that data validity is ultimately in this path. There is hence no ultimate guar-

1
antee of data finality (competing leaves can, ity is Quorum [Nielsen et al., 2016] which ex-
in theory, always grow to become the longest tends Ethereum in this regard. Permissioned
blockchain) but only a (usually quickly increas- blockchains can be based on existing identity
ing) confidence in blocks as one path gets in- infrastructure involving certificate authorities
creasingly longer and competing paths are in- and hence can build on established standards
creasingly abandoned from being grown. for addressing security concerns, e.g. by key
Blockchain technology not only enables rotation upon key compromise or even in reg-
cryptocurrencies, in which integer quanti- ular intervals. This provides a practical ad-
ties (of “coins” or “tokens” or a subdivision vantage for implementing requirements that a
thereof) is managed in a way that each such certified identity shall be able to exercise cer-
quantity has an “owner” by whom it can ex- tain powers not available to other participants.
clusively be redistributed, that its sum is some- This can include restricting the set of vali-
how constrained (e.g. to a total, growing but dating nodes to a known number and hence
limited supply of Bitcoins in the blockchain enabling conventional consensus algorithms to
technology of the same name), and these prop- be employed; an example of such capability is
erties are automatically enforced by the under- the Hyperledger blockchain [Jagadeesan et al.,
lying technology in a way that even conspiring 2017a,b].
nodes cannot violate them unless they reach One topic of this paper is a solution to a
a threshold of “mining power” (e.g. a major- perhaps neglected aspect of blockchain tech-
ity of proof-of-work power in Bitcoin called a nology, compatibility with ideas of data protec-
“51 percent attack”). It also enables a gener- tion. This may seem a contradiction in terms
alization of this scheme known as smart con- as blockchain technology has historically re-
tract, [Szabo, 1997] a concept invented prior lied on public visibility and large-scale replica-
to the realization in Bitcoin. Perhaps best- tion of data (“transactions”) yet data protec-
known for its suitability for smart contracts is tion is centered around ideas of the minimal-
the blockchain technology Ethereum. [Buterin, ization of data, the restriction of its visibility
2014] to the point of maintaining a notion of owner-
There is a natural way to provide secu- ship, and ultimately the ability to control data
rity against quantum computers: Employ and data flow, including the feasibility of ver-
postquantum cryptography. This may become ifiable deletion of sensitive data. Indeed the
possible e.g. with a future but already dis- obvious approaches such as limiting transac-
cussed upgrade [Buterin, 2015] to Ethereum tions with sensitive data to a small number of
allowing participants to choose the crypto- permissioned nodes with which special legal ar-
graphic algorithms used for their data and rangements about the deletion of data is made
smart contracts. is a poor compromise: The limitation to few
Other developments include permissioned nodes in itself loses an aspect of the security
blockchains which have a sense of identity be- behind blockchains—consider that a threshold-
yond an “address” or hash of a public key reaching conspiracy requires fewer conspiring
that any participant can choose simply by nodes. The provision to delete transaction nec-
generating a private key. One advantage essarily loses an entire pillar, that of a provable
is that “private transactions” with restricted chain of (hash-linked) blocks, unless a provi-
data visibility can be implemented by encod- sion is made to e.g. retain a cryptographic hash
ing data in away that only a given set of node of the deleted data.
can decode it; an example for this capabil- Realizing data protection ideals is not just a

2
virtue but has become a business requirement problematic if it affects a majority of mining
for many applications. We argue that this jus- power and thus perpetuates. It could be ar-
tifies the creation of yet another blockchain gued that non-mining nodes can operate in a
technology centered around its requirements. “light” manner where they do not verify the
This is, as explained in the preceding para- validity of all transactions in the blockchain,
graph, necessarily a compromise but we detail thereby relying on the assumption that the ma-
a solution retaining key features of both data jority (by mining power) of miners do not fol-
protection and blockchain technology. To in- low such an approach and hence relinquishing
clude provisions for deletion of data, this solu- the trustless nature of most blockchain tech-
tion necessarily reaches beyond the realm of a nologies.
pure computer implementation: An algorithm The security sacrifice associated with light
cannot prove that it has not retained an ex- nodes would seem to limit the throughput and
tra copy of a given data. Legal agreements the maximum data size in the blockchain of a
between parties operating such an algorithm trustless blockchain technology to that feasible
must be in place and can be supported by an al- on the least powerful non-light (or “full”) node.
gorithm that makes it computationally at least This is not necessarily true: Instead of forming
as cheap to actually forget (or, better yet, over- a single blockchain, provisions for side chains
write) some data than to retain it. can be made. By subscribing only to a limited
Beyond provisions for data protection, our number of side chains, less powerful nodes can
blockchain design features scalability to high still ascertain the validity of chains relevant to
speed, high throughput, and low operating their transactions. Approaches to achieve bet-
cost. These are traditionally hard issues for ter scaling than traitional blockchain solutions
blockchains as their trustless nature usually include using directed acyclic graphs (“tan-
requires every node to verify every transac- gles”) instead of a single blockchain (e.g. in
tion. That is a bottleneck for throughput and, Iota [Popov, 2017]) to achieve the required par-
if the computational effort across every node tial ordering to decide an execution order be-
was priced (which it often is not), a cost fac- tween potentially conflicting transactions. Re-
tor. Worse yet, blockchain technologies tra- cent developments in a similar direction in-
ditionally built on proof-of-work schemes that clude the multi-blockchain framework polka-
worsen the cost aspects, often by many orders dot [Wood, 2017] and the novel consensus al-
of magnitude. gorithms Hashgraph [Baird, 2016] and Algo-
rand [Gilad et al., 2017, Chen and Micali, 2016,
Chen et al., 2018].
2 Consistency, nodes’ power, A problem without known solutions is the
and private data limited verifiability of private data, see e.g. the
criticism in de Vilaca Burgos et al. [2017]. If
In any blockchain technology it is critical that such private data is only visible to a limited set
a node checks every single transaction in the of nodes, only these can calculate the outcome
blockchain lest it mistakenly identifies an in- of a transaction acting on it. This statement
valid path (involving blocks that were not is not self-explanatory because homomorphic
only ordered but augmented with some invalid encryption might enable an exception. Ho-
transaction) as the correct blockchain to fol- momorphic encryption refers to cryptographic
low. Whilst such a situation, if affecting only systems that allow certain operations to be
one or a few nodes, would heal itself, it is performed on encrypted data without reveal-

3
ing the data that is encrypted. However, a tity wanting to demonstrate that it has learnt
simple argument shows that homomorphic en- to reverse a trap door (hash) function yet it is
cryption cannot provide a key element to typi- unwilling to share the secret how this can be
cal smart contracts which often need to assert achieved. We would trust it to have this abil-
that an integer quantity is sufficiently large ity if it can repeatedly demonstrate it for data
(e.g. that a balance is sufficient to make a provably randomly generated, in particular, if
payment). Enabling a party to make such de- we interactively challenge it to reveal the trap
terminations as well as continuing to perform door function’s input data for output data we
a related subtraction (e.g. lower the balance supply. This is an interactive zero knowledge
by the payment amount) would naturally en- proof. Any interactive zero knowledge proof
able said party to learn if the original value can be transformed into a non-interactive zero
is twice, thrice, etc., of the value it is com- knowledge proof by supplying a suitable algo-
pared against (e.g. how large, approximately, rithm to generate the challenges from data that
the balance is), thus undermining the desired the prover is unable to fully control (otherwise
privacy. The only way forward with this idea the prover could effectively choose to avoid cer-
is to employ zero knowledge proofs of the exe- tain challenges that would reveal its inabil-
cution of an entire smart contract, merely ver- ity to achieve what it intends to prove being
ifying the encrypted outcome of an algorithm able to perform). It must be pointed out that
rather than conditions (like an encrypted num- there are reasons [Unruh, 2015, 2017] to ques-
ber being larger than a threshold) and actions tion that at least one such transform, the Fiat-
(such as substracting from this number) sepa- Shamir transform [Fiat and Shamir, 1986], de-
rately, but this is extremely resource intensive spite being based on hash functions and thus
despite recent progress in inventing schemes suggesting postquantum security, does indeed
that could one day be used in this fashion, e.g. offer postquantum security in the general case.
ZK-STARK [Ben-Sasson et al., 2018], bullet- Our proposal is not trustless. In fact, it re-
proofs [Bünz et al., 2017], and NIZKPoK [Katz quires trust in two aspects that are partially
et al., 2018]. at odds with each other. One is that there is
a set of verifier nodes (or at least one verifer
node) that the executor of a transaction with
3 Public proofs involving pri- private data trusts to keep this data safe. The
vate data other is that every node in the network trusts
that not all members of this set of nodes con-
We propose to solve the security issue of spire. To recognize the potential for contradic-
private data (and private transactions) in a tion, consider these requirements in a restated
blockchain technology by providing a way to form: The set of verifier nodes must be trusted
publicly prove the correctness of a transaction by the executor, to keep its private data secret
involving private data without revealing the and to delete it upon demand, but then again
private data. This proof is of a probabilis- not be trusted to such an extent that all of
tic nature. It is faster and shorter than non- them might be suspected, by any other node,
interactive zero knowledge proofs (NIZKPs) of conspiring to forge data.
but sufficiently similar to replace them. The first aspect of required trust, in han-
NIZKPs are best introduced by first consid- dling private data, is exercised by the execu-
ering an interactive zero knowledge proof to tor of a transaction: It forwards private input
prove knowledge of a function. Imagine an en- data (along with several sets of fake data that

4
ideally should be indistinguishable from the lated correctly. To move forward, the executor
real data for the recipients) associated with the node then has a proof that a then specified
smart contract to be executed to the set of ver- one among the input data sets corresponds to
ifier nodes. Input data shall be encompass any the current state of the private data referenced.
parameter passed to a smart contract’s func- This is possible by supplying a Merkle path
tion, that function, the current state of (the from a global Merkle root updated by every
subset of accessed) data managed by the smart node to the real input data set. Note that this
contract (including one or more nonces to blind path may lead to more than one node (in which
its hashed value), and one or more nonces to case already all data in the input and output
blind output data to be calculated. The set data set consisted of more than a single hash).
of verifier nodes form a gossip network over Upon finding such a block mined (and the re-
which this data is shared in encrypted form quired quorum of verifier assertions in earlier
and they independently calculate the resulting blocks), every node updates its global Merkle
output data. Then each of them issues an en- root according to the blinded hash of the real
dorsement indicating the nonce-blinded hashed output data.
values of each input and output data. This en- Conflicts may arise when two smart con-
dorsement proof gets shared over a wider gos- tract invocations change data under the same
sip network that includes all nodes of the net- Merkle root. This is essentially always the
work (or those subscribed to the corresponding case when an intervening (and data changing)
side-chain, to be discussed in section 9). If a smart contract is finalized whilst another smart
quorum is reached without a proof of the op- contract is in the first phase of this two-phase
posite (by revealing the unhashed input data) (test data and signed invocation submission
by one of the verifier nodes being mined into and revelation of the input data’s existance)
a block, the executor can reveal a proof of the because we propose using a single Merkle tree.
correctness of one of the hashed input data sets Hence, even if the smart contract invocations
by providing a path to a global (or side-chain can proceed in arbitrary order because they
wide) Merkle root. This will be mined into an do not write to the same data locations, the
ensuing block. The presence of both an unop- Merkle path proving the input data’s pres-
posed quorum of endorsements and the Merkle ence for the second invocatin must be updated.
paths proving one of the input data sets as hav- This updating is trivially possible for any node
ing been present is our public proof about pri- observing new blocks in the blockchain because
vate data which we call an endorsement proof. the Merkle tree for the output data (which
The data flow is depicted in figure 1. must likewise be updated) together with the
In case sufficiently many unoppossed en- original input data’s Merkle tree contain the
dorsement proofs have been mined into a block, hashes (or contents) of every relevant node.
it is evident that this many nodes of the veri- The actual updating is performed by each min-
fier set have checked that the input and output ing node.
data revealed to them is indeed correctly pro- The reason we call this NIZKP-like construct
cessed according to the smart contract. We de- not just an endorsement but a (probabilistic)
fine a quorum, to be explicitly given when spec- endorsement proof relates to the idealization
ifying the set of verifier nodes, as the threshold that the verifier nodes behave memory-less and
above which this shall suffice for all nodes to to the example we gave for an interactive zero
trust that their information about it, blinded knowledge proof. Within this idealization, we
hashes of the input and output data, is calcu- probe at least one verifier node’s ability (and

5
Knowledge group Verifiers
(nodes stipulated (nodes stipulated
Executor by the smart con- by the smart Blockchain
(node executing a tract or by the contract or by (all nodes, for-
smart contract) executor, with the executor, ever)
deletion obliga- memory-less by
tion by contract) contract)

Test data set


(real and fake
input and output
data)

Verifier-signed
test data set Verifier-signed
test data set
(blinded hashes
only)

Quorum of
verifier-signed
test data set
(blinded hashes
only)
Merkle path as
proof of real in-
put data Merkle path as
proof of (hashes
of) real input
data; changes
Merkle root ac-
cording to hash
Replicated, re- of real output
vealed output data
data (backup
storage)

Figure 1: High-level communication.

6
willingness) to accurately calculate the (hash described by the rest of the bitstring.
of the) output data of a transaction with given Using a Merkle tree solves the problem of
input data. Given sufficiently many (s) suc- proving the existence of a encrypted prior state
cessfull executions we trust in it producing the (of a sub-address space) if the root of the
correct output also for the correct data. The overall Merkle tree is a consistent, distributed
number s need not be nearly as large as for a property. This is achieved by using the old
proof with a remaining probability of achiev- and new Merkle root as the contents of each
ing it by luck on a cryptographically low level block in the blockchain, along with the novel
if correct operation is incentivized (or incorrect proofs of each transaction and their old and
one penalized) in a way that spans more than new Merkle paths as proof of inclusion.
one endorsement proof. Using endorsement proofs as well as Merkle
This idealization requires enforcement be- paths as proof of prior inclusion of data into the
yond the world of computer code: A contrac- current Merkle root, the communication (and
tual agreement, including checks and appro- blockchain data inclusion) depicted in figure 1
priate penalties, to indeed run verifier nodes becomes possible.
in the prescribed, memory-less manner, may
be necessary. To partially alleviate this neces-
sity, we propose a computer code based mech- 5 Hashes and Signatures
anism, to be detailed later, to penalize veri-
fier nodes found to have produced even just The security of our proposal obviously de-
a single incorrect output data hash. Since pends, apart from the required trust and en-
it it vitally important to the integrity of the forcement issues already detailed, on the se-
blockchain technology that this indeed never curity of the hashes, signatures, and encryp-
occurs unchecked, we suggest that fault- and tion employed. As we only employ encryption
glitch-tolerant programming should be em- in transport, and envision to exclusively use
ployed, and errors could be penalized to a max- the ubiquitous standard TLS (transport layer
imum effect such as simultaneous exclusion of security) which we assume to acquire quan-
the offending node and forfeiture of coins or tum resistance encryption methods in the fu-
tokens held by it. ture, we shall focus on hashes and signatures.
Hashes are typically postquantum safe because
the best attack against a quasirandom function
4 High-Level Realization is Grover’s algorithm [Grover, 1996], lowering
the security level of a perfect hash function to
The high-level outline of the preceeding section half its classical security level or, equivalently,
leaves open the question how various proofs increasing the bit length requirement to twice
can be implemented. We propose to orga- the requirement for resistance against merely
nize storage into a Merkle-Tree where the two classically equipped attackers.
branches at each level correspond to one bit To maintain postquantum security in the
in a large address space composed of rather most obvious way, we opt for a hash based
large bitstrings that encode at least the set of scheme for signatures. Hash based signa-
verifier nodes, the set of nodes authorized to ture schemes can provide essentially unlim-
access data in a purely reading or also in a ited signing capabilities yet such schemes
writing fashion, along with an integer actually (e.g. SPHINCS [Bernstein et al., 2015] or
describing an address into the address space XMSS [Buchmann et al., 2011a] for which a

7
merely informational internet engineering task 6 Proof-of-stake
force’s request for comments, RFC 8391, ex-
ists) have overheads, are somewhat compli- Proof-of-stake schemes work by allocating min-
cated and, for a cryptographic scheme to be ing power according to the stake that a miner
deployed, still relatively novel. has in the blockchain. Usually, using a cryp-
To also be reasonably secure against imple- tocurrency implemented by the blockchain
mentation issues or yet to be discovered at- technology, either the current balance or the
tacks, we choose the simple and well-examined integral of balance over time is chosen where
Winternitz one-time signature (WOTS, see e.g. the balance refers to the amount of cryptocur-
Buchmann et al. [2011b]) scheme that offers a rency held by the miner’s account or address.
simple compression of the basic Lamport sig- Proof-of-stake schemes are not the only alter-
nature scheme [Lamport, 1979] which could be native to proof-of-work schemes; in particu-
seen as an example of the most secure approach lar, the Byzantine consensus algorithm Algo-
to signing as secure signing in general is only rand [Chen and Micali, 2016, Gilad et al., 2017,
possible if and only if there is a secure hashing Chen et al., 2018] promises to deliver a compu-
scheme [Rompel, 1990]. Using a one-time sig- tationally even cheaper alternative. Due to its
nature scheme implies constant key rotation: novelty and significant implementation effort,
Each signature must include the publication of subtlety, and resulting security uncertainty, we
a new public key and it must have provisions consider it only for a future, improved version
to sign at least two messages (the key change of the blockchain technology presented here
and a payload message). which originally shall employ a proof-of-stake
We propose to allow a signer to sign arbi- scheme. The successful miner shall create a sig-
trarily many payload messages with a single nature over the mined block, a proof of stake,
WOTS in order to allow many transactions and its key change. This data is then propa-
(from many nodes) to be processed by each ver- gated via a gossip protocol.
ifier with a single key change. To enable this, Proof-of-stake schemes are not automati-
the signer actually signs a Merkle root over the cally secure. The foremost problem lies in
individual payloads. This allows the complete the ability of miners to expend mining effort
signature that includes all payload messages to on more than one branch of the blockchain.
be shortened to only the payload message(s) of There is an incentive for it as branches that
interest by keeping these, the root signature, are behind have a nonzero probability of still
and a Merkle path to each retained payload becoming the longest chain; if all nodes be-
message. have according to this incentive and mine on
It is critically important that signing twice multiple (or even all known) sidechains, the
using the same private key is avoided: Not usual and highly desirable assumption that this
only would such a double-signing using a one- nonzero probability is at least practically neg-
time signature scheme weaken its security but ligible no longer holds. Hence a mechanism
tolerating it would allow a miner to simulta- must be provided that at least discourages,
neously work on more than one fork of the and ideally completely eliminates, such behav-
blockchain. This is a problem if mining is not ior of mining on branches that should be aban-
limited by computing power as it is in proof- donned. One such approach is to penalize min-
of-work schemes. The less computationally ex- ing on more than one branch. This incidentally
pensive alternative that also is less prone to corresponds to never using one-time-signatures
mining power concentration is proof-of-stake. more than one time which would be required

8
whenever a node wishes to increase the num- block numbers must be used in blocks; nodes
ber of branches on which it mines. We propose should monitor this ratio and refuse or delay
to introduce proofs of conviction with which mining on forks where this is not given. Note
any node that becomes aware of another node’s that the actual condition is a bit more com-
wrongdoing (such as reusing keys to issue more plicated: Not an absolute majority but a ma-
than one one-time-signature using the same jority over all known forks is sufficient and it
key) can reliably report this wrongdoing to all is necessary to lower the bound according to
other nodes, allowing actions such as evicting known forks to prevent mining from stalling in
the convicted node from further participation. the instance that many forks exist.
We propose to allow a potential miner to
mine a block whenever the hash of the concate-
nation of its public address and an ever increas- 7 Proofs of conviction
ing block number is smaller than its stake mea-
sured in a special kind of tokens to be discussed There are two kinds of possible misbehaviors
later in section 11. This implies that, on aver- that need to be revealed in a provable fashion
age, there will be one minr per block number by proofs of conviction. One is the issuance
but also that some block numbers will have no of false endorsement proofs. The other is the
or multiple miners. This can be handled by as- reuse of a key for issuing a signature.
signing a block height that is a function of this An incorrect endorsement proof can be re-
hash value and the token balance of the miner; vealed by repeating it and revealing the rele-
for the following discussion, we assume that a vant set of input and output data that leads
step function is chosen that is always 1 if the to those hashes contained in it that do not re-
miner is authorized to mine and 0 otherwise. spond to the correct output data. The cor-
We call this function’s sum over all blocks of rect output data of the smart contract invo-
a blockchain the height of a blockchain. One cation in question can then be calculated by
might worry that this allows forks to be grown every node by executing the smart contract.
retroactively: Blocks for which two or more Game-theoretically, this behavior comes with
miners exist might have one of them mine their no risk to data privacy if an incorrect endorse-
block very late, creating a fork in a seemingly ment is associated with a punitive event (be-
established, already longer blockchain. How- cause then verifier nodes are incentivized to
ever, in the typical case that this established work correctly, ideally to the point of using
blockchain has a mined block for almost all (or fault- and hence glitch-tolerant programming
at leat more than half) of the ensuing block techniques). This punitive action ideally in-
numbers, it is impossible to grow the new fork cludes exclusion from the network. The proof
to the same height within the same range of of conviction described above should automat-
block numbers: The majority of potential min- ically trigger the application of this punitive
ers is already comitted to the new block and effect by all honest nodes; for example, it could
would have to issue a second WOTS for the trigger the immediate inclusion in a certificate
same public key which, as discussed above, is revocation list local to each node (and, even-
prohibited in an effective manner by proofs of tually, also in a global one managed by the
conviction. Hence an established blockchain certificate authority). We will clarify what we
is secure against deep forks if it fulfills a cer- mean by certificate and certificate authority in
tain condition. For the example block height the following section.
function, this condition is that the majority of The other kind of conviction proof consists

9
of two (maximally reduced) signatures using less as possible, we propose that every node
the same public key. As verifying that the can become a CA to be trusted with regard to
same key is used reduces to calculating the certifying the identity of nodes allowed to re-
public key from each signature, no further in- ceive sensitive data owned by this node. This
formation is required (the public address to provides redundancy: In case there are multi-
be excluded by inclusion in a certificate re- ple owners of the same data, each can act as
vocation list is contained in each signature, the relevant CA (and each must be recognized
whose validity for the signed message must nat- as such by other nodes).
urally also be checked). The included message We hence propose that any node authorized
can be maxiamally reduced by only including to view private data can get a certificate from
the public address and the Merkle root of the the CA that owns this data where the certifi-
signed statements; details such as the signed cate obtained identifies the authorized node by
key change or other signed message compo- an identifier we call its public address. This
nents are not required, should be pruned to public address is assigned upon generating the
reduce the computational load on other nodes, first WOTS by a node and is the public key
and must be pruned in order for the convic- corresponding to this one-time signature: It is
tion proof to be recognized as valid (any am- self-assigned but cannot be forged (without key
biguity about this matter would create a com- compromise). It persists in the transport en-
plicated situation where nodes effectively fol- cryption side by the CA-issued certificate and
low different branches of an immediate fork in the blockchain side by repetition in each sig-
in node membership that could later develop nature (which is only accepted as valid if the
into a real blockchain fork; the followed branch WOTS’ public key is identical to it or if its
would then depend on what choice is imple- signed statements include a previous signature
mented in their software). featuring the same public address).
Each CA shall also act as a resolver that
nodes subscribing to a side-chain with data
8 TLS, certificates and groups owned by the CA can use to join a gossip
of nodes protocol among other such nodes. This solves
the problem of peer discovery on a side-chain
To ensure a transition path towards postquan- in the following way. Initially, each poten-
tum transport security, without knowing of a tial CA persists into the mainchain its self-
scheme we trust to certainly provide it in an signed certificate along with the internet proto-
efficient and overall compelling way, we pro- col (IP) address where it can be reached; these
pose to use the standard transport layer secu- self-advertisements are repeated whenever the
rity (TLS) for communication between nodes: IP address changes. A node wishing to sub-
We expect TLS to develop a future encryption scribe to this side-chain reads this certificate
(and authentication) option offering postquan- and the corredponding IP address and initial-
tum security overall. In case of privileged in- ized a TLS connection to it, checking the cer-
formation, a node must first identify the node tificate used and aborting if it does not corre-
to which we are connected without being succe- spond to that found in the blockchain. If the
sptible to a man-in-the-middle attack. This is node is to take up a privileged role (i.e. become
only possible using a certificate authority (CA) a member of the knowledge group or a verifier
system underlying this TLS communication. node), it also communicates a certificate sign-
In order for this system to operate as trust- ing request (CSR) to the CA. This communica-

10
tion indirectly becomes part of the blockchain where it has the digit 2 to mark the transition
because—to prove its public address and hence between the Merkle-like and the true Merkle
identity—the requesting node must sign this tree spanned by the unified (global) address
request with a WOTS and hence must include space.
a key rotation statement that must be included This organization allows giving Merkle (or
into the blockchain. rather Merkle-like) paths as proof of data pres-
ence and hence allow applying endorsement
proofs in the same way as already discussed for
9 Side chains and global ad- a single blockchain. It does, however, bring the
dress space complication that a transaction might access
data of more than one side-chain. This can be
The previous sections focused on the idea of solved by allowing to act as verifiers only the
a single blockchain. This does not scale be- intersection of the sets of verifiers of each of
cause even the weakest node will have to pro- the side-chains involved. Sensible smart con-
cess all transactions in order to maintain the tract design should chose the verifier sets and
trustless nature of the blockchain. We now ex- especially their quorum conditions such as to
tent the notion of a single blockchain to orga- ensure that the resulting subsets reach a quo-
nizing blocks into largely independent strands rum, ideally comfortably (i.e. with a sufficient
of separate blockchains that we will refer to as margin) to allow for fault-tolerance. The pro-
side-chains. In each side-chain we maintain dif- cess of making a multiple side-chains spanning
ferent linked chains of key rotations such that transaction is as follows. First the executor
an actor has different public keys for each side- node signs a suitable test data set with each of
chain. the required signatures and key rotations, one
Each smart contract has, associated with it, from every side-chain involved. Then the set of
a tree of subset blockchains we call side-chains. verifier nodes calculate and sign the resulting
This tree is incorporated into a global address output data hashes. Finally, the executor node
space where its root resides at a global ad- publishes a revelation statement that finalizes
dress given by the hash of the data of which the transaction when mined.
the smart contract consists (we envision that
even identical smart contracts will be able to
have unique hashes due to the ability of ap- 10 Data storage and deletion
pending a nonce to the data representing the
code of which the smart contract consists). It Having public proofs about private data, it is
is a ternary tree. This is chosen for ready rep- possible to organize a blockchain where only
resentation as a Merkle-like tree where each transaction executors and knowledge groups
node has an associated hash value formed as can actively access private data (and sets of
the hash of the ordered concatenation of its 0- verifier nodes become aware of it) yet ev-
associated child node, a different Merkle root ery node can verify that all transactions of a
(of its associated side-chain if present or no blockchain were executed correctly. We solve
data otherwise), and that of its 1-associated the problem that non-verifier nodes outside of
child node. Below the Merkle root sits an ordi- the knowledge group associated with private
nary Merkle tree, giving rise to addresses that, data must eventually identify the identity of
written in a ternary numeral system, only uses private data used as input to smart contracts
the digits 0 and 1 except in exactly one place and that present as output of an earlier, valid

11
smart contract execution by sharing a blinded State Message that triggers a transition
hash of the data with all nodes. The blinding to this state
is performed by always prepending the data
deleted deletion request (signed by anyone
with a randomly generated nonce of the same
with write access to the data)
bitsize as the hash. The hash is shared by in-
known valid transaction (with endorse-
corporating it into the blockchain.
ment proof, revealed and blinded
The members of a knowledge group commu-
input data as incorporated into the
nicate amongst each other the contents of a dis-
blockchain), further accompanied
tributed key value store that we call a tempo-
with unblinded output data for this
rary unhasher. It resolves a hash to the nonce
address
and data used to create it or to the information
unknown none (initial state)
that this data has been deleted. The unhasher
is semi-immutable in that the stored data can
be overwritten once but only with an empty Table 1: Possible states of each address in a lo-
value (i.e. a value having a length of zero bits) cal unhasher (key-value store), in order of de-
that indicates deletion. The communication creasing priority. The state with highest prior-
to update the unhasher shall be performed in ity wins if different nodes know different states.
a postquantum secure manner; we envision the Otherwise, state transition only occur as de-
usage of TLS in the expectation that this stan- scribed in the text.
dard will be amended to permit the (exclusive)
use of postquantum secure cryptography. approriately deleted and not maintained as a
Each local unhasher operated by a node copy, backup, or similar.
can hence, for each address, be described
as a state machine with states “unknown,”
“known” (nonce and data), and “deleted.” 11 Naïve token example
When encountering messages about a certain
state that are exchanged (transport encrypted It is trivial to implement a cryptocurrency
by TLS) between nodes of a knowledge group, or token with full public visibility using our
between the locally present state and the com- scheme. Despite the fact that we call this a
municated state, the one that appears later in naïve (or public) token, it fills an important
the list of states wins out (see table 1). role: Balances to be used in the proof-of-stake
To ensure compliance with local laws (such scheme must be public anyways, as must any
as the EU’s GDPR or some countries’ require- transfer thereof that is to be performed auto-
ment to store personal information of citizens matically as a penalty by a convition proof. In
only inside their respective country), the nodes order to avoid the added complexity of defin-
forming the knowledge group and the set of ing a native token or cryptocurrency for this
verifiers must be choosen accordingly. In par- purpose, we propose to standardize a token of
ticular, all verifier nodes must have commit- this public kind to serve that purpose.
ted (e.g. by contractual agreement) to not Having such a privileged token, we propose
store the unblinded fake and real data or their to also use it for a similar purpose as “gas” is
hashes at all. The member nodes of knowl- used in Ethereum, namely to incentivize nodes
edge groups must have committed to a similar to collaborate towards executing and mining
agreement to honor the prescribed state ma- smart contract invocations. The realization is
chine in the sense that deleted data is indeed necessarily slightly more complex in Ethereum

12
as we wish to come closer to rewarding all par-
Field Description ticipating nodes than by just setting aside an
amount of tokens for the miner. We propose to
ID The byte 0016 indicating that
address this by allowing the executor of a smart
this message is a signature.
contract invocation to include more than one
Address A hash-sized public address for
invocation, with at least some of them assign-
which this signature can sign.
ing tokens to the set of verifier nodes and to a
For the first ever signature, this
pseudo-address from which the contract allows
is equal to the public key
the successful miner to transfer tokens towards
associated with the WOTS
its balance.
used; for all subsequent
The realization can exactly mirror what one
signatures (that must involve a
would do to implement e.g. a ERC20 or
key rotation) by the same node,
ERC223 token in Ethereum: One creates a
it must remain the same.
smart contract using an address space that in-
Statements A Merkle tree where each node
cludes every node as a node of the knowledge
is given in one of three ways,
group and in which a hashmap or similar data
and should include the previous
structure maps public address to an integer de-
signature (reduced to be over a
noting the amount of tokens held by that ad-
Merkle root):
dress. This smart contract must, at a min-
1. The byte 0016 indicating that
imum, define one function to transfer tokens
the node’s two children follow.
from the caller’s address to another address
2. The byte 0116 indicating that
given as a parameter.
a hash follows (a pruned
branch).
3. The byte 0216 indicating that 12 Private token example
data (a nonce of hash-length
solving the real-time gross
and a data structure) follows.
WOTS A Winternitz one time settlement problem
signature using up to 2 8
Usually, one might be reluctant to reveal one’s
repetitions of the hash function.
balance, certainly not on a per-transaction ba-
sis that, depending on the nature of the trans-
Table 2: Data structure “signature.” actions, might reveal very personal information
or allow linking the transaction to a personal
identity. If one adds to the usual finality of
Field Description cryptocurrency transfers a near-perfect bank
secrecy (which is imperfect only by allowing
ID The byte 0116 indicating that a regulator to see the balances and transfers),
this message is a key change. one arrives as what is known in the financial
public key (A hash of) the public key for world as the real-time gross settlement prob-
the next WOTS. lem where the technical term real-time roughly
translates as faster than historical inter-bank
Table 3: Data structure for statement “key money transfers and guaranteed to be within
change.” the same working day. An investigation into
the usefulness of permissioned blockchain tech-

13
Field Description
ID The byte 0216 indicating that this message is a test data set.
Bit count An unsigned 32-bit integer indicating the number of bits in the ensuing prefix.
The length of the prefix as stored in the data structure is rounded up to the next
full byte.
Prefix The address prefix indicating the (ideally tightest) bound to which access by the
smart contract function to be executed is limited. Putting this data early in the
data structure allows the extraction of the knowledge group and the set of
verifier nodes even before the full data structure has been read or transmitted.
Address The address of the smart contract to be invoked.
Invokation A special address space that is filled with, in this order starting at address zero,
a hash of the invoked function’s name, the value of its first parameter, that of
the second parameter, etc. This is saved or transmitted in the same format as
each of the data sets, see there.
Set count A byte indicating the total number of input data sets (which should include the
real data set).
Data sets A concatenation of all data sets, each of which is a Merkle tree of the same
format as used in signatures, see table 2, with data given in non-hashed form if
and only if this data structure is used in communication with nodes in the
knowledge group or the set of verifier nodes. Otherwise, of the entire Merkle tree
only the root hash is included. In either case, only the actually referenced data is
included, yielding a different root hash than used for keeping track of the
blockchain’s overall status.

Table 4: Data structure “Test data set” (for phase 1 of the two-phase transaction commitment).

nology for this purpose under the additional keep the secrecy of transactions (e.g. a bank-
requirement to become fault-tolerant has been ing regulator, non government organizations,
performed by de Vilaca Burgos et al. [2017] a consortium organization jointly owned by all
with the result that neither Hyperledger or participating banks, etc.). The initial setup
Quorum fully meets the requirement due to an includes a smart contract with functions to be
inability, at least in the chosen approach, to detailed as they are called in this example.
prevent double spends in the event of a failure
of a single node operated by a financial regu- Initially, all banks (and any one joining in
lator. the future) starts out with a zero balance. This
is realized in the smart contract by keeping a
We demonstrate by construction that our balance in an address space to which only the
proposed blockchain technology is able to solve individual bank is in the knowledge group and
the real-time gross settlement problem. In treating missing data (in state “unknown”) as
this example, as in the one cited, each bank zero. Alternatively, any other initial token dis-
shall operate exactly one node and, unlike in tribution can be trivially implemented, for ex-
the cited example, multiple nodes are operated ample to mirror the individual banks’ poses-
by agencies trusted or contractually obliged to sions at the day of inception of the smart con-

14
Field Description
Field Description
ID A byte equal to 0316
ID A byte equal to 0516
identifying this as a
identifying this as an
block to be incorporated
executor’s revelation.
into the blockchain.
Remainder 1 The same data structure as
Prior The hash of the previous
contained in the statement
block.
“Test data set,” see table 4,
Authorization
except that the field “set
Content signatures Concatenated signatures
count” must be one and the
(of statements with ID
Merkle tree given as “data
type 4 and 5) that form
set” here containing the full
this block which is valid
data corresponding to the
if and only if it is validly
prefix-identified side-chain’s
signed, the prior refers
current state. The Merkle root
to a valid block, the
will hence be already known
authorization is valid,
to other nodes.
every signature is valid,
Remainder 2 The analogous Merkle path
every content signature
not for the input but for the
is maximally reduced to
output data, again in the
exactly one statement of
context of the global Merkle
ID type 4 or 5, and
root.
every such signature is
relevant in the sense
Table 7: Data structure of the statement “ex-
that the blockchain’s
ecutor’s revelation.” Note that in general, it
status would be different
will be signed by a miner and not by the ex-
if it was not present.
ecutor because the miner may need to update
the Merkle path according to changes made by
Table 5: Data structure of the statement
transactions revealed earlier.
“block found.”

Field Description
Field Description
ID A byte equal to 0416 identifying this
as an endorsement proof. ID A byte equal to 0616 identifying this
(Rest) The same data structure as as a smart contract (and side-chain)
contained in the statement “Test genesis.
data set,” see table 4.

Table 6: Data structure of the statement “en- Table 8: Data structure of the statement “gen-
dorsement proof.” esis.”

15
Field Description fier set includes sufficiently many of the trusted
agencies. In detail, the initiating bank signs a
ID A byte equal to 0716 identifying
transaction that includes the called function
this as a CA certificate.
and a dataset containing, among decoys/fakes,
size An unsigned 32-bit integer equal
the blinded hashes of the real input and output
to the number of bytes in the
data. The output data, in this private address
ensuing certificate.
space shared between the two banks, shall re-
certificate The certificate data, as
semble a check: It contains the amount to be
standardized by TLS.
transferred, the benefiary node (of the recipi-
ent bank), and a signature of the sending node
Table 9: Data structure of the statement “CA (of the originator bank).
certificate.”

Field Description
Cashing this check is done by the recipi-
ID A byte equal to 0816 identifying this
ent node by calling another function of the
as a CSR. smart contract. This function first asserts that
size An unsigned 32-bit integer equal to
the check is appropriately signed and lists the
the number of bytes in the ensuingcaller as beneficiary node. If this is the case, it
CSR. increases the caller’s private balance (in its pri-
CSR The certificate signing request’s data,
vate address space) accordingly (with checking
as standardized by TLS. for overflows optional if it is otherwise guaran-
teed that the total token supply cannot cause
Table 10: Data structure of the statement an overflow).
“Certificate signing request.”

tract. In the following, it is assumed that at This scheme affords near-maximum privacy:
least one participant has been initialized with The existence and originator of a transaction
a non-zero balance; if this is not the case, a is shared between banks and otherwise only
function (that shall not be detailed further) of with watchdog nodes that have entered a le-
the smart contract must be implemented to ar- gal agreement about implementing their nodes
range to supply banks with tokens. Balances without memory of such information. It has
will be implemented as unsigned integers and the potential to offer hyper-realtime settlement
hence can never become negative. and is as secure as the unwillingness of all in-
A bank wishing to initiate a transfer of some volved actors (at least one bank and the mini-
of its tokens to another bank shall call a func- mum set of verifiers the smart contract acceots)
tion of the smart contract that accesses, after to all collude at the risk that a single whistle-
checking for sufficient balance, another knowl- blower among them can have colluders banned
edge group formed of the two banks involved from further participating in this system (plus
in the transaction. The set of verifier nodes the further penalty of loosing all public to-
can be formed from a subset of the trusted kens). Unfortunately, we are unaware of a way
agencies augmented by the two banks them- to design a system that generalizes the loss of
selves; the smart contract function shall, as all public tokens to the loss of the private tokens
smart contract functions, check that the veri- that are normally used in this example.

16
13 Conclusion 2009, 2009. URL https://bitcoin.org/
bitcoin.pdf.
Given the lack of existing solutions to satisfy
the requirements experienced in a real, com- Adam Back. Hashcash-a denial of service
mercially productive blockchain application, counter-measure, 2002. URL http://www.
Lition has designed a proprietary blockchain hashcash.org/papers/hashcash.pdf.
solution. This new blockchain to solve these Nick Szabo. Formalizing and secur-
shortcomings has been described in this doc- ing relationships on public networks.
ument. Lition has presented the design for First Monday, 2(9), 1997. URL
a blockchain network and minimum require- http://firstmonday.org/ojs/index.
ments for a governing agreement among a priv- php/fm/article/view/548/469.
ileged subset of the nodes’ operators to ensure
that sensitive and private data can be handled Vitalik Buterin. A next-generation smart
and securely deleted on demand and even con- contract and decentralized applica-
nected to smart contracts for deletion. The tion platform—Ethereum whitepaper,
guiding design criteria of postquantum secu- 2014. URL https://web.archive.
rity for data integrity, data minimization un- org/web/20161021061647/https:
der the constraint of providing fault tolerance, //www.weusecoins.com/assets/pdf/
privacy of sensitive data, a provision to delete library/Ethereum_white_paper-a_
all occurrences of sensitive data, and the free- next_generation_smart_contract_
dom to join as a (non-privileged) node without and_decentralized_application_
any special provisions or legal obligations have platform-vitalik-buterin.pdf.
been described, along with the novel approach
Vitalik Buterin. EIP 101 (Serenity): Currency
to solve the security issue of private data (and
and crypto abstraction, 2015. URL https:
private transactions) in a blockchain technol-
//github.com/ethereum/EIPs/issues/28.
ogy by providing a technique to publicly prove
the correctness of a transaction involving pri- Patrick Mylund Nielsen et al. Quorum
vate data without revealing the private data. whitepaper, 2016. URL https://web.
This proof is not fully trustless but is of a prob- archive.org/web/20170807171314/
abilistic nature and similar to non-interactive https://github.com/jpmorganchase/
zero knowledge proofs (NIZKPs). quorum-docs/blob/master/Quorum%
20Whitepaper%20v0.1.pdf.
References Ram Jagadeesan, Mic Bowman, Binh Nguyen,
Hart Montgomery, Stan Liberman, Murali
Seth Gilbert and Nancy Lynch. Brewer’s Krishna, Vipin Bharathan, Alexander
conjecture and the feasibility of consis- Yakovlev, Todd Little, Nathan George,
tent, available, partition-tolerant web ser- and Tracy Kuhrt. Hyperledger archi-
vices. SIGACT News, 33(2):51–59, June tecture, volume 1, 2017a. URL https:
2002. ISSN 0163-5700. doi: 10.1145/ //www.hyperledger.org/wp-content/
564585.564601. URL http://doi.acm.org/ uploads/2017/08/Hyperledger_Arch_WG_
10.1145/564585.564601. Paper_1_Consensus.pdf.
Satoshi Nakamoto. Bitcoin: A peer-to- Ram Jagadeesan, Mic Bowman, Binh Nguyen,
peer electronic cash system. whitepaper, Hart Montgomery, Stan Liberman, Murali

17
Krishna, Vipin Bharathan, Alexander Suares, and Rafael Sarres de Almeida.
Yakovlev, Todd Little, Nathan George, Distributed ledger technical research in
and Tracy Kuhrt. Hyperledger archi- Central Bank of Brazil, 2017. URL
tecture, volume 2, 2017b. URL https: http://www.bcb.gov.br/htms/public/
//www.hyperledger.org/wp-content/ microcredito/Distributed_ledger_
uploads/2018/04/Hyperledger_Arch_WG_ technical_research_in_Central_Bank_
Paper_2_SmartContracts.pdf. of_Brazil.pdf.

Serguei Popov. The tangle, 2017. URL https: Eli Ben-Sasson, Iddo Bentov, Yinon Horesh,
//iota.org/IOTA_Whitepaper.pdf. and Michael Riabzev. Scalable, transparent,
and post-quantum secure computational in-
Gavin Wood. Polkadot: Vision for a heteroge-
tegrity. Cryptol. ePrint Arch., Report
neous multi-chain framework—whitepaper,
2018/046, 2018. URL https://eprint.
2017. URL https://github.com/w3f/
iacr.org/2018/046.
polkadot-white-paper/blob/master/
PolkaDotPaper.pdf. Benedikt Bünz, Jonathan Bootle, Dan Boneh,
Andrew Poelstra, Pieter Wuille, and Greg
Leemon Baird. Hashgraph consensus: Fair,
Maxwell. Bulletproofs: Short proofs for
fast, byzantine fault tolerance, 2016.
confidential transactions and more. Cryp-
Swirlds, Inc. Technical Report SWIRLDS-
tology ePrint Archive, Report 2017/1066,
TR-2016.
2017. URL https://eprint.iacr.org/
Yossi Gilad, Rotem Hemo, Silvio Micali, 2017/1066.
Georgios Vlachos, and Nickolai Zeldovich.
Algorand: Scaling Byzantine agreements Jonathan Katz, Vladimir Kolesnikov, and Xiao
for cryptocurrencies. In Proceedings of Wang. Improved non-interactive zero knowl-
the 26th Symposium on Operating Sys- edge with applications to post-quantum sig-
tems Principles, SOSP ’17, pages 51–68, natures. Cryptology ePrint Archive, Report
New York, NY, USA, 2017. ACM. ISBN 2018/475, 2018. https://eprint.iacr.
978-1-4503-5085-3. doi: 10.1145/3132747. org/2018/475.
3132757. URL http://doi.acm.org/10.
Dominique Unruh. Non-interactive zero-
1145/3132747.3132757.
knowledge proofs in the quantum random
Jing Chen and Silvio Micali. Algorand. arXiv oracle model. In Annual International Con-
preprint arXiv:1607.01341, 2016. URL ference on the Theory and Applications of
https://arxiv.org/abs/1607.01341. Cryptographic Techniques, pages 755–784.
Springer, 2015.
Jing Chen, Sergey Gorbunov, Silvio Micali,
and Georgios Vlachos. ALGORAND agree- Dominique Unruh. Post-quantum security of
ment: Super fast and partition resilient Fiat-Shamir. In International Conference
Byzantine agreement. Cryptology ePrint on the Theory and Application of Cryptol-
Archive, Report 2018/377, 2018. URL ogy and Information Security, pages 65–95.
https://eprint.iacr.org/2018/377. Springer, 2017.

Aldenio de Vilaca Burgos, Jose Deodoro Amos Fiat and Adi Shamir. How to prove your-
de Oliveira Filho, Marcus Vinicius Cursino self: Practical solutions to identification and

18
signature problems. In Advances in Cryptol-
ogy—CRYPTO’86, pages 186–194. Springer,
1986.

Lov K Grover. A fast quantum mechanical


algorithm for database search. In Proceed-
ings of the twenty-eighth annual ACM sym-
posium on Theory of computing, pages 212–
219. ACM, 1996.

Daniel J Bernstein, Daira Hopwood, Andreas


Hülsing, Tanja Lange, Ruben Niederhagen,
Louiza Papachristodoulou, Michael Schnei-
der, Peter Schwabe, and Zooko Wilcox-
O’Hearn. SPHINCS: Practical stateless
hash-based signatures. In Annual Interna-
tional Conference on the Theory and Appli-
cations of Cryptographic Techniques, pages
368–397. Springer, 2015.

Johannes Buchmann, Erik Dahmen, and An-


dreas Hülsing. XMSS—A practical for-
ward secure signature scheme based on min-
imal security assumptions. In International
Workshop on Post-Quantum Cryptography,
pages 117–129. Springer, 2011a.

Johannes Buchmann, Erik Dahmen, Sarah


Ereth, Andreas Hülsing, and Markus Rück-
ert. On the security of the Winternitz one-
time signature scheme. In International
Conference on Cryptology in Africa, pages
363–378. Springer, 2011b.

Leslie Lamport. Constructing digital signa-


tures from a one-way function. Technical
report, Technical Report CSL-98, SRI Inter-
national Palo Alto, 1979.

John Rompel. One-way functions are necessary


and sufficient for secure signatures. In Pro-
ceedings of the twenty-second annual ACM
symposium on Theory of computing, pages
387–394. ACM, 1990.

19
A Blockchain Compactifica-
tion
It may be possible to reduce the size of the
blockchain history by storing most aspects of
the endorsement proofs, the repeated verifier
signatures, in a different location that does not
need to be kept for the entire history: A single
verifier signature is sufficient to reconstruct the
history of (hashed and blinded) private data,
provided that the identity of every such ver-
ifier signature and the absence of a proof of
conviction is also saved with the blockchain
history. We estimate that this will reduce the
storage requirement for a node wishing to keep
a full history by more than an order of mag-
nitude (consider, for example, that every data
set is typically accompanied by two decoy data
sets and a quorum of five verifier nodes is typ-
ically stipulated which translates into three
times five data sets in the complete endorse-
ment proof of which only one would need to be
kept in the blockchain history for completed
transactions).
This scheme can be taken to the extreme:
It already implies that such a node can only
recostruct the history of the blockchain net-
work’s state but no longer prove it to other
nodes. For the same result, it would be suf-
ficient to merely record every smart contract
execution’s outcome. In particular, by keep-
ing the executor’s signature and one verifier’s
signature, it can still be proven that the state
is not forged to assume an arbitrary state (al-
though it is no longer possible to prove that
individual transactions did or did not succeed
in changing the state).

20

You might also like