Web Payments Community Group Telecon

Minutes for 2012-06-26

  1. Expressing alternative currencies
  2. Currency mints and currency creation
  1. Create a /currency path off of the http://purl.org/ domain for mapping ISO currency codes to URLs. Use those URLs in PaySwarm to identify fiat currencies.
Manu Sporny
Dave Longley
Manu Sporny, Dave Longley, David I. Lehn, Fabio Barone, Jeff Sayre
Audio Log
Manu Sporny: Anything else that needs to be added to the Agenda?
Manu Sporny: Okay, moving to the first item.
Dave Longley is scribing.

Topic: Expressing alternative currencies

Manu Sporny: first up is expressing alternative currencies in payswarm
Manu Sporny: so we had mentioned that payswarm supports multiple currencies, mostly fiat currencies, etc. these types of currencies are easier to work with
Manu Sporny: alternative currencies are different and don't always follow the same model that fiat currencies use, one example such a currency is work hours for time spent on a farm, some kind of physical labor, etc.
Manu Sporny: the currency type is work hour and could be exchanged for products on a farm, eg: 5 hours of work could get you so many heads of lettuce.
Manu Sporny: we need a fairly universal way for how to identify these currencies
Manu Sporny: currently we allow two types of things in the payswarm spec/messages in the currency field
Manu Sporny: one of these is a string that is an ISO code for fiat currencies like USD, JPY, etc.
Manu Sporny: these are recognized by the world's financial industry
Manu Sporny: the other thing we support is a URL.
Manu Sporny: we think that a URL is the best way to handle minting your own currency (custom, alternative currencies)
Manu Sporny: once you create that URL somewhere it could be used to transact/exchange/mint that currency
Manu Sporny: should we be using text strings/numbers that map/URLs, should there be a central repository for this information?
Manu Sporny: should we use some other method for identifying currencies?
Dave Longley: Well, we're certainly trying to be very Webby about this - URLs are generally what's used for providing universal identifiers on the Web. [scribe assist by Manu Sporny]
Dave Longley: There is no reason we shouldn't use those, that I can think of. [scribe assist by Manu Sporny]
Dave Longley: There may be some issues - what happens when a currency is mapped to a URL... what happens when that URL goes away? What happens when they lose the domain? [scribe assist by Manu Sporny]
Dave Longley: If the URLs are also used as the API endpoint - should they be secure? [scribe assist by Manu Sporny]
Dave Longley: I don't think using a string or a number would solve those issues... let's go with a URL... [scribe assist by Manu Sporny]
Dave Longley: If other fiat currencies use URLs, we should use those... for virtual currencies, they should use a URL for their identifier. [scribe assist by Manu Sporny]
Dave Longley: We need to understand the downsides of using URLs... [scribe assist by Manu Sporny]
David I. Lehn: We may want URLs that are per-authorities... maybe URLs would have information on them ... like ISO currency codes that they're associated with. We could 'mint' new currency URLs for USD... this may not work well with multiple PaySwarm Authorities. Maybe we could have currency hashes? [scribe assist by Manu Sporny]
David I. Lehn: It's possible to have some sort of association between "USD" and a URL... [scribe assist by Manu Sporny]
David I. Lehn: oasis has some currency stuff
David I. Lehn: codes with type of urn:un:unece:uncefact:codelist:specification:54217:2001 or something
David I. Lehn: part of that UBL stuff
David I. Lehn: ripple uses urn:ripple:units: + ISO code or some other specific strings
Fabio Barone: I think most alt curr people are not that tech savvy
Dave Longley: We might have to setup some sort of trust system - separate payswarm authorities trust certain URLs... we don't want different PAs creating URLs for things like USD... we'd have interoperability issues. [scribe assist by Manu Sporny]
Fabio Barone: thus you should be free to implement something workable
Manu Sporny: something else that is very important is that we make sure that whatever alternative currency mechanism we end up creating is easily implemented by people who aren't very technology-savvy
Manu Sporny: if someone wants to be able to create a local community currency but doesn't know anything about payswarm they should be able to go to a webpage and do it easily
Manu Sporny: if any payswarm authority could create a new virtual currency we would need to make sure that they dont' go to multiple payswarm authorities and create the same currency
Manu Sporny: ultimately, tawhauc is correct, we need to ensure that it is very easy to implement.
Manu Sporny: the biggest danger for using URLs is that the URL for the alternative currency goes away
Manu Sporny: that would be a big problem for all accounts holding value in that currency
Fabio Barone: lots of alt curr projects start and then fade away
Manu Sporny: if we had a central account/URL service for these URLs and we required all currencies to register with, this might help mitigate the risk
David I. Lehn: is the problem the URL going away or the data changing?
David I. Lehn: ISO codes are standardized, not really going to change
Fabio Barone: should be robust enough to handle that
Manu Sporny: they still might disappear
Fabio Barone: if the URL goes away probably that project died....
Manu Sporny: tawhauc is right, the system should be robust enough to handle that
Manu Sporny: this is a pretty serious concern if we're going to use URLs
Manu Sporny: there are two things we could do, we have been using the URL for the currency as the API end point as well
Manu Sporny: we could say that if the URL becomes unreachable at some point
Manu Sporny: we could say that the only currency usable is that which is circulating within the system (payswarm system)
Manu Sporny: we do want to be able to go to that URL to get new currency
David I. Lehn: is that mixing the use of that URL?
Manu Sporny: we want to be able to both identify and add new units of the currency into the system
Manu Sporny: do you think we should split these functions? identity and minting?
David I. Lehn: is there only going to be one mint for a particular currency?
David I. Lehn: it seems like the URL should have more information on what the currency is
David I. Lehn: it seems that there should be two services, one for more information on the currency
David I. Lehn: and one for interacting/minting
Manu Sporny: that's a good point, so we could split these two
Manu Sporny: is that a better design?
Manu Sporny: we could have the identifier say where all the mints are
David I. Lehn: that's a little centralized in design
Manu Sporny: that might be a good idea to prevent run away inflation, etc
Dave Longley: It is centralized in a sense... but I don't see that as a big negative - there should be some centralized location that talks about where the mints are for a currency. [scribe assist by Manu Sporny]
Fabio Barone: are you trying to address all kinds of virtual currencies?
Dave Longley: There has to be some mechanism that decides whether or not new money should be created - this may or may not cause havoc/inflation if there is no coordination. Even if the system is decentralized, they're going to have to coordinate at some point. [scribe assist by Manu Sporny]
Fabio Barone: there are all different kinds of designs
Fabio Barone: bitcoins are minted, there are timebanks, some alternate currencies don't "mint" currencies
Fabio Barone: amounts just come into existence, etc.
Manu Sporny: we want to support as much as we can without things becoming too complex
Manu Sporny: we want to support timebanks, time shares, being able to exchange work hours for produce, etc.
Fabio Barone: it can be pretty simple ... these projects should commit to having a URL
Fabio Barone: if a URL goes away it's their problem
Manu Sporny: i agree and that's the design direction we're heading
Manu Sporny: however owns the URL is in charge of specifying who the mint is and how it's minted, etc. all of that management
Manu Sporny: we just want to make sure we have all of the use cases covered
Manu Sporny: there are two things working against each other: we want the system to be as decentralized as possible, we also want the currency to be centrally identified and easy to manage
Manu Sporny: we want to provide a very basic piece of open source software that enables them to create a very simple currency for themslves
Manu Sporny: the currency may be exchangeable with USD or not, some are more complex than others
Manu Sporny: we generally agree that most of the responsibility falls to the alternative currency managers
Fabio Barone: most of these alternative currencies are not decentralized they are local
Manu Sporny: what we mean by decentralized within payswarm is that anyone should be able to create their own currency
Manu Sporny: and transact with it
Manu Sporny: so if you want a currency that applies just to your apartment :) or your town, locality, etc, you can do that
Manu Sporny: we want to generalize it enough to permit it to apply to all of these various scenarios
Manu Sporny: does anyone think we should use something other than a URL to identify currencies?
Manu Sporny: ok... so except for the major fiat currencies
Manu Sporny: we will be using a URL.
David I. Lehn: i still have an issue with mixing URLs and strings for the same property
Manu Sporny: well the issue is that USD doesn't have a URL
David I. Lehn: there are some other projects that are trying to use URLs but they are not standards
David I. Lehn: maybe we want a comment pseudo URL
David I. Lehn: maybe we should use a URN
Jeff Sayre: speaking of sovereign currencies, we had talked about the royal canadian mintchip project
Jeff Sayre: i'm now in contact with them, i'll be talking to them about looking at our materials, etc.
Jeff Sayre: perhaps they have already thought about some of these issues (URL to identity currencies) and if not (either way), maybe we can talk about this stuff with them
Manu Sporny: yes, we should do all we can to get them involved
Manu Sporny: we could create a purl.org URL for USD/etc.
Manu Sporny: if ISO comes by and wants to take over the URL we could grant them ownership over it
Manu Sporny: maybe we should get in touch with ISO and see if they'll create a URL for this
Manu Sporny: do you think it's worth reaching out to them? it may take 4-5 years to get it approved
Jeff Sayre: +1
Manu Sporny: it might be easier for us to just create one at purl.org and transition over to ISO if it takes off
Dave Longley: +1
Manu Sporny: Do we want something like this: http://purl.org/iso4201/usd
Manu Sporny: Do we want something like this: http://purl.org/currencies/usd
David I. Lehn: 4217?
Manu Sporny: Do we want something like this: http://purl.org/currency/usd
Manu Sporny: i'd prefer simpler, easier to read (no iso4217)
Dave Longley: We might be overthinking this - all ISO4217 codes are 3 characters long... let's keep it simple for now. [scribe assist by Manu Sporny]
Dave Longley: If we needed to in the future, we could add it. [scribe assist by Manu Sporny]
[discussion over the naming for the URL for currencies (particularly ISO currencies for now)]
PROPOSAL: Create a /currency path off of the http;//purl.org/ domain for mapping ISO currency codes to URLs. Use those URLs in PaySwarm to identify fiat currencies.
Manu Sporny: +1
Jeff Sayre: +1
Dave Longley: +1
David I. Lehn: +1
Fabio Barone: +1
RESOLUTION: Create a /currency path off of the http://purl.org/ domain for mapping ISO currency codes to URLs. Use those URLs in PaySwarm to identify fiat currencies.

