The world’s first open outcry Bitcoin exchange and what it teaches us about clearing

I attended BitcoinExpo 2013 in London this weekend.   There were some very interesting talks and I met some great people. I thought there was perhaps a little too much focus on speculation, mining and trading but perhaps that’s just evidence of the maturity of the Bitcoin scene in the UK. Give it time.

That said, even I  couldn’t resist going along to the world’s first ever open outcry Bitcoin exchange.   In the bar of 93 Feet East on Brick Lane, Paul Gordon, a former trader, assembled a group of fifteen or so wannabe Bitcoin traders from amongst the attendees at the conference and created something rather special.

OpenOutcry#1

He explained the rules of the pit, taught everybody the hand gestures, ran a couple of trial runs and then trading began for real.  What I found so fascinating was that all the elements were there:

  • There were buyers: they used “pulling” hand gestures to indicate that they were quoting a price at which they would buy a “lot” of 0.01 Bitcoins (that is: they were quoting a “bid”)
  • There were sellers: they used “pushing” hand gestures to indicate that they were quoting a price at which they would sell (they were quoting an “offer”)
  • There were market-makers: these are people who quoted both a price at which they would buy and at which they would sell
  • There was a short-seller: he borrowed coins from somebody else, which he promptly sold into the market
  • There was a short squeeze: towards the end of the trading session, the other traders all knew he needed to buy back the coins he had sold short (to return to the original owner) and he suddenly found the price moving against him
  • … and there was a lot of paper: once each trade was struck, both parties to the trade filled out pieces of paper with the details of the trade (how many lots, at what price, with whom)

OpenOutcry#2

But what most interested me was what happened once the trading was over: there was then a spontaneous process of clearing.

Clearing

In financial markets, clearing is the process of figuring out who owes what to whom and agreeing how they’re going to settle their obligations to each other.  You can think of it as being everything that needs to happen after a trade is agreed to get it to the point where assets can change hands. And that’s exactly what we saw happen here:

  • First, we saw trade matching: the parties to trades compared their paper slips with each other to make sure they agreed on the details of the trade
  • I also saw some evidence of trade netting: parties who had both bought and sold from each other realised they could cancel out certain trades, just paying the cash difference in the value of the trades
  • And I saw people discussing the mechanics of settlement: how exactly where they going to exchange their pounds and send their Bitcoins?

This is exactly what happens in a regular process of clearing in other, far more formal markets, such as the equity markets – and I thought it was fascinating to see it emerge spontaneously. Of course, clearing for a market such as the London Stock Exchange or in New York is somewhat more complicated than this. In particular, the role of a clearing house to support the concept of novation for netting is very important and the real-world model is hierarchical (involving Central Securities Depositories, Custodian Banks and lots of other players). But the essential character is the same.

In short, the core principles of clearing emerged spontaneously on a Saturday afternoon in a bar on Brick Lane. Amazing.

A simple explanation of how money moves around the banking system

Twitter went mad last week because somebody had transferred almost $150m in a single Bitcoin transaction. This tweet was typical:

There was much comment about how expensive or difficult this would have been in the regular banking system – and this could well be true.  But it also highlighted another point: in my expecience, almost nobody actually understands how payment systems work.  That is: if you “wire” funds to a supplier or “make a payment” to a friend, how does the money get from your account to theirs? 

In this article, I hope to change this situation by giving a very simple, but hopefully not oversimplified, survey of the landscape.

First, let’s establish some common ground

Perhaps the most important thing we need to realise about bank deposits is that they are liabilities. When you pay money into a bank, you don’t really have a deposit. There isn’t a pot of money sitting somewhere with your name on it. Instead, you have lent that money to the bank. They owe it to you.  It becomes one of their liabilities. That’s why we say our accounts are in credit: we have extended credit to the bank.  Similarly, if you are overdrawn and owe money to the bank, that becomes your liability and their asset.  To understand what is going on when money moves around, it’s important to realise that every account balance can be seen in these two ways.

Paying somebody with an account at the same bank

