P2p matching of orders (orders signed with unspent tx)
Deposit into green address as described by section 5 (this is the funding address)
Micropayment channels from the green address into contract outputs as described by section 10
I am also not sure exactly how and where the contract server described in section 7 fits in to this system. Can you explain this to me?
Nice work, and I look forward to your replies.
Thanks for taking the time to read my paper - it's quite a dense paper and I'm not very good at explaining things so I appreciate it.
RE: how the contract server fits in: micro-payment channels aren't done directly from the green address. The green address is just a temporary clearing house for setting up the contract outputs. So coins are moved from the green address to one or more contract outputs to initialize the contracts - this is the same thing as the "bond" transaction described in normal micro-payment literature. The difference with this system is you're using funds from a green address as the input to the bond transaction instead of random funds from your wallet.
To actually answer your question: the contract server allows dynamically setting up contracts from a green address. It allows you to create a single setup transaction from a green address to one or more bond outputs. The contract server indicates in real time the status of these outputs (has the opposite side also allocated a bond to us?) meaning you can freely reallocate any pending bond amounts as change (or even swap in new contracts.) It's basically how you prevent DoS attacks and do fast partial matching without having to wait for numerous confirmations between each match.
green address -> setup tx (contract 1 out, contract 2 out, ...) -> broadcast = contracts are now setup, micro-payments can now begin
contract 1 out -> micro-payment channel
contract 2 out -> micro-payment channel
...
I hope that makes sense.
(I'll try publish some raw transactions tomorrow if I get time.)