GAF: a General Auction Framework for Secure Combinatorial Auctions
Total Page:16
File Type:pdf, Size:1020Kb
GAF: A General Auction Framework for Secure Combinatorial Auctions by Wayne Thomson A thesis submitted to the Victoria University of Wellington in fulfilment of the requirements for the degree of Master of Science in Computer Science. Victoria University of Wellington 2013 Abstract Auctions are an economic mechanism for allocating goods to interested parties. There are many methods, each of which is an Auction Protocol. Some protocols are relatively simple such as English and Dutch auctions, but there are also more complicated auctions, for example combinatorial auctions which sell multiple goods at a time, and secure auctions which incorporate security solutions. Corresponding to the large number of pro- tocols, there is a variety of purposes for which protocols are used. Each protocol has different properties and they differ between how applicable they are to a particular domain. In this thesis, the protocols explored are privacy preserving secure com- binatorial auctions which are particularly well suited to our target domain of computational grid system resource allocation. In grid resource alloca- tion systems, goods are best sold in sets as bidders value different sets of goods differently. For example, when purchasing CPU cycles, memory is also required but a bidder may additionally require network bandwidth. In untrusted distributed systems such as a publicly accessible grid, secu- rity properties are paramount. The type of secure combinatorial auction protocols explored in this thesis are privacy preserving protocols which hide the bid values of losing bidder’s bids. These protocols allow bidders to place bids without fear of private information being leaked. With the large number of permutations of different protocols and con- figurations, it is difficult to manage the idiosyncrasies of many different protocol implementations within an individual application. This thesis proposes a specification, design, and implementation for a General Auc- tion Framework (GAF). GAF provides a consistent method of implement- ing different types of auction protocols from the standard English auction through to the more complicated combinatorial and secure auctions. The benefit of using GAF is the ability to easily leverage multiple protocols within a single application due to the consistent specification of protocol construction. The framework has be tested with three different protocols: the Secure Polynomial auction protocol, the Secure Homomorphic auction protocol and the Secure Garbled Circuits auction protocol. These three protocols and a statistics collecting application is a proof of concept for the frame- work and provides the beginning of an analysis designed at determining suitable protocol candidates for grid systems. Acknowledgments There are several people who I need to acknowledge who have helped me in a variety of ways while working on this thesis. My family who pro- vided both moral and financial support, and who listened to me patiently while I tried to explain something which sounded meaningless. My super- visors: Kris Bubendorfer and Ian Welch who provided plenty of insight, support and guidance. The members of the distributed systems research group who I have worked with closely over the last few years. The sci- ence faculty, especially Celia Simpson who put up with my complicated enrollment due to my marriage and other working commitments. Finally and most importantly my wife Zakiah who puts up with a lot, especially my grumpyness when I am tired from too much work or study. iii iv Contents 1 Introduction 1 1.1 Objectives . 2 1.2 Contributions . 2 1.3 Thesis Organisation . 3 2 Related Work 5 2.1 Auctions . 5 2.1.1 Combinatorial Auctions . 6 2.1.2 The Winner Determination Problem (WDP) . 6 2.1.3 Auction Protocols . 8 2.1.4 Auction Rules . 11 2.1.5 Bidding Languages . 14 2.1.6 Auction Security . 16 2.1.7 Secure Auctions and Trust . 18 2.1.8 Secure Combinatorial Auctions . 19 2.1.9 Combinatorial Auction Implementation . 23 2.2 Framework Design . 25 2.2.1 Domain Analysis for Frameworks . 26 2.2.2 Framework Development . 27 2.2.3 Framework Types . 28 2.2.4 Hotspot Dependencies . 28 v vi CONTENTS 3 Introduction to GAF 31 3.1 Auction Protocols . 31 3.1.1 An English Auction . 32 3.1.2 A Sealed Bid Auction . 34 3.1.3 A Combinatorial Auction with a Directed Graph . 36 3.2 Dynamic Programming for Combinatorial Auctions . 39 3.2.1 Edge Traceback . 40 3.2.2 Secure Dynamic Programming . 41 3.2.3 Graph Generation . 41 3.3 An Introduction to GAF . 43 4 Secure Combinatorial Auction Protocols 47 4.1 Case Study One: Polynomial Auction Protocol . 48 4.1.1 Protocol Description . 48 4.2 Case Study Two: Homomorphic Auction Protocol . 55 4.2.1 Vector Preliminaries . 56 4.2.2 Protocol Description . 58 4.3 Case Study Three: Garbled Circuits Auction Protocol . 61 4.4 Secure Auction Protocol Limitations . 62 4.4.1 Bid Scaleability . 62 4.4.2 Polynomial Threshold Property . 63 4.4.3 GVA Pricing . 66 4.4.4 Bidder Preferences . 67 4.4.5 Additional Protocol Extensions . 68 5 GAF Specification 71 5.1 Framework Design Methodology used in this Thesis . 72 5.2 Framework Requirements . 77 5.2.1 Definitions . 78 5.2.2 Requirements . 79 5.3 Domain Knowledge Model . 82 CONTENTS vii 5.4 Hotspots . 87 5.4.1 Hotspot Specification . 87 5.4.2 Hotspot Subsystems . 88 5.4.3 Hotspot Dependencies . 88 5.5 System Architecture . 88 5.6 High Level Design . 91 5.6.1 Auction Phases and Events . 91 5.6.2 Participant Communication . 92 5.6.3 Framework Participants . 92 5.6.4 Frozen Spots . 95 6 Implementation 99 6.1 GAF Implementation Design . 100 6.1.1 Object Model . 100 6.1.2 Design Patterns . 108 6.2 Auction Protocol Implementation . 109 6.2.1 Case Study One: Polynomial Auction Protocol . 109 6.2.2 Case Study Two: Homomorphic Auction Protocol . 112 6.2.3 Case Study Three: Garbled Circuit Auction Protocol . 113 6.3 AuctionComposer Design and Implementation . 113 6.3.1 AuctionComposer Applications . 114 7 Evaluation 119 7.1 Framework Evaluation . 119 7.1.1 Framework Overhead . 119 7.1.2 Framework Usability . 121 7.1.3 Framework Security . 123 7.2 Protocol Evaluation . 124 7.2.1 Case study one: Polynomial Auction Protocol . 126 7.2.2 Case study two: Homomorphic Auction Protocol . 136 7.2.3 Case study three: Garbled Circuits Auction Protocol . 141 7.3 Protocol Comparison . 144 viii CONTENTS 8 Conclusion and Future Work 147 8.1 Conclusion . 147 8.1.1 Contributions . 147 8.2 Future Work . 149 8.2.1 GAF . 149 8.2.2 Auction Protocol Development . 149 8.2.3 Auction Protocol Evaluation . 150 8.2.4 AuctionComposer . 151 8.2.5 Summary . 151 Appendices 155 A GAF Auction Resource Use Cases 155 B Full GAF Hotspot Specification 163 C Garbled Circuit Performance Results 173 Chapter 1 Introduction Auctions are an economic mechanism for allocating goods to interested parties. In a standard auction a single good is allocated to a single bidder, but there are more complex auction types such as combinatorial auctions, where a set of goods is allocated between multiple bidders. Each type of auction is called an auction protocol and there are many, including a large number for performing combinatorial auctions. All of the protocols implemented for this thesis are combinatorial auctions, as they are better suited to our target domain. Auctions are used to distribute resources for many applications, in- cluding selling household goods, cars, allocating trucking and bus routes, airport takeoff and landing slots, frequency spectrums and grid comput- ing. Grid computing is the use of distributed networks for the purpose of resource sharing [21]. Grid systems are platforms which allow applica- tions to engage in grid computing. For grid systems, combinatorial auc- tions are a good solution for resource allocation, as resources such as mem- ory, bandwidth, or storage may have an individual value but subsets of goods may have different values for different bidders. One such system is Nomad [9]: a middle-ware framework in which distributed applications are divided into a series of mobile agents. A marketplace within Nomad uses combinatorial auctions to distribute resources between agents at run- 1 2 CHAPTER 1. INTRODUCTION time. One major concern with using auctions in an environment without a trusted party is that public information can be abused for competitive advantage [12]. Although there are a variety of different protocols using embedded security, it is the special case of privacy preserving combinato- rial auctions with bid hiding which are used to solve this issue. GAF (General Auction Framework) is a framework designed for the development of consistent auction protocols. This thesis develops the de- sign of GAF, and describes a proof of concept prototype. The prototype is used to implement three privacy preserving auction protocols and an application for analysing them. These three protocols provide case studies for the framework but are also potential solutions for grid system resource allocation. 1.1 Objectives The primary objective of this project is to develop a framework for con- sistent auction protocol development. The framework will offer services to two developer types: protocol developers who build auction protocols within GAF, and application developers which use a GAF implementa- tion to leverage implemented protocols. It is important to show that GAF is useful from both perspectives and therefore three secure combinatorial auction protocols are implemented within GAF, and also a GAF imple- mentation included within a protocol statistics gathering tool. The data gathered on the different protocols will be analysed and compared for fu- ture discussion on compatibility with grid systems. 1.2 Contributions 1. This thesis develops a specification and design of an auction frame- work called General Auction Framework (GAF) for the structured development of auctions protocols and applications.