Let’s start with the easy example. Imagine you’re Alice and you bank with, say, Barclays. You owe £10 to a friend, Bob, who also uses Barclays. Paying Bob is easy: you tell the bank what you want to do, they debit the funds from your account and credit £10 to your friend’s account.  It’s all done electronically on Barclays’ core banking system and it’s all rather simple: no money enters or leaves the bank; it’s just an update to their accounting system.  They owe you £10 less and owe Bob £10 more. It all balances out and  it’s all done inside the bank: we can say that the transaction is “settled” on the books of your bank.  We can represent this graphically below: the only parties involved are you, Bob and Barclays.  (The same analysis, of course, works if you’re a Euro customer of Deutsche Bank or a Dollar customer of Citi, etc)

Single Bank Settlement

But what happens if you need to pay somebody at a different bank?

This is where it get more interesting.  Imagine you need to pay Charlie, who banks with HSBC. Now we have a problem: it’s easy for Barclays to reduce your balance by £10 but how do they persuade HSBC to increase Charlie’s balance by £10?  Why would HSBC be interested in agreeing to owe Charlie more money than they did before?  They’re not a charity! The answer, of course, is that if we want HSBC to owe Charlie a little more, they need to owe somebody else a little less.

Who should this “somebody else” be?  It can’t be Alice: Alice doesn’t have a relationship with HSBC, remember.  By a process of elimination, the only other party around is Barclays. And here is the first “a ha” moment…  what if HSBC held a bank account with Barclays and Barclays held a bank account with HSBC? They could hold balances with each other and adjust them to make everything work out…

Here’s what you could do:

  • Barclays could reduce Alice’s balance by £10
  • Barclays could then add £10 to the account HSBC holds with Barclays
  • Barclays could then send a message to HSBC telling them that they had increased their balance by £10 and would like them, in turn, to increase Charlie’s balance by £10
  • HSBC would receive the message and, safe in the knowledge they had an extra £10 on deposit with Barclays, could increase Charlie’s balance.

It all balances out for Alice and Charlie… Alice has £10 less and Charlie has £10 more.

And it all balances out for Barclays and HSBC.  Previously, Barclays owed £10 to Alice, now it owes £10 to HSBC. Previously, HSBC was flat, now it owes £10 to Charlie and is owed £10 by Barclays.

This model of payment processing (and its more complicated forms) is known as correspondent banking. Graphically, it might look like the diagram below.  This builds on the previous diagram and adds the second commercial bank and highlights that the existence of a correspondent banking arrangement allows them to facilitate payments between their respective customers.

Correspondent Banking

This works pretty well, but it has some problems:

  • Most obviously, it only works if the two banks have a direct relationship with each other. If they don’t, you either can’t make the payment or need to route it through a third (or fourth!) bank until you can complete a path from A to B. This clearly drives up cost and complexity. (Some commentators restrict the use of the term “correspondent banking” to this scenario or scenarios that involve difference currencies but I think it helpful to use the term even for the simpler case)
  • More worryingly, it is also risky. Look at the situation from HSBC’s perspective.  As a result of this payment, their exposure to Barclays has just increased.  In our example, it is only by £10.  But imagine it was £150m and the correspondent wasn’t Barclays but was a smaller, perhaps riskier outfit: HSBC would have a big problem on its hands if that bank went bust.  One way round this is to alter the model slightly: rather than Barclays crediting HSBC’s account, Barclays could ask HSBC to debit the account it maintains for Barclays. That way, large inter-bank balances might not build up. However, there are other issues with that approach and, either way, the interconnectedness inherent in this model is a very real problem.

We’ll work through some of these issues in the following sections.

[Note: this isn’t *actually* what happens today because the systems below are used instead but I think it’s helpful to set up the story this way so we can build up an intuition for what’s going on]

Hang on… why are you making this so complicated? Can’t you just say “SWIFT” and be done with it?

It is common when discussing payment systems to have somebody wave their hands, shout “SWIFT” and believe they’ve settled the debate.  To me, this just highlights that they probably don’t know what they’re talking about 🙂

The SWIFT network exists to allow banks securely to exchange electronic messages with each other. One of the message types supported by the SWIFT network is MT103. The MT103 message enables one bank to instruct another bank to credit the account of one of their customers, debiting the account held by the sending institution with the receiving bank to balance everything out.  You could imagine an MT103 being used to implement the scenario I discussed in the previous section.

So, the effect of a SWIFT MT103 is to “send” money between the two banks but it’s critically important to realise what is going on under the covers: the SWIFT message is merely the instruction: the movement of funds is done by debiting and crediting several accounts at each institution and relies on banks maintaining accounts with each other (either directly or through intermediary banks).  Simply waving one’s hands and shouting “SWIFT” serves to mask this complexity and so impedes understanding.

