If someone goes and fills your order, the transaction will automatically be processed by the application. ( Client A sends MintChips to Client B, Client B sends Bitcoins to Client A )

Is this enforced by the local client? What stops someone from using a modified client that does not enforce this? (Pretend to be a normal client and broadcast the order, but not execute it when requested)

If someone goes and fills your order, the transaction will automatically be processed by the application. ( Client A sends MintChips to Client B, Client B sends Bitcoins to Client A )

Is this enforced by the local client? What stops someone from using a modified client that does not enforce this? (Pretend to be a normal client and broadcast the order, but not execute it when requested)

what stops anyone from doing the same thing with the bitcoin client?

edit: maybe the client could be built in such a way that it only deals with authentic clients, by checking some kind of GUID

If someone goes and fills your order, the transaction will automatically be processed by the application. ( Client A sends MintChips to Client B, Client B sends Bitcoins to Client A )

Is this enforced by the local client? What stops someone from using a modified client that does not enforce this? (Pretend to be a normal client and broadcast the order, but not execute it when requested)

what stops anyone from doing the same thing with the bitcoin client?

Not sure if serious. Bitcoin transactions need to include cryptographic signatures and reference outputs recognized by the network as unspent. A modified client that broadcasts invalid transactions will have them rejected.

To further stress the point: Once a Bitcoin client broadcasts a transaction, it's out, there's nothing more it can do so I don't care what it does afterwards. But you are proposing a client that broadcasts market orders, which are a promise to do something if contacted later. If the promise is enforced on the promiser's client it's worthless.

I don't think this enables a decentralized exchange, but it does enable an exchange to operate without using a traditional bank account. Users deposit CAD by sending funds to the exchange's mintchip…they use it to make trades, then withdraw bitcoins. On the other side, the user deposited bitcoins, makes trades, and then withdraws CAD by the exchange sending CAD from their mintchip to the user's mintchip. The exchange wouldn't need to worry about the bank shutting down their bank account (assuming the mint doesn't have some kind of back door or kill switch…which would be hard to determine without some reverse engineering given the closed nature of the system).

It would be awesome if the first widespread use of mintchip was to enable this sort of bitcoin exchange. Something tells me you won't win the $50k prize though.

I don't think this enables a decentralized exchange, but it does enable an exchange to operate without using a traditional bank account. Users deposit CAD by sending funds to the exchange's mintchip…they use it to make trades, then withdraw bitcoins. On the other side, the user deposited bitcoins, makes trades, and then withdraws CAD by the exchange sending CAD from their mintchip to the user's mintchip. The exchange wouldn't need to worry about the bank shutting down their bank account (assuming the mint doesn't have some kind of back door or kill switch…which would be hard to determine without some reverse engineering given the closed nature of the system).

It would be awesome if the first widespread use of mintchip was to enable this sort of bitcoin exchange. Something tells me you won't win the $50k prize though.

enforcing orders, much like no one can simply change the bitcoin app. code, and start doing fraudulent transactions, the p2p exchange will work in similar way.

By enforcing orders I mean - let's say I put up a bid to buy 1000 bitcoins for $4 each. Someone takes me up on my offer. What makes sure I will go forward with it? Maybe I have no interest at all in buying bitcoins and am just trying to manipulate the market?

So there is:------------------------Exchanger-------------------------------^----------------------------/___\-------------------------/______\----------------------/_________\-------------------/____________\---------------/________________\-----------/____________________\Buyer------------------------------------------Seller

In the traditional view the "Exchanger" is a trading platform. What we need is some type of escrow coin that uses split keys and a Diffie-Hellman exchange, basically a way that can be an agreement of offers and encrypt electronic fund transfer details between 2 parties.

MintChip works in a request-response fashion.The person who want money needs to create a request. (the request basically contains the MintChip ID and a Nonce, Nonce optional)The person who send the money "signs" the request, which causes the mintchip to deduct money from the secure tamper-resistant storage.The mintchip now produces a "response" ONLY valid for the mintchip who sent the request. The requester imports this response in his mintchip, causing the mintchip to increase the money in the secure tamper-resistant storage.

This is what is creating MintChips double-spending protection, without need to publish any ledger, since signing a request spends money, and the same response cannot be imported twice in the same mintchip since mintchip saves the Nonce of each response to its secure memory. Even if ambigious mintchips does not know the Nonce of all other mintchips, it will not accept a transfer destined for a another mintchip, thus you cannot send the same "coin" to 2 mintchips.

Whoever who writes the request can freely select the "Nonce" value, and writing a request does not need to use the mintchip, eg anyone can write a request.The payer can change the Nonce value at will, but its important that the Nonce is unique across transactions of the same value to the same receiver, else you will burn money since the receiver cannot import a already "spent" nonce.

Basically, a secret must be selected, such so the sender of mintchip-currency needs to publish the mintchip-currency in the blockchain, to redeem his bitcoins. The owner of the receiving mintchip only needs to scan the blockchain and then import the message in his mintchip.

The problem is that this require RSA PKCS#12 certificate checking against MintChip CA certificate.Try to figure out something.