Exploring Token Standards in the Bitcoin Ecosystem

Exploring Token Standards in the Bitcoin Ecosystem

A Comparative Analysis of BRC20, ORC20, Taro, and Runes

Introduction:

Numerous token standards exist within the Bitcoin ecosystem, each with its unique strengths and weaknesses. In this article, we will explore four prominent standards: BRC20, ORC20, Taproot Assets (Taro), and the innovative proposal, "Runes."

BRC20: A Familiar Token Standard

In March 2023, an anonymous on-chain analyst named Domo created the Bitcoin Request for Comments (BRC20) standard, an experimental fungible token standard for the Bitcoin blockchain.

The BRC20 standard is inspired by Ethereum's popular ERC-20 standard, which allows developers to create and launch smart contract tokens on the Ethereum blockchain. However, BRC20 tokens are created using the Ordinals protocol, which assigns a unique identifier to each satoshi, the smallest unit of Bitcoin, and allows data to be written to it. This makes each satoshi unique and non-fungible, enabling the creation of digital assets such as non-fungible tokens (NFTs) on the Bitcoin blockchain.

As of May 2023, the BRC20 token has reached a market capitalization of $1 billion, with a trading volume of $207.7 million. Some notable tokens launched using this unique standard include ORDI, NALS, PEPE, MEME, PIZA, and VMPX.

Despite its growing popularity, the BRC20 standard poses scalability challenges. As the BRC20 token grows in popularity and usage, it will put a strain on the Bitcoin network, which could lead to higher transaction fees and slower confirmation times. To address this issue, scaling solutions such as Layer 2 protocols or off-chain solutions will need to be explored to ensure efficient and transparent operations of the BRC20 token without affecting the overall performance of the Bitcoin network.

  • The Bitcoin ecosystem recognizes BRC20 as a prevalent token standard, standing out in several ways:

  • Instead of being UTXO-based, it introduces relative complexity due to its dependence on ordinal theory for certain operations.

  • This complexity can create challenges for developers during implementation and might discourage community adoption.

  • BRC20 links with UTXO proliferation, an unwanted outcome that increases the number of unspent transaction outputs, potentially making blockchain management more complex.

Create and Trade BRC20 Tokens

Step 1: Create a Compatible Bitcoin Wallet

First, We need a Bitcoin wallet that supports the BRC20 token standard. One such wallet is the UniSat Wallet.

Visit UniSat Wallet and click on "Connect" Wallet. Then, choose "Create New Wallet". You'll need to create a password and generate a seed phrase.

Always remember to back up your seed phrase and never share it with anyone. This seed phrase is your only way to recover your wallet if you lose access to it

Step 2: Load the Wallet with Bitcoin

Next, we need to load your wallet with sufficient Bitcoin (BTC) to pay for the transactions while creating the BRC20 tokens. The exact amount will depend on the current network fees.

Step 3: Define Token Details

Now, we need to define the details for our BRC20 token.

Simply go to our (funded) UniSats wallet and click “Inscribe”.

Next step involves creating a JSON (JavaScript Object Notation) data object that includes details like the token name, symbol, decimals, maximum supply, and initial value, fill in the Ticker Name and Total Supply of our token. Enter the Limit per mint and click on “Next.

Check the text for details about our new token.

Using our UniSats wallet to pay the necessary fees for tokens. Gas fees may vary depending on network usage.

To trade our tokens on the Marketplace, begin by visiting the Marketplace website. You need a minimum of 20 UniSats points to access the market. Each time you conduct a transaction on the Bitcoin network, you earn 1 UniSats Point. To meet the requirement of 20 transactions, initiate the minting of tokens.

Minting tokens is a process that incurs no cost except for gas fees, which the Bitcoin network transactions require. It's worth noting that the Bitcoin network is renowned for its slower transaction speeds and higher gas fees.

Once you're inside the marketplace, find or search for our Ticker token. Then, click the "Buy" button. A UniSats pop-up will appear; click "Confirm" and proceed to pay the associated gas fee.

Sample BRC20 Token Transfer Code:

# Example of a BRC20 token transfer
def transfer(_to, _value):
    assert balanceOf[msg.sender] >= _value
    balanceOf[msg.sender] -= _value
    balanceOf[_to] += _value

Runes: A Novel Proposal

Runes, a proposed fungible token protocol for Bitcoin, operates on the UTXO model, and it offers several notable features:

  • Rune balances are stored directly within UTXOs. This design choice provides users with a high degree of flexibility in terms of both the number of runes and the number of runes contained within each UTXO.

  • Runes places a strong emphasis on simplicity. It seamlessly integrates into Bitcoin's native UTXO model, ensuring a straightforward and user-friendly experience. Additionally, it maintains independence from off-chain data and native tokens, reinforcing its commitment to simplicity and self-sufficiency.

  • The author of the proposal expresses reservations regarding the necessity of Runes in the current landscape of fungible tokens. This hesitance is rooted in the foundational robustness of BRC20, suggesting that Runes must demonstrate its unique value proposition and advantages to gain traction within the ecosystem.