OK… I get it. But what about ACH and EURO1 and Faster Payments and BACS and CHAPS and FedWire and Target2 and and and????

Slow down…..  Let’s recap first.

We’ve shown that transferring money between two account holders at the same bank is trivial.

We’ve also shown how you can send money between account holders of different banks through a really clever trick: arrange for the banks to hold accounts with each other.

We’ve also discussed how electronic messaging networks like SWIFT can be used to manage the flow of information between banks to make sure these transfers occur quickly, reliably and at modest cost.

But we still have further to go… because there are some big problems: counterparty risk, liquidity and cost.

The two we’ll tackle first are liquidity and cost

We need to address the liquidity and cost problem

First, we need to acknowledge that SWIFT is not cheap. If Barclays had to send a SWIFT message to HSBC every time you wanted to pay £10 to Charlie, you would soon notice some hefty charges on your statement.  But, worse, there’s a much bigger problem: liquidity.

Think about how much money Barclays would need to have tied up at all its correspondent banks every day if the system I outlined above were used in practice. They would need to maintain sizeable balances at all the other banks just in case one of their customers wanted to send money to a recipient at HSBC or Lloyds or Co-op or wherever.  This is cash that could be invested or lent or otherwise put to work.

But there’s a really nice insight we can make:  on balance, it’s probably just as likely that a Barclays customer will be sending money to an HSBC customer as it is that an HSBC customer will be sending money to a Barclays customer on any given day.

So what if we kept track of all the various payments during the day and only settled the balance?

If you adopted this approach, each bank could get away with holding a whole lot less cash on deposit at all its correspondents and they could put their money to work more effectively, driving down their costs and (hopefully) passing on some of it to you.  This thought process motivated the creation of deferred net settlement systems.  In the UK, BACS is such a system and equivalents exist all over the world.  In these systems, messages are not exchanged over SWIFT.  Instead, messages (or files) are sent to a central “clearing” system (such as BACS), which keeps track of all the payments, and then, on some schedule, calculates the net amount owed by each bank to each other.  They then settle amongst themselves (perhaps by transferring money to/from the accounts they hold with each other) or by using the RTGS system described below.

This dramatically cuts down on cost and liquidity demands and adds an extra box to our picture:

Deferred Net Settlement

It’s worth noting that we can also describe the credit card schemes and even PayPal as Deferred Net Settlement systems: they are all characterised by a process of internal aggregation of transactions, with only the net amounts being settled between the major banks.

But this approach also introduces a potentially worse problem: you have lost settlement finality. You might issue your payment instruction in the morning but the receiving bank doesn’t receive the (net) funds until later.  The receiving bank therefore has to wait until they receive the (net) settlement, just in case the sending bank goes bust in the interim: it would be imprudent to release funds to the receiving customer before then.  This introduces a delay.

The alternative would be to take the risk but reverse the transaction in the event of a problem – but then the settlement couldn’t in any way  be considered “final” and so the recipient couldn’t rely on the funds until later in any case.

Can we achieve both Settlement Finality and Zero Counterparty Risk?

This is where the final piece of the jigsaw fits in.    None of the approaches we’ve outlined so far are really acceptable for situations when you need to be absolutely sure the payment will be made quickly and can’t be reversed, even if the sending bank subsequently goes bust.  You really, really need this assurance, for example, if you’re going to build a securities settlement system: nobody is going to release $150m of bonds or shares if there’s a chance the $150m won’t settle or could be reversed!

What is needed is a system like the first one we outlined (Alice pays Bob at the same bank) – because it’s really quick – but which works when more than one bank is involved.  The multilateral bank-bank system outlined above sort-of works but gets really tricky when the amounts involved get big and when there’s the possibility that one or other of them could go bust.

If only the banks could all hold accounts with a bank that cannot itself go bust… some sort of bank that sat in the middle of the system.  We could give it a name.  We could call it a central bank!

And this thought process motivates the idea of a Real-Time Gross Settlement system.

If the major banks in a country all hold accounts with the central bank then they can move money between themselves simply by instructing the central bank to debit one account and credit the other.  And that’s what CHAPS, FedWire and Target 2 exist to do, for the Pound, Dollar and Euro, respectively. They are  systems that allow real-time movements of funds between accounts held by banks at their respective central bank.

  • Real Time – happens instantly.
  • Gross – no netting (otherwise it couldn’t be instant)
  • Settlement – with finality; no reversals

