
(cf. iv ). Realizing a system tackling all these challenges in a
holistic way could pave the way towards the envisioned “world
computer”. We will further elaborate on the specific challenges
in Section III.
Our goals and contributions: We present POSE , a novel
off-chain execution framework for smart contracts in permis-
sionless blockchains that overcomes these challenges, while
achieving correctness and strong liveness guarantees. In POSE ,
each smart contract runs on its own subset of TEEs randomly
selected from all TEEs registered to the network. One of the
selected TEEs is responsible for the execution of a smart
contract.
However, as the system hosting the executing TEE may be
malicious (e.g., the TEE could simply be powered off during
contract execution), our protocol faces the challenge of dealing
with malicious operator tampering, withholding and replaying
messages to/from the TEE. Hence, the TEE sends state updates
to the other selected TEEs, such that they can replace the
executing TEE if required. This makes POSE the first off-
chain execution protocol with strong liveness guarantees. In
particular, liveness is guaranteed as long as at least one TEE in
the execution pool is responsive. Due to this liveness guarantee,
there is no inherent need for a large collateral in POSE (cf. i ).
The state remains confidential, which allows POSE to have
private state (cf. iv ). Furthermore, POSE allows participants
to change their stake in the contract at any time. Thus,
POSE supports contracts without an a-priori fixed lifetime and
enables the set of participants to be dynamic (cf. iii ). Above
all, POSE executes smart contracts quickly and efficiently
without any blockchain interactions in the optimistic case (cf.
ii ).
This enables the execution of highly complex smart con-
tracts and supports emerging applications to be run on the
blockchain, such as federated machine learning. Thus, POSE
improves the state of the art significantly in terms of security
guarantees and smart contract features. To summarize, we list
our main contributions below:
•We introduce POSE , a fast and efficient off-chain smart
contract execution protocol. It provides strong guarantees
without relying on blockchain interactions during opti-
mistic execution, and does not require large collaterals.
Moreover, it supports contracts with an arbitrary contract
lifetime and a dynamic set of users. An additional unique
feature of POSE is that it allows for confidential state
execution.
•We provide a security analysis in a strong adversarial
model. We consider an adversary which may deviate
arbitrarily from the protocol description. We show that
POSE achieves correctness and state privacy as well as
strong liveness guarantees under static corruption, even in
a network with a large share of corrupted parties.
•To illustrate the feasibility of our scheme, we implement
a prototype of POSE using ARM TrustZone as the TEE
and evaluated it on practical smart contracts, including
one that can merge models for federated machine learning
in 238ms per aggregation.
II. ADVERSARY MODEL
The goal of POSE is to allow a set of users to run a
complex smart contract on a number of TEE-enabled systems.
Note, that POSE is TEE-agnostic and can be instantiated on
any TEE architecture adhering to our assumptions, similar to,
e.g., FastKitten [25]. In order to model the behavior and the
capabilities of every participant of the system, we make the
following assumptions:
A1: We assume the TEE to protect the enclave program, in
line with other TEE-assisted blockchain proposals [62], [25],
[20], [17], [63], [42]. Specifically:
A1.1: We assume the TEE to provide integrity and confiden-
tiality guarantees. This means that the TEE ensures that the
enclave program runs correctly, is not leaking any data, and is
not tampering with other enclaves. While our proof of concept
is based on TrustZone, our design does not depend on any
specific TEE. In practice, the security of a TEE is not always
flawless, especially regarding information leaks. However,
plenty of mitigations exist for the respective commercial TEEs;
hence, we consider the problem of information leakage from
any specific TEE, as well as TEE-specific vulnerabilities in
security services, orthogonal to the scope of this paper. We dis-
cuss some mitigations to side-channel attacks to TrustZone, as
well as the possible grave consequences of a compromised or
leaking TEE for the executed smart contract, in Section VII-B.
A1.2: We further assume the adversaries to be unable to exploit
memory corruption vulnerabilities in the enclave program. This
could be ensured using a number of different approaches, e.g.,
by using memory-safe languages, by deploying a run-time
defense like CFI [11], or by proving the correctness of the
enclave program using formal methods. The existence of these
defenses can be proven through remote attestation (cf. A3).
A2: We assume the TEE to provide a good source of random-
ness to all its enclaves and to have access to a relative clock
according to the GlobalPlatform TEE specification [31].
A3: We assume the TEE to support secure remote attestation,
i.e., to be able to provide unforgeable cryptographic proof that
a specific program is running inside of a genuine, authentic
enclave. Further, we assume the attestation primitive to allow
differentiation of two enclaves running the same code under the
same data. Note that today’s industrial TEEs support remote
attestation [3], [6], [8], [34], [55].
A4: We assume the TEE operators, i.e., the persons or or-
ganizations owning the TEE-enabled machines, to have full
control over those machines, including root access and control
over the network. The operators can, for instance, provide
wrong data to an enclave, delay the transmission of mes-
sages to it, or drop messages completely. The operators can
also completely disconnect an enclave from the network or
(equivalently) power off the machine containing it. However,
as stated in A1.1, the operators cannot leak data from any
enclave or influence its computation in any way besides by
sending (potentially malicious) messages to it through the
official software interfaces.
A5: We assume static corruption by the adversary. More
precisely, a fixed fraction of all operators is corrupted while an
arbitrary number of users can be malicious (including the case
where they all are). We model each of the malicious parties as
byzantine adversaries, i.e., they can behave in arbitrary ways.
A6: We assume the blockchain used by the parties to satisfy
2