An Overview of Bolt Labs’ zkChannels

Instant and Private Payments on Tezos and Bitcoin

Brian Li
Tezos Commons

--

Bolt Labs was founded by J. Ayo Akinyele, Colleen Swanson, Matthew Green, and Ian Miers with the goal of providing a fast, private, and low-cost blockchain-based payment system for all users around the world. Their research led to the development of the Bolt Protocol, which offered a way for users to transact privately while “preserving the efficiency of off-chain payments”.

After releasing the first version of the Bolt Protocol, the Bolt Labs team has extended the technology even further with multi-party computation (MPC) techniques and rebranded the protocol to “zkChannels”. Currently, zkChannels provides an off-chain transaction layer for Bitcoin and most recently — Tezos.

In this article, we’ll take a look at zkChannels and discuss the scalability and cost-efficiency advantages of off-chain transaction layers like zkChannels.

On-Chain vs. Off-Chain Transactions

In the world of blockchain scalability, “on-chain vs off-chain transactions” is one of the most widely debated topics. To understand why Bolt Labs is developing a payments technology that primarily utilizes off-chain transactions, it’s important to first understand the difference between “on-chain” and “off-chain” transactions.

What’s an On-Chain Transaction?

An on-chain transaction is simply a transfer of value that takes place on a blockchain’s base layer, also known as layer one. For Bitcoin, on-chain transactions happen on the Bitcoin network. Similarly, on-chain transactions on Tezos happen on the Tezos network. On-chain transactions require consensus from a protocol’s miners or block producers, and are thus directly limited by a protocol’s transaction throughput (throughput is described as the amount of transactions the protocol can handle in any given second).

In the case of Bitcoin, which utilizes a “proof of work” consensus mechanism, consensus is achieved by miners racing to solve a complex hashing puzzle. The first miner to solve the puzzle or “mine a block” receives a reward. After a block is mined, the transactions within said block are immortalized on the Bitcoin blockchain.

In Bitcoin’s proof of work model, the speed of transaction confirmation is limited by various factors such as mining hardware, complexity of the hashing puzzle, electricity pricing, block size, and more. Practically speaking, Bitcoin’s consensus mechanism results in a maximum transaction throughput of ~7 transactions per second. Other blockchain protocols like Tezos use an alternate family of consensus mechanisms called “proof of stake”.

In the case of Tezos, its consensus mechanism is called “liquid proof of stake”. Compared to Bitcoin, proof of stake protocols are typically able to achieve more transactions per second. However, despite the increased transaction throughput of proof of stake networks, it’s still debatable whether they’d be able to handle day-to-day transactions for billions of people around the world.

Look around you and think about the value transfers that are taking place around the world every second. I’m sitting in a coffee shop right now. Across the street, I see an office lady paying for her breakfast at a convenience store. On the street, there are a few people walking around glued to their smartphones — maybe they’re in the process of purchasing a Halloween costume. There are also dozens of people driving past me every few minutes — maybe their monthly Netflix subscription just renewed without them knowing. There’s also a bank close by — I wonder how many transactions are going on behind the scenes over there.

Now, take this scene and multiply it by a very big number, and you’ll start realizing why Bitcoin’s 7 transactions per second or a proof of stake network’s 1,000 transactions per second may not cut it for global adoption. Although, I will say, there are protocols working on this exact problem of having higher transactions per second, including Tezos.

Off-Chain Transactions to the Rescue:

An off-chain transaction, as you may have guessed, doesn’t take place on a protocol’s base layer. Instead, the transfer of value happens on a secondary layer built on top of base-layer protocols. Compared to on-chain transactions, off-chain transactions are much faster and cheaper. Let’s take Lightning (an off-chain solution for Bitcoin) as an example. Compared to Bitcoin’s 7 transactions per second, Lightning promises “millions to billions” of transactions per second. Similarly, transaction fees on Lightning are exponentially lower than the price of transactions on Bitcoin.

Off-chain transactions are faster and cheaper because they are not recorded on the base protocol’s blockchain. In other words, if you make a million Lightning transactions, you won’t see those individual transfers on the Bitcoin blockchain. Solutions like Lightning work by creating unique payment channels between different parties. When a channel is closed, the final balances of the parties involved are recorded on the Bitcoin blockchains. Thus, off-chain solutions like Lightning enable fast and low-cost transactions that would otherwise be impossible to conduct on base-layer protocols.

When to Use On-Chain and Off-Chain Transactions:

The “on-chain versus off-chain transactions” debate reminds me of the “Bitcoin vs. Bitcoin Cash” debate in the sense that both battlefields are filled to the brim with myopic maximalists. From my perspective, most problems in this world can have multiple solutions. For example, if people want to contact relatives in a different country, they can choose between FaceTime, Skype, Zoom, and more. If someone wants to send money, they can choose between Bitcoin, Bitcoin Cash, or PayPal.

Similarly, people can also choose between on-chain and off-chain transactions depending on the nature of the transfer. If you’re making a transfer that could have potential legal ramifications and would benefit from being publicly auditable, then choose an on-chain transaction method. Conversely, if you’re sending $10 to your friend for last week’s movie night, a faster and cheaper off-chain transaction makes more sense.

zkChannels — Fast and Private Off-Chain Transactions:

