SATS.VN – Bitcoin Layer 2 & Tokenization Research ₿ Về trang chủ SATS.VN
BRC-20 · Ordinals Token · Bitcoin Fungible · Indexer

BRC-20
LÀ GÌ?

Cơ Chế Hoạt Động, Rủi Ro Indexer Và Tại Sao Runes Ra Đời Thay Thế
₿ SATS.VN – Knowledge Base ₿ Chủ đề: Bitcoin Token Protocol ₿ Nội dung: Kỹ thuật – Trung lập

Tóm tắt

BRC-20 là một experimental token standard trên Bitcoin, sử dụng Ordinals inscription JSON để deploy, mint và transfer token fungible. Ra đời tháng 3/2023 bởi người dùng ẩn danh "domo", BRC-20 không dùng smart contract — toàn bộ logic token được thực thi và state được track bởi off-chain indexer. Đây là điểm yếu căn bản: Bitcoin không biết đến, không verify và không enforce bất kỳ quy tắc BRC-20 nào. Hiểu điều này là nền tảng để đánh giá rủi ro chính xác khi tham gia hệ sinh thái BRC-20.

1BRC-20 Là Gì? Định Nghĩa Chính Xác

BRC-20 là một token standard không chính thức trên Bitcoin, lấy cảm hứng từ tên gọi ERC-20 (Ethereum) nhưng về cơ chế thì hoàn toàn khác. Tên "BRC-20" là cách đặt tên tự phát của cộng đồng — không phải Bitcoin Improvement Proposal (BIP) chính thức, không được Bitcoin Core team xác nhận, và không có smart contract execution.

BRC-20 hoạt động bằng cách dùng Ordinals inscription — cơ chế nhúng JSON text vào Bitcoin transaction witness — để ghi lại các sự kiện token (tạo token, mint thêm, chuyển token). Một phần mềm riêng biệt gọi là indexer đọc toàn bộ Bitcoin blockchain theo thứ tự, tìm các inscription JSON tuân theo BRC-20 spec, và xây dựng state database về ai đang giữ bao nhiêu token.

Tên gọi gây nhầm lẫn: "BRC-20" gợi lên hình ảnh một chuẩn protocol chính thức như ERC-20 trên Ethereum. Nhưng ERC-20 là một smart contract interface được Ethereum Virtual Machine enforce. BRC-20 là một quy ước JSON được off-chain indexer diễn giải — không có on-chain enforcement nào cả. Đây là khác biệt căn bản cần ghi nhớ.

2Lịch Sử Ra Đời – Từ Thí Nghiệm Đến Cơn Sốt

Tháng 3/2023, một người dùng ẩn danh tên "domo" đăng tải BRC-20 experiment lên Twitter với tuyên bố rõ ràng: "This is all experimental, done for fun". Token đầu tiên ordi được deploy và bắt đầu được mint bởi cộng đồng.

Điều không ai ngờ: trong vòng vài tuần, BRC-20 tạo ra cơn sốt mint dữ dội. Hàng trăm nghìn inscription được tạo mỗi ngày. Phí Bitcoin mainchain tăng lên mức cao nhất trong nhiều năm — vượt 100 sat/vByte trong các giai đoạn cao điểm tháng 5/2023. Tổng market cap BRC-20 đạt hàng tỷ USD chỉ trong vài tháng.

Ironically, chính sự thành công vượt ngoài dự kiến này đã phơi bày toàn bộ điểm yếu kỹ thuật của BRC-20: UTXO set phình to, indexer quá tải, và nhiều tranh cãi về thứ tự xử lý dẫn đến kết quả state không đồng nhất giữa các indexer khác nhau.

3Cơ Chế Hoạt Động: Deploy – Mint – Transfer

BRC-20 có ba operation cơ bản, mỗi operation là một Ordinals inscription chứa JSON với cấu trúc chuẩn:

Operation 1: Deploy — Tạo token mới

// Inscription JSON cho Deploy { "p": "brc-20", // Protocol identifier "op": "deploy", // Operation type "tick": "ordi", // Token ticker (4 ký tự) "max": "21000000",// Tổng supply tối đa "lim": "1000" // Giới hạn mỗi lần mint } // → Indexer ghi nhận: token "ordi" tồn tại, max supply 21M // → Bitcoin node: chỉ thấy một witness data hợp lệ, không biết gì khác