This completes our picture:

RTGS

I thought this article had something to do with Bitcoin?

Well done for getting this far.  Now we have a question: can we place Bitcoin on this model?

My take is that the Bitcoin network most closely resembles a Real-Time Gross Settlement system. There is no netting, there are (clearly) no correspondent banking relationships and we have settlement, gross, with finality.

But the interesting thing about today’s “traditional” financial landscape is that most retail transactions are not performed over the RTGS. For example, person-to-person electronic payments in the UK go over the Faster Payments system, which settles net several times per day, not instantly.   Why is this?  I would argue it is primarily because FPS is (almost) free, whereas CHAPS payments cost about £25.  Most consumers probably would use an RTGS if it were just as convenient and just as cheap.

So the unanswered question in my mind is: will the Bitcoin payment network end up resembling a traditional RTGS, only handling high-value transfers?  Or will advances in the core network (block size limits, micropayment channels, etc) occur quickly enough to keep up with increasing transaction volumes in order to allow it to remain an affordable system both for large- and low-value payments?

My take is that the jury is still out: I am convinced that Bitcoin will change the world but I’m altogether less convinced that we’ll end up in a world where every Bitcoin transaction is “cleared” over the Blockchain.

[Updated several times on 25 November 2013 to correct minor errors and to add the link to my Finextra video at the end]

On Bubbles and Architecture… or the importance of the letter ‘s’

I was amused by the juxtaposition of two tweets in my timeline this morning.

Ron Tolido, Cap Gemini’s CTO for Application Services, implied that Bitcoin is a bubble:

Right below him was a series of comments by Andreas Antonopoulos, of which this is typical:

They can’t both be right.   Or can they?

My take is that yes they can.  And the reason is because Bitcoins are not the same as Bitcoin.

Bitcoins are currency units that can be owned and transferred using the Bitcoin network. Today, they trade for, say, $600 and their exchange rate with other currencies is, currently, very volatile.   Ron is quite right to imply that we have no idea what one Bitcoin is worth and, regardless of what a “fair” value might be, one can expect a violently random walk on the path to that value.    Frankly, it’s a mug’s game trying to predict it and it is my intent never to comment, speculate or otherwise comment on this side of things.  It simply isn’t all that interesting.  And I think Ron is right to inject some calm into the debate (this post is not a criticism of him!)

But I think that he may also have rather missed the point.  The innovation of Bitcoin isn’t the creation of a new asset class or a get-rich-quick scheme – Bitcoins as a currency are just one application for the core technology of the Bitcoin network.

And as an architect, it is this underlying architecture that I am focussed on: the underlying genius of Bitcoin is the invention of a globally distributed and decentralised digital asset register, enabled through a stunning breakthrough in computer science: distributed consensus.  It is an open platform for money, if you like.

And I think that is the key insight:  in public debate, we need to distinguish between a particular application of the Bitcoin network and the network itself.

In other words, think of Bitcoins – the Bitcoin currency – as like a dotcom stock.   Perhaps it is amazon.com.  But it could also be pets.com.  Who knows.  Frankly, who cares?

But the Bitcoin network, should be thought of as analogous to the world-wide web itself:  the enabling technology.

The lesson I take from history is that it was the platform that changed the world – and that’s why my focus is on the bitcoin network, not the random gyrations of the bitcoin currency.

(Disclosure:  I never thought I’d have to write this but the recent price moves mean that, notwithstanding all the discussion above, I feel honour bound to disclose that I own a very small number of bitcoins.)

Decentralised Digital Asset Registers – Mastercoin

In my previous post, I discussed how one might build a decentralised asset register on top of Bitcoin. However, there is another approach, one taken by mastercoin. There is a very good explanation of how the system works by Vitalik Buterin at Bitcoin magazine. What makes this approach interesting is that it is based on a deep insight: the bitcoin network and the bitcoin currency are not the same thing.

They don’t describe it this way, but what I think is going on is that they have implicitly said that we can think of Bitcoin itself as the core network (providing consensus services, storage of transactions, etc) and a currency and payment system that sits on top. The colored coin shemes I described in my last post can be thought of as providing a third layer above these. Graphically, we might draw it like this:

colored sheme

