+ All Categories
Home > Documents > Optimal efficiency of optimistic contract signing

Optimal efficiency of optimistic contract signing

Date post: 14-Nov-2023
Category:
Upload: independent
View: 0 times
Download: 0 times
Share this document with a friend
31
Document # 434SR011 Activity Paper Title Optimal Efficiency of Optimistic Contract Signing Author/Body B. Pfitzmann (SRB), M. Schunter (UDO), M. Waidner (ZRL) Editor M. Schunter (UDO) Reviewer M. Steiner (ZRL) Date 04/20/98 Status Draft Vers. 1 SEMPER internal CEC/TA id none SEMPER SEMPER ACTIVITY P APER 434SR011 04/20/98
Transcript

Document # 434SR011 Activity PaperTitle Optimal Efficiency of Optimistic Contract SigningAuthor/Body B. Pfitzmann (SRB), M. Schunter (UDO), M. Waidner

(ZRL)Editor M. Schunter (UDO)Reviewer M. Steiner (ZRL)Date 04/20/98Status Draft Vers. 1 SEMPER internalCEC/TA id none

SEMPERSEMPERACTIVITY PAPER

434SR01104/20/98

VERSION 1A shorter version of this report was published as: Birgit Pfitzmann, Matthias Schunter,Michael Waidner: Optimal Efficiency of Optimistic ContractSigning; 17th Symposium onPrinciples of Distributed Computing (PODC), ACM, New York 1998, 113-122.

A

Optimal Efficiency of Optimistic Contract Signing

B. Pfitzmann (SRB), M. Schunter (UDO), M. Waidner (ZRL)�SEMPERActivity Paper 434SR011Draft Vers. 1 (SEMPER internal)

04/20/98

ABSTRACTA contract is a non-repudiable agreement on a given contracttext, i.e., a contract

can be used to prove agreement between its signatories to anyverifier. A contractsigning scheme is used to fairly compute a contract so that, even if one of the signatoriesmisbehaves, either both or none of the signatories obtain a contract.

Optimistic contract signing protocols use a third party to ensure fairness, but insuch a way that the third party is not actively involved in thefault-less case. Since nosatisfactory protocols without any third party exist, thisseems to be the best one canhope for.

We prove tight lower bounds on the message and round complexity of optimisticcontract signing on synchronous and asynchronous networks, and present new and ef-ficient protocols based on digital signatures which achieveprovably optimal efficiency.

Furthermore, we investigate what can be gained if the third party participates in thecontract verification.

Table of Contents

1 Introduction 31.1 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Our Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Definitions 62.1 Network Models and Protocol Complexity . . . . . . . . . . . . . .. . . . 62.2 Contract Signing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.3 Optimistic Contract Signing . . . . . . . . . . . . . . . . . . . . . . .. . 82.4 Notations and Assumptions . . . . . . . . . . . . . . . . . . . . . . . . .. 9

3 A Message-Optimal Synchronous Scheme 10

4 A Round-Optimal Synchronous Scheme 13

5 A Time-Optimal Asynchronous Scheme 14

6 An Optimal Asynchronous Non-Optimistic Scheme 19

7 An Optimal Synchronous Scheme with Three-Party Verification 21

8 A Optimal Asynchronous Scheme with Three-Party Verification 24

9 Conclusion 27�Edited by M. Schunter (UDO)

1

Optimal Efficiency of Optimistic Contract Signing 2

10 Acknowledgment 27

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 3

1 Introduction

A contract is a non-repudiable agreement on a given text [Blum 81]. A contract signingscheme includes at least three players and two protocols: Two signatories participate in acontract signing protocol “sign” which fairly computes a contract. This contract can thenbe used as input to a contract verification protocol “show” to convince any verifier such asa court that the signatories reached agreement on the given text.

Note that unlike cryptographic contract signing protocols[Blum 81], our notion doesnot tolerate uncertainty about the outcome. In the end, the user must have a definitive an-swer whether a valid contract was produced or not. Furthermore, we achieve deterministicfairness if the underlying digital signature scheme is secure.

In all practical schemes, contract signing involves an additional player, called thirdparty. This party is (at least to some extent) trusted to behave correctly, thus playing therole of a notary in paper-based contract signing. A well-known protocol for contract sign-ing by exchanging signatures via a third party works as follows (see also Scheme 4): Bothsignatories send their signatures to the third party. The third party then verifies and for-wards them. At the end, both signatories end up having two signatures on the contractwhich may be sent to any verifier for verification. In this and similar protocols, the thirdparty has to be involved inall executions of the contract signing protocol.

In order to minimize this involvement while guaranteeing fairness, the concept of socalled “optimistic” protocols has been introduced [AsSW 97, BGMR 90]1. The basic ideaof optimistic schemes2 is that the third party is not needed in the fault-less case: After theexecution of the optimistic signing protocol, two correct signatories always end up witha valid contract. Only if one of the signatories misbehaves,the third party is involved todecide on the validity of the contract.

1.1 Related Work

The term “contract signing” was first introduced in [Blum 81]. In [EvYa 80], it was shownthat no deterministic contract signing scheme (called “public-key agreement system” in[EvYa 80]) without third party exists if the verifier is state-less and only the two signatoriesparticipate in the contract signing protocol.

Contract signing without third party:Early research focused on probabilistic contractsigning schemes based ongradual exchange of signatures[Blum 81, Blu2 83, EvGL 85,Gold 83] (see [Damg 95] for recent results): Both signatories exchange signatures “bit-by-bit.” If one signatory stops prematurely, both signatorieshave about the same fraction ofthe peer’s signature, which means they can complete the contract offline by investing aboutthe same amount of work.

As pointed out in [BGMR 90], this approach is not satisfactory in real life: Consider,for example, a house selling contract. If the protocol stopsprematurely, the seller cannot besure whether the buyer will invest some years to complete thecontract or not, i.e., whetherthe seller still owns the house and can look for another buyeror not. Thus, the seller isactually forced to take a high risk, or to complete the contract.

Contract signing with third party:Simple schemes for contract signing use anonlinethird party, i.e, one that is actively involved in each run.

Optimistic contract signing with third party:The first somewhat3 optimisticscheme hasbeen described in [Even 83]. The first optimistic scheme in our sense is based ongradualincrease of privilege[BGMR 90]: In n message exchanges, the probability with which acontract is valid is gradually increased from 0 to 1. If the protocol stops prematurely, each

1This paper includes the first author’s notes on contract signing that were referred to in [AsSW 97].2See also [BuPf 89, BuPf 90] for optimistic protocols for payment for receipt or goods, or [Mica 97, ZhGo 97]

for recent optimistic protocols for certified mail, i.e., a fair exchange of a message for a signature on a receipt.3It assumes that verification is a three-party protocol, i.e., that the contract is not valid on its own but only if a

third party called “center of cancellation” does not object.

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 4

signatory can invoke a third party called “judge.” The thirdparty will wait until the protocolwould have terminated (i.e., we are in a synchronous model).After this timeout, the thirdparty picks a random value� in the interval[0; 1], or retrieves it in case the third party wasinvoked for this contract before. If the probability given by the last message received bythe invoking party is at least�, the contract is considered valid and an affidavit is issuedand sent to both signatories. Otherwise the contract is considered invalid. By construction,if the protocol is prematurely stopped, one party might be “privileged”, i.e., has a slightadvantage when invoking the judge: If the third party chooses a� that lies between theprobabilities of the two signatories, only one of them can finalize the contract. Thus, if acorrect playerA invokes the third party and gets the answer that the contractis invalid, shecannot be sure that the same would happen ifB invokes the third party, i.e., that the contractis indeed not signed. In the worst case,B might have a valid contract (i.e., probability 1)and hence knows that ifA complains, it will succeed only with the probability containedin the last message sent byB. The probability that such an uncertain situation arises isnon-negligible, but linearly small in the number of messages exchanged [BGMR 90]. Inthe house-selling example mentioned above, such a non-negligible error would probablynot be acceptable for the seller.

Recent research concentrated on optimistic contract signing schemes that avoid suchuncertain situations, and guarantee adefinitedecision within limited time: [AsSW 97] de-scribes a synchronous contract signing protocol with four messages. This was improvedin [AsSW3 97] to a four-message protocol for asynchronous networks. Compared to thisearlier work, the focus of this paper is on proving bounds on the message- and time-complexity of optimistic contract signing protocols for different models4.

Commit Protocols:Compared to commit-protocols [SiKS 97] for atomicity of dis-tributed transactions, contract signing aims at a non-repudiable agreement while assum-ing a byzantine failure model, i.e., even if most signatories are malicious, contract signingguarantees a correct outcome for correct signatories whereas commit-protocol do not.

Agreement Protocols:Contract signing achieves more than just agreement [PeSL 80]:besides reaching agreement, the players also want to be ableto prove it afterwards.

Remark: Fair exchange of signatures5 andfair contract signingare different problemssince contract signing does not require a contract to be a text and two signatures. Obviously,contract signing can always be implemented based on fair exchange of signatures, but notall contract signing schemes exchange signatures. They only guarantee non-repudiation ofthe agreement on a contract.

1.2 Our Results