Now that we’ve established the differences between on-chain and off-chain transactions, let’s dive into what Bolt Labs’ zkChannels brings to the table. Like Lightning, zkChannels is an off-chain payments solution that works by bridging two parties via a payments channel. Where Lightning and zkChannels differ is the latter’s core focus on privacy. ZkChannels leverages a cryptographic technology called zero-knowledge proofs and multi-party computation to maintain user privacy while still maintaining a fast and low-cost user experience.

Bolt Labs believes the demand for L2 (layer two) solutions like zkChannels and Lightning will grow over time. L2 solutions are a great option for everyday spending scenarios like buying groceries, grabbing a coffee at Starbucks, or paying for a subway fare. While these everyday tasks may seem mundane and forgettable at first glance, they actually represent who we are. Imagine a situation where you only used Bitcoin to make your daily purchases. These payment solutions hope to make that possible.

Since the Bitcoin blockchain is publicly auditable, it would be possible for anyone with enough time and knowledge to make a complete map of your everyday life that includes a history of all your purchases. I don’t know about you, but this looks like a privacy concern to me. Sure, you can argue that credit cards and debit cards are also not private (the issuing companies and banks have your transaction history). However, there are stringent consumer protection laws in place to incentivize institutions to safeguard sensitive financial information. Your credit card activity is not available for public viewing, so I consider this to be a moot argument.

ZkChannels takes a privacy-first approach to building a blockchain-based solution for everyday spending. ZkChannels currently has integrations with Bitcoin and Tezos (Zcash support coming in 2021), which means you can settle final balances on the protocol of your choice. With zkChannels, it’s possible to deploy both direct and indirect channels.

  • Direct Channels — Direct channels are either unidirectional or bidirectional. Unidirectional channels allow for fixed payments in a single direction, and are useful for things like recurring monthly subscriptions. Bidirectional channels allow for back-and-forth payments between two parties, and are useful for everyday spending.
  • Indirect Channels — Indirect channels allow for payments between two parties that are not directly connected. This is made possible by routing payments through routing or intermediary nodes. In this model, intermediary nodes are trusted to forward payments, but are not able to gather information regarding the participants in the payment path or the value of the transfer.

ZkChannels takes privacy one step further by presenting state perspectives to the two parties (customer and merchant) in a channel.

  • Customer — The customer can see the channel balance and the identity of the other party.
  • Merchant — The merchant can only see that someone with an open channel made a payment with a certain value.

The difference in state perspectives can be thought of as information asymmetry. In this model, the merchant does not learn anything about the customer, while the customer has information regarding the channel balance (how much he or she can spend) and the identity of the merchant. This makes zkChannels an ideal payments solution for everyday spending where you do not want to leak privacy-sensitive information to businesses and merchants.

When asked about the importance behind supporting multiple base layer protocols (Bitcoin, Zcash, and Tezos) with zkChannels, Bolt Labs co-founder J. Ayo Akinyele said the following.

Zcash and Tezos offer some unique properties. Zcash offers privacy at L1 via shielded transactions. Tezos offers an amenable blockchain due to on-chain governance mechanism and is adopting sapling protocol in smart contracts. As part of sapling adoption, Tezos will expose pairing-friendly elliptic curve operations (BLS12–381) in the smart contract language. This allows us to implement the verification of our privacy-preserving signatures used by zkChannels on-chain.

As you can see, Tezos’ unique properties (self-amending protocol and Sapling integration) makes it an attractive blockchain platform for cutting-edge micropayments.

Centralized vs. Decentralized Payment Solutions:

Before we wrap up, it’s important to discuss why decentralized payments even need to exist. In today’s world, most people in the developed nations have access to things like bank accounts, debit cards, and credit cards. There are also instant payment services like Venmo and Apple Cash, which provide us with easy ways to transact daily.

An issue that is often brought up about centralized payment solutions is the need for identity verification. In order to open up a bank account or apply for a credit card, there needs to be a certain degree of social infrastructure in place. In many developing nations, this kind of infrastructure simply doesn’t exist. Thus, a significant amount of the world’s population doesn’t have access to things like bank accounts, lines of credit, etc. Offloading finance to a decentralized platform has the potential to remove the middleman from the equation. As time passes, this can lead to more people having access to high-quality financial products.

When asked about his thoughts on centralized versus decentralized payment solutions, Akinyele provided the following insights.

Centralized payment providers often censor transactions. Customers can be denied service at the provider’s discretion without any recourse. Also, customers of centralized payment providers have no control over the financial information they disclose by interacting with the hub. The hub can sell the collected info without consent from customers.

Once a zkChannel is established, the hub only learns that one of their customers are paying them on an open channel. Customers can hide in the anonymity set of all open channels the hub has with other customers. The unlinkability property of transactions in our protocol ensures that a hub cannot form a payment profile about each customer they serve. That is, each spent transaction is unlinkable to any other transaction on a zkChannel.

Conclusion:

ZkChannels is undoubtedly a very exciting technology because, unlike many things in the blockchain space, it has a crystal clear value proposition and reason to exist. It doesn’t hide behind buzzwords like “AI”, “machine learning”, and “utopia”. Instead, it presents a functional solution to a real problem — how to preserve privacy in financial transactions in a fast, low-cost, and scalable manner. To learn more about zkChannels and Bolt Labs, check out their official website here!

--

--