The key insight of mastercoin is that you could also build a distributed asset register on top of the network services, without making much use of the bitcoin currency itself.  That is: whereas a bitcoin transaction and a colored coin transaction are really the same thing, a mastercoin transaction could have no real conceptual linkage to the underlying bitcoin transaction that happens to carry it. It would, in effect, be a second currency system sitting on the same network infrastructure.

Unfortunately, the bitcoin network doesn’t provide the generalised storage facilities that this approach requires and the current mastercoin implementation feels, to me, like a hack. For example, bitcoin addresses are repurposed to represent concepts other than addresses in a really quite unsatisfactory way. An ingenious solution to the problem but still a hack 🙂    This means that they haven’t quite managed to remove the middle box in the diagram above and the result is an uneasy half-way house.

mastercoin1

However, once a seemingly minor change to allow 80-bytes of arbitrary data in a bitcoin transaction is introduced in bitcoin 0.9, it may be possible to implement a far more elegant implementation of mastercoin. In essence, their architecture might herald a wave of alternative schemes that sit on the core bitcoin network.

mastercoin3

I have no idea which approach will prevail (economics will no doubt trump architectural purity, as ever!) but it is great to see so much innovation in this space.

Decentralised Digital Asset Registers – Concepts

I am hugely optimistic about the role cryptocurrencies (such as bitcoin) will play in the future – and one of the reasons is that they enable us to build decentralised digital asset registers.  I’ve written about this concept here.

In this post, I’ll explore some of the current thinking on how to build such a system.

The simplest way to think about this subject is to imagine you own one hundred twitter shares that you would like to sell and, because you’re one of these early-adopting trailblazers, you want to sell the shares for Bitcoins and want to do so using only the bitcoin system.  Here’s how it could work:

As I write, Twitter shares trade for just over $40, so your one hundred shares would be worth about $4000.  So you could announce to the world that a particular Bitcoin you own (strictly, a transaction output) is for sale and that you will give whoever buys it all the rights associated with the twitter shares… e.g. dividends, votes, etc.  You don’t plan to transfer the share through the regular equity settlement systems in your country, though; you’ll remain the registered owner there… but provided you are trustworthy, the recipient will trust you to pass on the benefits you receive to them.

A Bitcoin today trades for about $300.  So if you could find somebody who trusts you, they might be willing to pay you about $4300 for your special bitcoin ($300 for the Bitcoin plus $4000 for the rights to the shares).  Perhaps they’d demand a discount to account for the ongoing counterparty risk they have to you.  So let’s imagine they offer to pay you $4000 to keep the maths simple.

To make it interesting, let’s imagine that Alice is willing to buy 25% of your holding ($1000, or 3.33 XBT) and Bob wants 75% ($3000 or 10 XBT).  What we want is for them to transfer these coins to you and for you to transfer your “special” (or, colored) coin to them so that, once you’re done, you have 13.33 XBT and they have a share of the colored coin.

Graphically, this is what it might look like:

Colored Coin Diagram

In this picture, we see that a Bitcoin transaction has been constructed that has the following interesting properties (in reality, it may be done as a sequence of transactions and I’m not 100% sure you could actually do it this way for real on the current Bitcoin network but the concepts remain the same so we’ll stick with this for the purposes of this post)

  1. Alice and Bob pay their agreed amounts of Bitcoins into the transaction (i.e. their 25% and 75% share of the costs) – colored green in the diagram
  2. I pay in the coin I have previously asserted to be “equivalent” to 100 twitter shares – colored orange in the diagram
  3. Alice and Bob receive 25% and 75%, respectively, of the special (colored) coin so that everybody can now see that they are the owner of the coin, and hence entitled to their shares of any benefits associated with the shares – shown in orange on the right-hand side
  4. I receive Alice and Bob’s payments – shown in green on the right.

Easy, right? Well…. not quite.

The problem is step 3.  If you are an independent third party arbitrating a future dispute, how do you know that the 0.25 XBT and 0.75 XBT received by Alice and Bob relate to the ‘colored’ 1XBT I paid in?  What would have happened if I had also paid somebody else 0.75 XBT in that transaction? How would we know one of these payments was the special colored coin and one was just a regular bitcoin?

