London-based startup CommerceBlock said it is working on a new tool for boosting Bitcoin privacy. The new Mercury Wallet tests the new technology and, if all goes well, it will soon be put into practice. The privacy tool uses statechains, a layer currently being built on top of Bitcoin to help the digital currency scale above its limitations so that it can reach more users.
CommerceBlock's code for the in-progress project is open source, so anyone can give it a look, spot and report bugs, and even alter the code and use it for his or her own purposes if desired. But the company also uses this statechain code and its sidechain code for proprietary projects with as-yet undisclosed institutions.
CommerceBlock has been working on the first-known implementation of statechains, which makes Bitcoin's future look a little bit rosier in terms of scalability. Currently, Bitcoin doesn't support more than a few transactions per second. But various layer 2 solutions like the Lightning Network and now statechains are helping users to get around this limitation.
Scale is the main purpose of statechains. In addition to building a code implementation, called Mercury, CommerceBlock has been laying the building blocks to make this layer accessible to average users with Mercury Wallet. Here, users can set up statechains and make actual statechain transactions. (Warning: The wallet is for testing only right now and is not safe for real coins.)
More recently, however, CommerceBlock developers have discovered that statechains also offer privacy benefits, which they are now also building into Mercury Wallet, as CommerceBlock outlines in an exploratory blog post.
Bitcoin transactions aren't very private. The history of transactions of every user is stored permanently by the Bitcoin network. Users have to be extra diligent if they want to cover their tracks successfully.
CommerceBlock has been experimenting with making these privacy transactions work on top of statechains.
"Financial privacy, we believe, is right and necessary; it's not practical that every time people use bitcoin that the holdings become public to the receiver of their payment," CommerceBlock CEO Nick Gregory told CoinDesk, adding that institutions CommerceBlock is working with have also expressed interest in increasing their privacy so other institutions can't see their bitcoin holdings.
So far, CommerceBlock is the only company known to be working on statechains.
New Bitcoin privacy potential
CoinJoins, on Wasabi Wallet and Samourai Wallet, are the most popular way to make private bitcoin transactions today. CoinSwaps, on the other hand, can use a different technique to make these sorts of private transactions undetectable. CoinSwaps are currently in the testing phase.
Gregory thinks they could both get a boost from statechains.
"CoinJoins and CoinSwap work great at the moment. However, they are time-consuming and costly as you have to wait for bitcoin confirmations for each CoinJoin or swap," Gregory said.
On statechains, however, transactions are instant and cheap. They accomplish this by taking transactions to a layer above most bitcoin transactions.
Bitcoin is made up of a long trail of blocks. Each block contains "on-chain" transactions. Each block has limited space. "Off-chain" transactions, on the other hand, avoid blocks.
Because statechains allow users to make transactions off-chain, outside of blocks, they don't have to wait. "By moving this off-chain in a noncustodial protocol they become instant and less costly," Gregory explained.
The other downside of CoinJoins is they leave an imprint on the Bitcoin blockchain.
CoinJoining or CoinSwapping on a statechain could add more privacy since these sorts of transactions don't need to be embedded in the blockchain. "CoinSwaps that occur in a statechain are off-chain, and thus their history never makes it on-chain," CommerceBlock's blog post states.
CommerceBlock admits there's an obvious trade-off with statechains. As we'll explain in a minute, statechains users need to place trust in the statechain provider to a degree. But if users are willing to do so, they could see privacy benefits when CommerceBlock rolls out a real wallet that can be used for more than just testing.
A new scalability layer
Now, let's take a deeper look at statechains, the construction that makes these new private transactions possible.
On-chain Bitcoin transaction space is very limited. If bitcoin aficionados want the digital currency to be made accessible to as many people as possible, they need to get around this limit.
Bitcoin's Lightning network is currently the most popular method of scaling Bitcoin transactions. Lightning offers a way to make transactions securely without taking up block space, which means faster and cheaper transactions. To this end, statechains are comparable.
Similar to the Lightning network, statechains are powered by multi-signature transactions, which require that more than one user sign off on a transaction before it can be completed. In the case of statechains, 2-of-2 private keys need to sign off. One key belongs to the user and another belongs to the statechain provider – in this case, CommerceBlock.
To pass on the funds, the user simply sends the private key to the recipient. Sending someone your private key is usually a recipe for getting all of your funds stolen. But the idea here is that the statechain provider is supposed to have the user's back and not allow that to happen.
Since the Lightning network is better known than statechains, let's compare and contrast them.
Statechains vs. Lightning network: Pros
Statechain users don't have to deal with routing or liquidity issues as Lightning users do. With statechains, the private key is simply transferred to another owner.
Unlike Lightning, there's no need for a payment to move through a network; thus the transaction avoids the risk of failing if one hop in the network doesn't have enough funds. Liquidity is probably the toughest problem Lightning users face today, although innovative new tools have been cropping up in the hopes of making this problem more manageable.
Direct transactions via statechains are thus better for larger payments where routing can be harder.
Statechains vs. Lightning network: Cons
Statechains require more trust than the Lightning network does. The statechain providers need to be trusted not to collude with a previous private key holder. This sort of trust is not required for Lightning payments.
Say Alice is using a statechain to pass the private key to Bob. Bob is supposed to be the owner of the funds. But theoretically, Alice and the statechain could collude to take Bob's funds. Built-in protections can help guard against this collusion – if the statechain provider cheats, users will be able to see, damaging the reputation of the statechain provider.
Statechain payment amounts are fixed. Say Alice creates a statechain holding 1 BTC, or 0.001 BTC, or whatever amount she likes. Once this value is chosen, and Alice creates the statechain, that amount is set in stone. Let's say she decides on 1 BTC. When making a payment, she has to send the 1 full bitcoin. She can't split it into smaller payments. As such, statechains are not ideal for multiple, smaller payments. That's where Lightning shines.
Since statechains and Lightning each serve different use cases, Gregory sees them as "complementary." He expects they will be just as popular as the Lightning network in the long term. "Our goal is certainly to make them as big as Lightning," Gregory said.