What is ORC-20?

IntermediateMay 14, 2024
This article delves into the prevalence of BRC-20 tokens within the Bitcoin network and their impact, highlighting the emergence of ORC-20 tokens. These tokens operate on the Bitcoin blockchain, offering a range of new features and functionalities, such as addressing double-spending and improving namespace flexibility. Additionally, it introduces the workings and changes brought by the ORC-20 standard, explores its differences from BRC-20, and discusses the potential advantages and risks of ORC-20.
What is ORC-20?

Introduction

The BRC-20 frenzy has swept across the Bitcoin network, and now ORC-20 has emerged. ORC-20 tokens operate on the Bitcoin blockchain and are represented as JSON (JavaScript Object Notation) files, inscribed with sequential numbers on satoshis, similar to BRC-20 tokens. ORC-20 aims to address some limitations of BRC-20 by enhancing security and flexibility. These limitations include “restricted to four-character token names,” “non-upgradable,” “double-spending risk,” “non-reversible transactions,” and more, making it essentially a hard fork of BRC-20. By supporting a broader range of data formats, ORC-20 expands the scope of BRC-20 and leverages Bitcoin’s Unspent Transaction Output (UTXO) model to avoid double-spending issues.

What is the ORC-20 Standard?

ORC-20 is an open token standard for Bitcoin ordinals, created by OrcDAO to enhance some key functionalities of BRC-20. Its purpose is to maintain backward compatibility with BRC-20 while improving adaptability, scalability, and security, and eliminating the possibility of double-spending.

ORC-20 operations include basic events such as deployment, minting, sending, canceling, upgrading, and custom events. You can add keys to standard events to introduce constraints, various behaviors, or new operations. Each operation consists of inscription data with key-value pairs, defaulting to JSON format, where operation keys must be in lowercase, and numeric data is case-insensitive.

Changes in ORC-20

  • Flexibility in Modifying Initial Supply and Maximum Minting Quantity: While fixed initial supply and total quantity have advantages, ORC-20’s flexibility makes it more adaptable. Whether choosing a fixed or flexible approach, both options have their own rationale.
  • Namespace Flexibility: Naming can indeed be a challenge, especially since most four-letter words for BRC-20 have already been minted in advance. However, ORC-20 has no fixed limit on namespace size, allowing any name size to be used as needed.
  • Using the UTXO Model to Ensure No Double-Spending in Transactions: The UTXO model works by sending the balance as a transaction to a change address during a transaction. This effectively solves the double-spending problem, enhancing the reliability and security of transactions.
  • Allowing Transaction Cancellation: Transactions can be canceled simply by using the “op”:”cancel” command for a specific nonce. This provides users with additional flexibility and control.
  • ORC-20 Allows BRC-20 Tokens to Transfer to the ORC-20 Environment: This transfer can only be executed by the deployer of the BRC-20 token, ensuring the safety and controllability of the transfer process.

Differences Between ORC-20 and BRC-20


Source: orc20.org

Both ORC-20 and BRC-20 are token deployment standards in the Bitcoin ecosystem based on the Ordinal protocol, similar to Ethereum’s ERC-20. However, ORC-20 expands on some features of BRC-20 and removes certain limitations to meet project development needs better.

The differences can be categorized into the following five points:

1.Reducing Double-Spending Risk with UTXO:

  • In each transaction, the sender specifies the amount to be received by the recipient and the remaining balance to be returned to the sender. If the transaction does not return the remaining balance, it is considered invalid.
  • Transfer transactions can transfer amounts to multiple recipients, and each transfer transaction (unless it is a self-transaction) must specify the amount to be transferred.
  • Transactions are complete only when the remaining balance is returned to the sender.
  • After each transaction is completed, the previously recorded balance becomes invalid.

2.Token Names Not Limited to 4 Characters and Case-Insensitive

Since most BRC-20 four-letter words have already been pre-minted, removing the character limit meets market demand. However, it may make users perceive ORC-20 tokens as less scarce than BRC-20 tokens.

3.Custom Key Functions for Advanced Features:

ORC-20 introduces custom keys, with “minter” and “tax” being the most notable features. The “minter” is a special minting address that can function like a whitelist, while “tax” allows projects to levy transaction taxes and royalties.

4.Token Upgradability, Such as Changing Supply Parameters:

The flexibility in token supply ensures that projects can use ORC-20 to create more use cases, such as:

  • Gradually reducing the mint amount to increase token scarcity, similar to Bitcoin halving.
  • Increasing the maximum supply and rewarding community members with additional incentives.
  • Initially providing a special minting address to mint a portion of tokens into DAO treasury, then changing the minting limits to allow community minting.

5.Transaction Cancellation:

Transactions can be canceled using “op”: “cancel”. Due to the inclusion of a nonce value in each transaction, canceling can cancel all transactions or just specific transactions (those with specific nonce values).

Advantages and Disadvantages of ORC-20

Advantages:

  • Prevents double-spending (transactions are more secure and cannot be duplicated)
  • Allows migration from BRC-20 to ORC-20
  • Enables the cancellation of entire transactions or only partial cancellations

