4 ms·
If I was building an exchange for crypto here's what I would do. 1. Encrypt you users private keys client side with a password only they know. Now I just hold
by 1ba9115454 9y ago
If I was building an exchange for crypto here's what I would do.
1. Encrypt you users private keys client side with a password only they know. Now I just hold encrypted keys my side.
2. When the user wishes to make an exchange I would create the transaction client side let them sign it and do the exchange.
This way funds are now encrypted by default at rest and if compromise occurs the thief gets encrypted private keys only. Hopefully the users chose passwords secure enough to avoid compromise.
It's not perfect, but can we finally move away from the hot wallet model.
p.s. If you want to build this, and require advice and backing let me know.
- notyourday 9y agoThat does not solve exchange take over and transaction reversibility/clawback until the settlement X days in the future which is basic tenet of risk mitigation. The reason you cannot electronically rob Ameritrade is because NOTHING can be done immediately outside Ameritrade. Since the settlement is at least T+3 there's no such thing as "Obtain control in 30 seconds and be out of there 3 minutes later with the loot"
- dangero 9y agoNobody seems to get this point in the crypto world right now. Instant transactions ADD RISK. I suspect evolved cryptocurrencies will support intentional delays. My conpsny is working on something like this for Ethereum.
- thisisit 9y agothis is exactly the reason Coinbase has been delaying transactions but somehow people think it's a bad thing and keeping them away from their money.
- notyourday 9y agoDelay for risk mitigation on exchanges are known. You transaction will settle on a 3rd business day. After a wire is authorized by a broker (i.e. passed authentication and the person making a request is authorized to make it and the margin is satisfied and there's no block on the fed level), it will be posted by your bank on the same fed business day if the wire is authorized before fed cut off time. Coinbase is a VC-funded shady co if it does not operate based on strict and known confines. Banks and brokers spell out the confines (new account rules/withdrawal rules/funds availability rules) at the opening of a new account.
- zeven7 9y agoIf your exchanges occur on the blockchain, then you have to pay the fees of the blockchain and wait for confirmations. And at that point, why not use a decentralized exchange like EtherDelta.
- deleted 9y ago[deleted]
- tehlike 9y agoDecentralized exchanges dont have to happen on blockchain, right?
- neuro_imager 9y agoWhat exactly are the requirements for building an exchange? - Large amounts of capital, for one. - If in the US, a banking license; Offshore, not a requirement. - I'm not clear on how exchanges like coinbase source their crypto. Probably a totally stupid question but what happens to the cash I give coinbase after they go off to exchange it for say Ethereum? Do they have a network of whales that are selling them crypto for fiat for some sort of premium? Do they just hold crypto and exchange at market rates (which presumably exposes them to large potential loses)? I know they're linked to GDAX but this still doesn't explain how they source their currency initially.
- jstanley 9y agoWhy do you think you need large amounts of capital? All an exchange does is match up buyers with sellers, and collect fees. > Do they have a network of whales that are selling them crypto for fiat for some sort of premium? This is basically exactly how it works. They have an actual exchange (GDAX) and they just do the exchange on GDAX, and then take an additional cut as fees. > I know they're linked to GDAX but this still doesn't explain how they source their currency initially. Why doesn't it explain that?
- Slartie 9y agoThis would require to perform any exchanging on the respective blockchains, which is not how most crypto exchanges work, for various reasons (performance, cost, missing atomicity across different blockchains, involvement of non-crypto currencies, ...). The ones that don't implement this centralized model are the decentralized exchanges like BitShares or Etherdelta. Those however can't deal with actual fiat currencies and they suffer from serious performance weaknesses, effectively resulting in them having much less volume than the big centralized exchanges. But they are pretty secure when it comes to hacking attacks - actually, if done right, they also work pretty much like you explained it, with the users holding the keys necessary to access their funds while they're on the order book.
- VMG 9y agoMany exchanges just use BitGo to deal with this: 2-of-3 multisig wallet
- FLUX-YOU 9y ago>Encrypt you users private keys client side with a password only they know. Now I just hold encrypted keys my side. I still wouldn't trust you as an exchange. There's plenty of email/password dumps available. >Hopefully the users chose passwords secure enough to avoid compromise They won't. They won't. They won't. They won't. And keep repeating that until you hate the idea of exchanges ever holding secrets related to large amounts of currency/fiat that law enforcement will not pursue to reclaim your currency.
- dangero 9y agoYou don’t need to hold encypted keys to do this at all and doing so only adds risks. The user password can be a private key generation seed. That is how a lot of web wallets work already. The closest thing to what you describe is shapeshift.io or evercoin.com Limitation of this type of system is you can’t have a true order book and transaction fees are higher since you are on chain.
- user5994461 9y ago1. Encrypt you users private keys client side with a password only they know. Now I just hold encrypted keys my side. 80% of users will choose password as password. The other 80% will forget their password by next week. It doesn't work from a user experience or security perspective. It might be worse than giving the key.