The legal risks of auto-updating wallet software; custodial relationships
14 messages, 20 Jan 2015. Started by Peter Todd.
Peter Todd (4), Matt Whitlock (3), Tamas Blummer (3), Justus Ranvier (2), Odinn Cyberguerrilla, Roy Badami
I was talking to a lawyer with a background in finance law the other day and we came to a somewhat worrying conclusion: authors of Bitcoin wallet software probably have a custodial relationship with their users, especially if they use auto-update mechanisms. Unfortunately this has potential legal implications as custodial relationships tend to be pretty highly regulated.
Why is this? Well, in most jurisdictions financial laws a custodial relationship is defined as having the ability, but not the right, to dispose of an asset. If you have the private keys for your users' bitcoins - e.g. an exchange or "online" wallet - you clearly have the ability to spend those bitcoins, thus you have a custodial relationship. However if you can trivially obtain those private keys you can also argue you have a custodial relationship. For instance StrongCoin was able to seize funds stolen from OzCoin¹ with a small change to the client-side Javascript their users download from them every time they visit the site. Portraying that as "the ability to dispose of an asset" in a court of law would be pretty easy. Equally on a technical level this isn't much different from how auto-updating software works.
Now I'm sure people in this audience will immediately point out that by that logic your OS vendor is also in a custodial relationship - they after all can push an update that steals everyones' bitcoins regardless of what local wallet you use. But the law isn't a deterministic algorithm, it's a political process. Circle is easy to portray as having a custodial relationship, StrongCoin and Blockchain.info are a little harder, Android Wallet harder still, Bitcoin Core's multi-party deterministicly compiled releases even harder.
But ultimately we're not going to know until court cases start happening. In the meantime probably the best advice - other than getting out of the wallet business! - is to do everything you can to prevent losses through malicious auto-updates. Create systems where as many people as possible have to sign off and review an update before it has the opportunity to spend user funds. Not having auto-updates at all is a (legally) safe way to achieve that goal; if you do have them make sure the process by which an update happens is controlled by more than one person and there are mechanisms in place to create good audit logs of how exactly an update happened.
Finally keep in mind that one of the consequences of a custodial relationship is that some legal authority might try to *force* you to seize user funds. StrongCoin made it 100% clear to authorities that they and sites like them are able to seize funds at will - I won't be surprised if authorities use that power in the future. The more automatic and less transparent an update is, the higher the chance some authority will lean on you to seize funds. So don't make it easy for yourself to meet those demands.
1) https://bitcoinmagazine.com/4273/ozcoin-hacked-stolen-funds-seized-and-returned-by-strongcoin/
On Tue, Jan 20, 2015 at 08:43:57AM -0800, Daniel Stadulis wrote:
Quoted text (5 lines)
> Hey Peter, > > What would you say to the argument: given developers have auto update > capabilities they only have the ability to *give themselves* *the ability* to > have custodial rights?
Heh, well, courts tend not to have the narrow-minded pedantic logic that programmers do; quite likely that they'd see having the ability to give themselves the ability as equivalent to simply having the ability. What matters more is intent: the authors of an operating system had no intent to have a custodial relationship over anyones' BTC, so they'd be off the hook. The authors of a Bitcoin wallet on the other hand, depends on how you go about it.
For instance Lighthouse has something called UpdateFX, which allows for multi-signature updates. It also supports deterministic builds, and allows users to chose whether or not they'll follow new updates automatically, or only update on demand. In a court that could be all brought up as examples of intent *not* to have a custodial relationship, which may be enough to sway judge/jury, and certainly will help avoid ending up in court in the first place by virtue of the fact that all those protections help avoid theft, and increase the # of people that an authority need to involve to seize funds via an update.
On Tuesday, 20 January 2015, at 10:46 am, Peter Todd wrote:
Quoted text (12 lines)
> I was talking to a lawyer with a background in finance law the other day > and we came to a somewhat worrying conclusion: authors of Bitcoin wallet > software probably have a custodial relationship with their users, > especially if they use auto-update mechanisms. Unfortunately this has > potential legal implications as custodial relationships tend to be > pretty highly regulated. > > Why is this? Well, in most jurisdictions financial laws a custodial > relationship is defined as having the ability, but not the right, to > dispose of an asset. If you have the private keys for your users' > bitcoins - e.g. an exchange or "online" wallet - you clearly have the > ability to spend those bitcoins, thus you have a custodial relationship.
If you have the private keys for your users' bitcoins, then you are every bit as much the owner of those bitcoins as your users are. There is no custodial relationship, as you have both the ability and the right to spend those bitcoins. Possession of a private key is equivalent to ownership of the bitcoins controlled by that private key.
On Tue, Jan 20, 2015 at 12:23:14PM -0500, Matt Whitlock wrote:
Quoted text (15 lines)
> On Tuesday, 20 January 2015, at 10:46 am, Peter Todd wrote: > > I was talking to a lawyer with a background in finance law the other day > > and we came to a somewhat worrying conclusion: authors of Bitcoin wallet > > software probably have a custodial relationship with their users, > > especially if they use auto-update mechanisms. Unfortunately this has > > potential legal implications as custodial relationships tend to be > > pretty highly regulated. > > > > Why is this? Well, in most jurisdictions financial laws a custodial > > relationship is defined as having the ability, but not the right, to > > dispose of an asset. If you have the private keys for your users' > > bitcoins - e.g. an exchange or "online" wallet - you clearly have the > > ability to spend those bitcoins, thus you have a custodial relationship. > > If you have the private keys for your users' bitcoins, then you are every bit as much the owner of those bitcoins as your users are. There is no custodial relationship, as you have both the ability and the right to spend those bitcoins. Possession of a private key is equivalent to ownership of the bitcoins controlled by that private key.
Posessing a private key certainly does not give you an automatic legal right to anything. As an example I could sign an agreement with you that promised I would manage some BTC on your behalf. That agreement without any doubt takes away any legal right I had to your BTC, enough though I may have have the technical ability to spend them. This is the very reason why the law has the notion of a custodial relationship in the first place.
Don't assume the logic you'd use with tech has anything to do with the logic courts use.
On Tuesday, 20 January 2015, at 12:40 pm, Peter Todd wrote:
Quoted text (10 lines)
> On Tue, Jan 20, 2015 at 12:23:14PM -0500, Matt Whitlock wrote: > > If you have the private keys for your users' bitcoins, then you are every bit as much the owner of those bitcoins as your users are. There is no custodial relationship, as you have both the ability and the right to spend those bitcoins. Possession of a private key is equivalent to ownership of the bitcoins controlled by that private key. > > Posessing a private key certainly does not give you an automatic legal > right to anything. As an example I could sign an agreement with you that > promised I would manage some BTC on your behalf. That agreement without > any doubt takes away any legal right I had to your BTC, enough though I > may have have the technical ability to spend them. This is the very > reason why the law has the notion of a custodial relationship in the > first place.
I never signed any kind of agreement with Andreas Schildbach. I keep my bitcoins in his wallet with the full knowledge that an auto-update could clean me out. (I only hold "walking around" amounts of money in my mobile wallet for exactly this reason.) I would love it if Andreas offered me an agreement not to spend my bitcoins without my consent, but I doubt he'd legally be allowed to offer such an agreement, as that would indeed set up a custodial relationship, which would put him into all sorts of regulatory headache.
Knowing the private key and owning the linked coins is not necessarily the same in front of a court.
At least in german law there is a difference between ‘Eigentum' means ownership and ‘Besitz’ means ability to deal with it. Being able to deal with an asset does not make you the owner.
Tamas Blummer
On Jan 20, 2015, at 6:23 PM, Matt Whitlock <bip@mattwhitlock•name> wrote:
Quoted text (2 lines)
> > If you have the private keys for your users' bitcoins, then you are every bit as much the owner of those bitcoins as your users are. There is no custodial relationship, as you have both the ability and the right to spend those bitcoins. Possession of a private key is equivalent to ownership of the bitcoins controlled by that private key.
On Tuesday, 20 January 2015, at 6:44 pm, Tamas Blummer wrote:
Quoted text (4 lines)
> Knowing the private key and owning the linked coins is not necessarily the same in front of a court. > > At least in german law there is a difference between ‘Eigentum' means ownership and ‘Besitz’ means ability to deal with it. > Being able to deal with an asset does not make you the owner.
So what we're telling the newbies in /r/bitcoin is plain wrong. Bitcoins *do* have an owner independent from the parties who have access to the private keys that control their disposition. That's pretty difficult to reconcile from a technological perspective.
On 01/20/2015 03:46 PM, Peter Todd wrote:
Quoted text (20 lines)
> But ultimately we're not going to know until court cases start > happening. In the meantime probably the best advice - other than > getting out of the wallet business! - is to do everything you can > to prevent losses through malicious auto-updates. Create systems > where as many people as possible have to sign off and review an > update before it has the opportunity to spend user funds. Not > having auto-updates at all is a (legally) safe way to achieve that > goal; if you do have them make sure the process by which an update > happens is controlled by more than one person and there are > mechanisms in place to create good audit logs of how exactly an > update happened. > > Finally keep in mind that one of the consequences of a custodial > relationship is that some legal authority might try to *force* you > to seize user funds. StrongCoin made it 100% clear to authorities > that they and sites like them are able to seize funds at will - I > won't be surprised if authorities use that power in the future. The > more automatic and less transparent an update is, the higher the > chance some authority will lean on you to seize funds. So don't > make it easy for yourself to meet those demands.
One suggestion you didn't mention was jurisdictional arbitrage - don't be located in the same country as the majority of your users.
Or, from the other perspective, users should be strongly encouraged to get their wallet software from companies/organizations not located in the same country as them.
- -- Justus Ranvier | Monetas <http://monetas.net/> <mailto:justus@monetas.net> | Public key ID : C3F7BB2638450DB5 | BM-2cTepVtZ6AyJAs2Y8LpcvZB8KbdaWLwKqc
On Tue, Jan 20, 2015 at 12:47:04PM -0500, Matt Whitlock wrote:
Quoted text (7 lines)
> On Tuesday, 20 January 2015, at 6:44 pm, Tamas Blummer wrote: > > Knowing the private key and owning the linked coins is not necessarily the same in front of a court. > > > > At least in german law there is a difference between ‘Eigentum' means ownership and ‘Besitz’ means ability to deal with it. > > Being able to deal with an asset does not make you the owner. > > So what we're telling the newbies in /r/bitcoin is plain wrong. Bitcoins *do* have an owner independent from the parties who have access to the private keys that control their disposition. That's pretty difficult to reconcile from a technological perspective.
The law concerns itself with what should be done, not what can be done.
Bitcoin the technology doesn't have a concept of "ownership" - that's a legal notion, not a mathematical one.
I am not a lawyer, just thinking loud. I think that technology is a strong argument before court, but I suspect that it is just that, as of now.
Tamas Blummer On Jan 20, 2015, at 6:47 PM, Matt Whitlock <bip@mattwhitlock•name> wrote:
Quoted text (9 lines)
> On Tuesday, 20 January 2015, at 6:44 pm, Tamas Blummer wrote: >> Knowing the private key and owning the linked coins is not necessarily the same in front of a court. >> >> At least in german law there is a difference between ‘Eigentum' means ownership and ‘Besitz’ means ability to deal with it. >> Being able to deal with an asset does not make you the owner. > > So what we're telling the newbies in /r/bitcoin is plain wrong. Bitcoins *do* have an owner independent from the parties who have access to the private keys that control their disposition. That's pretty difficult to reconcile from a technological perspective. > >
Justus,
In contrary.
Not being in the jurisdiction of the wallet provider makes it harder for the user to reclaim funds taken by the wallet provider. The legal hurdle to force confiscation through a wallet provider might also be lower if the target user is not domestic.
Tamas Blummer
On 01/20/2015 12:48 PM, Tamas Blummer wrote:
Quoted text (2 lines)
> The legal hurdle to force confiscation through a wallet provider > might also be lower if the target user is not domestic.
Depending on the threat model, the incentive to force confiscation might also be lower.
- -- Justus Ranvier | Monetas <http://monetas.net/> <mailto:justus@monetas.net> | Public key ID : C3F7BB2638450DB5 | BM-2cTepVtZ6AyJAs2Y8LpcvZB8KbdaWLwKqc
Um ~ "jurisdiction of wallet provider?"
If that's the (perhaps ot) bit you want to run on this thread then my comments are:
Get out of web wallet businesses now. It's not a jurisdictional question anymore, although I think there used to be very valid long running debates on where it would be best to do business. Now it just feels like you will be bouncing from one place to another - determining where your exit is as soon as you establish a (physical) presence, because jurisdictions sense a serious threat from the advancement of financial cryptography as it will evolve in the next several years. So you have to be mobile, or do something like what they are establishing at blueseed (see http://blueseed.com which is just off coast of San Francisco). Please perk up and don't just swipe to delete, read the whole e-mail. There are some configurations (e.g. the zero knowledge bit) you can do to mitigate the issues but if you are asking users to log in and log out of a service that relies on a web site then in the end you doom them (and any service you provide) to mandatory storage of customer data and ultimately loss of customer resources due to identification of the customer.
I think you need to stop quibbling about the details and just get over it and understand that the problem of web wallet users and corporations that serve web wallet customers being forced to give up information constantly to governments means that web wallets are certainly no longer a viable solution. And post-cromnibus with the extra financial surveillance provisions now passed on 3rd party matters, it's even worse. This is not subject to debate, it's just a fact. Period. Web wallet corps exist now only on a model that exists to burn the users. Convenient? Yes. But is it good for the users in the long haul? Absolutely not. Do alternative to the web wallets exist? Absolutely.
Back off.. Go to p2p. Stop advocating for webby solutions. In fact, I don't think that anyone working for coinbase or bitpay should be, anymore. I think that on principle you should withdraw and end your employment from such services.
Core? Good. Electrum Wallet? good. Mycelium? Local Trader? Open Bazaar? Could be better, but great. These are the kind of things we need. No signups, avoids centralizations, no grabbing your data, no ID collection and requirements.
As to the issue of auto-updating itself... I think the simplest answer to this question (personally) is that (go ahead and attack me here) there shouldn't be auto-updates... but that there should be auto-notifications for update when (a) update is available, but that (b) this notification should never "push" the user to update (e.g. the notification should never say "oh hey user if you don't update by such and such a date, your wallet will not work or satoshis will die because of your inaction" (stays quiet while likely 100-e-mail thread is spawned from this)
- -O
Tamas Blummer:
Quoted text (16 lines)
> Justus, > > In contrary. > > Not being in the jurisdiction of the wallet provider makes it > harder for the user to reclaim funds taken by the wallet provider. > The legal hurdle to force confiscation through a wallet provider > might also be lower if the target user is not domestic. > > Tamas Blummer > > > > ------------------------------------------------------------------------------ > >
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
Quoted text (11 lines)
> GigeNET is offering a free month of service with a new server in > Ashburn. Choose from 2 high performing configs, both with 100TB of > bandwidth. Higher redundancy.Lower latency.Increased > capacity.Completely compliant. http://p.sf.net/sfu/gigenet > > > > _______________________________________________ Bitcoin-development > mailing list Bitcoin-development@lists•sourceforge•net > https://lists.sourceforge.net/lists/listinfo/bitcoin-development >
- -- http://abis.io ~ "a protocol concept to enable decentralization and expansion of a giving economy, and a new social good" https://keybase.io/odinn
Quoted text (3 lines)
> Why is this? Well, in most jurisdictions financial laws a custodial > relationship is defined as having the ability, but not the right, to > dispose of an asset.
So if I leave my window open while I'm out and there's some cash on my desk, visible from the street, then every passer by now has a custodial relationship with me?
Your example of a malicious software update seems more akin to a theft like that (which is clearly not a custodial relationship) rather than a true custodial relationship.
roy