Changeset 132

Show
Ignore:
Timestamp:
02/27/08 15:16:48 (4 years ago)
Author:
ocnils
Message:

Reformatted into RFC style
Added ToC

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/standards/protocol.txt

    r83 r132  
    1 OpenCoin  
     1OpenCoin Project                                            N. Toedtmann 
     2http://opencoin.org/                                         J. H. Baach 
     3Category: Draft                                                 M. Ryden 
     4 
     5                         OpenCoin Protocol v1.0 
     6 
     7Status of this Memo 
     8 
     9   This draft is work in heavy progress. Do not consider it's content 
     10   stable in any sense as long as this note is present. Get in touch 
     11   with opencoin.org [1] and fetch a recent copy [2]. 
     12    
     13 
     14Copyright Notice 
     15 
     16   [ToDo] 
     17 
     18 
     19Abstract 
     20 
     21   This document describes the OpenCoin protocol which seeks to 
     22   implement David Chaum's concept of "untraceable payments" [3]. 
     23 
    224 
    325ToDo 
    4 ==== 
    5 * do the stuff in ./TODO 
    6 * replace "coin" with "token" 
    7 * decide whether the protocol atoms are tokens or lists of tokens 
    8 * throw out reduntant "TRANSFER_TOKEN" explanatoins 
    9  
    10  
    11 How the wallet creates a coin and communicates with an issuer 
    12 ============================================================= 
     26 
     27   - do the stuff in ./TODO 
     28   - "Copyright Notice" 
     29   - "Introduction" 
     30   - replace "coin" with "token" 
     31   - decide whether the protocol atoms are tokens or lists of tokens 
     32   - throw out reduntant "TRANSFER_TOKEN" explanatoins 
     33 
     34 
     35Table of Contents 
     36 
     37   1. Introduction 
     38   2. General guidelines 
     39   3. The OpenCoin protocol 
     40      3.1.  Issuer setup 
     41      3.2.  Wallet setup 
     42      3.3.  Wallet creates blanks 
     43      3.3.5."TRANSFER_TOKEN": A generic wallet-issuer request 
     44      3.4.  Wallet send minting request to issuer   
     45      3.5.  Wallet gets coin back 
     46      3.6.  Wallet to Wallet 
     47      3.7.  Redeeming Coins  
     48      3.8.  Accepting coins 
     49   4. References 
     50 
     51 
     521. Introduction 
     53 
     54[ToDo] 
     55 
     56 
     572. General guidelines 
     58 
     59[ToDo] 
     60 
     61 
     623. The OpenCoin protocol 
    1363  
    14 #1 issuer setup 
     643.1 Issuer setup 
    1565 
    1666* issuer generates master key pair (ALG,pM,sM) 
     
    77127 
    78128 
    79  
    80 #2 wallet setup 
     1293.2 Wallet setup 
    81130 
    82131* fetch "currency description document" from issuer 
    83132 
    84133 
    85 #3 wallet creates blanks 
     1343.3 Wallet creates blanks 
    86135 
    87136* Wallet: fetches current public minting keys for denomination 
     
    112161   
    113162 
    114 #3.5 "TRANSFER_TOKEN": A generic wallet-issuer request 
     1633.3.5 "TRANSFER_TOKEN": A generic wallet-issuer request 
    115164 
    116165The atom for this transaction is a list of coins - if one of the coins /blanks 
     
    165214 
    166215 
    167 #4 wallet send minting request to issuer   
     2163.4 Wallet send minting request to issuer   
    168217 
    169218* Send [was: MINT_REQUEST] 
     
    196245 
    197246 
    198 #5 Wallet gets coin back 
     2473.5 Wallet gets coin back 
    199248 
    200249* Wallet asks issuer service [was: FETCH_MINTED_REQUEST] 
     
    228277 
    229278 
    230 #6 Wallet to Wallet 
     2793.6 Wallet to Wallet 
    231280 
    232281Alice - sends a coin 
     
    361410 
    362411 
    363  
    364 #7 Redeeming Coins  
     4123.7 Redeeming Coins  
    365413 
    366414* Wallet locks serials at IS (see above LOCK_COIN) 
     
    376424        and so on... to be defined with relationship between IS and individual 
    377425 
    378 * continue with #8 
     426* continue with 3.8 
    379427 
    380428* Send money to target 
    381429 
    382430 
    383 #8 Accepting coins 
     4313.8 Accepting coins 
    384432 
    385433* IS checks: 
     
    403451    TRANSFER_TOKEN_ACCEPT( transaction_id, message, (empty list)) 
    404452 
     453 
     4544. References 
     455 
     456[1]  The OpenCoin project <http://opencoin.org/> 
     457 
     458[2]  The OpenCoin project, "OpenCoin protocol v1.0" 
     459     <https://trac.opencoin.org/trac/opencoin/browser/trunk/standards/protocol.txt> 
     460 
     461[3]  David Chaum, "Blind signatures for untraceable payments", Advances in  
     462     Cryptology - Crypto '82, Springer-Verlag (1983), 199-203.