4 ms·
For compliance and privacy reasons. For example I deal with a lot of Swiss banks and Swiss law is very strict about what kind of data is allowed to leave Switze
by askmike 8y ago
For compliance and privacy reasons. For example I deal with a lot of Swiss banks and Swiss law is very strict about what kind of data is allowed to leave Switzerland (not very much).
- cm2187 8y agoIs it privacy as in no one must be aware that this particular party signed a contract? Otherwise the public/private key could also be used for the encryption of the contract. Then you have an encrypted blob signed by both parties, and any of these two parties can decrypt it. What I am not sure I get is why you need a block chain when the parties know each others. If they exchange public keys (and financial institutions have to go through a lengthy KYC process anyway), do you need a proof of work mechanism given that a transaction could be validated simply by both parties signing it.
- thinkloop 8y agoYou probably need chronological ordering as well, and to broadcast transactions to all stakeholders, and tools to interact with and verify the structure, and to not roll your own crypto - all of which are provided by following the "blockchain" standard.
- jkepler 8y agoI'm not sure that @askmike uses PoW in his project(s). It sounds like if the companies know each other and can form consensus, they don't need PoW to form consensus.
- berkes 8y agoThey indeed don't need that. Nor PoS. What is more, when there is a "consortium of companies that do no trust eachother using a private blockchain" they imply three things: * They have a permissioned system: not everyone can participate. This means there is a mechanism to punish adversaries right there: just remove their permissions! A large part of what "a blockchain" is all about, is dealing with sybil attacks stemming from the requirement of it being permissionless. * They know eachother. Hence there won't be a sybil attack possible. * They have established communication channels (otherwise it is impossible to grant access to the private blockchain). Hence the Byzantine problem is non-existing or not an actual problem. Maybe, very maybe, there is a case for a private blockchain in which there are many participants and a system to fully anonymize all these participants once they "are inside the firewall". I really cannot comprehend this, though. But that would make a case for a private blockchain, becayse sybil attacks are then again possible and need to be dealt with.
- askmike 8y ago> Otherwise the public/private key could also be used for the encryption of the contract. No bank inside the EU is allowed to send one bitcoin to another bank for the reason that the miner (a service provider) is not KYCed. There are ways around this (by not broadcasting the UTXO in the open, but only giving it to a miner you KYCed before - but other things like in some jurisdictions bitcoin isn't fungible from a legal perspective, meaning the Bank is required to have KYCed everyone who ever owned that Bitcoin). In other words, public blockchains are a world of pain from a compliance perspective in highly regulated fields (like banking). Note that technology is a few steps ahead of legislators. And banks cannot take any risk in doing things they are not allowed to do. > Otherwise the public/private key could also be used for the encryption of the contract. Then you have an encrypted blob signed by both parties, and any of these two parties can decrypt it. If no one is able to validate the contract, why push it through the blockchain at all? Just use PGP over e-mail? That said: it's an interesting approach and a number of blockchain systems offer you to do exactly this: you have a contract with another party (node on the network), you both sign and it push the hash to the blockchain. So that everyone in the network can form consensus over that you and someone agreed to some contract that hashed to Y (for example private transactions in Quorum). But note that here you are still leaking a lot of data: people can figure out you have a contract with someone else, etc. > What I am not sure I get is why you need a block chain when the parties know each others. If they exchange public keys (and financial institutions have to go through a lengthy KYC process anyway), do you need a proof of work mechanism given that a transaction could be validated simply by both parties signing it. The KYC is indeed lengthy, but only a small part of the story: I'm dealing with a lot of situations that are like "a chain of contracts". In commodity trade finance you'll have contracts between buyers and sellers, and both of them can use a bank. There are a huge number of parties involved and between all of them there are contracts (the seller is going to ship some goods, for example by boat between different countries - this requires a ton of parties and certificates, documents from customs, etc). All of these contracts kind of rely on each other, for example the contract between the banks (the LC) has a lot of information regarding what was sold and bought - and this needs to match whats in all the other contracts and documents. Right now you have huge departments where people are going over this manually (multiple times per party), there is some software but there is not very much digitally communicated between companies. Note that most of these contracts are signed months before the sale, and in most cases most people in this chain are not allowed to see the whole chain, just a small part that concerns them. At specific times (not when the contract is signed). A private blockchain allows you to build these kind of solutions. With a public blockchain you can too but there are many more obstacles. What if the encryption is broken 20 years down the line? All the data would be on the street..
- thecatspaw 8y agobut would a blockchain solve this? Wouldnt the data leave switzerland this way as well?
- askmike 8y agoDefinitely not. You can build a small network (eg. pegged sidechain) within different Swiss datacenters owned by different companies. It's not trivial, but at least possible. Because if you are bank you cannot ignore the law because you want to use Ethereum mainnet.