Professional Documents
Culture Documents
Order Less Chain
Order Less Chain
ABSTRACT without coordination and can occur in any order. For example, con-
Blockchains often use coordination-based consensus protocols to sider several transactions that deposit funds to users’ accounts. The fi-
offer trust in a Byzantine environment and to serialize transactions nal state of the account is independent of the transactions’ order. One
to preserve the application’s invariants. However, coordination can technique for creating I-confluent applications is Conflict-free Repli-
be a performance bottleneck. There exist application-level invari- cated Data Types (CRDTs) [11]. Bailis et al. [2] demonstrated the safety
ants known as Invariant-Confluence (I-confluence), which can be and liveness of I-confluent applications in non-Byzantine and even-
preserved without coordination and benefit from improved perfor- tually consistent environments. However, the safety and liveness of
mance. We introduce OrderlessChain, a coordination-free permis- I-confluent applications in a Byzantine environment without paying
sioned blockchain for the safe execution of I-confluent applications. the high coordination cost is challenging [7]. This paper presents
OrderlessChain, a coordination-free permissioned blockchain for
CCS CONCEPTS creating safe and live applications in a Byzantine environment.
• Computer systems organization → Distributed architec- 2 ARCHITECTURE AND PROTOCOL
tures. OrderlessChain is an asynchronous permissioned blockchain and
consists of organizations and clients. Organizations are responsible
KEYWORDS for hosting smart contracts, executing transactions, and managing
Blockchain, I-Confluence, Conflict-free Replicated Data Type the application’s ledger consisting of an append-only hash-chain log
and a database representing the current application state. Developers
ACM Reference Format: create smart contracts containing the application’s logic and define
Pezhman Nasirifard, Ruben Mayer, and Hans-Arno Jacobsen. 2022. Poster Ab- the Endorsement Policy (EP) of the application. EP specifies which
stract: OrderlessChain: A CRDT-Enabled Blockchain Without Total Global organizations must sign and commit the transactions and has the
Order of Transactions. In 23rd International Middleware Conference Demos
format EP : {q of n}, where n is the number of organizations, and q is
and Posters (Middleware ’22), November 7–11, 2022, Quebec, QC, Canada. ACM,
the minimum number of endorsing and committing organizations.
New York, NY, USA, 2 pages. https://doi.org/10.1145/3565386.3565486
OrderlessChain follows a two-phase protocol, as demonstrated
in Figure 1. We also published an extended version of the paper [8].
1 INTRODUCTION Execution Phase Commit Phase
Organizationn-1 Organizationn-1
Step 2 Step 4 RCPT2
Blockchains rely on consensus protocols to offer trust in a trustless TP3
Smart Contract REJ3
environment. Another property of consensus protocols is serializing TP2 TS1
TP1 RCPT1
transactions into a total global order, which is required to preserve Append-
TP1
TS1
TS1 TS3
DB TP2
only Log
the correctness of the application’s state. For example, serialization TP3
TS3 TS2
TS2
TS2
prevents a user’s negative account balance on Ethereum. However, Step 1 Step 3
Step 5
coordinating to reach consensus in several public and permissioned Step 1
Organizationn
Step 3
Organizationn TS2
blockchains is a bottleneck [7]. Decreasing coordination and increas- TP3
Client TS1 TS3
TP2
ing concurrent execution of transactions are essential factors in Smart Contract
TP1 TP1 RCPT1 TS3
TS1 TS1
improving the throughput and latency [2]. However, eliminating TP2 REJ3
Append- TS2 TS2
TP3
the coordination may violate the application-level correctness in- DB only Log
Step 2 Step 4 RCPT2
Commit Phase – The client waits to receive the minimum number voting for two different parties, as shown in Figure 2. Based on the
of endorsements required by EP. If the write-sets of all endorse- client’s logical clock, a happened-before relation exists between
ments are identical, it assembles a transaction TSi based on the transactions’ operations. Therefore, independent of their processing
endorsements. The client adds the endorsement’s write-set to the Voter1 overwrite the effects of operations in
order, operations in TSVote2
TSi ’s write-set and hashes and signs the transaction’s write-set with Voter1 . Hence, we count only one of the submitted votes.
TSVote1
its private key to create a signature and includes it in TSi . The client
sends back the transactions to at least q organizations based on 4 EVALUATION
EP (Step 3). TSi is validated and committed if an organization has We compare our system to the prototypes of coordination-based
not previously committed it. First, organizations verify whether the blockchains of Fabric [1] and FabricCRDT [7] based on the voting
transaction’s endorsements and the client’s signature are valid and applications. The application’s smart contracts have two functions
whether endorsements satisfy the EP. This validation shows that of Vote and ReadVoteCount. The experiments are conducted with
the organizations created identical write-sets, and the client did not eight organizations, the EP : {4 of 8}, and the uniform workload. The
tamper with the endorsements. If TSi passes the validation, each or- results are shown in Figure 3. We observe that OrderlessChain
ganization updates its database with its write-set, whereas all valid demonstrates a higher throughput with constant latency.
and invalid transactions are appended to the log. The organization ·105 ·105
Latency (ms)
600 1
522 / 520
532 / 529
550 / 547
creates a block Blockh , which contains TSi and the hash of the previ- 400
1
ous block, and appends the created block to the log. A signed receipt 0.5 0.5
200
containing the block’s hash for valid transactions is sent to the client 0 0 0
s s s s s s s s s s ps ps ps ps ps
(Step 4). Otherwise, a rejection is sent. As the receipt contains the 0 tp 0tp 0tp 0tp 0tp 0 tp 0tp 0tp 0tp 0tp 0t 0t 0t 0t 0t
50 100 150 200 250 50 100 150 200 250 50 100 150 200 250
block’s hash, which is dependent on the previous blocks, a Byzantine (a) Voting Application Latency for an Increasing Transaction Arrival Rate (tps)
organization cannot modify TSi without invalidating the TSi receipt
Throughput (tps)
and the other transactions. Finally, the organization periodically
gossips the transactions to other organizations (Step 5). 1,000
Party1 Map 500
Voter1 0
TSVoter1Vote1 (Vote of Voter1 for Party1) ps s s s s
0t tp tp tp tp
50 00 00 00 00
Operation1: {[Party1/Voter1], MV-Register, True, Voter1Clock1}
VoteRegister1: 10 15 20 25
Operation2: {[Party2/Voter1], MV-Register, False, Voter1Clock1} False (b) Voting Application Throughput for an Increasing Transaction Arrival Rate (tps)
TSVoter1Vote2 (Vote of Voter1 for Party2) Party2 Map OrdrC Vote Fbrc Vote FCRDT Vote OrdrC Rd Fbrc Rd FCRDT Rd
Operation3: {[Party1/Voter1], MV-Register, False, Voter1Clock2} Voter1