Disadvantages:

  • ORC-20 does not restrict to 4-character names, allowing multiple copies of the same name to be defined (lacks the rarity of BRC-20, making token names easily confusing)
  • The initial supply, maximum minting amount, and taxes can be altered (similar to Ethereum’s ERC-20)
  • Excessive centralization (Project teams can manipulate the tokens)

Getting Started with ORC-20

You can quickly start using ORC-20 by recording deployment, minting, sending, and canceling events.

1.Deploying ORC-20

Example: Deploy a token with the identifier 1, named ORC (the first ORC-20, already deployed), with a maximum supply of 21,000,000. Each minter can mint up to 10,000 tokens.

2.Minting ORC-20

Example: Mint 10,000 ORC (inscription number #2504160). The minting event maintains the initial balance. You must retain the minting inscription until the first successful sending transaction is completed.

Old Format: Deprecated after OIP-3 (mintings before OIP-3 are still valid).

New Format: Revised in OIP-3

3.Sending ORC-20

Example: Send 1,000 $ORC (inscription number #2504160) in two-part transactions. Each transaction must have a unique nonce.

Step 1: The sender writes 1,000 $ORC (nonce 5) into the sender’s address through the “send inscription.”

Step 2: The sender writes the “send remaining balance” back to the sender.

The transaction is complete only after the “send remaining balance” is written back.

Step 3: The sender sends the satoshis containing the “send inscription” created in step 1 to the receiver.

Important Notes

  • You can now reuse “mint” or “send” transaction inscriptions.
  • As long as the balance is unspent, you can reuse the “send inscription”—there’s no need to inscribe a “send event” every time you transfer ORC-20 funds. You can pass the previously received “send ordinal” to the receiver’s address to transfer the full amount related to the “send ordinal” as long as the amount is not spent.
  • The goal is to reuse the one-time “send” inscription to reduce significant Bitcoin waste, ultimately saving block space and transaction fees.

4.Canceling an ORC-20 Transaction

Example: Canceling a Partial Transaction with Nonce 5

How ORC-20 Saves Bitcoin Block Space During Transactions

Unlike BRC-20, which requires a “one-time transfer inscription” for each transaction, ORC-20 allows for the repeated use of “mint” and “send” ordinal inscriptions within a transaction. This significantly reduces the amount of data that needs to be recorded on the blockchain, thus conserving space.

Users have three options when it comes to sending funds with ORC-20:

  • Direct Transfer of Mint Inscriptions: If the balance of the original mint inscription remains unspent, you can directly send the mint inscription’s ordinal number to the recipient without writing a “transfer.”
  • Direct Transfer of Send Inscriptions: If the balance of the initial send inscription remains unspent, you can directly send the inscription’s ordinal number to the recipient.
  • Initiating a New Send Transaction Process (Pre-OIP-10):

Step 1: Write the “send” amount to the sender’s address.

Step 2: Write the remaining balance as “send” to the sender’s address (pre-OIP-10).

Step 3: Directly send the ordinal number of the “send inscription” from step 1 to the recipient. Note that the recipient’s balance is immediately updated with the effective amount, allowing the received inscription to be reused in subsequent transactions.

ORC-20 Tokens and Associated Risks

You can find information about ORC-20 tokens on the 20scan website, including indicators such as the number of holders and the ranking of various token projects. This data can provide users and traders with more insights.

Risks

Those interested in investing in ORC-20 tokens should first understand that ORC-20 is an experimental project. There is no guarantee regarding the value or utility of tokens produced using this standard. Although ORC-20 may improve the token standards on the Bitcoin network, it has been criticized for its complexity and not offering significant advantages over existing standards.

The fate of ORC-20 depends on the community’s response and ability to address these issues. It is strongly recommended that users proceed cautiously and conduct thorough research before using ORC-20.

Conclusion

The Bitcoin ecosystem holds immense potential for development, with the continuous innovation of Bitcoin token standards broadening its application possibilities. Standards such as BRC-20, ORC-20, and SRC-20, though still in their early stages and with inherent limitations, are undoubtedly foundational for future innovative experiments.

Compared to Bitcoin network’s robust security, its utilization is relatively low. The nature of its scripting language restricts the execution of complex smart contracts on the Bitcoin network, thereby limiting its applications. However, its exceptional security level encourages developers and users to continuously test and leverage its functionalities, contributing to the overall ecosystem development. Moreover, the market acceptance and application range of ORC-20 will need time to withstand the scrutiny of the community and the broader market.

Author: Allen
Translator: Piper
Reviewer(s): KOWEI、Edward、Elisa、Ashley、Joyce
* The information is not intended to be and does not constitute financial advice or any other recommendation of any sort offered or endorsed by Gate.io.
* This article may not be reproduced, transmitted or copied without referencing Gate.io. Contravention is an infringement of Copyright Act and may be subject to legal action.
Start Now
Sign up and get a
$100
Voucher!
Create Account