We present new and efficient optimistic contract signing schemes and prove that their effi-ciency with respect to messages or time is optimal if the signatories are correct and agreeon the contract. Furthermore, we prove some bounds and limitations on optimistic contractsigning in general. All our schemes are based on an arbitrarydigital signature scheme.Tables 1 and 2 give a detailed summary of our results: We present a message- (3 messages)and a round-optimal (2 rounds) synchronous optimistic contract signing scheme as wellas a time-optimal (time 3) asynchronous scheme. We prove theoptimality of these newschemes as well as the optimality of the scheme described in [AsSW3 97] by proving tightbounds on message and time complexity of synchronous and asynchronous optimistic con-tract signing. Furthermore, we show that each message/time-optimal protocol is optimalwith respect to time/messages given the message/time limitation. In Theorem 4 we showthat no asynchronous optimistic contract signing scheme with state-less third party exists.

Finally, we compare the efficiency of the optimistic protocols with the efficiency of awell-known asynchronous non-optimistic scheme (4 messages in time 2) under the assump-

4For similar research on authentication protocols see [Gong2 95].5Each playerA receives a digital signaturesigB(C) if and only if the other signatoryB receivessigA(C), too.

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 5

Model Our ResultsC T Op t(+) m(+) Optimal Proofs sl + 3 3 Scheme 1 Theorem 1s sl + 2 4 Scheme 2 Theorem 1a sl + Impossible Theorem 4a sk (+) 4 4 See [AsSW3 97] Theorem 2a sk (+) 3 6 Scheme 3 Theorem 3a sk – 2 4 Scheme 4 Theorem 5s d, sk (+) 1 2 Scheme 5 Theorem 6a d, sk (+) 3 3 Scheme 6 Theorem 7

Legend:C Communication Model: “s” for synchronous, “a” for asynchronous.T Properties of the third party: “sl” for state-less, “sk” forstate-keeping, “d” if the

third party is required to participate in verification.Op “+” stands for optimistic protocols (Def. 5), “(+)” stands for optimistic on agree-

ment (Def. 6), and “–” stands for non-optimistic protocols (Def. 3).t(+) Time for the output of a contract if the signatories agree (underlined figures areprovably optimal, which is proven in the mentioned Theorem).m(+) Number of messages in case of agreement.

Table 1: Provably Optimal Schemes By Model.

Theorem Model ResultNo. C T Opt t(+) m(+)1 s sk (+) � 31 s sk (+) � 3 = 31 s sk (+) � 22 a sk (+) � 43 a sk (+) � 33 a sk (+) = 3 ! � 64 a sl (+) Does not exist5 a sk - � 45 a sk - � 26 s d, sk (+) � 27 a d, sk (+) � 37 a d, sk (+) � 3 = 3

Table 2: Our Theorems and What They Prove (Legend: See Table 1).

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 6

tion that both signatories agree and do not misbehave. This shows that optimistic protocolsachieve similar efficiency without interacting with a thirdparty.

After these results for optimistic contract signing, we investigate what changes resultfrom allowing the third party to participate in the verification protocol. We show that theoptimistic scheme from [Even 83] with 1 round and 2 messages is optimal on a synchronousnetwork whereas on an asynchronous network, one needs threemessages in three rounds.

2 Definitions

2.1 Network Models and Protocol Complexity

We distinguish between the “standard” synchronous and asynchronous network models [Lync 96,Tel 91]. On synchronous networks, messages are guaranteed to be delivered within a so-called “round”, i.e., a recipient of a message can decide whether a message was sent ornot. This cannot be decided on asynchronous networks since messages may be delayedand reordered arbitrarily. For machines, we assume a byzantine failure model, i.e., a faultymachine may send arbitrary messages but must not be able to prevent delivery of messagesbetween two correct machines. The time-complexity of a synchronous protocol is the num-ber of rounds required for its execution. The time-complexity of an asynchronous protocolis the time required for its execution if transmission of each message requires time1 andlocal computations require no time.

We assume that the network is reliable, i.e., that all messages sent between correctmachines are eventually delivered. In asynchronous networks there is no notion of globaltime, no time-limit on the time needed for message transmission, and there is no guaranteethat messages are delivered in the same order they were sent.

For both network types, we assume that each algorithm receives its messages fromother algorithms and its local inputs, then does a computation on them and outputs at mostone local output and one message for each other algorithm.

The time-complexity sketched above is formalized by defining a logical time [Lync 96]:

Definition 1 (Time Complexity)The time complexity of a protocol is defined to be the highest clock assignment at the endof the protocol obtained by the following rules:

1. Each machine participating in the protocol has a time assignmenttime 2 IN anda mode assignmentmode 2 fsend; receiveg. In send-mode, messages can onlybe sent. Inreceive-mode, messages can only be received. Initially,time := 0 andmode := receive is assigned.

2. Thetime assignment of an algorithm is increased whenever an event happens.Unlike Lamport’s time-stamps [Lamp 78], an event here is defined as “changingfrom receive-mode to send-mode”. Consecutive send or receive operations as wellas changes from send to receive mode do not change the local clock.

3. The assignedtime of the local clock of the sender is assigned to every message sent.4. Whenever a time-stamp higher than the localtime assignment has been assigned

to a received message, the localtime assignment is set to the time assigned to thereceived message.2

For synchronous communication, we make the additional assumptions that there is a globalnotion of rounds and each message sent in roundi by an correct player is delivered as inputto roundi + 1. This enables a receiver to decide whether a message has beensent ornot. We assume that messages which do not arrive in their designated round are ignored.Note that in the synchronous model, the time-complexity defined by Definition 1 equalsthe minimum number of rounds needed for the protocol.

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 7

2.2 Contract Signing

We now give a formal definition of contract signing and describe the requirements we wantto achieve.

Definition 2 (Contract Signing Scheme)A contract signing schemefor a message spaceM and a set of transaction identifiersTIDsis a triple(A;B;V) of probabilistic interactive algorithms (such as probabilistic interactiveTuring Machines) whereV is state-less, i.e., has no memory between subsequent protocolruns. The algorithmsA andB are called signatories, andV is called verifier. The algorithmscan carry out two interactive protocols:

Contract Signing (Protocol “sign”): Each signatoryX 2 fA;Bg obtains a local input(sign; CX ; tid), wheresign indicates that the “sign”-protocol shall be executed,CX 2 M is the contract textX wants to sign, andtid 2 TIDs is the common unique6

transaction identifier which is used to distinguish in- and outputs as well as messagesfrom different protocol runs and which signals that both inputs belong together. Atthe end, each ofA andB returns a local output, which can take the following values:(signed; C; tid) containing a contract textC or (rejected; tid).

Verification (Protocol “show”): This is the contract verification protocol between theverifierV and one of the signatoriesA orB7. The signatory, sayA, obtains a local input(show; tid). A does not make a local output. The verifierV outputs either(signed; C;tid) or (rejected; tid).2

Intuitively, an output(signed; C; tid ) of the “sign”-protocol means that the user can nowsafely act upon the assumption that a contract “C” has been signed, i.e., that a subsequentverification will succeed. If the protocol outputs(rejected; tid), the user can safely as-sume that no contract was signed, i.e., the other signatory will not be able to pass verifica-tion.

We now define the security requirements for contract signingdepending on the under-lying network. Since on asynchronous networks, nobody can decide whether the input willeventually arrive or not, termination cannot be guaranteedin general. Therefore, we allowthe user to “switch” the model manually: After a local input(wakeup; tid), the protocolstops waiting for pending messages and is required to terminate with a correct output. Inpractice,wakeup can be produced by a local time-out or by an interaction with the user.

Definition 3 (Fair Contract Signing)A contract signing scheme (Def. 2) is called fair if it fulfills the following requirements:

Correct Execution:Consider an execution of “sign” by two correct signatoriesA andB on input(sign; CA; tid) to A and(sign; CB ; tid) to B with a unique and freshtid 2 TIDs andCA; CB 2M . Then, the “sign”-protocol outputs(signed; CA; tid)iff CA = CB or else(rejected; tid) to both signatories if none inputswakeup.

Unforgeability of Contracts:If a correct signatory, sayA, did not receive an input(sign; C;tid) so far, a correct verifierV will not output(signed; C; tid).Verifiability of Valid Contracts:If a correct signatory, sayA, output(signed; C; tid)

and later executes “show” on input (show; tid) then any correct verifierV will output(signed; C; tid).No Surprises with Invalid Contracts:If a correct signatory, sayA, output(rejected; tid)

then no correct verifier will output(signed; C; tid) for anyC.

6The parties must have agreed upon this before starting a contract signing protocol. A common methodto guarantee uniqueness is to use a pair of two locally uniquenumbers as the global transaction identifier. Inpractice, a separate agreement on atid may not be necessary since contract signing will be part of a largercommerce protocol.

7Here, we restrict our model for the moment to two-party verification: Three-party verification betweenA orB, V, and a third party is considered in Section 7.

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 8

Termination on Synchronous Network:A correct signatory, sayA, will either output(rejected; tid)or (signed; CA; tid) after a fixed number of rounds.

