Web Payments Community Group Telecon

Minutes for 2012-07-10

Agenda
http://lists.w3.org/Archives/Public/public-webpayments/2012Jul/0000.html
Topics
  1. Reducing hoarding of decentralized currencies
  2. Fixed allocation of currency (supporting bills, digitally signed currency amounts)
  3. Dynamic allocation of currencies (digital off-line wallets)
  4. New PaySwarm Beta release
Chair
Manu Sporny
Scribe
Dave Longley
Present
Dave Longley, Manu Sporny, Jeff Sayre, Melvin Carvalho, David I. Lehn
Audio Log
Dave Longley is scribing.
Manu Sporny: today we were going to spend more time discussing alternative currencies because we didn't get through it all in the last call
Manu Sporny: we're going to also talk about fixed vs. dynamic allocation (fixed dollar amount/card vs. online account)
Manu Sporny: we also have the transaction and decentralized settlement algorithm(s) last on the agenda
Manu Sporny: any updates or changes to the agenda?

Topic: Reducing hoarding of decentralized currencies

Manu Sporny: during the last call we talked about supporting bitcoin, etc. other alternative currencies
Manu Sporny: we have this concept called a "Currency Mint"
Manu Sporny: which is a third-party interface that payswarm can call out to (via some mechanism) to get currency into payswarm
Manu Sporny: once the currency is in your payswarm account, you can spend it with anyone else who has an account that transacts in that currency
Manu Sporny: so what is payswarm going to do about currencies that require inflation or deflation, etc.?
Manu Sporny: with bitcoin, you don't have to worry about an external force putting pressure on it to devalue it over time
Manu Sporny: other currencies require this
Manu Sporny: this will help cause people to spend their currency more quickly and keep the market moving
Manu Sporny: the question is, should payswarm do anything about the "hoarding problem" or just depend on the currency mints to handle it?
Manu Sporny: one way this could happen w/currency mints is that they could just change the exchange rate over time
Manu Sporny: for example the Foo currency could have an exchange rate on day 1 as 1 Foo = 1 USD
Manu Sporny: but over time that rate would change, eg: 1 Foo = 0.50 USD
Manu Sporny: another way to discourage hoarding is to put expiration dates on currency amounts
Manu Sporny: eg: if you dont' use 100 Foo in the next 6 months you don't get to use it, it gets destroyed
Dave Longley: I think that if we start taking the approach of having a currency expire, it will get very complex between currency mints and payswarm authorities. [scribe assist by Manu Sporny]
Dave Longley: The mint would have to contact the PA very often. Does the money get expired on it's expiration date? How would people get around this? Would they try to launder money through accounts. [scribe assist by Manu Sporny]
Dave Longley: I don't know of any system that expires currency like you describe... we could discuss it. Even if it does work, I don't see it as being that viable of an option - it requires a great amount of synchronization. It would have to be built into PaySwarm for it to work. [scribe assist by Manu Sporny]
Dave Longley: It's a separation of concerns problem. [scribe assist by Manu Sporny]
Jeff Sayre: i agree with what dave said for the most part, i would add that if there's an alternative currency that is broadly accepted and used that does have an expiration, then there probably would have to be something that payswarm understands (part of the protocol)
Jeff Sayre: it's often up to the people who are getting paid or have saved them in their account to deal with how those currencies behave
Jeff Sayre: the only alternative to this should probably be if there's a popular alternative currency payswarm should interface with/etc.
Manu Sporny: in the worst case, if we do absolutely nothing, then at least the standard devaluing mechanism is in place (changing exchange rates)
Manu Sporny: this already works with how we've discussed currency mints already, it's external to the system, we don't have to deal with it within payswarm, and inflation is still handled
Manu Sporny: the only time we would implement expiration is if there's a successful currency that uses it
Manu Sporny: i don't know how easy it would be to add it to payswarm, i'm wondering if there's a way we could bootstrap such a currency, i dont' know if we could implement currency destruction later, it seems like it has to be part of the protocol to begin with
Jeff Sayre: i think that's correct
Jeff Sayre: one of the issues that's involved that could come up with payswarm that facilitated that type of feature is that payswarm would be more than just ...
(bad audio)
Jeff Sayre: could be a more political/social influence
Jeff Sayre: by putting in those features up front before any of those currencies have thought about/implemented it we may be going down a path where payswarm is more political than is desirable
Jeff Sayre: i think what would happen with a hyperinflationary currency like Zimbabwe's could be a disaster
Manu Sporny: i think we should try to avoid being too political, i agree
Melvin Carvalho: note: hyperinflation can also be considered a lack of trust in a currency
Manu Sporny: we just want to give people tools that would make their lives easier when it comes to engaging in commerce over the web
Melvin Carvalho: note: hyperinflation can also be considered a lack of trust in a currency
Melvin Carvalho: every currency mint has a degree of trust
Manu Sporny: the more we're discussing this it does seem that we don't want to get involved in overly complex inflation systems
Manu Sporny: it is true that each currency mint has a degree of trust
Manu Sporny: i think we should just say that the currency mint can handle inflation as they see fit
Manu Sporny: i think we've covered the stuff that's supported today ... and jeff makes a good point that we don't want to become overly political on this, just provide the tools we need
Manu Sporny: anything else on reducing hoarding/inflation, etc, before moving on?

