(c) Verifies the ticket through ((g
r
i
)
h
k
(t
i
)
)
x
i
=?
(Y
k
i
)
r
i
. If there’s a problem, tell Auctioneer.
(d) Prepares his bid (T
i
,m
i
,V
i
) as defined below:
i. m
i
= (auction’s round number || bid’s value)
ii. Signs m
i
with Schnorr’s Signature of Knowl-
edge to assure anonymity: V
i
= (c,s)
where c = h(m
i
||(Y
k
i
)
r
i
||g
r
i
||(g
r
i
)
k
i
), s = z
i
−
c.h
k
(t
i
)x
i
mod q and z
i
∈ Z
q
.
(e) B
i
updates ”Bids” board with (T
i
,V
i
,m
i
). It’s
stored the tuple (T
i
,V
i
,m
i
,tim
i
) where tim
i
is
the time of bidding.”Bids” board verifies if bid
value is lower than current for V
i
. No one ex-
cept the bidders can update ”Bids” board.
(f) RM controls the round’s auction time. He ver-
ifies the rate of bids per minute in auction’s
round based on changes of ”Bids” board. If
there’s an anormal rise of bids in round’s last
2 minutes, time is extended more x minutes (x
is a parameter defined in auction’s round begin-
ning), avoiding this way Sniping attack.
Remarks:
Note that V
i
can be verified by anyone
that knows r
j
, h
k
(t
j
) and Y
k
j
accord-
ing to Schnorr’s signature of knowledge
c? = h(m
i
||(Y
k
i
)
r
i
||g
r
i
||(g
r
i
)
s
((Y
k
i
)
r
i
)
c
).
4. Winner Definition
(a) After auction’s round has finished, RM and
Auctionner take the lists of ”Bids”, ”Round
Keys” and ”Round Tickets” boards and find
bidders identities following the steps:
i. Auctionner takes (V
j
,m
j
,T
j
,time
j
) from
”Bids” board.
ii. Auctionner posts (T
j
,r
j
,Y
k
j
) on ”Bidders”
board that reveals the correspondence of Y
k
j
and (Y
k
j
)
r
j
. Bidder’s information becomes
(V
j
,T
j
,r
j
).
iii. RM posts (Y
k
j
,h
k
(t
j
),y
j
) on ”Bidders” board
that reveals the correspondence of Y
K
j
=
y
h
k
(t
j
)
j
and y
j
. Bidder’s information becomes
(V
j
,T
j
,r
j
,Y
k
j
,h
k
(t
j
),y
j
).
iv. RM updates ”Bids” database with m
i
, bidder’s
public key y
j
and tim
j
.
v. Anybody can verify the bidder’s signature V
j
using the announced public values r
j
, h
k
(t
j
)
and (Y
k
j
).
(b) Fraud module verifies the existence of ”Collu-
sive Shill Bidding”(See next section for more
explanations) based on ”Bids” database. If it’s
found a collusive shill bidding, the auction’s
round is invalidated and bidders found to be
cheating are included in ”Fraud” board and in
”Fraud” database.
(c) If no frauds were found, the bidder with lowest
bid value is announced as winner.
3 FRAUD MODULE
3.1 Shill Bidding
3.1.1 Introduction
Jarrod Trevathan and Wayne Read (Trevathan, Jar-
rod and Read, Wayne 2005) proposed an algorithm
for Shill Bidding Detection of only one shill. After,
the same authors proposed an improvement of this
algorithm for the case of a shill with more than one
bidder, also known as Collusive Shill Bidding (Tre-
vathan, Jarrod and Read, Wayne 2007). We are going
to use this last algorithm to propose a module that can
be used in our protocol for detecting collusive shill
bidding. This algorithm doesn’t run on real time but
after an auction is finished. The algorithm, based in
ratings, calculates what is called shill score. The score
informs if a specific bidder is working with others to
form a collusive shill bidding. Based on this score, an
auction can be invalidated and bidders are denied to
participate in more auction’s rounds. The detection of
a shill is based in calculation of these ratings:
1. α: Percentage of auction’s rounds a bidder i has
participated.
2. β: Percentage of bids that bidder i has submitted
throughout all the auction’s rounds he/she has par-
ticipated in.
3. γ: How many times the bidder has won over the
auction’s rounds he participated in.
4. δ: The average inter bid time of bidder in the auc-
tion’s rounds he participated in.
5. ε: The average inter bid increments in the auc-
tion’s rounds he participated in.
6. ζ: indicates how early in an auction’s round bid-
der i started bidding.
These ratings are defined in interval (0,1). The
higher values, more suspicious the bidder is. If zero
values, bidder has won the auction.
Based on these ratings, we can calculate a shill
score for one bidder as:
SS = ((θ
1
α+θ
2
β+θ
3
γ+θ
4
δ+θ
5
ε+θ
6
ζ)/(θ
1
+θ
2
+
θ
3
+ θ
4
+ θ
5
+ θ
6
)) × 10 where 1 ≤ θ
i
≤ 6
For the case of Collusive Shill Bidding, there are
more than one bidder working together and the calcu-
lation of these ratings and their scores doesn’t imply
SAFE REVERSE AUCTIONS PROTOCOL - Adding Treatment Against Collusive Shill Bidding and Sniping Attacks
241