Thanks for the comments.
It doesn't matter whether a few people have doubts. It's just a matter of time before the entire Internet adopts ChainLock as the standard for locking online accounts.
Howard, that is a very bold statement to make.. Why would I have to pay US$ 0.28 or whatever amount with miners fees to access my
accounts? The 0.28 cents... adds a lot of extra cost, on top of all other banking fees for people with much less money, than the $9000 you
have in your account. This type of charging additional fees to access your account are typical of fiat banking systems, not Bitcoin.
... I
do not even want to go to scenarios where confirmations takes 2 hours.
I agree with this. Why would we want to wait 2 hours and pay bitcoin for this.
If you want to use bitcoin address as proof of ownership, you can ask the user to sign a message using bitcoin address.
It is encouraging to receive the same comments over and over. It means that so far no one can make a persuasive argument against ChainLock.
To yet once again respond to the same comments:
1. Locking/Unlocking an account takes seconds as shown in our demo video. A service provider (e.g., bank) need not wait for a transaction to confirm on the blockchain. Instead of making erroneous statements like "why would we want to wait 2 hours," why not address our claim? Tell us we are wrong? We are not wrong. The lock/unlock time is exactly as shown in the demo video... a matter of seconds.
2. "Asking a user to sign a message with a bitcoin address" (of course he meant private bitcoin key) is the same as conventional public/private key authentication such as BitID and SQRL. Instead of questioning "why use ChainLock when you can use BitID," this thread would be much more interesting if people address the multiple differences listed on our website:
BitID: Although BitID uses bitcoin keys for authentication, BitID does not leverage the security of the bitcoin blockchain. The bitcoin blockchain protects $10 billion of wealth, and so there are significant resources deployed to ensure the security of the bitcoin blockchain.
ChainLock uses the security of the bitcoin blockchain to secure other online accounts. That is, the security measures currently deployed to protect $10 billion of wealth is leveraged by ChainLock, whereas BitID merely leverages the security of bitcoin keys.
BitID: If a user loses their digital wallet (e.g., loses their phone), they must have made a backup of the wallet and they must restore the wallet which can be difficult and confusing. Very few people make a backup of anything digital. Further, most people will only carry a few hundred dollars in a digital wallet just like a pocket wallet, so backing up a digital wallet to protect a few hundred dollars is basically a waste of time. Even if people backup their digital wallet, they would be calling the banks for help on how to restore the wallet. This is a customer support nightmare.
ChainLock overcomes this by having a master bitcoin address that can be used to reset an account (or multiple accounts). This master address can be stored on paper in a secure location (e.g., a safe). If a user loses their digital wallet, they can easily reset their accounts using the master address without needing to restore their wallet. So a user need not even backup their wallet which typically only has a few hundred dollars anyway just like a pocket wallet.
BitID: A user must download a smartphone app that supports BitID, and the user must learn how to use the smartphone app to deploy BitID authentication. Both could require additional customer support from the service provider.
ChainLock overcomes this by relying on the general public's knowledge about how Bitcoin works in general. If you tell a user "transfer money into a bitcoin address to lock an account" or "transfer money out of the bitcoin address to unlock an account" the user will understand not only what this means, but how it can be done using any kind of general purpose wallet.
BitID: The service provider must incorporate the BitID protocol into their website server. This can be fairly complex and therefore susceptible to mistakes.
ChainLock overcomes this by using the bitcoin blockchain protocol which is easily accessible to the service provider using well known, generic blockchain query tools (e.g., blockchain.info). Multiple tools could be employed to query the blockchain redundantly.
BitID: The BitID protocol is not really "out-of-band" because it involves a dedicated communication channel specifically for user authentication. The BitID communication channel may be separate from a website communication channel, but it is still a dedicated part of the authentication protocol and therefore a target for hackers.
ChainLock overcomes this by using the bitcoin blockchain protocol which is truly out-of-band because it uses a completely independent third party provider (miners) that maintain the blockchain. All communication with the blockchain is generic to the bitcoin protocol with generic communication channels. It's like calling a third party with a telephone and asking whether a user trying to access a bank's website is authentic. The third party can absolutely authenticate the user with a completely independent, unbiased, out-of-band confidence.
BitID: The BitID protocol is unproven because it has not been in use. The vulnerabilities of the BitID protocol are therefore not even fully understood. Service providers will be reluctant (rightly so) to adopt some new, unproven authentication protocol.
ChainLock overcomes this by using the bitcoin blockchain protocol which has been in use since 2009. There is $10 billion entrusted in the bitcoin blockchain. Although bitcoin private keys have been stolen over the years, the bitcoin blockchain itself has never been compromised. There is an obvious and proven trust in the bitcoin blockchain, and so service providers will more likely adopt it as an authentication protocol (or to augment an existing authentication protocol).
BitID: With BitID, if a user's account is hacked, it is difficult to prove how it happened or why it happened. Therefore, it will be difficult for a service provider (e.g., bank) to verify whether a hack was due to a bug in the protocol or a hack of the protocol versus a user's private key being compromised.
ChainLock overcomes this by using the bitcoin blockchain to lock an account. As long as there is never a transfer-out of a bitcoin address associated with a locked account, the user's account should remain locked. If a user's account is hacked, the blockchain can verify that the hack was not due to a compromise of the private bitcoin key by verifying there was never a transfer-out of the bitcoin address. So if there is a hack, it must have been due to a system failure on the service provider side and the user can prove it using the blockchain. If the blockchain does confirm that an account was actually unlocked as part of a hack, it proves the user's private key was compromised (not necessarily due to fault of the user, but at least the source of the hack is known).
Shared Benefits of BitID and ChainLock:
Both BitID and Chainlock can use wallet applications to secure the user's bitcoin private keys. Securing the private keys is extremely important not only if used as part of an authentication protocol, but also to secure the funds stored in the bitcoin blockchain. Accordingly, the security of the wallet programs will be continuously evaluated and improved in order to protect the funds in the bitcoin blockchain, and therefore the security of both the BitID and ChainLock authentication protocols will benefit from this concerted, global effort.