Skip to main content
. 2019 Sep 19;19(18):4049. doi: 10.3390/s19184049
Algorithm 1: Reward Allocation
[Service Provider publishes an offer token TO]
//OrderBook operation.
Append TO to offer listing, LO.
[On acceptance of TO by a participant]
Capture d
//Generate the public and private components of the One-Time Key.
Generate aKO and aKO* 
//Create offer acceptance, AO.
AO={{d}bSP, aKO, iO, iAO}
//Participant retains One-Time Key since the private key, aKO*, is used to claim reward.
//[aKO,aKO*] represents the set of One-Time Keys held.
[aKO,aKO*] + = {aKO,aKO*}
Publish AO on OrderBook
//OrderBook Operation.
LO+ = AO//Append AO to LO
Forward AO to Service Provider
//Service Provider Operation.
[On receipt of AO]
//Decrypt the data submission.
Decrypt {d}bSP using bSP*
v = Validate AO
if v then
   Log allocation of RO//Make reward allocation.
   TV={iV, iAo,v}bSP*
   LO+ = TV //Append TV to LO and publishon OrderBook.
   //OrderBook generates and publishes encrypted spendable reward.
   rs = {iS, iV, rO}aKO
end if