Termination on Asynchronous Network:On input(wakeup; tid), a correct signatory, sayA, will either output(signed; CA; tid) or (rejected; tid) after a fixed time.2The requirement on “Verifiability of Valid Contracts” models that a contract that waseverdeclaredsigned by a correct signatory cannot be invalidated again. This means that onecan safely buy a new house with the money if the protocol output signed. Similarly,the requirement on “No Surprises with Invalid Contracts” models that a contract whichwas ever declaredrejected cannot be declaredsigned afterwards. This means that onecan safely look for another buyer for the old house if one thinks no contract was signed.The “Unforgeability” requirement models that no valid contract can be produced withoutparticipation of a correct signatory.

Since it was mentioned in the literature [Even 83], we now define a weaker notion ofcontract signing schemes which enables more efficient but less practical protocols whichwe will later compare with our more restricted notion of a contract signing scheme:

Definition 4 (Contract Signing Scheme with Three-Party Verification)A contract signing scheme with three-party verificationis a contract signing scheme (Def-inition 2) where the definition of the verification protocol is changed as follows:

Verification (Protocol “show”): This is the contract verification protocol between theverifier V, the third partyT, and one of the signatoriesA or B. The signatory, sayA, obtains a local input(show; tid). A does not make a local output. The verifierVoutputs either(signed; C; tid) or (rejected; tid).2This changed model enables the third party to participate inthe verification protocol

which enables us to revoke sent parts of a contract: The basicmechanism used for revokinga signature works as follows: Once a party signed its part of acontract for a given contractsigning execution identified bytid , the third party may tag this execution as being revokedif one of the signatories misbehaves. If somebody presents acontract containing thistid toa verifier, the verifier asks the third party if this executionhas been revoked or not. If thecontract is correct and the execution has not been revoked, the verifier decides onsignedand else onrejected.

Recall, however, that we maintain the “Termination”-Requirement, i.e., for honest par-ties, revocations must not make any difference after the “sign”–protocol terminated.

2.3 Optimistic Contract Signing

To guarantee fairness, “optimistic contract signing” includes an additional third partyTwhich is assumed to be correct in order to guarantee fairness. We try to limit the involve-ment of this third party by distinguishing two phases of the “sign”-protocol:

Theoptimistic phasetries to produce a contract without contacting the third party. Sincea contract requires inputs from both signatories, this protocol may not terminate on asyn-chronous networks if a peer is not correct.

Theerror recovery phaseis started if an exception, such as a wrong or missing messageor the input ofwakeup, occurs. In this phase, the third party is asked to guaranteea fairdecision in a limited time. In our schemes, this phase is implemented by a sub-protocolcalled “resolve”.

Definition 5 (Optimistic Contract Signing)A fair contract signing scheme (Def. 3) is calledoptimisticiff an additional correct playerT participates in the “sign”-protocol so that one of the following requirements is fulfilled:

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 9

Optimistic on Synchronous Network:If both signatories are correct, the third party doesnot send or receive messages in the “sign”-protocol.

Optimistic on Asynchronous Network:If both signatories are correct and do not input(wakeup; tid), the third party does not send or receive messages in the “sign”-protocol.2The requirement thatwakeup must not be input on asynchronous networks models that auser has to be patient in order to enable the protocol to terminate without involving thethird party: If a user inputswakeup immediately, the protocol may always involve the thirdparty.

A weaker notion of optimistic contract signing requires optimistic execution only if thesignatories input identical contract texts:

Definition 6 (Optimistic on Agreement)A fair contract signing scheme (Def. 3) is calledoptimistic on agreementiff an additionalcorrect playerT participates in the “sign”-protocol so that one of the following require-ments is fulfilled:

Optimistic on Synchronous Network:If both signatories are correct and both input(sign;C; tid) with a fresh and uniquetid and aC 2 M , the third party does not send or re-ceive messages in the “sign”-protocol.

Optimistic on Asynchronous Network:If both signatories are correct and both input(sign;C; tid) with a fresh and uniquetid and aC 2 M and do not input(wakeup; tid), thethird party does not send or receive messages in the “sign”-protocol.2

2.4 Notations and Assumptions

All our schemes are based on a secure digital signature scheme [GoMR 88, RSA 78] wheresigX(m) denotesX’s signature under messagem. Each party can sign messages, and canverify messages signed by others. All our protocols and definitions are formulated as ifthese digital signatures would provide error-free authentication. Furthermore, we assumetacitly that sequence numbers, names of participants, and thetid are included into all signedmessages and that the signatures contained in messages are verified upon receipt. Corruptedor unexpected messages are just ignored.

All schemes are described by means of the message flows in the optimistic case, de-tailed descriptions of all protocols as well as figures of thestates and transitions of themachines for signatories and third party. The verifier is notdepicted as a state-machine butonly described in the text: It is state-less and has only one state. In order to avoid unneces-sarily complicated descriptions, we assume that the parties involved are a priori fixed. Forsynchronous protocols, we furthermore assume that all parties agree on the starting roundof a protocol which is included in all messages.

In our figures, A a=b! B depicts that a machine is in stateA and receives message calleda. It sends message calledb and changes to stateB. Dashed arrows denote exceptionhandling by means of executing “resolve”. If the message name is bold, the messageis exchanged with the third party. Subscripts in message names usually denote the time atwhich they are sent (e.g.,m3 would be a message from round 3). Bold states are final states.If a messagea is not received on a synchronous network, this is modeled by receiving themessage:a.

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 10

3 A Message-Optimal Synchronous Scheme

Our message-optimal optimistic scheme8 for synchronous networks requires three mes-sages in the optimistic case using a state-less third party.Its optimistic behavior is depictedin Figure 1. The individual machines of the players are depicted in Figures 2, 4, and 3.

Scheme 1 (Message-Optimal Synchronous)This scheme consists of the triple(A;B;V) andT of interactive probabilistic machineswhich are able to execute the protocols defined as follows:

Contract Signing (Protocol “sign”; Figure 1): On input(sign; CA; tid), the signatoryA initiates the protocol by sending the signed9 messagem1 := sigA(CA) with contractCA to the responding signatoryB. B receives the input(sign; CB ; tid) and messagem1 and verifies whether the received contract textCA is identical to the input contracttextCB . If not, the players disagree about the contract andB returns(rejected; tid).Else, it signs the received message and sends it asm2 := sigB(m1) to A. PlayerAthen signs the received message again, sends it asm3 := sigA(m2) back and outputs(signed; C; tid). On receipt of messagem3,B outputs(signed; C; tid) as well. Aftera successful execution of this optimistic protocol,A andB storem3 under thetid forlater use in a verification protocol.

If A does not receive messagem2 it waits until Round 5, and, ifm5 was not received, itoutputs(rejected; tid). If B did not receive messagem3, it may be thatA neverthelesswas able to compute a valid contractm3 after receivingm2. Therefore it starts the“resolve”-protocol to invoke the third party to guarantee fairness.

Recovery from Exceptions (Sub-Protocol “resolve”): B sends a messagem4:=sigB(m2)containingm1 andm2 to the third partyT. The third party checks whether both playersagreed and then forwardsm2 in m5 :=m2 toA which might still wait for it. This guar-antees thatA receives a valid contractm3 := sigA(m2) and outputs(signed; CA; tid).FurthermoreT sends an affidavit onm2 inm05 :=sigT(m2) toB andB outputs(signed;C; tid). After the “resolve”-protocol,A keepsm3 andB keepsm05 to be used in laterverification protocol executions.

Verification of a Contract (Protocol “show”): On input (show; tid ), a signatory looksupm3 or m05 and sends it to the verifier. The verifier verifies it and outputs (signed;C; tid) if this succeeds and(rejected; tid) else.2

Lemma 1 (Security of Scheme 1)Scheme 1 is a synchronous fair optimistic contract signing scheme.3Proof of Lemma 1: The scheme adheres to Definition 2 by construction. We now showthat each of the requirements described in Definitions 3 and 5are fulfilled:

Correct Execution:If both correct playersA andB input (sign; C; tid) with identicaltid andC, then both receive a valid contractm3 and output(signed; C; tid). If thecontracts ortid ’s differ, B outputs(rejected; tidB) after receivingm1 andA outputs(rejected; tidA) after not receivingm5 in Round 5.

Unforgeability of Contracts:In order to convince a correct verifierV for a giventid ,one needs correct messagesm3 or m05 for this tid . Sincem3 as well asm05 containsignatures from both participants, a correct signatory input (sign; C; tid ).

8The message flows are similar to the optimistic protocol in [Mica 97] which provides certified mail insteadof contract signing.

9Note that in our protocols, the contract and the contents of most messages are fixed after the first message sentby a signatory. Therefore, each player can save signatures by including commitments to random authenticatorsriinto the initial message which are then released instead of signing messages [AsSW 97].

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 11

SignatoryA SignatoryBm1XXXXXznot ok:rejectedm2�����9

not ok and nom5:rejectedelsesigned. m3XXXXXz

not ok: “resolve”elsesigned.

Figure 1: Optimistic Behavior of the Message-Optimal Synchronous Scheme 1.

Startsign/m1 m2 /m3SA signed

¬m2

RA

m5/signed

rejected

¬m5/rejected

show/m3 or m5

Figure 2: SignatoryA of Scheme 1.

m1/m2SB1

rejected

SB2

¬m3/m4

RB

¬m1

m3/signed signed

m'5/signed

rejected

¬m'5/rejected

show/m3 or m'5

sign/Start

Figure 3: SignatoryB of Scheme 1.