Operation 2: Mint — Đúc token

// Inscription JSON cho Mint { "p": "brc-20", "op": "mint", "tick": "ordi", "amt": "1000" // Số lượng mint (≤ lim trong deploy) } // → Indexer: cộng 1000 ordi vào balance của địa chỉ chứa inscription này // → Nếu đã đạt max supply → indexer bỏ qua inscription này // → Ai kiểm tra? Chỉ indexer — không có on-chain check nào

Operation 3: Transfer — Chuyển token

// Bước 1: Tạo "transfer inscription" { "p": "brc-20", "op": "transfer", "tick": "ordi", "amt": "500" } // Bước 2: Gửi UTXO chứa transfer inscription đến địa chỉ người nhận // → Indexer: trừ 500 ordi khỏi sender, cộng 500 vào receiver // ⚠ Quan trọng: Transfer BRC-20 = 2 on-chain Bitcoin transaction // TX 1: Tạo inscription → TX 2: Gửi inscription UTXO đến receiver // Mỗi token transfer tốn ít nhất 2 on-chain tx — rất đắt
Transfer BRC-20 không phải 1 bước: Không giống ERC-20 (chỉ cần 1 smart contract call), transfer BRC-20 cần 2 Bitcoin transaction riêng biệt — một để tạo transfer inscription, một để gửi inscription UTXO đến receiver. Điều này làm chi phí transfer cao gấp đôi so với tưởng tượng ban đầu.

Flow hoàn chỉnh từ góc nhìn Indexer

1
Indexer quét toàn bộ Bitcoin blockchain từ block đầu tiên có BRC-20 activity, đọc từng transaction theo thứ tự block height và tx index
2
Với mỗi inscription, indexer kiểm tra: p == "brc-20"op hợp lệ không? Nếu có → parse và xử lý theo spec
3
Indexer cập nhật state database của mình: balance từng địa chỉ, total minted, danh sách token tồn tại
4
Ví và marketplace query indexer để hiển thị balance, validate giao dịch. Không có bước nào trên Bitcoin protocol chain

4Vai Trò Then Chốt Của Indexer – Và Tại Sao Đây Là Rủi Ro

Indexer là phần mềm đọc Bitcoin blockchain và xây dựng BRC-20 state. Không có indexer — không có BRC-20. Và đây là chỗ vấn đề bắt đầu.

Vấn đề đồng thuận giữa các indexer

BRC-20 spec ban đầu của "domo" có nhiều trường hợp biên (edge case) không được định nghĩa rõ ràng. Khi cộng đồng phát triển thêm, các indexer khác nhau (OKX, Unisat, Hiro) implement spec theo cách hơi khác nhau. Kết quả: cùng một blockchain Bitcoin, hai indexer có thể cho ra BRC-20 state khác nhau.

Điều này tạo ra vấn đề thực tiễn nghiêm trọng: nếu marketplace A dùng indexer X và marketplace B dùng indexer Y, token balance của cùng một người dùng có thể khác nhau trên hai nền tảng. Đây không phải lỗi phần mềm — đây là hệ quả tất yếu của việc không có on-chain finality cho token state.

Thứ tự xử lý trong cùng một block

Khi nhiều mint transaction nằm trong cùng một block và tổng amount vượt max supply — indexer phải quyết định transaction nào được ưu tiên. Bitcoin protocol không có thứ tự giao dịch chuẩn trong block (chỉ có thứ tự do miner chọn). Các indexer có thể xử lý theo thứ tự khác nhau, dẫn đến một số người nhận được token, số khác không — nhưng kết quả khác nhau tùy indexer.

Hệ quả thực tế của indexer risk: Nếu indexer lớn nhất trong hệ sinh thái (ví dụ: Unisat) thay đổi cách implement spec, toàn bộ BRC-20 state có thể thay đổi retroactively — tức là balance của bạn từ hôm qua có thể không còn đúng nữa hôm nay theo indexer mới. Điều này không thể xảy ra với Bitcoin gốc hay Ethereum token — bởi vì chúng được on-chain protocol enforce.

5Vấn Đề UTXO Bloat – Ảnh Hưởng Đến Toàn Mạng Bitcoin

Mỗi BRC-20 operation (deploy, mint, transfer) tạo ra một Ordinals inscription — và mỗi inscription gắn với một UTXO. UTXO set là database mà mọi Bitcoin full node phải giữ trong RAM để validate giao dịch nhanh chóng.