Topic: Currency mints and currency creation

Manu Sporny: we use the term "currency mint" pretty loosely, when we think about "mint" we think about the actual creation of amounts of a currency, when we say "mint" we mean you can create units of a currency like heads of lettuce, sheep, work hours, whatever
Manu Sporny: so how exactly do these currency mints create (or enable the creation of) currencies
Manu Sporny: if a currency mint simply publishes an exchange rate
USD, then payswarm authorities can use a service to get that exchange table and perform the currencytransformation/creat ion itself
Manu Sporny: the payswarm authority could hit multiple currency mints to get exchange rates to do the appropriate transformations to create the type of currency it needs
Manu Sporny: so when someone wants to put money into a payswarm account the authority could get the exchange rates and do the actual currency creation by converting from say, USD.
Manu Sporny: it gets difficult when the currency becomes very local and doesn't have these kinds of exchange rates
Manu Sporny: like if you can't exchange farm work hours for USD, but only for local produce, etc.
Manu Sporny: so we have to support currency creation outside of the payswarm system
Manu Sporny: so one way is to create an API that allows the currency to be created elsewhere and reported back to the authority
Manu Sporny: for example, someone could go to a payswarm authority to try to deposit their egg share points into their account
Manu Sporny: and the authority checks for an exchange rate but there isn't one
Manu Sporny: so it redirects them to a website for the currency mint
Manu Sporny: and that site shows the person a webpage that lets them enter their egg share information to get authorization
Manu Sporny: to send their egg shares to the payswarm authority
Manu Sporny: the site then authorizes the person and sends the amount to the payswarm authority which adds the information to their payswarm account
Dave Longley: Quick comment on this - when a payswarm authority uses the currency exchange rate, that's the easiest approach. [scribe assist by Manu Sporny]
Dave Longley: In that case, we don't have to deal w/ decentralized failures. [scribe assist by Manu Sporny]
Dave Longley: In the other case, it could be that a system fails while depositing or transacting w/ the PaySwarm Authority fails... in that case, it would be difficult to solve the issue - the issues are more complex than the exchange rate case. [scribe assist by Manu Sporny]
Dave Longley: The case where you want to have truly localized currencies - we want to support that ... which is the harder case. We need to create good software for those folks to help them make this easier. [scribe assist by Manu Sporny]
Dave Longley: We should definitely support the exchange rate case - it's easier... would increase the adoption rate for their currencies... makes things easier for them. It promotes the efficacy of the PaySwarm Authority in moving money around. [scribe assist by Manu Sporny]
Manu Sporny: the question i have is: have we missed any particular way of creating currencies that don't map to either of these approaches?
Manu Sporny: are we covering everything?
Fabio Barone: most alt curr creation happens at the moment of transaction
Dave Longley: It should be fairly obvious that we have covered everything - the only way you create currencies is via a centralized mint. [scribe assist by Manu Sporny]
Fabio Barone: mutual credit systems
Dave Longley: I think we've covered any possible use case... if not, there is a way to extend the system (via external currency mints). [scribe assist by Manu Sporny]
Fabio Barone: I offer a service, I am credited a certain amount, and the other party is debited the same amount
Fabio Barone: ok
Fabio Barone: many alternative currency systems do not have a thing like a mint; of these sorts of local currency systems, there's a way where if i offer a service to someone one party will be credited 2 hours and i'll be debited 2 hours, and this happens at the time of transaction, over the whole system the total amount is zero
Fabio Barone: it's just about shifting around hours, or a currency with a name, etc.
Fabio Barone: timebanks also work like this, "i will work for you for 2 hours" and that debits 2 hours from the other party
Manu Sporny: i think the system can handle timebanking, but the external system will have to handle crediting and debiting differently
Manu Sporny: i'm wondering if this is more like a contract and not a currency
Manu Sporny: does everyone "have a currency mint" under this scenario (for timebanks)?
Manu Sporny: everyone has their own time
Fabio Barone: this isn't really correct, it is a contract but it's a social contract, there are different flavors
Fabio Barone: standard timebanks consider everyone's time the same
Manu Sporny: since everyone's time is worth the same, you just need to make sure people aren't cheating the system
Manu Sporny: maybe having a centralized timebank currency mint would work fine, it just works on the honor system
Manu Sporny: the currency mint might just always grant you hours upon request
Fabio Barone: these systems often don't work over time
Fabio Barone: particularly converting to traditional currencies
Fabio Barone: there may not be that great of a need for making these currencies work with the payswarm system
Manu Sporny: payswarm has the concept of listing assets and things ... so it takes care of that
Manu Sporny: so once the currency (worked hours) is in the payswarm system
Manu Sporny: you could acquire whatever you wanted via payswarm listings, assets
Manu Sporny: and make purchases directly with your work hours
Manu Sporny: the only concern is with the currency mint, which is the thing that says its ok to create a currency
Manu Sporny: at some point though, we have to say that we can't necessarily get every one of these systems into payswarm itself, it has to be an external system
Manu Sporny: this also allows for flexibility
Dave Longley: It sounds like the way these timebank things could work is that someone else in the community could promise you a number of hours. [scribe assist by Manu Sporny]
Dave Longley: If we're looking at this in the way of a currency mint - the time bank has a currency mint - the time bank currency mint has accounts that keep track of who has promised other people hours. [scribe assist by Manu Sporny]
Dave Longley: They could say that they could take 2 hours of their time from their time bank and spend them on things that are external to that timebank system. [scribe assist by Manu Sporny]
Dave Longley: So you could use those hours to buy assets on PaySwarm... so they could do the transacting of assets through the payswarm system... but the system that creates the hours and tracks them is the time bank currency mint. It seems like that could be the best way to go.. [scribe assist by Manu Sporny]
Dave Longley: It's a bit different from how these other systems work... if you pay with a credit card, your credit card company is giving you credit. Time bank works kind of like that - except that it's another member in the community that is giving you the currency (the unit of time) [scribe assist by Manu Sporny]
Manu Sporny: that seems like how we'd go about solving the problem, we're at the top of the hour, so we'll push those other two issues to the next meeting
Manu Sporny: anything else?
Manu Sporny: ok, thank you everyone

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