Sample Rune Transfer Code:

# Example of tuples for Rune transfer
tuples = [(100, 1, 20), (0, 2, 10), (20, 1, 5)]

ORC20: Advancing Beyond BRC20

ORC20, introduced as a successor to BRC20, introduces a range of significant enhancements to the Bitcoin network:

  • Leveraging the Unspent Transaction Output (UTXO) model, ORC20 guarantees precise transaction amounts, effectively preventing the possibility of double spending.

  • ORC20 tokens offer upgradability, allowing for the adjustment of key parameters such as token supply and maximum minting limits. This feature provides greater flexibility in managing token economics.

  • A flexible naming space within ORC20 permits the creation of unique and descriptive token identifiers. This enables users to craft token names that convey specific information about their tokens, enhancing the overall user experience.

  • The ORC20 standard introduces the capability for partial transactions and cancellations, providing users with increased flexibility when transferring tokens. This feature makes it easier to manage and adjust token transfers to meet specific requirements.

  • While migration from BRC20 to ORC20 is technically feasible, it's essential to note that such a transition is irreversible. Users should carefully consider the implications and benefits before making the switch.

# Example of an ORC20 token transfer
def transfer(_to, _value):
    assert balanceOf[msg.sender] >= _value
    balanceOf[msg.sender] -= _value
    balanceOf[_to] += _value

Taproot Assets (Taro): Simplicity Meets Efficiency

Taro represents an additional proposed token standard designed for the issuance of tokens on the Bitcoin network. It offers several key advantages:

  1. Seamless Integration with Bitcoin's UTXO Model: Taro is characterized by its simplicity and natural integration into Bitcoin's Unspent Transaction Output (UTXO) model. This means that Taro tokens can be created and managed in a way that aligns smoothly with Bitcoin's existing infrastructure.

  2. Streamlined Complexity: Taro is engineered to minimize complexity. Unlike some other token standards, it does not rely on off-chain data or native tokens, maintaining independence from external elements. This simplicity ensures that Taro tokens can be easily understood and implemented within the Bitcoin ecosystem.

  3. UTXO-Based Operations: Taro operates by issuing and transferring tokens through the creation and spending of UTXOs, which is akin to the process of handling Bitcoin transactions. This approach simplifies token management and aligns with the familiar UTXO paradigm, making it more accessible and user-friendly for participants in the Bitcoin network.

Sample Taro Token Issuance Code:

# Example of a Taro token issuance
def issue(asset_id, amount):
    assert balanceOf[asset_id] == 0
    balanceOf[asset_id] = amount

Sample Taro Token Transfer Code:

# Example of a Taro token transfer
def transfer(asset_id, _to, _value):
    assert balanceOf[asset_id] >= _value
    balanceOf[asset_id] -= _value
    balanceOf[_to] += _value

Comparing BRC20 and ORC20:

BRC20 Token Standard:

Pros:

  • Enhanced Security: BRC20 tokens offer robust security measures, bolstering confidence in their use within the Bitcoin ecosystem.

  • Compatibility with Bitcoin: They seamlessly integrate with Bitcoin's infrastructure, facilitating straightforward implementation.

  • Fungibility: BRC20 tokens exhibit fungibility, enabling them to serve as interchangeable units within the ecosystem.

Cons:

  • Limited Use Cases: BRC20 tokens may have constraints in terms of the scope of applications they can support effectively.

  • Lack of EVM Compatibility: They do not align with Ethereum's EVM (Ethereum Virtual Machine), potentially limiting their cross-platform utility.

  • Network Congestion: BRC20 tokens may experience congestion issues during high-demand periods.

  • Ease of Mass Production: The ease with which they can be mass-produced could lead to token oversaturation.

ORC20 Token Standard:

Pros:

  • Improved Scalability and Security: ORC20 tokens introduce enhancements in scalability and security, which can be beneficial for users.

  • Backward Compatibility: They maintain compatibility with existing token standards, easing transitions and integrations.

  • Flexible Naming Space: ORC20 allows for creative and descriptive token identifiers.

  • Multi-Receiver Transactions: Users can engage in multi-receiver transactions, enhancing versatility.

Cons:

  • Irreversible Migration: Migration from previous standards to ORC20 is irreversible, necessitating careful consideration before making the switch.

  • Experimental Stage: ORC20 is in an experimental phase, which may involve some degree of uncertainty.

Conclusion: Making Informed Choices

The Bitcoin ecosystem offers a diverse array of token standards, each with its distinct attributes and characteristics. BRC20, ORC20, Taro, and Runes represent various approaches with differing complexities, methods of UTXO management, and integration with Bitcoin's native features. Developers and users should meticulously evaluate these factors when selecting a token standard that aligns with their specific objectives and requirements. Making informed choices ensures the optimal utilization of these standards within the Bitcoin network.