Vào cao điểm của BRC-20 mania (tháng 5/2023), hàng trăm nghìn UTXO mới được tạo mỗi ngày chỉ từ BRC-20 mint. UTXO set của Bitcoin tăng từ ~80 triệu lên gần 150 triệu entries trong vòng vài tháng. Mỗi UTXO chiếm khoảng 50–100 bytes trong RAM của full node — nhân với 150 triệu là hàng chục GB bộ nhớ chỉ cho UTXO set.

Thời điểmUTXO set sizeBRC-20 contributionPhí trung bình
Q1 2023 (trước BRC-20)~80M UTXO0%5–15 sat/vByte
Tháng 5/2023 (đỉnh)~148M UTXO~60%100–400 sat/vByte
Q3 2023 (hạ nhiệt)~110M UTXO~30%10–40 sat/vByte
Q2 2024 (Runes launch)~120M UTXOMixedBiến động theo halving

Khác với OP_RETURN data (mà Runes dùng) có thể được prune ra khỏi UTXO set, inscription UTXO phải tồn tại mãi mãi trong UTXO set vì về mặt kỹ thuật chúng là UTXO hợp lệ có thể chi tiêu. Đây là overhead vĩnh viễn đối với toàn bộ mạng Bitcoin.

6Rủi Ro Kỹ Thuật Chi Tiết

⚠ Indexer Consensus Risk

State token phụ thuộc vào đồng thuận giữa indexers. Không có on-chain finality. Nếu indexer thay đổi spec, balance có thể thay đổi retroactively.

⚠ Double Transfer Risk

Transfer cần 2 on-chain tx. Nếu gửi nhầm UTXO inscription đi (ví không hỗ trợ coin control), token có thể bị "đốt" không cố ý khi UTXO dùng làm phí.

⚠ No Atomic Swap Native

Không thể swap BRC-20 với BTC hay token khác theo cách trustless trực tiếp. Mọi DEX BRC-20 đều cần trust layer bên ngoài.

⚠ Marketplace Centralization

Hầu hết BRC-20 giao dịch qua một số marketplace lớn. Nếu marketplace đóng cửa, token vẫn tồn tại nhưng thanh khoản về zero.

⚠ No Smart Contract

Không có royalty tự động, không có vesting schedule, không có transfer restriction — mọi logic phải implement off-chain và đặt niềm tin vào operator.

⚠ UTXO Dust Risk

Mỗi inscription gắn với một UTXO "dust" (thường 546 sat). Cần phải trả phí on-chain mỗi khi muốn di chuyển inscription — dù chỉ để hợp nhất ví.

7BRC-20 vs Runes – Bảng So Sánh Kỹ Thuật

Tiêu chíBRC-20Runes Protocol
Cơ chế lưu dataTaproot witness (inscription)OP_RETURN
UTXO impactTạo UTXO vĩnh viễn — không prune đượcOP_RETURN provably unspendable — có thể prune
State finalityOff-chain indexer — có thể bất đồngDeterministic từ Bitcoin data — đồng nhất hơn
Chi phí transfer2 on-chain tx per transfer1 on-chain tx per transfer
Fungibility thực sựQuasi-NFT (gắn inscription cụ thể)True fungible UTXO-native
Protocol maturityExperimental, nhiều phiên bản specSpec rõ ràng, ra mắt có kế hoạch
Smart contractKhôngKhông
Ecosystem hiện tạiLớn hơn, nhiều token hơnĐang phát triển nhanh
Tác động node BitcoinCao (UTXO bloat)Thấp hơn đáng kể

Về mặt thiết kế kỹ thuật, Runes vượt trội BRC-20 ở hầu hết tiêu chí. Tuy nhiên BRC-20 có lợi thế network effect đáng kể — hàng nghìn token đã tồn tại, marketplace đã xây dựng, user base đã có. Đây là cuộc cạnh tranh giữa kiến trúc tốt hơn và hiệu ứng mạng lưới sẵn có. Đọc phân tích chuyên sâu về cả hai cùng toàn cảnh Bitcoin tokenization tại SATS.VN.

8Có Nên Dùng BRC-20 Không? Framework Đánh Giá