Topic: Fixed allocation of currency (supporting bills, digitally signed currency amounts)

Manu Sporny: so the idea is supporting the equivalent of a "digital bill"
Manu Sporny: a payswarm authority would digitally sign that you have 5 units of a particular currency
Manu Sporny: it would be a signed-json blob
Manu Sporny: and then you could take this information and do a p2p transaction without having to talk to any centralized authority of any kind
Manu Sporny: so how this might work: you would get your digitally-signed 5 unit currency and this would be in your digital wallet... then you could then use that digital bill to pay for water (and this transaction would be logged) and then you'd give it back to a payswarm authority at some point
David I. Lehn: is that in our use cases?
Manu Sporny: so that's the idea of fixed allocation
Manu Sporny: so we need to discuss if this use case is useful if you're connected all the time to the internet, etc.
Manu Sporny: are there cases where you wouldn't be connected and this would work well?
Manu Sporny: this isn't anonymous, however, to be clear, there is a transaction log
Dave Longley: Yeah, I do believe we have a use case for communicating with devices that don't themselves have internet connections. For example - cellphone buying from vending machine. [scribe assist by Manu Sporny]
Dave Longley: what about the case where someone copies their digital bill and makes multiple purchases (essentially infinite ones)
Dave Longley: they would eventually get caught once the bill was sent to a payswarm authority, however, in the mean time, they could commit a lot of fraud
Manu Sporny: well, it would be a crime and they'd eventually be caught -- we might want to rely on the law to handle this
Dave Longley: There are a few issues - what do you do with somebody that has a digitally signed blob that they copy? [scribe assist by Manu Sporny]
Melvin Carvalho: sounds interesting .... would be a cool feature if you can avoid double spend
Jeff Sayre: this would amount to digital counterfeiting
Jeff Sayre: there might be a lot of people that dont' think about it and just copy it maybe a single time -- a lot of people could fall victim to that
Jeff Sayre: i dont' know if we could deal with that technologically at the time
Melvin Carvalho: bitcoin has a central registry
Manu Sporny: melvin is saying bitcoin has a central registry to take care of these issues, but with bitcoin you have to be online
Manu Sporny: to verify transfers
Jeff Sayre: when you're exchanging digital money for digital goods, it's not that big of an issue because you could forgo sending the digital good until the payment has been verified, but when using digital currency for physical goods it's a different issue
Jeff Sayre: i can't think of why a brick and mortar store wouldn't be online to handle this
Jeff Sayre: maybe farmers, etc, could be in such a position
Dave Longley: This offline digital currency thing only works in highly trusted scenarios... a brick-and-mortar store probably wouldn't want to accept something like this. [scribe assist by Manu Sporny]
Dave Longley: We were talking about work-hours on the last call - maybe there is a use case there where there is inherent local trust. [scribe assist by Manu Sporny]
Dave Longley: If there is a use case where you have to have a lot of trust - having a digital currency that is also based on your word would be important. [scribe assist by Manu Sporny]
David I. Lehn: part of this is that there are other systems that have similar issues, like bitcoin and ACH, they all have settlement times, but you can consider transfers instant even though they aren't ... maybe you can just charge a fee on top of the digital bill (upon creation)
Manu Sporny: it doesn't sound like there's a great need for this, but it's something that could be potentially implemented in the future
Manu Sporny: does anyone feel differently, that this is a high priority?
David I. Lehn: it would be nice to keep in mind and plan for in the future (not disable it's future use now)

Topic: Dynamic allocation of currencies (digital off-line wallets)

Manu Sporny: the digital offline wallet is like a transaction log
Manu Sporny: the idea here is that you would promise people money
Manu Sporny: this is similar to what melvin is doing with web credits
Manu Sporny: you make a number of promises to pay people money, and they submit those promises to their payswarm authority and it moves all of that money into their account
Manu Sporny: this is similar to the offline digital receipt mechanism that we are building into payswarm 1.0
Manu Sporny: this allows you to digitally sign a contract offline, for instance, you walk into a store, and they give you a bill that you digitally sign and give back to them, which they can, at some later point, upload it to get their payment
Melvin Carvalho: sounds very cool!
Dave Longley: Yes, it's a fairly straight-forward idea - but implementation details are important... like - what happens if you digitally sign a contract and don't have money in your account? [scribe assist by Manu Sporny]
Dave Longley: We have this use case of wanting to buy a coke from a vending machine - you digitally sign a contract for the coke and then using the internet connection on the phone, it communicates with a PaySwarm Authority that digitally signs that the transfer happened. [scribe assist by Manu Sporny]
Dave Longley: The vending machine then checks the digital signature by the PaySwarm Authority, then gives you the coke - no need to "trust" each other. [scribe assist by Manu Sporny]
Dave Longley: This other thing we're discussing is slightly different, because you don't have to confirm the payment before giving the product out - again, it comes down to a system of trust. [scribe assist by Manu Sporny]
Dave Longley: PaySwarm Authorities could try to mitigate the trust issue via several ways - the trust issue isn't handled by digital signatures in the digital wallet case because there is potential for fraud there. [scribe assist by Manu Sporny]
Manu Sporny: yes, we're shying away from situations where there are trust issues
Manu Sporny: we don't want to derail people being able to trust payswarm (the system on its own)
Dave Longley: I think we should focus on the use cases we have right now - they are very powerful use cases. Buying something from a kiosk would be great - it's already a very powerful thing that you can do with PaySwarm. [scribe assist by Manu Sporny]
Manu Sporny: another idea could be to help eliminate parking meters by using GPS systems/locations to pay for parking, etc.
Manu Sporny: there are several other interesting ideas in this arena
Manu Sporny: for these use cases, these vending machines, kiosks could be made cheaper by reusing the connections on smart phones of their customers, etc.

Topic: New PaySwarm Beta release

Manu Sporny: we've released a new payswarm beta, a new reference implementation using nodejs and mongodb, which we believe will make us more agile - in fact, that is already the case.
Manu Sporny: we have a new payswarm client that we're releasing as well (work in progress)
Manu Sporny: so i'd like to ask jeff and melvin if you have any input on how you'd like payswarm clients to work/what features you need and how you'd like to use them?
Manu Sporny: over the next few months, we want people to be able to use payswarm clients to sign assets/listings and accept/do purchases as quickly as possible
Manu Sporny: Here's the github project for the PHP implementation: https://github.com/digitalbazaar/payswarm-wordpress
Melvin Carvalho: thanks! Michiel is probably going to do the opentabs implementation, but the .js could be very useful ... need to look at it in a bit more detail ...
Dave Longley: That is the PHP implementation - there is decent documentation on implementing that and integrating that. [scribe assist by Manu Sporny]
Jeff Sayre: yes, very interesting, for using the PHP version with our smartup
Jeff Sayre: we're looking at releasing the core of our smartup as a platform for creating whatever smartup they want
Jeff Sayre: the true IP would be in modules, specific to products and services
Jeff Sayre: payswarm would be a core standard which we would implement
Jeff Sayre: so we could allow anyone to utilize payswarm for whatever they want in their smartup
Manu Sporny: so the reason we're releasing the new beta now is we're doing a lot of load testing, etc.
Manu Sporny: so we're also hoping to do a commercial release within the next 3-6 months (it will be done when it's done ;))
Manu Sporny: our goal with the payswarm client stuff is to make payswarm stuff work within a day
Melvin Carvalho: yes
Manu Sporny: so, in the simplest case, you can do web payments that quickly
Melvin Carvalho: cool!
Manu Sporny: for the opentabs implementation ... what language are you using?
Melvin Carvalho: mainly client side js right now
Dave Longley: Some of this stuff will work with client-side JavaScript... we leveraged Forge - based on what you're trying to do, there may be cross-domain issues. Ultimately, we do want the payswarm client to work on client-side, it boils down to what the limitations could be. [scribe assist by Manu Sporny]
Dave Longley: Right now you can generate RSA keys, digital sign, and do all those things. There are issues with where you're going to store those keys - you can either use HTML5 local storage or something like that right now. [scribe assist by Manu Sporny]
Manu Sporny: we've been thinking about putting limits on private keys that are stored in browsers, etc.
Melvin Carvalho: makes sense
Manu Sporny: to help deal with issues regarding using html5 local storage, etc.
Melvin Carvalho: thanks!
Manu Sporny: good call guys, we'll meet again in 2 weeks.

Created by the Web Payments Community Group. Shared with love under a CC-BY license.