Tóm tắt
Runes Protocol (Casey Rodarmor, ra mắt tại Bitcoin halving tháng 4/2024) là token standard fungible được thiết kế lại hoàn toàn trên Bitcoin, khắc phục những điểm yếu kỹ thuật của BRC-20. Thay vì dùng Ordinals inscription và off-chain indexer state, Runes encode toàn bộ token operation trực tiếp trong OP_RETURN output — gọn hơn, UTXO-native hơn và ít gây bloat hơn. Tuy nhiên, Runes vẫn không có on-chain smart contract — Bitcoin không execute Rune logic, chỉ lưu data.
1Runes Protocol Là Gì?
Runes là một token protocol fungible (token có thể hoán đổi lẫn nhau, tương tự ERC-20 trên Ethereum) được xây dựng trực tiếp trên Bitcoin mainchain. Khác với BRC-20 dùng inscription JSON để track token state, Runes encode tất cả thông tin vào OP_RETURN output của Bitcoin transaction.
Protocol ra mắt tại block halving Bitcoin thứ tư (block 840.000, tháng 4/2024) do Casey Rodarmor — cùng người tạo ra Ordinals Protocol — phát triển. Rodarmor tạo Runes với mục tiêu rõ ràng: đưa ra một token standard phù hợp hơn với thiết kế UTXO của Bitcoin, thay vì cố "hack" Ordinals để làm điều đó.
2Tại Sao Runes Ra Đời? Vấn Đề Của BRC-20
BRC-20 — token standard đầu tiên trên Bitcoin dùng Ordinals inscription — có nhiều vấn đề kỹ thuật nghiêm trọng mà Rodarmor muốn giải quyết triệt để:
- UTXO bloat: Mỗi BRC-20 token operation tạo ra Ordinals inscription, nghĩa là tạo thêm UTXO. UTXO set của Bitcoin full node ngày càng phình to, ảnh hưởng đến performance và storage của toàn mạng
- Off-chain indexer state: BRC-20 state (ai đang giữ bao nhiêu token) không thể tính trực tiếp từ Bitcoin data — phải phụ thuộc vào indexer riêng maintain state database. Hai indexer có thể cho kết quả khác nhau
- Không thực sự fungible: BRC-20 token gắn với inscription UTXO cụ thể — về mặt kỹ thuật gần với non-fungible hơn là fungible
- Phức tạp không cần thiết: Dùng cả inscription (cho NFT) để làm token fungible là lãng phí và không hiệu quả
Runes giải quyết tất cả những điểm này bằng cách xây dựng từ đầu với thiết kế UTXO-native.
3Runestone – Trái Tim Của Runes Protocol
Mỗi Rune transaction chứa một Runestone — một OP_RETURN output encode toàn bộ thông tin về token operation. OP_RETURN là loại output provably unspendable (không thể chi tiêu) trong Bitcoin — data trong đó được Bitcoin node lưu trữ nhưng không cần giữ trong UTXO set sau khi xác nhận.
Điểm quan trọng: tất cả thông tin cần thiết để reconstruct Rune state đều nằm trong Bitcoin transactions. Bất kỳ ai download toàn bộ Bitcoin block history đều có thể tự xây dựng Rune state từ đầu — không phụ thuộc indexer nào cụ thể. Đây là cải tiến căn bản so với BRC-20.
OP_RETURN output ra khỏi UTXO set vì chúng không thể chi tiêu. Điều này giúp tiết kiệm RAM và storage đáng kể so với BRC-20 inscription phải tồn tại trong UTXO set mãi mãi. Tuy nhiên raw block data vẫn cần để reconstruct Rune state từ đầu.4Etching – Tạo Một Rune Mới
Quá trình tạo Rune mới gọi là etching. Người tạo (etcher) định nghĩa toàn bộ thông số của Rune trong một Runestone đặc biệt:
Tên Rune phải là chuỗi chữ hoa Latin (A–Z) có thể chứa dấu bullet (•) làm separator. Tên ngắn hơn bị khóa cho đến một số block nhất định — khuyến khích dùng tên dài hơn khi mới launch, tên ngắn dần mở khóa theo thời gian.
5Minting Và Transfer Rune
Open Minting
Nếu etcher định nghĩa terms, bất kỳ ai cũng có thể mint Rune trong khoảng block được phép bằng cách tạo transaction chứa Runestone với mint field trỏ đến rune_id. Số Rune nhận được là amount cố định trong terms. Khi cap đã đạt hoặc block range kết thúc, không ai mint thêm được.
Transfer
Transfer Rune hoàn toàn UTXO-native: Runestone chứa danh sách Edicts chỉ định bao nhiêu Rune từ input được gửi đến output nào. Rune chưa được phân bổ tự động về default output (output cuối không phải OP_RETURN). Nếu không có Runestone, toàn bộ Rune về output đầu tiên.
6So Sánh Kỹ Thuật: Runes vs BRC-20
| Tiêu chí | BRC-20 | Runes | Winner |
|---|---|---|---|
| Data storage | Witness (Ordinals inscription) | OP_RETURN | Runes (prunable) |
| UTXO bloat | Cao – mỗi op = 1 UTXO | Thấp – OP_RETURN không vào UTXO set | Runes |
| State model | Off-chain indexer | Deterministic từ Bitcoin blocks | Runes |
| Indexer dependency | Cao – state không từ L1 | Thấp hơn – state tính được từ blocks | Runes |
| Fungibility | Quasi-NFT (gắn inscription) | True fungible (UTXO-native) | Runes |
| Phí giao dịch | Cao hơn (witness data lớn) | Thấp hơn (OP_RETURN nhỏ gọn) | Runes |
| Smart contract | Không | Không | Hòa |
| Adoption / Ecosystem | Lớn hơn (ra trước) | Đang tăng trưởng | BRC-20 hiện tại |
| Protocol maturity | Experimental, nhiều biến thể | Spec rõ ràng hơn | Runes |
Về mặt kỹ thuật thuần túy, Runes được thiết kế tốt hơn đáng kể so với BRC-20. Tuy nhiên, BRC-20 có lợi thế first-mover với ecosystem token, marketplace và user base lớn hơn. Cả hai đều không có on-chain smart contract — Bitcoin không execute logic token nào cả.
Để đọc phân tích đầy đủ hơn về cả Runes và BRC-20 trong bức tranh tổng thể Bitcoin tokenization, xem tại SATS.VN.
7Giới Hạn Còn Lại Của Runes
Runes cải thiện đáng kể về kỹ thuật so với BRC-20, nhưng vẫn không thể vượt qua một giới hạn căn bản của Bitcoin:
- Không có on-chain execution: Bitcoin không chạy Rune logic — chỉ lưu data. Mọi validation (kiểm tra balance, enforce transfer rules) đều xảy ra off-chain trong ví và indexer
- Không có conditional transfer: Không thể lập trình "chỉ chuyển Rune khi điều kiện X xảy ra" — không có escrow, no oracle, no DeFi native
- Không có atomic swap native: Swap Rune với BTC hoặc Rune khác cần trust hoặc external protocol — không thể trustless trực tiếp trên Bitcoin Script hiện tại
- Pruned node không tự build state: Node pruned (không lưu full block history) không thể tự reconstruct Rune state — phải trust full node khác cung cấp data
?Câu Hỏi Thường Gặp Về Runes
Runes là một phần của hệ sinh thái token trên Bitcoin. SATS.VN phân tích kỹ thuật đầy đủ Runes, BRC-20, Ordinals, Taproot Assets và tokenization tài sản thực — trung lập, chuyên sâu.
→ Đọc Phân Tích Tổng Thể Tại SATS.VN