Comments on the 2023 Upgrade to Bitcoin Cash
"Suddenly it was possible to build very efficient, UTXO-based decentralized applications while preserving important features of Bitcoin Cash: stateless transaction validation (low fees) and zero-delay re-spending (fast transactions)."
I shared some comments with Graham Smith of Bitcoin.com News regarding the May 15 upgrade to Bitcoin Cash. You can read the article on Bitcoin.com:
Thank you to Graham for covering the upgrade! The questions and my comments are also included below for future reference.
1. It may be a tall order, but in just a few sentences, could you tell me why the CashTokens CHIP could be a game changer for Bitcoin Cash?
CashTokens are digital assets with the censorship-resistant, peer-to-peer, low-fee properties of Bitcoin Cash. CashTokens can be issued by anyone, and they can both represent physical assets and directly serve as currencies, payment stablecoins, commodities, securities, debt instruments, gift cards, receipts, event tickets, and more. The underlying technology also enables far more advanced on-chain applications like higher-security vaults, decentralized exchanges, and bridged sidechains.
2. Could smart contracts on the BCH chain eventually be comparable to those on Ethereum?
Yes. CashTokens enable decentralized applications on Bitcoin Cash comparable to those on Ethereum, while retaining Bitcoin Cash's over 1000x efficiency advantage in transaction and block validation.
Ethereum developers can think of Bitcoin Cash as featuring transaction-level sharding of both data and execution, account abstraction, deterministic gas pricing, all-or-nothing transaction chaining, zero-delay re-spending, a wider selection of MEV-resistance strategies, and no-fee contract deployment – user wallets both "deploy" and "destroy" contracts incrementally as part of their usage, improving overall network throughput and real-world privacy. All of this exists at "layer 1", with exceptionally low-bandwidth transactions, low-resource archival nodes, ever-improving scalability (already 25,000 transactions per second on modest, 2020 hardware), and multiple strategies for "layer 2" systems if needed (e.g. Lightning Network would be more bandwidth-efficient on Bitcoin Cash than on BTC).
The tradeoff between Ethereum and Bitcoin Cash is development complexity: Ethereum contracts use a simpler, single-threaded, global-state model vs. the multithreaded, stateless-validation model used by Bitcoin Cash, so Ethereum contracts are easier to develop but far more expensive to use. This architectural difference allows decentralized applications built on Bitcoin Cash to scale to millions of users without increasing transaction fees, even during periods of high network activity.
3. How does the CashTokens CHIP differ from the Simple Ledger Protocol tokens implementation?
Simple Ledger Protocol v1 (SLPv1) requires wallets to pretend that tokens exist on chain using a standard set of off-chain rules. The rules are computationally expensive to follow, and in practice, they push most light clients to use trusted servers. SLPv1 tokens also cannot be seen by on-chain contracts, so decentralized exchanges, sidechain bridges, and other on-chain applications would require systems for consulting trusted entities about the authenticity of SLPv1 tokens.
In contrast, CashTokens fundamentally exist on the blockchain, are visible to contracts, and require negligible computation for both nodes and light clients to verify their authenticity. This enables trustless, decentralized applications to work with and even issue tokens themselves, opening up entirely new capabilities for contracts to interoperate with other contracts.
Beyond this surface level, it's hard to compare CashTokens and SLP directly. CashTokens are now a low-level feature of Bitcoin Cash, while SLP is a wider set of wallet standards including how tokens should be issued and used. Future SLP specifications could create upgrade paths for SLPv1 tokens to inherit the low-level benefits of CashTokens while preserving other SLP features.
4. You have spoken previously about literal lives being saved — and lots of them — thanks to prediction markets which the May Upgrade could also make possible. Can you expound on this?
I've written at length about this in Prediction Markets on Bitcoin Cash, so be sure to check that out too. To summarize, prediction markets enable trading on the outcome of events, crowdsourcing and aggregating vast quantities of information into simple probabilities. In the full essay, I walk through the ways I expect prediction markets to impact various industries, how they might promote peace and prosperity by exposing organized crime and institutional corruption, and why I think Bitcoin Cash is uniquely suited to be a reserve asset for prediction markets.
Now that we have CashTokens, it's finally possible to build low-fee, censorship-resistant prediction markets on Bitcoin Cash. This will be no small feat; it will likely be several years before such markets are up and running, but it's very exciting that developers now have a stable, permissionless, low-fee platform to build and launch solutions without further upgrades to Bitcoin Cash.
5. How did you discover that the UTXO model could be used for smart contracts?
To clarify, I'm not the first to discover that the UTXO model can be used for smart contracts, CashTokens simply offer a new approach. Satoshi designed most of the Bitcoin Cash virtual machine (VM) before publishing the first software implementation in 2009, and he seems to have had a vision for much of the UTXO-based contract space. Recent upgrades to Bitcoin Cash extend on Satoshi's VM in ways that I expect he might have discovered if he'd continued working on it. In fact, many ideas considered "new" in this space have been independently discovered and rediscovered many times in the past 10+ years. You can get a sense for some of that history as it relates to CashTokens in the Prior Art & Alternatives section of the proposal.
In my opinion, the key discovery in CashTokens is the technical concept of contract-issued commitments – irrevocable messages that are provably issued by a particular entity; on Bitcoin Cash, we call these messages "non-fungible tokens" (NFTs). I first noticed the need for this message-passing behavior while designing a sidechain bridge for a prediction market on Bitcoin Cash. I found myself reusing the same segment of code (requiring the PMv3 proposal) in a wide variety of contracts to store and pass these commitments around, as well as a larger code segment to support splitting and merging of commitments holding numeric values ("fungible tokens"). When I experimented with factoring out that code into built-in VM behavior, I discovered that the change both reduced contract sizes by an order of magnitude and resolved a surprising number of other VM limitations. Suddenly it was possible to build very efficient, UTXO-based decentralized applications while preserving important features of Bitcoin Cash: stateless transaction validation (low fees) and zero-delay re-spending (fast transactions).
6. Is there anything else you want to say about the May upgrade, BCH, or crypto in general?
I expect the next few years to be very exciting for both Bitcoin Cash and for the wider space of peer-to-peer money.
Globally, special interests seek to impose Central Bank Digital Currencies (CBDCs) and extend their control over all transactions, jeopardizing human rights on a previously-impossible scale. Financial freedom is increasingly the foundation on which other freedoms rest; the right to assemble, peacefully protest, a fair trial, etc. – these offer little protection if you can be instantly excluded from working or buying food when you exercise those rights. At the same time, recent events have revealed systemic failures in some of the same institutions that led Satoshi to work on peer-to-peer money in 2008.
Even outside of our ecosystem, reasonable people share our concerns with centralized money. Our neighbors need alternatives now more than ever, and we can show them how free, fair, and resilient money works. Keep building.
Every few months, I share new developments via @bitjson on Twitter and via email from bitjson.com – please subscribe for the latest updates!