m4/(m5, m'5)

Start

Figure 4: Third PartyT of Scheme 1.

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 12

Verifiability of Valid Contracts:If A outputs(signed; C; tid) then it receivedm2 (orm5 containingm2) which will be accepted by the verifier as a correct contractm3 afterbeing signed byA. B outputs(signed; C; tid) only if it receivedm3 orm05 which areaccepted, too.

No Surprises with Invalid Contracts:Let us first assume that a correct signatoryA re-turnedrejected on input(sign; C; tid) whereasB is able to convince the verifier.This requires thatB knowsm3 or m05 for the giventid andC. SinceA returnedrejected, it did not receivem2 until Round 5 and it did not sendm3. Therefore,only m05 could lead to successful verification. However, if the thirdparty was correct,it will not accept recovery requests fromB after Round 4. Furthermore, in Round 4, norecovery was started sinceA did not receivem5 in Round 5. ThusB did not receivem05 in Round 5. Now let us assume secondly thatA invokes “resolve”. This wouldnot cause problems since in this case,A needsm2. Thus the contract will be validatedanyway: EitherB receivesm3 or it will start “resolve”, too.

Termination on Synchronous Network:The scheme requires at most 5 rounds (3 in “sign”and 2 in “resolve”) to terminate.

Optimistic on Synchronous Network:If two correct signatories input(sign; C; tid), sig-natoryA outputs(signed; C; tid) after round 2 whereas playerB outputs(signed; C;tid) after round 3. If they disagree, i.e., input different contracts,A outputs(rejected; tid)after Round 5 andB after Round 1 without contacting the third party by starting“resolve”.

We now show that no optimistic contract signing scheme with only two messages exists.This proves that the number of messages of Scheme 1 is optimal. Furthermore, we showthat it cannot be done with three messages in two rounds. Thus, the number of rounds ofScheme 1 is optimal, too, given the restriction to 3 messages.

Theorem 1 (Optimality of Scheme 1)In the synchronous model with state-keeping third party, there exists no contract signingscheme which is optimistic on agreement with a “sign”–protocol with less than 3 messagesin case of agreement and a protocol which needs 3 messages needs at least 3 rounds.3Proof of Theorem 1:Let us assume that there exists an optimistic contract signing schemewhich requires three messages in two rounds in case of agreement. In the optimistic phase,one player, sayB, sends two messagesm1B in Round 1 andm2B in Round 2.

Let us first assume thatA sends its single messagemA in Round 1. Since two correctplayers who input identical contractsCA = CB must not contact the third party this meansthat the single messagemA from A needs to be sufficient to enableB to convince theverifier. Now assume that an incorrectB receives the valid contractmA but sends nothing.ThenA must be able to obtain a valid contract since the contractmA sent toB cannot beinvalidated again (verification is a protocol betweenB and the state-less verifierV only).Therefore, playerA needs to be able to start recovery without any input fromB and adishonestB must not be able to prevent this. This would enableA to forge a contract.

If we now assume, on the other hand, thatA sendsmA in Round 2,mA andm2B mustbe valid contracts, i.e., sufficient for “show”. If A now omits sendingmA, it will end upwith a valid contract. ThereforeB must be enabled to run “resolve” if A did not sendits only message. The resulting recovery without any message fromA, however, againcontradicts the unforgeability requirement. Thus no protocol with 3 messages in 2 roundsexist.

If a two-message scheme exists, adding an empty message would produce a 3 messagescheme in 2 rounds which does not exist.

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 13

SignatoryA SignatoryBm1A m1B�����9XXXXXznot ok and nom4:rejected not ok and nom4:rejected.m2A m2B�����9XXXXXzif ok: signedelse: “resolve”.

if ok: signedelse: “resolve”.

Figure 5: Optimistic Behavior of the Round-Optimal Synchronous Scheme 2.

4 A Round-Optimal Synchronous Scheme

We now describe the round-optimal Scheme 2 for synchronous networks and prove itssecurity in Lemma 2. It requires only two rounds but four messages. Since any three-message “sign”-protocol needs at least three rounds (Theorem 1), there exists no one-round protocol at all and no 2-round protocol with only threemessages. So the schemedescribed is optimal with respect to rounds and given the limitation to two rounds also withrespect to the number of messages. The optimistic behavior of the scheme is depicted inFigure 5. The players are depicted in Figures 6 and 7.

Scheme 2 (Round-Optimal Synchronous)This scheme consists of the triple(A;B;V) andT of interactive probabilistic machineswhich are able to execute the protocols defined as follows:

Contract Signing (Protocol “sign”; Figure 5): On input (sign; CA; tid) a signatory,sayA, sends messagem1A := sigA(CA) in the first round. If it does not receive a mes-sagem1B withCA = CB , it waits for recovery messagem4 and outputs(rejected; tid)if m4 is not received in Round 4. If a messagem1B withCA = CB is received, is sendsm2A := sigA(m1A; m1B) in the second round and waits form2B . If m2B with a cor-rect contract textCA = CB is received, it outputs(signed CA; tid). Else, it starts“resolve”.

Recovery from Exceptions (Sub-Protocol “resolve”): A signatory, sayA, sendsm3A:=m2A to the third party which verifies its consistency and signs anaffidavit. This affi-davit is sent asm4 := sigT(m2A) to both parties. If the parties receive an affidavit inRound 4, they output(signed; C; tid). Else, they output(rejected; tid).

Verification of a Contract (Protocol “show”): On input(show; tid), a signatory, sayA,looks up(m2A; m2B) or m4 and sends it to the verifierV. The verifier checks thatthe signatures are correct. If these checks fail, it outputs(rejected; tid) and else(signed; C; tid).2

Lemma 2 (Security of Scheme 2)Scheme 2 is a synchronous fair optimistic contract signing scheme.3Proof of Lemma 2: The scheme adheres to Definition 2 by construction. We now showthat it fulfills the requirements stated in Definitions 3 and 5:

Correct Execution:If both players behave correctly and input identicaltid ’s and con-tracts, each signatory, sayA, receivesm1B andm2B . Thus, the protocol outputs(signed; C; tid) on both machines. If the signatories disagree, both will receive in-consistent messages in Round 1 and will wait for recovery until Round 4. Since norecovery messagem4 will be received, they will output(rejected; tid).

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 14

signed

¬m1B/

m4/signed

rejected

m1B /m2Astart sign /m1A m2B /signedSA1 SA2

¬m2B/m3A

RA1 show/m4 or m2B

SA3¬m4/rejected

m4/signed

Figure 6: Signatory, e.g.,A, of Scheme 2.

m3A/m4

Startm3B/m4

Figure 7: Third PartyT of Scheme 2.

Unforgeability of Contracts:In order to convince a correct verifier, a signatory, sayA,needs(m2A; m2B) or m4. Since(m2A; m2B) as well asm4 contain signatures fromboth signatories, a correct signatory input(sign; C; tid).

Verifiability of Valid Contracts:A signatory, sayA, only outputs(signed; C; tid ) afterreceivingm4 or after sendingm2A and receivingm2B . Thus, they are able to convincethe verifier.

No Surprises with Invalid Contracts:If a signatory, sayA, decidesrejected, this sig-natory did not start “resolve” and did not receivem4 in Round 4 which means thatB also did not receivem4. In order to convince a verifier,B therefore needsm2A.However, sinceA outputrejected, it did not sendm2A.

Termination on Synchronous Network:At most 4 rounds are required for termination.

Optimistic on Synchronous Network:If two correct signatories input(sign; C; tid ), theyoutput(signed; C; tid) after round 2 without contacting the third party. If they dis-agree, they output(rejected; tid) after round 4 without contacting the third party.

5 A Time-Optimal Asynchronous Scheme

We now describe a new time-optimal asynchronous contract signing scheme. It terminatesin time 3 and requires six messages in the optimistic case. InTheorem 3 we prove that thisis time-optimal. Its optimistic behavior is sketched in Figure 8, the machines are depictedin Figures 9 and 10. Note that the third party is state-keeping: Once a contract is accepted(i.e.,m05 or m005 was sent), the third party enters itssigned state which disables abortingthe protocol. A state-less third party would be more convenient, but we prove in Theorem 4that this is not possible.

A message-optimal scheme has been proposed in [AsSW3 97]. Itdescribes an asyn-chronous scheme which requires four consecutive messages and time four. This is message-optimal in the optimistic case since, as we will prove, thereis no asynchronous optimisticcontract signing scheme with only three messages (Theorem 2).

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 15

SignatoryA SignatoryBif wakeup:

“resolve1”. m1A m1B�����9XXXXXz if wakeup:“resolve1”.

if CA 6= CB“resolve1”

if m5: rejected.

if CA 6= CB“resolve1”.

if m5: rejected.

if wakeup:“resolve1”. m2A m2B�����9XXXXXz if wakeup:

“resolve1”.if wakeup:

“resolve2”. m3A m3B�����9XXXXXz if wakeup:“resolve2”.signed signed

Figure 8: Optimistic Behavior of the Time-Optimal Asynchronous Scheme 3.

Scheme 3 (Time-Optimal Asynchronous)This scheme consists of the triple(A;B;V) andT of interactive probabilistic machineswhich are able to execute the protocols defined as follows:

Contract Signing (Protocol “sign”; Figure 8): On input(sign; CA; tid) the signatory,sayA, sends its signed contract in messagem1A := sigA(CA). If A receivesm1Bwith an identical contract, it sendsm2A := sigA(m1A;m1B). If a messagem2B fromB is received,A sendsm3A := sigA(m2A;m2B). After receivingm3B , the signatoryoutputs(signed; C; tid). If m2B is received beforem1B since the messages havebeen reordered by the asynchronous network, bothm2A andm3A are sent. Ifm3Bis received beforem2B , m3A is sent and(signed; C; tid ) is output. If am1B with adifferent contract is received beforem2B or if (wakeup; tid) occurs beforem2A hasbeen sent, “resolve1” is started by sendingm4A := sigA(m1A), if it occurs afterm2Ahas been sent but beforem3A, “resolve1” is started by sendingm04A := sigA(m2A),else “resolve2” is started by sendingm004A := sigA(m3A). Messagesm2B or m3Bfrom a cheating playerB containing different contractsCA 6= CB are ignored.

Recovery from Exceptions (Sub-Protocol “resolve1”): This protocol is used in a situa-tion where the status of a contract may not be clear. If the signatory sendsm4A to abortthe protocol, the third party either resends a previously sent decisionm5, m05 orm005 orelse an abort acknowledgmentm5 := sigT(m4A) and changes to theaborted-state forthe aborting signatory. If the signatory sendsm04, the third party either resends a previ-ous decisionm5, m05, orm005 or else signs an affidavitm05 := sigT(m04). After receivingm5, the signatory outputs(rejected; tid). After receivingm05 or m005 , the signatoryoutputs(signed; C; tid).

Recovery from Exceptions (Sub-Protocol “resolve2”): This recovery sub-protocol is usedto complete the contract if it is clear that the signatories agreed on the contract text. Onesignatory, sayA, sends its messagem004A to the third party. The third party then eitherresends a previous decisionm05 or m005 or else produces an affidavit and sends it asm005 := sigT(m004A) to A who outputs(signed; C; tid). This recovery byA overridesthe effects of a previous abort messagem4B sent by an incorrect playerB.

Verification of a Contract (Protocol “show”): After the input(show; tid), a signatory,sayA, looks up(m3A;m3B), m05, or m005 and sends it to the verifierV. The verifierverifies the messages. If these checks fail, it outputs(rejected; tid) and else(signed;C; tid).2

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 16

m3B / (m3A + signed)

m3B /signed

StartS1A

S2A

sign/m1A

rejected

S3A

(m1B & CA=CB) /m2A

signed

resolve2

wakeup / m4A

wakeup / m'4A

wakeup / m'' 4A

resolve1

m'5 / signed

m5 /

rejected

m2B /m3A

m2B / (m2A + m3A)

m'5/ signedm'' 5 / signed

m'' 5 / signed

(m1B & CA≠CB)/m4A

Figure 9: Signatory, e.g.,A, of Scheme 3 (statesS2A orS3A may be bypassed if messagesare reordered).

m'' 4A/m'' 5

m'4B/m'5

m'4A/m'5

m4B/m5

m'' 4B/m'' 5

* /m5

Start

abortedby B

m4A/m5

* /m5

abortedby A

m'' 4B/m'' 5

m'' 4A/m'' 5signed signed

* /m'' 5* /m'5

Figure 10: Third PartyT of Scheme 3.

Lemma 3 (Security of Scheme 3)Scheme 3 is an asynchronous fair contract signing scheme which is optimistic on agree-ment. 3Proof of Lemma 3:Scheme 3 adheres to Definition 2 by construction. We now show thatit also fulfills the requirements stated in Definitions 3 and 6.

Correct Execution:If both signatoriesA andB start with identical inputs(sign; CA;tid) and(sign; CB ; tid) and do not inputwakeup then both will eventually receive allmessages and will output(signed; C; tid). If they disagree, both will abort by sendingm4 and will finally output(rejected; tid).

Unforgeability of Contracts:Assume that a correct verifier outputs(signed; C; tid).This means that he received at least messagesm1A;m1B (maybe included inm05 orm005 ) containing identical contracts which are signed byA andB, respectively. Thus,all correct parties have input(sign; C; tid) since otherwise they would not have sentm1A andm1B at all.

Verifiability of Valid Contracts:A signatory, sayA only outputs(signed; C; tid) afterreceivingm3B orm05 orm005 containing identical contracts in messagesm1A andm1B .Thus, it is able to convince a verifier in all cases.

No Surprises with Invalid Contracts:Let us assume that(rejected; tid) was output by

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 17

a correct signatory, sayA, after receivingm5 and a correct verifier invoked byB outputs(signed; C; tid). Then either(m3A;m3B), m05 or m005 must be known byB. Let usfirst assume that(m3A;m3B) was shown to the verifier thenA sent bothm3A andm4Aor m04A, i.e.,A was incorrect. Let us now assume thatm05 was shown to the verifierthenT sent bothm5 andm05, i.e., the third party was incorrect. Let us finally assumethatm005 was shown to the verifier. Sincem5 as well asm005 were produced by the thirdparty, the machineT was in one of the aborted states and thusA must have sent eitherm4A or m004A. SinceA receivedm5, it did not sendm004A. Together this implies thatAsentm4A. This contradicts the assumption thatm005 was shown to the verifier a correctA which sendsm4A does not sendm2A which is part ofm005 .

Termination on Asynchronous Network:If the user inputswakeup, a “resolve”-protocolis started. In this protocol, the other signatory is not involved anymore. Since the thirdparty is assumed to be correct, it will answer. Thus, the “resolve”-protocol terminateswith a definitive answer after time 2, i.e., a fixed time after the input ofwakeup.

Optimistic on Agreement:If two correct signatories do not inputwakeup and input iden-tical contracts, they both receive the outputs(signed; C; tid) from the “sign”-protocolafter time 3 without contacting the third party.

We now prove in Theorem 2 that asynchronous contract signingwith only 3 messages isimpossible. Then we prove the optimality of Scheme 3 in Theorem 3. Since this schemestill needs a state-keeping third party, we will show in Theorem 4 that one cannot do better,i.e., that recovery with a state-less third party is not possible in the asynchronous case.

Theorem 2 (Message-Optimality of Scheme in [AsSW3 97])There exists no asynchronous optimistic contract signing scheme with a “sign”–protocolwith less than four messages in case of agreement.3In order to prove this theorem, we first show that recovery cannot involve both signatoriesin the asynchronous case:

Lemma 4 (Asynchronous Recovery is 2-Party)The outcome of the recovery phase on asynchronous networks is determined only by inputsfrom the third party and the signatory starting it.3Proof of Lemma 4: If the third party is invoked by a correct player, the recovery phase isrequired to terminate in order to guarantee termination of the “sign”-protocol. However, ifthe third party asked the other signatory, the third party cannot decide whether the messagewould eventually be answered or not. Thus, if this signatoryis not correct, “resolve”would not terminate.

Proof of Theorem 2: Let us assume thatA sends two messages, saym1 andm3, in theoptimistic phase whereasB sends only one message, saym2. Then(m1;m2;m3) must besufficient to convince the verifier. IfA sendsm1 andm3 without having receivedm2,B canconvince a verifier without sendingm2. Therefore,A is required to be able to recover tosignedwithout contactingB (Lemma 4) which contradicts the unforgeability requirement.Thus,m3 is sent afterm2 has been received. If we now assume thatB sendsm2 beforereceivingm1, A could convince a verifier without sending any message andB would berequired to be able to recover tosigned without contactingA (Lemma 4) which againcontradicts the unforgeability requirement.

Therefore, the messages are sent in the orderm1; m2; m3 (similar to Scheme 1 de-picted in Figure 1). Since the protocol is optimistic, at least (m1;m2) shown byA and(m1;m2;m3) shown byB are sufficient to convince the verifier. Now consider the excep-tions: Let us assume thatT did not decide for thistid before. IfB now does not receivem3,the third party has to decide locally (Lemma 4) onsigned sinceA may have obtained avalid contract(m1;m2). ThusB may obtain a valid contract from the third party even ifASEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 18

mA

m'A mB

mA, m'A

mB

m'A mB

mA mA, m'A

mB

Figure 11: Proof of Theorem 3: Saving a Dashed Message by Shoving it Up orDown.

only sentm1. Therefore,A must be able to start recovery with the third party after sendingm1, too. In this case, the third party is required to decide locally whether the contract isvalid or not given onlym1 fromA. For unforgeability forB, it has to decide onrejectedbased onm1 only. If B now asks for recovery withm1 andm2, T has to decide locally. Ifit decides onsigned since a dishonestA may have started recovery after receiving validcontract(m1;m2;m3), the “no surprises” requirement for a correctA would not be ful-filled. If T decides onrejected, a correct playerB may be surprised sinceA may haveobtained a valid contract.

This enables us to prove the optimality of Scheme 3:

Theorem 3 (Optimality of Scheme 3)There exists no asynchronous optimistic contract signing scheme with a “sign”–protocolin less than time 3 in case of agreement and a protocol in time 3needs at least 6 messages.3Proof of Theorem 3: If we assume that a 2-time 4-message optimistic “sign”-protocolexists, then this can be used to construct a 3-time 3-messageprotocol: Since the two-party signing protocol has 4 messages labeled with two subsequent times, two messages(m1A;m1B) are labeled with time 1 and two messages(m2A;m2B) are labeled with time2 where each two messages labeled with the same time are independent from each other.Therefore, one player, sayB, can sendm1B together withm2B andm2A can be sent afterreceiving these two messages. The result is a three-messageprotocol with the messagesm01A :=m1A, m02B := (m1B ; m2B), andm03A :=m2A which does not exist according toTheorem 2.

If we assume that a 5-message protocol in time 3 exists, we canconstruct an equivalentprotocol with 3-messages in time 3 by shoving a message up or down (see Figure 11): If5 messages are sent in time 3, there exists a timet for which only one messagemA sentby one signatory, sayA, exists. Furthermore, two messagesm0A andmB are labeled withtime t0 which is eithert + 1 or t � 1. If two messages are labeled with timet + 1 thenthe messagesmA andm0A can be sent together at timet. This is possible sinceA does notreceive a message at timet which guarantees that the contents ofm0A have already beenfixed whenmA was sent. ForB, receivingm0A earlier must not make a difference sincethe network may have reordered the messages anyhow. If, on the other hand, two messagesm0A andmB are labeled with timet�1 then the messagesm0A andmA can be sent togetherat timet. This is possible sinceB does not send a message at timet which implies thatm0A is not needed byB to compute a message. This construction enables to change twosubsequent times with two and one messages into two subsequent times with one messageeach. Two applications of this construction result in the desired 3-message protocol in time3 which contradicts Theorem 2.

Finally, we show that the state-keeping third party in Scheme 3 cannot be avoided:

Theorem 4 (AsynchronousT Keeps State)There is no asynchronous contract signing scheme with state-less third party which is opti-mistic on agreement.3SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 19

Sig.A T Sig.Bm1AXXXXXz m1B�����9if wakeup: m3. if wakeup: m3.

if CA = CB : m2.if CA 6= CB orm3: m02.m2 orm02�����9 m2 orm02XXXXXz

if m2:signedif m02:rejected.

if m2:signedif m02:rejected.

Figure 12: Behavior of the Optimal Asynchronous Scheme 4 with In-Line Third Party.

Proof of Theorem 4:Assume there is an asynchronous optimistic contract signing scheme.Then by means of the construction in the proof of Theorem 3, there is an equivalent “sign”-protocol which has only messages, saym1; : : : ;mn, in a row whereA sendsm1 andmn(if not, prepending an empty message helps). Furthermore, we assume that in “resolve”,the third party gets all messages the invoker has sent or received so far, i.e., a prefix(m1; : : : ;mk) of (m1; : : : ;mn). Since we are in an asynchronous model, the third party’sdecision cannot depend on the non-invoking signatory (Lemma 4). Since the third party isassumed to be state-less, the decision is actually a set of functionsTP () on (m1; : : : ;mk)to fsigned; rejectedg for eachk for which a request is allowed.

Consider a run with correctA andB where both input identical contracts andB inputswakeup before the last messagemn fromA has been received. SinceA may have receiveda valid contract, the third party must decideTP (m1; : : : ;mk) := signed for k = n� 1 tofulfill the “No Surprises”-requirement.

Now assume thatTP (m1; : : : ;mk) = signed for somek � 2. If we now con-sider the case that the other player gets awakeup after sendingmk�1, a recovery requestmust be allowed since the other player will eventually receive mk�1 which would en-able it to recover tosigned. For consistency reasons, we haveTP (m1; : : : ;mk�1) :=TP (m1; : : : ;mk)=signed. Thus, inductively we getTP (m1) = signed which contra-dicts the unforgeability requirement.

6 An Optimal Asynchronous Non-Optimistic Scheme

All protocols up to now were optimistic, i.e., the third party was only invoked in caseof failures. We now prove the message and time optimality of an asynchronous versionof a well-known synchronous fair exchange protocol based ona third party storing andforwarding the contract signatures.

This protocol needs four messages in time 2 and works on asynchronous networks. Itsbehavior is depicted in Figure 12. The machines for the individual players are depicted inFigures 13 and 14.

Scheme 4 (Time-Optimal Non-Optimistic Protocol)This scheme consists of the triple(A;B;V) andT of interactive probabilistic machineswhich are able to execute the protocols defined as follows:

Contract Signing (Protocol “sign”; Figure 12): On input (sign; C; tid), each signa-tory, sayA, sends a signed messagem1A := sigA(CA) containing the contract textCA

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 20

Startsign/m1A m2 /signedSA signed

rejected

wakeup/m3show/m2

m'2 /rejected

Figure 13: Signatories, e.g.,A, of Scheme 4.

Startsign/m1A m2 /signedSA signed

rejected

wakeup/m3show/m2

m'2 /rejected

Figure 14: Third PartyT of Scheme 4.

to the third party. If an input(wakeup; tid) is made, a messagem3 := sigA(wakeup)is sent. The third party waits form1A andm1B and verifies whetherCA = CB andtidA = tidB . If this is the case, the third party sends the messagem2:=sigT(m1A;m1B)to both signatories. If the checks fail orwakeup is received before both messages havebeen received, the third party sendsm02 := sigT(rejected).

Verification of a Contract (Protocol “show”): On input(show; tid), signatoryA looksupm2 and sends it to the verifier. The verifier checks whether the message is valid andoutputs(signed; C; tid) if this succeeds and(rejected; tid) else.2

We now prove the security of this scheme:

Lemma 5 (Security of Scheme 4)Scheme 4 is an asynchronous fair contract signing scheme if the machineT is correct.3Proof of Lemma 5: The scheme adheres to Definition 2 by construction. We now showthat each of the requirements described in Definition 3 are fulfilled:

Correct Execution:If both correct playersA andB input (sign; C; tid) with identicaltid andC and do not inputwakeup, then both receive a valid contractm2. If thecontracts ortid ’s differ, A andB output(rejected; tid) after receivingm02.

Unforgeability of Contracts:In order to convince a correct verifierV for a giventid , oneneedsm2 := sigT(m1A; m1B) including thistid . A correct signatory, sayA, will notsendm1A without the input(sign; C; tid).

Verifiability of Valid Contracts:If A outputs(signed; C; tid) then it receivedm2 whichwill be accepted by the verifier as a correct contract.

No Surprises with Invalid Contracts:Let us assume that a correct signatoryA returnedrejected on input(sign; C; tid ) whereasB is able to convince the verifier. ThenBreceivedm2 whereasA receivedm02. This implies thatT sentm2 andm02 with thesametid which contradicts the assumption that theT is correct.

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 21

Termination on Asynchronous Network:If the user has input(wakeup; tid), the schemerequires at most time 2 to outputsigned or rejected.

We now prove the optimality of Scheme 4 in the case where the participants agree.

Theorem 5 (Optimality of Scheme 4)There exists no asynchronous non-optimistic contract signing scheme with a “sign”–protocol with less than four messages or less than two roundsin case of agreement.3Note that this theorem also proves that the message complexity (in the fault-less case) of thescheme in [AsSW3 97] cannot be improved upon by allowing the third party to participatein the “sign”-protocol in case of agreement.Proof of Theorem 5: If we assume that a three-message protocol with third party exists,then the following prerequisites hold: If the third party sends messages without having re-ceived any message before, these messages are independent of the contract to be signed andcan be omitted. If the third party does not send and receive any messages, the protocol isoptimistic, and a three-message optimistic protocol wherethe third party does not partici-pate in the verification does not exist (Theorem 2). If the third party only receives messages,these messages do not change the outputs of the signatories or the result of a subsequentverification becauseT does not participate in “show” and can be omitted. Therefore, thethird party first receives some messages and then sends some.Any protocol where oneof the signatories sends no messages contradicts the unforgeability requirement since theoutcome will be independent of the contract input by this participant. If, on the other hand,a signatory does not receive any messages, the output of thissignatory is independent ofthe contract input by the other signatory which contradictsour requirements, too.

Thus each of the three players send and receive one message each, and there are onlythree messages. Therefore, these messages are sent in a circle whereT does not sendthe initial message and does not receive the last message, i.e., (A, B, T, A) or (A, T,B, A). In both cases,B must outputsigned after receiving its only message. By theverifiability requirement,B will then also produce an outputsigned at the verifier byshowing this message. MoreoverA may start recovery before anyone got a message fromB, thus afterA received awakeup, A andT must be able to decide and recover locally(similar to Lemma 4). If this recovery leads to an outputsigned toA, it will contradict theunforgeability requirement forB, becauseTmakes this decision without any input fromB.If they recover torejected, it contradicts the “No Surprises”- requirement forA becauseB has already received a valid contract.

To prove that no protocol in time 1 exists, we assume there were such a protocol. Inthis protocol, the messages from the third party cannot depend on the contract, whereasthe messages to the third party will not change the outcome ofa subsequent verificationsince we do not allow 3-party verification. Therefore, thesemessages can be omitted. Theresulting protocol would be a two-message protocol, and we have already shown that thosedo not exist.

7 An Optimal Synchronous Scheme with Three-Party Ver-ification

We will now give a precise description of the synchronous contract signing scheme sketchedin [Even 83] and prove its correctness and its optimality. The scheme requires two mes-sages in only one round. The underlying idea is that both sendtheir contract and “noanswer” means agreement. The optimistic behavior is depicted in Figure 15. The behaviorof the signatories is depicted in Figure 16. The third party is depicted in Figure 17.

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 22

SignatoryA SignatoryBm1A m1B�����9XXXXXzok: signedelse: “resolve”

ok: signedelse: “resolve”

Figure 15: Optimistic Behavior of the Message-Optimal Synchronous Scheme 5 based onSignature Revocation.

Startsign/m1A

m1B /signed

SA

signed*/(m1A, m1B)

¬ m1B / m2A

RAm5 /signed

rejectedm'5 /rejected

m'3 /rejected m3 /signedm3A / m4A

Figure 16: Signatory, e.g.,A, of Scheme 5.

Scheme 5 (Scheme from [Even 83])This scheme consists of the triple(A;B;V) and a third partyT of interactive probabilisticmachines which are able to execute the protocols defined as follows:

Contract Signing (Protocol “sign”; Figure 15): On input(sign; CA; tid), each signa-tory, sayA, sends its contractm1A :=sigA(CA) to the other signatory in the first round.If a signatory receivesm1B with the same contract from the peer, it outputs(signed;C; tid). Else, it starts “resolve”.

Recovery from Exceptions (Sub-Protocol “resolve”): One signatory, say playerA, starts“resolve” in Round 2:A sends a messagem2A := sigA(m1A) to the third party.

If the third party receives messagesm2A andm2B from both players in Round 2 itforwards them asm3 = sigT(m1A;m1B) or m03 := sigT(revoke) to both playersdepending on whether the contained contracts were identical or not. Both players thenoutput(signed; C; tid ) if they receivedm3 and(rejected; tid) if they receivedm03.If the third party receives only one recovery request, say messagem2A from A, thismessage containsA’s alleged partm01A of the contract. The third party forwards thismessage in Round 3 asm3B := sigT(m2A) to B. PlayerB then resends the contractit has received in messagem4B := sigB(m1A;m1B) to T who forwards it inm5 =sigT(m1A;m1B) to A who will output (signed; C; tid). If a dishonestB does notanswer,T revokesA’s signature contained inm1A by sending a revocation messagem05 := sigT(revoke) toA who will output(rejected; tid).Note that messagem1A contained inm4B may be different from the messagem01Acontained inm2A. In this case, an incorrectA sent a wrong recovery requestm2A andthe containedm01A is just ignored.

Verification of a Contract (Protocol “show”): On input(show; tid), a signatory, sayA,looks up(m1A; m1B) and sends it to the verifier. The verifier forwards the contractto T. If T does not resend a revocation messagem03 or m05 in the next round, theverifier outputs(signed; C; tid) and(rejected; tid) else.2Note that if both signatories as well as the third party participate in the verification (i.e.,

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 23

Start(m2A, ¬m2B) /m3B

RA

* / m5* / m3

* / m'5

signed

* / m'3

(¬m2A, m2B) /m3A

m4B / m5

revoked

¬m4B/ m'5

(m2A, m2B, CA=CB) /m3

(m2A, m2B, CA≠CB) /m'3

RB

m4A / m5

¬m4A/ m'5

Figure 17: Third PartyT of Scheme 5.

an even weaker model), one may make this scheme optimistic: The non-showing party mayshow a different signed message if the showing party cheats.

Lemma 6 (Security of Scheme 5)Scheme 5 is a synchronous fair contract signing scheme with three-party verification whichis optimistic on agreement.3Proof of Lemma 6:The scheme adheres to the modified Definition 4 by construction. Wenow show that each of the requirements described in Definitions 3 and 6 are fulfilled:

Correct Execution:If both correct playersA andB input (sign; C; tid) with identicaltid andC, then both receive a valid contract and output(signed; C; tid). If both inputdifferent contracts, both will start resolve after Round 1 and the third party will sendm03 to both signatories who will then output(rejected; tid).

Unforgeability of Contracts:In order to convince a correct verifierV for a giventid , oneneeds(m1A;m1B). A correct signatory, sayA, will not sendm1 without the input(sign; C; tid ).

Verifiability of Valid Contracts:If a correct playerA outputs(signed; C; tid) then it hasreceivedm1B and producedm1A or else receivedm3 or m5 containing(m1A; m1B)with identical contract texts. This will be accepted by the verifier if this tid was notrevoked. Now assume that a correctT sent a revocation tokenm03 orm05 for this tid . Ifthe token ism03 (both parties started recovery), eitherT was incorrect since it sentm03andm3 or m5 or elseA was incorrect since it startedresolve after a outputsigned.If the token wasm05 (one party started recovery), eitherA or B did not answer. If acorrect playerA outputsigned, it would answer. IfB did not answer,A would nothave outputsigned.

No Surprises with Invalid Contracts:If an correct signatoryA outputrejected on in-put (sign; C; tid), it has receivedm03 or m05 which will be resent by the third partyto the verifier during the verification protocol. Therefore,the verifier will decide onrejected, too.

Termination on Synchronous Network:The scheme requires at most 5 rounds (1 in “sign”and 4 in “resolve”) to terminate.

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 24

Optimistic on Agreement:If two correct signatories input(sign; C; tid), the protocoloutputs(signed; C; tid) to both participants after round 1 without contacting the thirdparty.

Theorem 6 (Optimality of Scheme 5)In the synchronous model with state-keeping third party, there exists no contract signingscheme with three-party verification and a “sign”–protocol with less than two messagesin case of agreement.3Proof of Theorem 6: If an optimistic 1-message protocol exists, one party does not sendany message. Therefore, the third party and the sender of thesingle message are able toconvince a verifier which contradicts the unforgeability requirement for the recipient of thissingle message.

8 A Optimal Asynchronous Scheme with Three-Party Ver-ification

We now describe an asynchronous version of the optimistic Scheme 1. This scheme canonly be made asynchronous by allowing three-party verifications. The individual machinesof the players are depicted in Figures 19, 21, and 20.

Scheme 6 (Message-Optimal Synchronous)This scheme consists of the triple(A;B;V) andT of interactive probabilistic machineswhich are able to execute the protocols defined as follows:

Contract Signing (Protocol “sign”; Figure 18): On input (sign; CA; tid), the signa-tory A initiates the protocol by sending the signed messagem1 := sigA(CA) withcontractCA to the responding signatoryB. B receives the input(sign; CB ; tid) andmessagem1 and verifies whether the received contract textCA is identical to the inputcontract textCB . If not or if wakeup is input beforem1 is received, the players disagreeabout the contract andB returns(rejected; tid). Else, it signs the received messageand sends it asm2 := sigB(m1) toA. If it receivedm2, A then signs the received mes-sage again, sends it asm3 := sigA(m2) back and outputs(signed; C; tid ). On receiptof messagem3, B outputs(signed; C; tid ) as well. After a successful execution ofthis optimistic protocol,A andB storem3 under thetid for later use in a verificationprotocol.

If A gets an inputwakeup before receiving messagem2, it starts “resolve1” to abortthe protocol. IfB did not receive messagem3, it may be thatA nevertheless was ableto compute a valid contractm3 after receivingm2. ThereforeB starts the “resolve2”-protocol to invoke the third party to guarantee fairness.

Recovery from Exceptions (Sub-Protocol “resolve1”): To start this recovery protocol,A sends the messagem4A := sigA(abort) to T. If the third party made a decisionbefore, it resends the decision. If the third party is in itsstart-state, it changes totheaborted state and acknowledges this toA by sendingm5 := sigT(aborted). If Areceivesm5, it outputs(rejected; tid). If A receivesm05, it outputs(signed; C; tid ).

Recovery from Exceptions (Sub-Protocol “resolve2”): First,B sendsm4B :=sigB(m2)containingm1 andm2 to the third partyT. If the protocol was aborted, the thirdparty resendsm5. Else, it sends an affidavitm05 := sigT(m2) to B and changes tothesigned–state. IfB receivesm05, it outputs(signed; C; tid ). If it receivesm5, itoutputs(rejected; tid).

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 25

SignatoryA SignatoryBm1XXXXXznot ok orwakeup:rejectedm2�����9

not ok orwakeup:“resolve1”

elsesigned. m3XXXXXznot ok orwakeup:

“resolve2”elsesigned.

Figure 18: Optimistic Behavior of the Message-Optimal Synchronous Scheme 6.

Startsign/m1 m2 /m3SA signed

wakeup / m4A

RA

m'5/signed

rejected

m5/rejected

show/mA

Figure 19: SignatoryA of Scheme 6.

Verification of a Contract (Protocol “show”): On input(show; tid), signatoryA looksupm2 and sends it asmA := sigA(m2) to the verifier. The verifier then forwards thismessage to the third party. If the third party resends an abort messagem5, the verifieroutputsrejected. If the third party answers withm05, it outputssigned.

SignatoryB on the other hand either looks upm05 orm3 signs it and and sends it to theverifier. If the verifier receives a correct message, it outputs signed andrejected,else.2

Note thatm3 is a valid contract forB in any case whereas it need not be a valid contractfor A if it aborted the protocol.

Lemma 7 (Security of Scheme 6)Scheme 6 is a asynchronous fair contract signing scheme withthree-party verificationwhich is optimistic on agreement.3Proof of Lemma 7: The scheme adheres to Definition 4 by construction. We now showthat each of the requirements described in Definitions 3 and 6are fulfilled:

Correct Execution:If both correct playersA andB input (sign; C; tid) with identicaltid andC, then both receive a valid contractm3 and output(signed; C; tid). If thecontracts ortid ’s differ and a signatory, sayA, inputswakeup, this player will startresolve by sendingm4A and will output(rejected; tid) after receivingm5.

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 26

m1/m2SB1

rejected

SB2

wakeup/m4B

RB

CA≠CB or wakeup /

rejected

m3/signed signed

m'5/signed

rejected

m'5/rejected

show/m3 or m'5

sign/Start

Figure 20: SignatoryB of Scheme 6.

signedaborted Start

* /m'5* /m5

m4A / m5 m4B / m'5

mA / m'5

Figure 21: Third PartyT of Scheme 6.

Unforgeability of Contracts:In order to convince a correct verifierV for a giventid ,one needs correct messagesm3 or m05 for this tid . Sincem3 as well asm05 containsignatures from both participants, a correct signatory input (sign; C; tid ).

Verifiability of Valid Contracts:If a correct signatoryA outputs(signed; C; tid) then itreceivedm2 or m05 from which it can extractm2 which is a valid contract if the thirdparty does not resendm5. If m05 has been received and the third party resendsm5, thethird party is incorrect. Ifm2 has been received and a correct third party resendsm5,A is incorrect since it sentm4A while receivingm2. If B output(signed; C; tid), itreceivedm3 orm05 which will be accepted by the verifier in any case.

No Surprises with Invalid Contracts:Let us first assume that a correct signatoryA re-turnedrejected on input(sign; C; tid) whereasB is able to convince the verifier.This requires thatB knowsm3 or m05 for the giventid andC. SinceA returnedrejected, it executed “resolve1” receivingm5. Thus,B did not receivem05 fromthe correctT. If B receivedm3, A was incorrect since it sentm3 while executing“resolve1”.If B returnedrejected whereasA is able to convince a verifier,A knowsmA whichcontainsm2. Therefore,B outputrejected after receivingm5 during “resolve2”and this decision will be resent during recovery and a correct verifier will decide onrejected.

Termination on Asynchronous Network:The scheme requires at most time 2 after an in-putwakeup.

Optimistic on Agreement on Asynchronous Network:If two correct signatories input(sign;C; tid) and both agree, signatoryA outputs(signed; C; tid) after time 2 and playerBafter time 3.

Theorem 7 (Optimality of Scheme 6)There exists no asynchronous optimistic contract signing scheme with three-party verifica-tion with a “sign”–protocol with less than three messages in case of agreement and every

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 27

three-message protocol requires at least time 3.3Proof of Theorem 7: If we assume that there would be a two-message asynchronousoptimistic “sign”–protocol, unforgeability requires that each signatory sends one of thesemessages. Furthermore, each of these messages must be a valid contract if the signaturesfor the giventid have not been revoked. Optimism requires that if this singlemessage isreceived correctly and the signatories agree, this signatory outputssigned.

Let us assume that one signatory receiveswakeup after sending its message but beforereceiving the message from the peer. If this is the first request toT for thistid , this signatoryis required to recover with the third party torejected in order to guarantee unforgeability.But this contradicts the no-surprises requirement since the other signatory already outputsigned.

Let us assume that there would be an optimistic “sign”–protocol with three messagesin two rounds. Then this can be used to construct a two-message protocol by shovingmessages like in the proof of Theorem 3 but such a two-messageprotocol does not exist.

9 Conclusion

We described new and existing protocols for fair contract signing on synchronous and asyn-chronous networks. We have proven tight bounds for different network and contract signingmodels.

One conclusion is that in practice, optimistic protocols should be better for most ap-plications since a high percentage of faulty protocol executions seems unlikely. Optimisticprotocols have practical advantages such as a higher availability and more privacy againstthe third party, which requires additional effort (see, e.g., [FrRe 97]) for in-line protocols.

10 Acknowledgment

The authors would like to thank Hans-Jurgen Guth for helpful discussions about the prob-lem of the half-sold house and N. Asokan for valuable comments about timing of asyn-chronous protocols. This work was partially supported by the ACTS SEMPER project<www.semper.org>; however, it represents the view of the authors only.

References

[AsSW2 96] N. Asokan, Matthias Schunter, Michael Waidner: Optimistic Protocols forMulti-Party Fair Exchange; IBM Research Report RZ 2892, IBMZurichResearch Laboratory, Zurich, November 1996.

[AsSW 97] N. Asokan, Matthias Schunter, Michael Waidner: Optimistic Protocols forFair Exchange; 4th ACM Conference on Computer and CommunicationsSecurity, Zurich, April 1997, 6-17.

[AsSW3 97] N. Asokan, Victor Shoup, Michael Waidner: Asynchronous Protocols forOptimistic Fair Exchange; IBM Research Report RZ 2976, IBM Zurich Re-search Laboratory, Zurich, November 1997.

[BGMR 90] M. Ben-Or, O. Goldreich, S. Micali, R. L. Rivest: A Fair Protocol for Sign-ing Contracts; IEEE Transactions on Information Theory 36/1 (1990) 40-46.

[Blum 81] Manuel Blum: Three Applications of the Oblivious Transfer; Version 2:September 18, 1981, Department of Electrical Engineering and ComputerSciences, University of California at Berkeley, Berkley, Ca. 94720.

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 28

[Blu2 83] Manuel Blum: How to Exchange (Secret) Keys; ACM Transactions onComputer Systems 1/2 (1983) 175-193.

[BuPf 89] Holger Burk, Andreas Pfitzmann: Digital PaymentSystems Enabling Secu-rity and Unobservability; Computers & Security 8/5 (1989) 399-416.

[BuPf 90] Holger Burk, Andreas Pfitzmann: Value Exchange Systems Enabling Secu-rity and Unobservability; Computers & Security 9/8 (1990) 715-721.

[Damg 95] Ivan Bjerre Damgard: Practical and Provably Secure Release of a Secret andExchange of Signatures; Journal of Cryptology 8/4 (1995) 201-222.

[Even 83] Shimon Even: A Protocol for Signing Contracts; ACMSIGACT News 15/1(1983) 34-39.

[EvGL 85] Shimon Even, Oded Goldreich, Abraham Lempel: A Randomized Protocolfor Signing Contracts; Communications of the ACM 28/6 (1985) 637-647.

[EvYa 80] Shimon Even, Yacov Yacobi: Relations Among PublicKey Signature Sys-tems; Technical Report Nr. 175, March 1980, Computer Science Depart-ment, Technion, Haifa, Israel.

[FrRe 97] Matthew K. Franklin, Michael K. Reiter: Fair Exchange with a Semi-Trusted Third Party; 4th ACM Conference on Computer and Communica-tions Security, Zurich, April 1997, ACM Press, New York 1997, 1-5.

[Gold 83] Oded Goldreich: A simple protocol for signing contracts; Crypto ’83,Plenum Press, New York 1984, 133-136.

[GoMR 88] Shafi Goldwasser, Silvio Micali, Ronald L. Rivest:A Digital SignatureScheme Secure Against Adaptive Chosen-Message Attacks; SIAM Journalon Computing 17/2 (1988) 281-308.

[Gong2 95] Li Gong: Efficient Network Authentication Protocols: Lower Bounds andOptimal Implementations; Distributed Computing 9/3 (1995) 131-145.

[Lamp 78] Leslie Lamport: Time, Clocks, and the Ordering of Events in a DistributedSystem; Communications of the ACM 21/7 (1978) 558-565.

[Lync 96] Nancy A. Lynch: Distributed Algorithms; Morgan Kaufmann, San Fran-cisco 1996.

[Mica 97] Silvio Micali: Certified E-Mail with Invisible Post Offices - or - A Low-Cost, Low-Congestion, and Low-Liability Certified E-Mail System; pre-sented at RSA 97; sent by S. Micali to Asokan and M. Schunter, May 2,1997.

[PeSL 80] Marshall Pease, Robert Shostak, Leslie Lamport: Reaching Agreement inthe Presence of Faults; Journal of the ACM 27/2 (1980) 228-234.

[PfSW 98] Birgit Pfitzmann, Matthias Schunter, Michael Waidner: Optimal Efficiencyof Optimistic Contract Signing; to appear at 17th Symposiumon Principlesof Distributed Computing (PODC), ACM, New York 1998.

[RSA 78] R. L. Rivest, A. Shamir, L. Adleman: A Method for Obtaining Digital Sig-natures and Public-Key Cryptosystems; Communications of the ACM 21/2(1978) 120-126, reprinted: 26/1 (1983) 96-99.

[SiKS 97] A. Silberschatz, H. Korth, S. Sudarshan: Databasesystem concepts.McGraw-Hill, 1997.

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal

Optimal Efficiency of Optimistic Contract Signing 29

[Tel 91] Tel, Gerard: Topics in Distributed Algorithms. Cambridge University Press,Cambridge 1991.

[ZhGo 97] Jianying Zhou, Dieter Gollmann: An Efficient Non-repudiation Protocol;10th Computer Security Foundations Workshop, IEEE Computer SocietyPress, Los Alamitos 1997, 126-132.

SEMPER Document 434SR011/Draft/04/20/98/SEMPER internal


Recommended