This application relates in general to electronic commerce and, in particular, to a system and method for providing private demand-driven pricing.
E-commerce includes the sale and licensing of digital goods through online marketplaces provided over private and publicly available networks, such as the Internet. Some classes of digital goods, such as music, videos, and other forms of entertainment content; news and information; and various types of electronically-stored data, can be sold in unrestricted quantities without incurring changing marginal costs. Other classes of digital goods, such as software or services, generally entail changing supply or other marginal costs due to support or related post-sale needs. Moreover, different types of digital goods can have different supply or marginal costs and, as a result, each unique digital good must be priced separately as a function of those costs and customer demand.
Purchasing, when performed online, requires a secure electronic interchange between e-commerce customer and vendor, either directly or through an intermediary. E-commerce customers expect a reasonable level of security when providing authorization to debit their bank accounts or to access other forms of electronic payment. Additionally, customers are becoming increasingly concerned about their personal privacy. The nature of the goods, for instance, might be personal or sensitive, or the customers might be averse to the collection of personal data or shopping histories, particularly when such information might be provided to third parties. E-commerce vendors rely on trusted infrastructures to both ensure that the customers have funds available to make online purchases and that those funds are reliably received following each purchase.
Pragmatically, online vendors must also ensure that they both earn revenue and meet constraints on the costs of supplying digital goods. Demand-driven pricing allows online vendors to make price changes when necessary. Generally, online vendors seek to maximize revenue for goods with fixed costs, but need to adjust prices for goods with variable supply or marginal costs.
Conventional non-private online marketplaces work well with fixed cost digital goods by allowing prices to freely fluctuate with demand. Prices can rise when demand is high, and fall when demand is low. Such demand-driven price fluctuations occur independently of the vendor and, hopefully, the pricing eventually approaches an optimal level, given costs and demand. Non-private online marketplaces, however, afford no privacy to customers, whose personal data, such as demographics, shopping habits, and preferences, and shopping histories are exposed for potential unauthorized collection and exploitation.
In contrast, conventional private online marketplaces protect customer privacy, but neglect vendor needs. One approach that conceals the types of goods purchased is described in W. Aiello et al., “Priced Oblivious Transfer: How to Sell Digital Goods,” Ad. in Crypt.—Eurocrypt '01 (2001), the disclosure of which is incorporated by reference. Aiello discloses that vendors can store encrypted prices to enable customers to privately transact purchases. However, vendors are unable to track and adjust the price of goods in response to customer demand.
Finally, conventional anonymous online shopping introduces a surrogate agent to transact purchases on behalf of each customer under a pseudonym. However, the pseudonyms can be reused, either out of convenience or expediency, which enables vendors to discover customers' shopping histories. Further shortcomings of anonymous online shopping are described in R. Clayton et al., “Real World Patterns Of Failure in Anonymity Systems,” Proc. of Info. Hiding 2001 (2001), the disclosure of which is incorporated by reference.
Therefore, a need exists for providing private online purchasing that dynamically drives pricing towards a revenue maximizing point for fixed cost digital goods, while allowing customers to buy the goods privately, that is, without the vendor learning which digital good was purchased.
A further need exists for providing private online purchasing that dynamically drives prices for variable-cost digital goods to a point that corresponds to a target supply or marginal cost level.
A system and method for providing private demand-driven pricing are described. In one embodiment, a private online shopping protocol for digital goods offered at a single price with fixed supply costs is provided. In a further embodiment, a private online shopping protocol for digital goods offered at different prices with variable supply costs is provided. Both protocols require two stages, initialization and shopping. The initialization stage is performed only once prior to any purchasing activities. The shopping stage is performed in three phases, pricing, purchasing, and updating. During the pricing phase, an online buyer learns the price of a digital good. Based on the current price of the digital good, the online buyer can decide whether to purchase and, depending upon the protocol, may engage in the purchasing phase, even if the online buyer does not desire to actually buy the digital good at the offered price. Finally, during the updating phase, the online seller updates the encrypted balance of the online buyer's account and the encrypted prices of the digital goods. The seller cannot compromise the buyer's privacy and the buyer cannot compromise the seller's privacy by obtaining goods for which the buyer has not paid the correct price.
One embodiment provides a system and method for private fixed cost digital goods pricing. An encrypted price is experimentally perturbed for identically-priced digital goods. An approximate revenue maximizing price has not been realized for the digital goods. A purchasing decision about a particular digital good is provided in response to the perturbed encrypted price without revealing the particular digital good. The original encrypted price of the digital goods is privately updated to approach the approximate revenue maximizing price.
A further embodiment provides a system and method for private variable cost digital goods pricing. An encrypted price is experimentally perturbed for non-identically-priced digital goods. A desired marginal pricing level has not been realized for at least one of the digital goods. A purchasing decision about a particular digital good is provided in response to the perturbed encrypted price without revealing the particular digital good. The original encrypted price of the particular digital good is privately updated as a reflection of the desired marginal pricing level.
A further embodiment provides a system and method for providing private demand-driven pricing for fixed cost digital goods. An encrypted price of identically-priced digital goods is additively perturbed. The digital goods are stored in a database by a seller system and an approximate revenue maximizing price for the digital goods has not been realized. A purchasing decision about one of the digital goods based upon the additively-perturbed price is sent from a purchaser system to the seller system without revealing the particular digital good. A conditionally disclosed symmetric key is received in return under which the digital goods in the database have been encrypted. The purchaser system and seller system engage in symmetric private information retrieval on the database. The purchaser system decrypts the digital good purchased with the symmetric key. The seller system privately updates the encrypted price of the digital goods to close on the approximate revenue maximizing price whenever a purchase is made.
A further embodiment provides a system and method for providing private demand-driven pricing for variable cost digital goods that are uniquely priced. A table includes public key encryptions of prices for digital goods stored in a database by a seller system. A desired marginal pricing level has not been realized for at least one of the digital goods. A purchaser system and the seller system engage in symmetric private information retrieval on the table. The price of one of the digital goods is decrypted with a private key for pricing by the purchaser system. The purchaser system sends a purchasing decision about one of the digital goods based upon the decrypted price to the seller system without revealing the particular digital good being purchased. A conditionally disclosed symmetric key for goods is received in return under which the digital goods in the database have been encrypted. The purchaser system and seller system engage in symmetric private information retrieval on the database. The purchaser system decrypts the digital good purchased with the symmetric key for goods. The seller system privately updates the encrypted prices of the digital goods based upon the desired marginal pricing level.
Still other embodiments of the present invention will become readily apparent to those skilled in the art from the following detailed description, wherein are described embodiments by way of illustrating the best mode contemplated for carrying out the invention. As will be realized, the invention is capable of other and different embodiments and its several details are capable of modifications in various obvious respects, all without departing from the spirit and the scope of the present invention. Accordingly, the drawings and detailed description are to be regarded as illustrative in nature and not as restrictive.
As described herein, electronic commerce (e-commerce) refers to the pricing and purchasing, licensing, or other types of acquisitions of digital goods through an online marketplace. Additionally, the terms “server,” “seller,” “vendor,” and “offeror” refer to the system that is selling the digital goods online and “client,” “buyer,” “purchaser,” and “offeree” refer to the system that is obtaining the digital goods. These terms are used interchangeably and, unless otherwise noted, have similar meanings.
At a minimum, an e-commerce marketplace requires a seller system, a buyer system, and an online infrastructure over which digital goods can be offered and purchased.
The e-commerce server 11 provides a virtual storefront for online sellers 14 of the digital goods 12. The digital goods 12 can include uniformly fixed-priced goods, whose marginal costs are negligible, thereby providing an essentially unlimited supply of goods. These types of goods include entertainment content and other types of electronically-stored data. The online seller's goal is to maximize revenue. The digital goods 12 can also include multiple, differently priced goods with varying supply costs. These goods include software that is distributed online, whereby support costs grow with number of purchases. The online seller's goal is to achieve a optimally-priced sales target that is a function of the supply costs. Other types of digital goods and forms of pricing are possible.
The online sellers 14 “advertise” their digital goods 12 via the catalog 13, which is published by the e-commerce server 11 and is available to any potential online buyer 16 through their client 15. The catalog 13 only lists the types of digital goods 12 offered and not their prices, which are provided one at-a-time upon online buyer request.
The online buyers 16 purchase digital goods 12 through a secure session transacted by their respective clients 15 with the e-commerce server 11, which provides trustworthy and reliable transaction processing. At a minimum, the e-commerce server 11 is aware of the available balance of funds available to the online buyer 16. The e-commerce server 11 is also able to collect payment for digital goods 12 purchased by debiting the price paid, even when the online seller 14 is unaware of what each online buyer 16 is purchasing, such as described in W. Aiello et al., Id.
Conventional approaches to providing e-commerce marketplaces fail to satisfactorily meet client privacy and vendor business needs.
Referring first to
Referring next to
Finally, referring to
Customer privacy can be assured while allowing the pricing of online goods to dynamically adjust to meet demand by applying e-commerce marketplace private information retrieval (PIR).
A first stage, initialization 51, is performed once before any purchasing takes place. Any public and secret information, such as public and secret keys for homomorphic encryption, are established and stored by the appropriate parties. In addition, an initial balance of funds is deposited into the online buyer's account.
A second stage, shopping 52, includes three phases. During the first phase, pricing 53, a potential online buyer learning the price of a digital good and decides whether to purchase. During the second phase, purchasing 54, the online buyer may engage in purchasing operations, depending upon the protocol, even if the online buyer does not desire to actually buy the digital good at the offered price. Finally, during the third phase, updating 55, the online seller updates the encrypted balance of the online buyer's account and the encrypted offered prices of the digital goods.
Private online purchasing is transacted under both protocols using a combination of partially homomorphic encryption and symmetric encryption.
Homomorphic Encryption
Encryptions and decryptions of a value x under a public key cryptosystem are respectively denoted by Epk(x) and Dsk(x). The form of public key cryptosystem used in the purchasing phase is both semantically secure and partially homomorphic, defining an operator +h for the addition of ciphertexts and an operator ×h for the multiplication of a ciphertext by a known constant.
Formally, the addition +h operator can be defined:
D
sk(Epk(a)+hEpk(b))=a+b
for all a, b in the plaintext domain of the encryption scheme. The multiplication ×h operator can be defined:
D
sk(c×hEpk(a))=ca
for cεZ, such that the result is in the plaintext domain of the encryption scheme.
Conditional Disclosure
Conditional disclosure ensures that secrets known to a server are disclosed to a requesting client if and only if certain conditions are met. A data value x is disclosed in the form x∥h(x), where h is a hash function defined:
where ε is so small as to be a negligible probability.
In practice, if the server has received Epk(y) from a client, the server can conditionally disclose (x∥h(x)) to the client if y=0 by choosing a uniformly distributed element r and using the homomorphic property of Epk(˜) to send Epk([x∥h(x)]+ry). The client can recover x and h(x) by decrypting the ciphertext, provided y=0.
The online seller is not allowed to compromise the online buyer's privacy and the online buyer is not allowed to compromise the online seller's privacy by obtaining digital goods for which he or she has not paid the correct price.
An intermediary translator can be interposed between an online seller and an online seller to enable cleartext communications by the online buyer.
Goods with generally fixed supply costs, such as music, videos, and other entertainment content, are frequently offered at one price for all types of digital goods and treated as being available to consumers in unlimited supply. With no marginal costs to affect sales volume, an online seller selling single-priced digital goods with fixed or marginal supply costs has an incentive to maximize revenue.
In one embodiment, a private online shopping protocol for digital goods offered at a single price with fixed supply costs is provided. Online buyer privacy is protected by encrypting each interaction or purchase. Thus, an online seller does not know whether online buyers are buying particular digital goods. As a result, the online seller is unable to discuss either the customer demand curve or where to set the offered price for the digital goods to maximize revenue. The protocol therefore allows price changes to occur as an artifact of each transaction by testing price increases without requiring online vendor knowledge of purchases to preserve client privacy. The protocol is performed in two stages, initialization and shopping, as described above with reference to
Initialization
Initialization is performed once before any shopping occurs.
Initially, the online buyer C establishes a public-private key pair by publishing a public key pk and keeping private a secret key sk (block 81). An online seller S holds a database of digital goods {Rm}m=1, . . . n and encrypts the single price used for initially offering the digital goods for sale ψi−1==Epk(qi−1) under the online buyer's public key pk (block 82). Additionally, the online seller S holds an encryption of the online buyers C's current balance βi−1=Epk(bi−1) (block 83). Other initialization operations are possible.
Shopping
The shopping stage includes pricing, purchasing, and updating phases. Both the online buyer C and the online seller S participate in pricing and purchasing phases, but only the online seller S performs updating phase.
Pricing
During the pricing phase, the online seller S attempts to maximize revenue by progressively increasing the price of digital goods offered “experimentally” through additive perturbation.
Initially, an online buyer C requests the price p of a digital good Rj from the online seller S, where jε[n] (block 91). The online seller S generates an additive perturbation δ, which is sampled from a fixed distribution with an expected value 0a, that is, having an expected value close to zero (block 92). Finally, the online seller S sends a homomorphic encryption of the additively perturbed offered price ψ′=Epk(p):=Epk(δ)+hψi-1 (block 93).
Although an online buyer C could request multiple prices in the hope of receiving a favorable perturbation, each perturbation is sufficiently small and a sufficiently large number of clients interact with the online seller C to frustrate attempts to gain an advantage through multiple price requests. Other pricing operations are possible.
Purchasing
During the purchasing phase, digital goods can be purchased by the online buyer C.
During the purchase of a digital good, the online seller C uses a purchasing indicator a that is homomorphically encrypted to signify the purchase of a digital good Rj for the offered price p. Initially, the online buyer C decides whether to purchase the digital good Rj (block 101) and sets the purchasing indicator a, such that a=0 indicates a purchase (block 102) and a=−p indicates no purchase (block 103). In both events, the online buyer C generates and sends a homomorphically encrypted triplet (block 104):
Upon receiving the homomorphically encrypted triplet, the online seller S chooses a random symmetric key k (block 105), where k←Gen(1k,), which is used to symmetrically encrypt the database records (block 107). The symmetric key k is conditionally disclosed to the online buyer C only if the decision is to purchase the digital good (block 107). The online seller S and the online buyer C engage in symmetric PIR on the encrypted database of digital goods (Enck(Rm))m=1, . . . ,n (block 108). The online buyer C will only have the symmetric key k if the digital good Rj are being purchased and the online buyer C can use the symmetric key k to decrypt the ciphertext in the database to obtain the digital good Rj, which is the purchased digital good (block 109). Other purchasing operations are possible.
Updating
During the updating phase, the online seller S updates the encrypted balance of the online buyer C's account and adjusts the price of the digital goods to approach an approximate revenue maximizing price.
The online seller S first determines a new encrypted balance of the online buyer C's account βi:=E(bi−1−(p+a))=βi−1+h−1×hψ′+ha (block 111). The new fixed price of the digital goods is determined as a function of the results of the additive perturbation of the last price offered. The online seller S determines an encryption of the new price ψi (block 112) as:
ψi−1:=ψ′i−1+hγ2+hγ1 if δ>0, or
ψi−1:=ψ′i−1+h(−1×hγ2)+h(−1×hγ1) if δ<0.
The new fixed price ψi only increases when a purchase has been made. However, the online seller S does not learn the new fixed price ψi, which eventually closes on the approximate revenue maximizing price. Other updating operations are possible.
Demand Curve
Additively perturbing the offered test price of fixed price digital goods by a constant tends to converge into a small neighborhood around a revenue-maximizing price, which can be empirically shown to be fairly stable over multiple client interactions.
By way of illustration, the additive perturbation can be set to
with a constant c=0.039062, and an additive perturbation δ=0.1. Using an initial price of 30, the demand function d(x) can be plotted on a curve 124 as the function. Over the course of several client interactions, the price converges to the revenue-maximizing price 124 of 20. Although merely illustrative, the empirically derived demand curve 124 evidences that a target revenue-maximizing price will likely result, even where the online seller S has no a prior knowledge of the price offered and a suboptimal constant additive perturbation is used.
Entertainment content and other forms of digital goods that can be purchased in volumes independently from supply or marginal costs are stable, which enables an online seller to maximize revenue as a function of demand. Conversely, software and other forms of digital goods that are subject to variable supply or marginal costs require a balancing against customer demand. For instance, the sale of software licenses generally entails providing post-purchase support, which can increase the supply costs as a function of sales volume. Consequently, greater demand entails higher supply costs.
In a further embodiment, a private online shopping protocol for digital goods offered at different prices with variable supply costs is provided. By additively perturbing the price of non-identically priced digital goods offered as a function of demand and periodically adjusting the perturbed price, an online seller can allow the prices to adjust to meet demand and costs for supplying those digital goods. The protocol is also performed in two stages, initialization and shopping, as described above with reference to
Initialization
Initializing is performed once prior to purchasing of any digital goods.
Initially, the online buyer C establishes a public-private key pair by publishing a public key pk and keeping private a secret key sk (block 131). An online seller S holds a database of digital goods {Rm}m=1, . . . ,n and encrypts the prices used for initially offering the each of the digital goods for sale (ψi−1)1, . . . , (ψi−1)n under the online buyer's public key pk (block 132). Additionally, the online seller S holds an encryption of the online buyers C's current balance βi−1=Epk(bi−1) (block 133). Other initialization operations are possible.
Shopping
The shopping stage includes pricing, purchasing, and updating phases. Both the online buyer C and the online seller S participate in pricing and purchasing phases, but only the online seller S performs updating phase. Additionally, the online buyer C's participation in the pricing and purchasing phases may terminate if no purchase of the digital goods is made.
Pricing
During the pricing phase, a single price XD is assigned for a given level of demand D desired by the online seller S, whereby d(xD)=D. Additionally, demand is assumed to be strictly monotonically decreasing as the price increases to reflect an assumption that the price reflects supply costs.
Initially, an online buyer C and an online seller S engage in symmetric PIR on a table of encrypted prices for the digital goods {(ψi−1)m}m=1, . . . n (block 141). The online buyer C learns the current price pj of a particular digital good Rj (block 142). The transaction is terminated (block 144) if the online buyer C does not desire to purchase (block 143). Otherwise, the transaction proceeds to the purchasing phase (block 145), described below with reference to
Purchasing
During the purchasing phase, the online buyer C conceals the particular digital good being purchased by communicating homomorphically encrypted prices for all of the digital goods.
To ensure that the online seller S does not learn any information from the purchasing phase, including the current price pj of the digital good Rj purchased, the online buyer C provide the price for that particular digital good as an encrypted value. Thus, the online buyer C sends a duplet to the online seller S that includes (block 151):
ψ′=Epk(Pj)
ζ1=Epk(j1), . . . , ζ1
where ψ′ is an encryption of the price pj of the digital good Rj being purchased and ζ1, . . . , ζ1
Updating
To assist the updating this with settling on an equilibrium price XD, a positive perturbation constant δa is added to the price of a digital good each time that the digital good is purchased. Demand at a particular price is measured over a fixed short time interval. At the end of the time interval, a positive additive for perturbation δs is subtracted from the price of the digital good. Eventually, the price will settle to the target price xD.
The online seller S first determines a new encrypted balance of the online buyer C's account βi:=E(bi−1−(p+a))=βi−1+h−1×hψ′+ha (block 161). The online seller then determines adjusted encryptions of the prices ψi,m for each digital good m, where (1≦m≦n) (block 162) in two steps. First, an encryption of a logical exclusive OR operation over the index m and j for each bit z is performed as:
v
m,z
:=:=E
pk((jr−mr)2)=ζz+hEpk(mz)+h(−2mz)×hζr
where (1≦z≦lG) and lG is the number of bits in the index. Second, an encryption of each adjusted price is performed as:
ψi,m:=ψi−1,m+hδa,1×hvm,1+hδa,2×hvm,2+h . . . +hδaJ
At the end of each time period (block 163), the prices for each digital good Rj are subtractively adjusted to pj:=pj−δs,j for j=1, . . . , n. The new fixed prices ψi,m increase as a reflection of the desired marginal pricing level. However, the online seller S does not learn the new fixed prices ψi,m. Other updating operations are possible.
While the invention has been particularly shown and described as referenced to the embodiments thereof, those skilled in the art will understand that the foregoing and other changes in form and detail may be made therein without departing from the spirit and scope.