BRC-20 é um metaprotocolo: um conjunto de regras para interpretar dados guardados no Bitcoin. As operações básicas deploy, mint e transfer criam um token, emitem as suas unidades e transferem-nas. Não são BTC adicionais nem uma nova parte do consenso do Bitcoin.
O autor conhecido como domo investigou se Ordinals permitia criar tokens fungíveis: unidades do mesmo token com o mesmo papel na sua contabilidade. O texto original descreve uma experiência e alerta para que não seja tomada como solução definitiva. As regras do BRC-20 são um acordo entre os seus participantes, não uma alteração das regras do Bitcoin. [1]
Uma inscription é conteúdo colocado nos dados witness ao gastar uma saída Taproot. No BRC-20, contém JSON, um texto com campos identificados por nomes como p, op e tick. O nó Bitcoin valida a transação, mas não executa esse texto como contabilidade do token. É o indexador que interpreta o significado. [5]
O primeiro deploy válido ocupa um ticker, o identificador do token, sem distinguir maiúsculas de minúsculas. Define a oferta max e, opcionalmente, o limite de emissão lim e a precisão dec. As regras básicas permitem até 18 casas decimais. Além dos tickers originais de 4 bytes, IP1 introduziu tickers de 5 bytes associados a self_mint. Contam-se bytes UTF-8, não letras; estas variantes não são livremente intercambiáveis. [2] [3] [6]
O detentor cria primeiro uma transfer inscription com a quantia amt. Assim reserva-a do saldo disponível, sem alterar ainda o saldo total. Só o primeiro movimento dessa inscription transfere as unidades para o destinatário. Enviá-la para si próprio liberta a reserva. Cada transfer inscription funciona uma única vez; revender o mesmo registo não volta a transferir os tokens. [1] [3]
Os indexadores têm de interpretar de forma idêntica a ordem dos eventos, os limites e a primeira transferência. Identificam o detentor do saldo pelo scriptPubKey, o script de bloqueio da saída, e não apenas pelo endereço apresentado. Uma reorganização pode mudar a ordem e a contabilidade resultante. Por isso, confirmar uma transação Bitcoin não prova, por si só, que a sua operação BRC-20 era válida. [3]
As regras básicas aceitam o tipo de conteúdo text/plain ou application/json e exigem JSON válido. Os campos obrigatórios e os nomes das operações usam minúsculas; os valores exigidos, incluindo números, são cadeias de texto entre aspas. dec limita as casas decimais e uint64_max o intervalo numérico. Um número sem aspas ou uma vírgula a mais podem invalidar uma operação que uma pessoa lê sem dificuldade. [3]
Se um serviço criar primeiro um mint no seu próprio endereço, poderá receber o saldo do token. Entregar depois a mint inscription não transfere esse saldo. Gastar por engano o UTXO correspondente também pode ter um resultado inesperado. Enviar uma inscription como comissão de mineração e destruir tokens obedecem a regras próprias; uma transferência normal de BTC não é um guia universal para BRC-20. [1] [6]
Verifique o primeiro deploy válido, max, lim, dec e o eventual self_mint; depois siga os eventos pela ordem dos blocos e das transações. O OPI permite comparar os hashes dos eventos de cada bloco e um hash acumulado do histórico. A versão das regras tem de coincidir: módulos programáveis mais recentes alargam o modelo original. Este artigo explica a sua base, não todas as extensões. [4]
Para ter uma visão mais completa, leia este verbete junto com Ordinals Inscriptions, Runes, UTXO, Taproot, Bitcoin Script, Fee Rate.
01Os Full Nodes de Bitcoin validam BRC-20?+
Validam as transações Bitcoin e os seus scripts, mas não calculam os saldos BRC-20. Um indexador reconstrói-os segundo as regras do metaprotocolo. Um nó Bitcoin, por si só, não basta para verificar essa contabilidade.
02BRC-20 é o mesmo que Runes?+
Não. A base do BRC-20 usa Ordinals Inscriptions de texto e uma transferência em dois passos. Runes regista mensagens binárias runestone numa saída com OP_RETURN e atribui os tokens aos UTXO de outra forma. As regras dos dois sistemas não são intercambiáveis.