Price per bitcoin charting
41 comments
Quick bitcoin miner
BitFinex has not yet provided a detailed account of the recent security breach that resulted in loss of bitcoins from the exchange. Much of what has been written about the incident is incomplete , speculation or opportunistic marketing. Fingers have been pointed at seemingly everyone, including strangely the CFTC , for contributing to the problem.
While casting regulators as villains seems de rigueur in cryptocurrency land these days, that particular argument was debunked elsewhere.
Others have questioned whether there is a problem with the BitGo service or even intrinsic problem with the notion of multi-signature in Bitcoin. Some of these questions can not be answered until more information about the incident is released, either by Bitfinex or perhaps by the perpetrators- it is not uncommon for boastful attackers to publish detailed information about their methods after a successful heist.
But we can dispel some of the misconceptions about the effect of multi-signature on risk management. In the Bitcoin protocol, control over funds is represented by knowledge of cryptographic secrets, also known as private keys. These secrets are used for digitally signing transactions that move funds from one address to another. For example, it could be moving funds from a consumer wallet to a merchant wallet, when paying fora cup of coffee in Bitcoin.
Multi-signature is an extension to this model when more than 1 key is required to authorize the transaction. Bitfinex did not have a cold-wallet in the traditional sense: Instead the exchange leveraged BitGo co-signing engine to hold customer funds in a multi-signature wallet. This scheme involves a 2-of-3 configuration with specific roles intended for each key:. In order to withdraw funds out of Bitfinex, a transaction must be signed by at least two out of these three keys.
Assuming the final key is truly kept offline under wraps and only invoked for emergencies, that means the standard process involves using the first two keys. This call requires authentication. BitGo must only co-sign transactions originating from Bitfinex, which requires that it has a way to ascertain the identity of the caller. The parameters of this authentication protocol are defined by BitGo ; it is outside the scope of blockchain or Bitcoin specifications.
The assertion that multi-signature improves security was predicated on an assumption: But is that necessary? Consider a gate with multiple padlocks on it. Did the addition of second or third padlock make it any harder to open this gate? The answer depends on many factors. The general observation is that multiple locks improve security only against threats that are independent or uncorrelated.
Less obvious, whether risks are uncorrelated is a function of threat model. To a casual thief armed with bolt-cutters, the second lock doubles the amount of effort required even if it were keyed identically: But a more sophisticated attacker who plans on stealing that one key ahead of time, it makes no difference.
Armed with the key, opening two locks is not substantially more difficult than opening one. Same holds true if the locks are different but both keys are kept under the doormat in front of the gate. Here again the probability of second lock being breached is highly correlated with the probability that first lock was breached. Consider Bitcoin funds tied to a single private-key stored on a server. Would it help if we transferred those funds to a new Bitcoin address comprised of multisig configuration with 2 keys stored on the same server?
Unlikely— virtually any attack that can compromise one key on that server is going to also get the second one with equal ease. The difficulty for some attacks might increase ever slightly: But in general, the cost of the attack does not double by virtue of having doubled the number of keys.
Now consider the same multi-signature arrangement, except the second private-key is stored in a different server, loaded with a different operating system and wallet software, located in a different data-center managed by a different group of engineers.
Breaking into a data-center operated by hosting provider X does not allow also breaking into one operated by company Y. Likewise finding a remote-code execution vulnerability in the first OS does not guarantee identical vulnerability in the second one.
But that is more difficult than breaking into a single server to recover 2 keys at once. Assuming the above description of Bitfinex operation is correct, Bitfinex operational environment that runs the service must be in possession of two sets of credentials:.
These need not reside on the same server. They may not even reside in the same data-center, as far as physical locations go. Because users can ask to withdraw funds at any time and both pieces are required to make that happen.
The fact that users can go to a web page, press a button and later receive funds indicates that there are servers somewhere within Bitfinex environment capable of wielding them.
To the extent that correlated risks exist in this environment- for example, a centralized fleet management system such as Active Directory that grants access to all machines in a data-center- they reduce the value of having multiple keys. BitGo API designers were aware of this limitation and attempted to compensate for it. Their API interface supports limits on funds movement. For example, it is possible to set a daily-limit in advance such that request to co-sign for amounts greater than this threshold will be rejected.
Even if the customer systems were completely breached and both sets of credentials compromised, BitGo would cap losses in any given 24 hour period to that limit by refusing to sign additional Bitcoin transactions.
By all indications, such limits were in effect for Bitfinex. News reports indicate that the attack was able to work around them. It is possible to remove policies by calling the same API, authenticating with the same credentials as one would use for ordinary transaction signing. So if the adversary breached Bitfinex systems and gained access to a valid authentication token for BitGo , that token would have been sufficient for lifting the spending limit.
This points to the tricky nature of API design and the counter-intuitive observation that somethings are best left not automated. Critical policies such as spending limits are modified very infrequently. At a minimum, a different set of credentials could have been required for such privileged operations, compared to ordinary wallet actions. Now BitGo did have one mitigation available: The documentation retrieved August recommends using that setup:.
It is thus highly recommended to create wallets with at least 2 administrators by performing a wallet share. This way, policy can be effective even if a single user is compromised. One possibility is Bitfinex only had a single administrator setup. Another possibility is a subtle problem in the wallet sharing API.
For example, documentation notes that removing a share requires approval by at least one other admin- ruling out the possibility of going from 2 to 1 unilaterally. But if adding another admin was not subject to same restriction, one could execute a Sybil attack: This effectively grants adversary 2 shares, which is enough to subvert policy checks. Until more details are published about this incident, the source of the single point of failure remains unknown.
BitGo has went on the record stating that its system has not been breached and its API has performed according to spec. Notwithstanding those assurances, Bitfinex has stopped relying on BitGo API for funds management and reverted to a traditional, offline cold-wallet system. Meanwhile pundits have jumped on the occasion to question the value proposition for multi-signature , in a complete about-face from when they were embracing multi-signature as the security silver bullet.
This newfound skepticism may have a useful benefit: In general, funds will be stored across hundreds or thousands of UTXO, each with their own unique 2-of-3 key sets that are derived from a hierarchical deterministic HD key generation scheme such as BIP You are commenting using your WordPress.
You are commenting using your Twitter account. You are commenting using your Facebook account. Notify me of new comments via email. Skip to content Home About.
Leave a Reply Cancel reply Enter your comment here Please log in using one of these methods to post your comment: Email required Address never made public.