Không có câu trả lời đúng/sai tuyệt đối — phụ thuộc vào mục đích sử dụng. Dưới đây là framework đánh giá thực tế:

  • Nếu mục tiêu là giao dịch/đầu cơ ngắn hạn: BRC-20 có liquidity và marketplace sẵn có, đặc biệt với các token lớn như ordi, sats. Rủi ro indexer ít ảnh hưởng nếu chỉ giao dịch qua marketplace tập trung.
  • Nếu mục tiêu là xây dựng ứng dụng trên token: Runes thiết kế tốt hơn, ít dependency hơn. BRC-20 có quá nhiều edge case và rủi ro indexer consensus để build sản phẩm production.
  • Nếu quan tâm bảo mật dài hạn của token: Cả BRC-20 lẫn Runes đều không có on-chain enforcement. Đây là giới hạn căn bản của token trên Bitcoin mainchain hiện tại — không phải vấn đề riêng của BRC-20.
  • Nếu so sánh với ERC-20 Ethereum: BRC-20 và ERC-20 không thể so sánh trực tiếp. ERC-20 có on-chain enforcement, composability với DeFi, smart contract logic. BRC-20 không có gì trong số đó.
Self-custody với BRC-20: Nếu giữ BRC-20, cần ví hỗ trợ coin control (tách biệt inscription UTXO khỏi regular BTC UTXO) để tránh vô tình burn token khi trả phí. Ví như Xverse, Unisat, Leather đều có tính năng này. Không dùng ví Bitcoin thông thường không biết về Ordinals để nhận BRC-20.

?FAQ Chuyên Sâu Về BRC-20

BRC-20 có phải Bitcoin smart contract không?
Không. BRC-20 không dùng smart contract theo bất kỳ nghĩa nào. Đây là quy ước JSON được off-chain indexer diễn giải. Bitcoin không có Turing-complete execution environment, không có contract account, và không execute bất kỳ BRC-20 logic nào. Sự tương đồng duy nhất với ERC-20 là cả hai đều là token fungible standard — nhưng cơ chế hoàn toàn khác nhau.
Tại sao mint BRC-20 làm phí Bitcoin tăng cao?
Mỗi mint là một Ordinals inscription — một Bitcoin transaction on-chain chiếm block space. Khi hàng trăm nghìn người đồng thời mint cùng một token, mempool tràn ngập transaction mint, fee thị trường tăng vọt vì block space có hạn (~4 MB/10 phút). Đây là tác động trực tiếp lên toàn bộ người dùng Bitcoin, kể cả những người không tham gia BRC-20.
Token BRC-20 có bị mất nếu indexer ngừng hoạt động không?
Dữ liệu inscription trên blockchain vẫn tồn tại — không ai xóa được. Nhưng nếu tất cả indexer ngừng hoạt động và không có indexer mới thay thế, không có phần mềm nào đọc và hiển thị balance của bạn, không có marketplace nào chạy, và về mặt thực tiễn token của bạn không thể giao dịch. Rủi ro này thấp với các token lớn có ecosystem rộng, cao hơn với token nhỏ ít người quan tâm.
BRC-20 và Runes có thể cùng tồn tại không?
Có — về mặt kỹ thuật hai protocol hoàn toàn độc lập và cùng tồn tại trên Bitcoin blockchain. Cộng đồng sẽ tự quyết định qua market adoption. Nhiều khả năng BRC-20 duy trì được một số token lớn nhờ network effect, trong khi Runes trở thành lựa chọn mặc định cho token mới. Đây là cạnh tranh thị trường, không phải zero-sum.
Làm sao biết BRC-20 token nào "thật"?
Không có "thật" hay "giả" theo nghĩa on-chain — bất kỳ ai cũng có thể deploy token cùng ticker nếu ticker chưa được dùng. Với ticker đã có (như ordi), deploy lại không có tác dụng vì indexer chỉ nhận deploy đầu tiên. Rủi ro thật là: (1) token mới với tên giống nhau gây nhầm lẫn, (2) token giả mạo brand, (3) rug pull từ dev team vì không có lock mechanism on-chain.
Hiểu Sâu Hơn Về Toàn Bộ Bitcoin Tokenization

BRC-20, Runes, Ordinals, Taproot Assets — mỗi protocol có trade-off riêng. SATS.VN phân tích kỹ thuật toàn diện, trung lập, không gắn với bất kỳ dự án cụ thể nào.

→ Đọc Phân Tích Tổng Thể Tại SATS.VN