Why couldn't 2FA be decentralized and integrated into the bitcoin infrastructure? It's already proven that bitcoin is transparent and traceable.
Exactly! "2FA" like Yubikey or Google Authenticator or SMS passcode couldn't be decentralized and integrated into the bitcoin infrastructure BECAUSE bitcoin is transparent.
grendel25,
To put it in a less technical way, any 2FA-style device has to provide a way to prove to someone else that it is in the operator's control. This is done by the 2FA device providing a code.
For Google Auth, YubiKey, and the like, both the device and the someone else (a
centralized online service provider) have a common "shared secret", and this secret can be used to generate short codes that are just a few digits long. The shared secret can't be stored in the blockchain because then anyone could generate the codes.
Hardware wallets (and Bitcoin in general) use
public-key cryptography and
can use a publicly-viewable blockchain to prove that the codes they generate (called signatures) are valid. Unfortunately, the codes that they generate as proof are 155 digits long (or 88 if encoded in Base58), so it wouldn't be very practical to ask a user to type these codes in. That's (one reason) why they transfer these codes via USB.
The point is that you can't have the advantages of both: you can't have a 2FA device which uses public-key cryptography and would be publicly verifiable via the blockchain which
also provides short codes. This means we're stuck with either centralization, or hardware wallets which need a digitial connection (USB today, possibly Bluetooth or audio in the future?).
Incidentally, Electrum 2.x
does plan on implementing both styles of 2FA, with Trezor and HW.1 on the hardware wallet side, and with
TrustedCoin on the centralized short-code side.