On day two of MIT’s Bitcoin Expo 2017, Circle Principal Engineer Anders Brownworth gave a presentation that focused on Circle’s latest updates, which include its newest Ethereum-based protocol known as Spark. The Spark protocol will allow Circle to create permissioning contracts to be built into the core of the protocol. The core permissioning contract acts as an authority by requiring smart contracts to ask permission from it before any function is executed. Permissioning contracts will also point to the latest version of a smart contract and notify the core when a new version of that contract is available.
What Is Circle?
Circle is a mobile payment application that aims to create a zero-fee platform for sending money to anyone in the world using mobile phone messaging. Similar to the Ethereum-based Dapp Status, Circle facilitates peer-to-peer transactions using its mobile messenger app that is available for the web, iOS, and Android.
According to Brownworth:
“We feel that the price of a transaction should be zero. You shouldn’t have to pay to move money from one side of the earth to the other.”
Launched in 2013, Circle was originally built for consumers to buy and sell bitcoin using the bitcoin blockchain as a payments platform. In December of 2016, Circle formally announced it would cease its bitcoin selling option, transferring the function to its preferred partner and cryptocurrency exchange, Coinbase.
Circle’s decision to end bitcoin buying and selling was met with controversy from consumers and bitcoin advocates. Many users switched to other bitcoin-sending services and as a result, Circle’s ratings on the Apple App Store and Google Play Store plummeted to terrible ratings and one-star reviews. According to one source, the Circle development team added more than 55 fake five-star reviews in an attempt to boost the app’s ratings on the Apple App Store.
Although Circle no longer facilitates the buying and selling of bitcoin, the cryptocurrency still plays a key role in the company’s operations.
“Bitcoin very fundamentally informs the way Circle works behind the scenes, and it continues to do so,” said Brownworth. “We continue to use it.”
Spark + State Channels
Brownworth’s Bitcoin Expo presentation described Circle as an asset-issuer that facilitates token movement, represented as IOU’s as opposed to digital dollars. This concept requires consumers to trust the issuer (Circle) who can only issue and destroy its own tokens, preventing other issuers from distributing tokens other than their own. According to Brownworth, peer-to-peer transactions can facilitate token movement, but current methods are slow, costly, and lack privacy. Transactions through the use of state channels, on the other hand, are private, secure, and essentially free (albeit with some setup cost), requiring zero gas while executing instantly.
The way Spark works is that a user account from an issuer (Circle or another platform) would open channels where one part of the contract locks up the funds, essentially minting currency for that specific state channel, allowing for atomic swaps of assets to occur. Additionally, state channels can be chained so that accounts can transfer to other accounts through an issuer, allowing for tokens to be traded to another type of token, and from one account to another account.
Other benefits to implementing state channels into Spark include scalability, cross-chain state updates (Ethereum, Fabric, Corda), transparency, and, according to Brownworth, even the ability to mint your own coins.
According to Brownworth, Circle plans to make Spark open-source with the intent to build apps on the Spark platform instead of competing with other solutions at the platform level. Circle’s initial implementation utilizes the Ethereum blockchain, which has not been without its challenges.
“It’s really really hard to make a smart contract system maintainable,” Brownworth said. “If you do the sort of Solidity 1.0 basic example and set up your own currency, that’s great and all until tomorrow when you want to add a new feature and you have to delete everybody’s accounts. Or you have to build in a path for all of that information to make its way into the new contract.”
Brownworth added that other blockchains like Hyperledger and Corda could have been used, but Ethereum’s maturity and code served Circle’s needs best at the moment.
“We actually built [Spark] in a number of different platforms, and we ended up coming to the realization that the practical way to implement this right now is Ethereum,” he said.
Although Circle chose Ethereum for building Spark, Brownworth states that Spark will be interoperable with other blockchains and platforms via state channels as well.