If you plan to comment, read at least this Abstract :
I am proposing a simple "cancellation" of orders based on the following mechanism :
-
A new set of address is created, those address have a associated "timestamp" value. Lets call them "safeAddress".
-
When making a transaction from a safeAddress to a normal bitcoin address, the coin are "blocked" for a period of time corresponding to the timestamp.
-
At any time, a safeAddress can be "destroyed", and all coin in the address AND all coins in transfer from this safeAddress are send back from the previous address where they were received.
- This dont impact at all "normal" feature of bitcoin (transfer from "normal" address are still instantaneous) but allow for a very safe banking system, no trust required on a single party, and finally make it very easy for casual users to have a very safe account.
In my opinion, the multi signature solution is aimed at a more expert population and I am not sure it can address the case where a user has a single bitcoin-machine and is totally neophyte. As well, it handles the cases where someone is asked with a gun to give his credentials and to transfer its bitcoin.
Would you rather prefer to be able to send 100k instantly all the time or would you rather prefer that for huge amounts a "rollback" period would be possible ?
Honnestly, how often do you
really need huge amount to be confirmed instantly versus the safety of your stash ?
I am sure that most people would of course prefer the second option.
But my solution does not remove the
freedom that bitcoin provides as old address can still be used, it merely gives people more
freedom over how they wanna store their bitcoins.
---
Old post (more detailed) below :
---
I am an avid bitcoin supporter since almost a year. And I am French as well, so don't feel offended by my bad grammar
In my opinion, the biggest issue with bitcoin is still his security : While the anonymity and easy to transfer mechanisms bitcoin provides are very useful, they are also a goldmine for crooks and malevolent hackers.
This is in my opinion a problem for casual bitcoin users as it requires very secure bitcoin usage and this in turn requires users to be very knowledgeable to use bitcoin safely.
This problem is even worse for people wanting to use bitcoin as a store of value or banks : banks needs to have a huge level of trust in all its employee and security while users wanna store big value in bitcoin needs to be very safe in their usage.
My proposal aim to raise bitcoin to a new level of security while still retaining the current mechanism bitcoin offers.
This is an idea I have been having for almost 6 month now, and I think it is a very good one, provided it can be integrated into the bitcoin protocol without many technical issue. I have started to think about it for quite some time but only find the motivation to write about it just now, following the yet another theft of the linode / bitcoinica coins.
I know there has been some talk about multi key transaction, but as I am not totally aware of the consequences of this evolution I wont comment on this. However I don't think this evolution can address all the points my proposal is aiming to achieve.
-----------
Aims :
-----------
Specifically, I would like the following points to be possible :
ex A - I am having a party at my house with all top hackers in the worlds, which are all evil and dream of stealing my bitcoins. My wallet is open on my computer and I am having post it with the password all other my house. I still dont wanna loose my precious coins
ex B - Hazardous events like thief of a mtgox wallet can be not much of an issue.
ex C - Malicious users inside a huge banking compagny running with bitcoin does not raise any security issue.
ex D - Death or an accident (a compagny office burning with keys) does not threatens the wallet. Same thing if some exchange owner (like mtgox) dies or any other hazard happens.
ex E - Loss probability of wallet is almost impossible.
To adress points such as eD & eE, the only solution is to have many many duplicate of the key. Which raise the probability of theft in turn... How can we overcome all these problem at once ?
Onto my proposal, having a new set of address that allows the following :
pA - Allow “destruction” of address that send back coins where they came from. This of course requires a “timeframe” within which transactions are not yet confirmed.
pB - Allow cancelation of address, since we now have non instantaneous transactions for some bitcoin address. These address are only meants to be used for stash and exchanges, as they are not meant to be instanaous payments, but rathers transactions within trusted peers.
-----------
Implementation :
-----------
Create a new set of addresses which have an associated integer that encodes a timeframe where transactions can be cancelled.
Coins can still be received instantly (the delay depends on the origin address not on the incoming).
We now have two sets of address :
- The "old" ones, which can send bitcoins instantly.
- The new ones, which can send bitcoins with a delay defined by a time identifier (for example
address CHARGEBACK-1WEEK-12WG4sSQ4aJs7ELWyLSG2EkovRAobHYem4)
For example, I could use for my stash wallet a timeframe of 3 month : This essentially means that if I try to move coins from this wallet to another adress, the transaction will only be effective in 3 month. In the meantime, the transaction can be canceled at will.
In case of thieft, as there is no way in the protocol to distinguish between the original owner of the adress and the thief, we need to have a special mechanism thats left to be determined that allow any of the address owner (the legitimate or the thief) to “cancel” the address.
This mechanism can be to send a number of coins to a special address or anything special in the protocol (or for example 2 cancellation in a row, etc.). If this mechanism is raised, all the coins in the address are transferred back from where they were sent.
In case where an address has received 100 coins but for example only have 75 lefts those 75 coins can be spreaded evenly as if they were 100 (meaning each coin received from an address get 0.75 coins)
-----------
Example :
-----------
- So what does this mean ? Say all my coins stored on my personnal 3-month wallet have been received from mtgox. If someone now hacks my wallet, I now have 3 month to activate the mechanism that “destroy” the address and all the current transactions will be cancelled while all the coins will be then sent back to the mtgox address from where they were received.
This would create a bit of hassle for mtgox in this example but would still be far far better result than having my coins stolen.
- So now I want to have a very very safe wallet. How can I do this ?
I make a 1 month wallet, while I ask two of my friend Kris and Adrien to do the same. Now I send my coins from mtgox to the Kris wallet, then Kris send them to Adrien, then Adrien send them to my 1 month address.
Now if a hacker wants to get my coin, he has to hack me, I would then destroy the address, then he would have to hack Adrien, then Kris, then mtgox itself etc.
This makes my coins impossible to steal. And I can now use a simple passphrase that I can copy paste everywhere at my home so I’ll never forget it, so the risk of loss is even further reduced.
Now I can have my big party with hackers in the house and feel safe !
But most importantly, this would make bitcoin so much better for banks...
Banks could use interconnected wallet network (mtgox send money to bitcoinica which send money to i-dont-know-who) where all the “big” wallets require something like a week to confirm transactions. Now any issue of the wallet security for banks is almost solved. Keys can be duplicated many times and trust amount employee does not need to be so paramount.
Even “hot wallet” can still be configured to be able to cancel transaction for one hour or so.
-----------
Conclusion :
-----------
As demonstrated in my examples, I think this proposal would make bitcoin incredibly secure and allowing it to be more newbie friendly as well as newbie would not have to worry too much about security as well. Instead they would just have to check their wallet from time to time to see if nothing is unusually missing, as they are doing with a normal bank account.
This would as well make the life of bitcoin banks very much easier as the amount of trust thats needs to be put on employees would be minimal. Any theft could be seen and undone very fast.
Ultimately, this would destroy most of the incentive for malicious hacker. With low chance of being successful at theft those would be reduced drastically.
All those aspects combined with the limited money supply from bitcoin protocol could make bitcoins a incredibly strong store of value.
-----------
Remarks :
-----------
- I don't think it is worth creating a new currency just for this. I really dislike the idea of many peer to peer currency nearly equivalent to bitcoin. I think more trust is gained by having a single powerful currency.
- I don't think this idea goes against the philosophical roots of bitcoin : users are still in control without central entities, most address for day to day uses can still stay “normal” address with no cancel of transaction possible. And merchants would be advised to refused cancellable transactions as payments.
Much love to all the bitcoin supporters !
12tJv59aMdYt7figQ2BnHG2sHmcEdUYMW6