A computer implemented method for implementing a distributed exchange with a distributed, privacy-preserving and integrity-preserving order book among traders wishing to engage in distributed double auctions and markets, wherein each trader has his own computing device, the method comprising: i) generating and broadcasting, by a trader's computing device of a trader wishing to post or cancel an order, a cryptographic commitment to a valid initial, current, or updated inventory; ii) generating and broadcasting, by said trader's computing device, a Non Interactive Zero-Knowledge proof that said initial inventory is valid; iii) generating, by all the other trader's computing devices, a Non Interactive Zero-Knowledge verifier configured to verify said proof; iv) performing, by all the trader's computing devices, a Multi Party Computation to check if there are new broke trader's computing devices; v) if there is no new broke devices: vi) go back to step i) for a new round, or vii) fulfilling the order by at least one of the other trader's computing devices matching the posted order, or viii) at the last round, generating, and broadcasting by a trader's computing device of a trader wishing to mark to market, a cryptographic commitment to a valid marked-to-market inventory; generating and broadcasting, by said trader's computing device, a Non Interactive Zero-Knowledge Proof that said inventory is correctly marked-to-market; generating, by all the other trader's computing devices, a Non Interactive Zero-Knowledge Verifier configured to verify said proof; ix) if there is at least one broke device: x) net out each broke device, and xi) go to step v). i) generating and broadcasting, by a trader's computing device of a trader wishing to post or cancel an order, a cryptographic commitment to a valid initial, current, or updated inventory; ii) generating and broadcasting, by said trader's computing device, a Non Interactive Zero-Knowledge proof that said initial inventory is valid; iii) generating, by all the other trader's computing devices, a Non Interactive Zero-Knowledge verifier configured to verify said proof; iv) performing, by all the trader's computing devices, a Multi Party Computation to check if there are new broke trader's computing devices; v) if there is no new broke devices: vi) go back to step i) for a new round, or vii) fulfilling the order by at least one of the other trader's computing devices matching the posted order, or viii) at the last round, generating, and broadcasting by a trader's computing device of a trader wishing to mark to market, a cryptographic commitment to a valid marked-to-market inventory; generating and broadcasting, by said trader's computing device, a Non Interactive Zero-Knowledge Proof that said inventory is correctly marked-to-market; generating, by all the other trader's computing devices, a Non Interactive Zero-Knowledge Verifier configured to verify said proof; generating, and broadcasting by a trader's computing device of a trader wishing to mark to market, a cryptographic commitment to a valid marked-to-market inventory; generating and broadcasting, by said trader's computing device, a Non Interactive Zero-Knowledge Proof that said inventory is correctly marked-to-market; generating, by all the other trader's computing devices, a Non Interactive Zero-Knowledge Verifier configured to verify said proof; ix) if there is at least one broke device: x) net out each broke device, and xi) go to step v).