| 81 | | valid according to the issuer's rules (format, data, signature, ...) and |
| 82 | | checks it against the issuer's double spending database (DSDB). He tells |
| 83 | | the payer if he accepts the token. |
| | 82 | valid according to the issuer's rules (format, data, signature, ...). In |
| | 83 | the standard online case, he also checks it against the issuer's double |
| | 84 | spending database (DSDB). He tells the payer if he accepts the token. |
| 120 | | [ToDo] |
| | 122 | The OpenCoin protocol typically involves three parties: the issuer, a sender/ |
| | 123 | payer (Alice) and a receiver/payee (Bob). We call the OpenCoin user agents of |
| | 124 | payer and payee 'wallets'. The issuer consists of four parts: |
| | 125 | * The 'master key holder' (MHK) generates and keeps the master key pair |
| | 126 | and signes and publishes the 'currency description document' (CDD) and |
| | 127 | all the certificates. |
| | 128 | * The mint generates and keeps the minting keys and signes blinds. |
| | 129 | * The 'double spending database' (DSDB) keeps track of the serials of |
| | 130 | tokens which got redeemed. |
| | 131 | * The 'issuer service' (IS) is the public interface of the issuer on the |
| | 132 | internet. |
| | 133 | |
| | 134 | The participants send each other messages in request/response pairs. The |
| | 135 | universal scheme is this: |
| | 136 | |
| | 137 | * session initiation * |
| | 138 | |
| | 139 | -- [ HANDSHAKE, DATA ] --> |
| | 140 | <-- [ HANDSHAKE, null ] -- |
| | 141 | |
| | 142 | -- [ REQUEST_1, DATA ] --> |
| | 143 | <-- [ RESPONSE_1,DATA ] -- |
| | 144 | |
| | 145 | -- [ REQUEST_2, DATA ] --> |
| | 146 | <-- [ RESPONSE_2,DATA ] -- |
| | 147 | |
| | 148 | -- [ CONTINUE, null ] --> |
| | 149 | <-- [ CONTINUE, null ] -- |
| | 150 | |
| | 151 | * pause * |
| | 152 | |
| | 153 | -- [ REQUEST_3, DATA ] --> |
| | 154 | <-- [ RESPONSE_3,DATA ] -- |
| | 155 | |
| | 156 | -- [ REQUEST_4, DATA ] --> |
| | 157 | <-- [ RESPONSE_4,DATA ] -- |
| | 158 | |
| | 159 | -- [ GOODBYE, null ] --> |
| | 160 | <-- [ GOODBYE, null ] -- |
| | 161 | |
| | 162 | * session termination * |
| | 163 | |
| | 164 | The standard case involves three sessions: |
| | 165 | |
| | 166 | Payer Alice --[minting]---------------------------------> Issuer |
| | 167 | Payer Alice --[spending]--> Payee Bob --[redemption]--> Issuer |
| | 168 | |
| | 169 | the latter two usually happening at the same time ('online case'). |