Breaking Down JPM Coin22nd February 2019
Loathed by some, this asset is a consequential stepping stone
Since the announcement of JPM Coin, I have seen the full spectrum of reactions. From comparing the coin to Schrute Bucks 💵 or V-Bucks (the Fortnite videogame currency) to claims that JPM Coin will become the “gold standard” of cryptocurrency because “The Man” has taken the best part of decentralized technologies and internalized it for their own gain. It quickly became challenging to discern facts from reactionary opinions meant to guard a previously held position, so I decided to go do some digging of my own. I’ve read through J.P. Morgan Chase’s statements on JPM Coin, dove into the Quorum Protocol Whitepaper (the blockchain protocol on which the JPM Coin will initially reside) and investigated the J.P. Morgan GitHub for clues on potential next steps.
What is JPM Coin
To start, let’s make sure we are clear on the type of digital asset JPM Coin represents. JPM Coin is known as a stablecoin, a digital coin which is pegged to the USD, 1:1. Most stablecoins, including JPM Coin, maintain their value based on the premise that for each stablecoin released, there is an associated USD collateralized. There are currently several such stablecoins in circulation (Tether, Gemini, Circle, etc). JPM Coin is an interesting new entrant because it is backed by the largest U.S. bank and a strong balance sheet, providing an unprecedented level of credibility to the USD-collateralized stablecoin. (Note: there are also stablecoins which are crypto-collateralized and non-collateralized.)
A major point of contention surrounding JPM Coin is rooted in the definition of cryptocurrency. Some have called JPM Coin a cryptocurrency, which is incorrect… mostly. There is a lack of clarity around this point because “cryptocurrency” has many definitions. Looser definitions consider any digital representation of a tradeable asset a cryptocurrency (such as V-Bucks, the Fortnite digital videogame currency purchased with real fiat currency). Under this definition, JPM Coin is a cryptocurrency. But, under the more specific definition, the one used by computer scientists, engineers, and experts in the DLT community, JPM Coin is not a cryptocurrency. Under this definition, a cryptocurrency is a decentralized digital currency in which encryption techniques are used to regulate the generation of units of currency (e.g. via Proof of Work) and verify the transfer of funds independently of a central bank. They are integral to a system of gamified security on a public, distributed blockchain.
Based on this definition, JPM Coin clearly isn’t a cryptocurrency, and that is OKAY. J.P. Morgan Chase has long held cryptocurrencies at arms-length while being optimistic about blockchain technology, and JPM Coin is no deviation from this stance.
How it Works
Simply because JPM Coin isn’t a traditional cryptocurrency, doesn’t mean it is void of interesting functionality and use cases within the J.P. Morgan environment. To start, JPM Coin will be trialed with their wholesale banking clients. Here is how JPM Coin works as a stablecoin at a high level. A client converts fiat currency (USD) to tokenized JPM Coins which reside on the Quorum blockchain. The JPM Coins are then transferred to another JPM Client at which point they are converted back into fiat currency, and the JPM Coins are destroyed.
JPM Coin enables real-time gross settlements (RTGS) between institutional clients. The current process for settling and clearing payments requires several transactions between a multitude of banking networks. This process is clearly inefficient and worse, is susceptible to fraud and risk of server outages or attacks which could cripple a bank’s clearing systems. By tokenizing fiat currency, JPM Coin cuts the wait time for finality of payment from approximately 2 days to mere seconds, doing so securely and confidentially.
This was the goal of JPM Coin. To reducing clients’ counterparty and settlement risk, decreasing capital requirements and enable instant value transfer, and they chose JPM Coin and blockchain for the job. Several articles have called out JPM Coin and the use of blockchain as unnecessary. They argue that any protocol connecting internal databases could have done the job. These comments miss the nuance of the opportunity presented by private blockchains for large financial institutions. As Umar Farooq, the head of Digital Treasury Services and Blockchain for J.P. Morgan Chase stated:
The applications are frankly quite endless; anything where you have a distributed ledger which involves corporations or institutions can use this… Looking further out, the JPM coin could be used for payments on internet-connected devices if that use for blockchain catches on.
The Distributed Ledger
JPM Coin wouldn’t be possible without a distributed ledger on which to transact and that ledger is called Quorum: J.P. Morgan’s project to create a private blockchain forked from the official Go-Ethereum blockchain, with additional data privacy and improved transactional efficiency. The below image provides some of the key aspects of the Quorum platform and architecture:
A public blockchain like Ethereum wouldn’t suffice for a few reasons: public chains don’t provide the level of data privacy required for wholesale banking and the transaction speeds on public chains are currently notoriously slow (although Ethereum is actively rolling out solutions to improve performance). Quorum was designed to address these key needs; however, the JP Morgan team decided to utilize Ethereum as the core architecture of the blockchain:
The Quorum design outlined in this paper demonstrates how the seminal Ethereum platform can be extended to meet the key requirements of enterprise and in particular, financial institutions in preserving privacy in a distributed, decentralized blockchain consortium network. By building on Ethereum, Quorum inherits the maturity of the production hardened go-ethereum code base…
Quorum has implemented some unique architecture to enable private transactions and ensure consensus is efficiently reached amongst the members of the private blockchain.
Data Privacy On-Chain
Quorum supports both public and private transactions. The public transactions are managed much as they would be on the Ethereum blockchain. Each Quorum node maintains the public state stored in a Patricia-Merkle tree to ensure that everyone is in agreement of the transactions which have occurred. When a private transaction occurs, every Quorum node receives a hash of the encrypted private transaction data, but only the parties involved in the private transaction can see the details of the transaction. As a result, the private state of each Quorum node may vary, and as such the private state is preserved in a separate Patricia-Merkle tree in each node. The validity of the private state of each node can be confirmed by running the storageRoot RPC API to reach private state consensus. This is, however, an additional feature since private consensus can be verified via public consensus as the hash of the encrypted private transaction is included in the public state hash. Any modification to private transactions would result in a different public state, placing the node out of consensus.
Quorum has implemented private transactions by modifying the geth sendTransaction command which is part of the standard go-ethereum implementation. They have added a “privateFor” field which receives the address of the bank or institution which will be receiving the funds and makes the entirety of the transaction private. The sendTransaction command also has one additional field for the hash of the encrypted private transaction data (only for transactions which are private). The remainder of the sendTransaction command remains the same.
If you want to dive into the details, which I won’t cover in this article, I highly encourage you to read the Quorum WhitePaper here.
Potential Next Steps
J.P. Morgan’s Quorum team has built out a robust framework and made the project open source so that other developers can utilize and iterate upon the tool. Signature Bank, a smaller New York bank, has already been using Quorum for a similar live payment platform called Signet. J.P. Morgan is open to others utilizing their platform and they will benefit from the increased testing and development as a result. Additionally, the J.P. Morgan blockchain team has developed “Cakeshop”, an integrated development environment (IDE) and software development kit (SDK) for “Ethereum-like ledgers” (i.e. Quorum).
As mentioned previously, Umar Farooq believes that this is just the starting point and that “The applications are frankly quite endless”. While JPM Coin and Quorum would need significant development to be utilized for “payments on inter-connected devices” the sentiment is significant. It shows that the J.P. Morgan team is looking into the future and potential applications for JPM Coin in markets which don’t yet exist.
The J.P. Morgan GitHub has a repo titled “zsl-q” which holds the POC for a “zero-knowledge security layer” (ZSL) implementation on Quorum. In the documentation, they admit that Quorum’s “key limitation is that it does not support prevention of double-spending for digital assets that are exchanged within private contracts”. This is a serious admission and one which the Quorum team must be keen on rectifying. ZSL is a protocol designed by the team that engineered Zcash, leveraging zk-SNARKS to “enable the transfer of digital assets on a distributed ledger, without revealing any information about the Sender, Recipient, or the quantity of assets that are being transferred.” The POC with Quorum will allow prevention of double-spending of digital assets exchanged privately. It is interesting to note that they worked with the Zcash team, emphasizing the wide breadth of experts invested in the Quorum project, including the Ethereum Enterprise Alliance.
Another interesting insight from J.P. Morgan’s GitHub is the development of Quorum for cloud services with repo’s titled “quorum-aws” and “quorum-cloud”. Such cloud tools could enable Quorum to rapidly scale to more customers and entice a wide variety of institutions to join the JPM Coin ecosystem.
A Vote of Confidence
There has been a divide in the distributed technologies community between those who support cryptocurrencies and those who support blockchain or distributed ledger technologies (DLT). In the past year, those who support blockchain have felt that the efficacy of DLT has been shrouded by the rise and pop of the cryptocurrency market. And while the success of public blockchains depends on cryptocurrencies as a means to create a game-theory model of security, this isn’t the case for permissioned (private) blockchains.
Jamie Dimon, the CEO of Morgan Stanely, likely falls in the latter camp which supports blockchain technology and not crypto. He has been highly vocal about his distrust in cryptocurrencies but has asserted that blockchain technology holds promise, and his recent moves reflect this. Additionally, J.P. Morgan’s blockchain project, Quorum, is built on top of Ethereum, reusing the vast majority of Ethereum’s architecture in its design. This is an incredible vote of confidence in the Ethereum blockchain, both for its native public form and private iterations.
Blockchain technology, cryptocurrencies, and digital assets are new to the world. Those yet to be initiated need time to test the waters, understand the technologies and the opportunities, and then adjust. Most often, progress occurs through iterations and not leaps and bounds. And no matter how frustrating the slow march of progress may be to some, attacking small incremental progress because we prefer grand leaps forward is a counterproductive measure.
The development and implementation of JPM Coin provide valuable, worldwide exposure for Ethereum and blockchain technologies. Furthermore, JPM Coin is of no detriment to Ethereum or other public blockchain initiatives. If you aren’t convinced by the content above, reread this passage from the Ethereum Yellow Paper:
There are many goals of this project; one key goal is to facilitate transactions be- tween consenting individuals who would otherwise have no means to trust one another. This may be due to geographical separation, interfacing difficulty, or perhaps the incompatibility, incompetence, unwillingness, expense, uncertainty, inconvenience or corruption of existing legal systems. By specifying a state-change system through a rich and unambiguous language, and furthermore archi- tecting a system such that we can reasonably expect that an agreement will be thus enforced autonomously, we can provide a means to this end.
A lot of work is still to be done to achieve the above goal, and JPM Coin will prove to be a valuable stepping stone en route to a new world built upon public distributed ledger technologies.
Disclaimer: This article is not intended to provide investment advice. Any investments should only be cautiously taken after the associated risk is understood.
Have thoughts, opinions, or are simply excited about the distributed future??? Leave your comments below!
Breaking Down JPM Coin was originally published in Hacker Noon on Medium, where people are continuing the conversation by highlighting and responding to this story.