| | 64 | 1.1 Object of the OpenCoin protocol |
| | 65 | |
| | 66 | The OpenCoin protocol aims to implement David Chaum's concept of "untraceable |
| | 67 | payments" [3]. The general procedure is this: |
| | 68 | |
| | 69 | * Minting |
| | 70 | * A payer creates a yet unsigned, 'blank' token according to the rules |
| | 71 | published by the issuer. It includes a serial number. |
| | 72 | * He obfuscates this blank, yielding the 'blind'. He send the blind to the |
| | 73 | issuer and request signing with a special minting key. |
| | 74 | * If the issuer's requirements for minting (which may include a payment) |
| | 75 | are met, he signs the payer's blind with the nominated minting key. |
| | 76 | * The payer fetches the signed blind from the issuer and 'unblinds'. The |
| | 77 | result is a token including a valid signature from the issuer. |
| | 78 | |
| | 79 | * Spending |
| | 80 | A payer sends the token to a payee. The payee verifies that the token is |
| | 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. |
| | 84 | |
| | 85 | * Redemption |
| | 86 | The payee sends the token to the issuer. The issuer verifies that the |
| | 87 | token is valid and checks it against his DSDB. If he accepts the token, |
| | 88 | he adds its serial number to the DSDB. He may offer the payee something |
| | 89 | in exchange for the token (like a payment). |
| | 90 | |
| | 91 | Spending and redemption are actually entwined to one simultanious operation. |
| | 92 | |
| | 93 | Tokens include a reference to this protocol, a reference to the issuer, a |
| | 94 | denomination and a random serial. The minting key used to sign the token is |
| | 95 | deticated to mint exclusivly tokens of this denomination. |
| | 96 | |
| | 97 | This protocol is designed such that tokens are unforgable and untracable: |
| | 98 | |
| | 99 | * Unforgeability/balance |
| | 100 | Without knowledge of the issuer's private minting keys, no combination of |
| | 101 | payers and payees can successfully redeem tokens of a total denomination |
| | 102 | higher than the total denomination of tokens minted by the issuer for them. |
| | 103 | |
| | 104 | Particularly, no one (except the issuer) can produce N+1 valid tokens from |
| | 105 | N valid tokens ('one-more-forgery'). |
| | 106 | |
| | 107 | * Untraceability |
| | 108 | No combination of the issuer and a set of payees are able to correlate |
| | 109 | blinds and tokens of a payer just by looking at them (but maybe by traffic |
| | 110 | analysis). |
| | 111 | |
| | 112 | |
| | 113 | 1.2 Limited scope of the OpenCoin protocol |
| | 114 | |