Worse, what would happen if Alice or Bob somehow temporarily forgot their coins were special and spent them as if they were normal coins? They could lose a fortune! It would be helpful if their wallet software warned them. Which means the wallet would need to be able to tell automatically. Worse, what if Bob used his colored coin as part-payment for a larger expense, with regular coins making up the difference?  How on earth would the recipient interpret their receipt of a transaction output that was formed from combining colored and non-colored coins?!

The answer is that there is nothing in the core bitcoin system that allows you to tell.  So various conventions have been proposed.  The simplest is one that just relies on ordering, but there are others, none of them particularly satisfactory.  But it’s being worked on.   I think one piece of work in particular has helped in this space by generalising this problem by introducing the idea of a “color kernel“, whose job it is to decide which outputs are related to which types of coin.  Projects such as bitcoinx are working on implementing a system based on these concepts.

In a future post, I’ll discuss a very different model, that of mastercoin.

“A remarkable conceptual and technical achievement”

The Federal Reserve Bank of Chicago has published a rather impressive four-page briefing on Bitcoin.

It does a good job of explaining how the system works and I think is fair in its assessments of the weaknesses.  Worth a read.

If I have one criticism, it is in their use of the word “recursive”. I don’t think that’s hugely helpful as it immediately puts the reader in a “programming” frame of mind and can obscure what’s actually going on. I prefer to explain it by appealing to listeners’ recollections (usually vague!) of inductive reasoning:  “bear with me for a moment and let’s assume the system already works and everybody knows who owns what… right, now let’s work from there and figure out how to spend some coins in a way that allows everybody still to agree afterwards”.  That’s pretty much what they did but I think saying “induction” rather than “recursion” helps the explanatory process.

On the blockchain, nobody knows you’re a fridge

I recorded an interview about Bitcoin with Elizabeth Lumley of Finextra last week and it has just gone live.

Richard Bitcoin

I made the point that Bitcoin is clearly going to be huge.  But not for the reasons people commonly suppose.

My take is that, even if it only enjoys modest success as a currency and payment system, that will be sufficient to kickstart a whole other world of innovation.  In particular, ideas such as Colored Coins could enable the emergence of truly secure and tradeable property rights over digital assets and the core insights underpinning Bitcoin’s design have implications for how we build systems for our clients.

I also discussed thow the takedown of Silk Road and how it is likely to legitimise Bitcoin in the eyes of mainstream firms and the possibility that autonomous agents in the “Internet of Things” could become economic agents.

Lessons from Bitcoin: Push versus Pull

Bitcoin is going to change the world – but not for the reasons we commonly assume. One subtle way in which it will change the world is through its influence on other players in the payment ecosystem.

At the heart of the Bitcoin system is the idea of a transaction: at its simplest, this is a transfer of value from one Bitcoin user to another – a credit transfer, if you like.

Consider what this isn’t. This isn’t a direct debit. It isn’t a credit card authorisation. Nor is it the creation of a debt or a precursor to a subsequent billing cycle.  Is is the closest thing we have in the digital world to a person-to-person cash payment.

In this way, we can think of a Bitcoin payment as analagous to a SEPA Credit Transfer, a UK Faster Payments transaction or, more generally, a wire transfer.   Push, not pull.

Graphically, we could depict this as the consumer pushing value directly to the merchant, just like with cash:

Image

Now, consider how that differs to most other forms of electronic payments in the retail space.  They are, almost invariably, achieved through the use of one or more card schemes.

But think about how they work…

The customer thinks they’re paying.  But, really, they’re not. Instead, when they sign the chitty or enter their PIN, they are initiating a supremely sophisticated choreography of immense complexity.

They are, in reality, authorising the merchant to pull the payment from their account, with the request being routed through several intermediaries.

Graphically, it looks something like this:

Image

This model has its advantages but it also suffers from severe problems: the most obvious of which is that if you’re moving payment authorisations around, you need to be maniacally focussed on security: there’s a reason why PCI-DSS exists.

It’s easy to understand why the system was built the way:  what else would you have done with 1960s technology?  The pull model employed by the card processors is a wonder of the world.  But it’s also an artefact of its time.  Would you design it that way if you were starting from scratch today?  I would contend that a system that doesn’t need PCI-DSS, doesn’t need acquirers, doesn’t need issuers, doesn’t need switches and doesn’t require you to trust any third parties has much to commend it.

For this reason, I use this “Push versus Pull” metaphor as a quick heuristic for evaluating payments startups I come across in my day job…