Este artigo conduz uma análise aprofundada de alguns fenômenos de “perda” de runas que ocorreram nas recentes operações cross-chain do BEVM e também propõe sugestões de segurança para evitar que tais problemas aconteçam novamente.
Escrito por Leon, equipe de pesquisa da ScaleBit
##TL;DR
Este artigo conduz uma análise aprofundada de alguns fenômenos de “perda” de runas que ocorreram nas recentes operações cross-chain do BEVM e também propõe sugestões de segurança para evitar que tais problemas aconteçam novamente.
Recentemente, notamos que algumas runas são “perdidas” nas operações cross-chain do BEVM, o que tem despertado preocupação e preocupação por parte da comunidade. Este artigo fará uma análise aprofundada deste assunto, com o objetivo de fornecer aos usuários uma compreensão mais abrangente do assunto. Ao mesmo tempo, também utilizará este tópico para falar sobre alguns cuidados no uso de inscrições e runas que tornaram-se populares recentemente.
*Em 23 de dezembro de 2023, horário de Pequim, alguns usuários de negociação cross-chain do BEVM descobriram que alguns COOK e PSBTS mantidos em suas contas foram transferidos para a ponte cross-chain sem o seu conhecimento. Posteriormente, esses usuários levantaram questões à equipe BEVM. Em seguida, o Twitter oficial do BEVM emitiu um comunicado, dizendo que, como esta parte das runas não é suportada por carteiras convencionais como * ***Unisat *** *, quando o encadeamento cruzado para BEVM, tais inscrições não convencionais serão tratadas como comum * UTXO *Vá para o endereço BEVM. *
*A equipe de segurança da ScaleBit percebeu esse incidente e conduziu imediatamente uma investigação. Após pesquisa da equipe ScaleBit, foi confirmado que esta parte das runas foi de fato transferida como um UTXO comum na mesma transação entre cadeias, em vez de “roubada” pelo BEVM. *
Citando informações do site oficial do BEVM, BEVM é um BTC Layer 2 que usa BTC como gás e é compatível com EVM. O objetivo principal é expandir o cenário de contrato inteligente do Bitcoin e ajudar o BTC a romper as restrições do blockchain Bitcoin que é não é Turing completo e não oferece suporte a contratos inteligentes, permitindo que o BTC construa aplicativos descentralizados com o BTC como o gás nativo na camada 2 do BEVM.
Recentemente, com o lançamento do evento BEVM Odyssey, muitos usuários começaram a fazer cross-chain de BTC para BEVM para interação, na esperança de aproveitar a oportunidade de participar do ecossistema BEVM no futuro. No entanto, durante o processo de cross-chain, alguns usuários descobriram que parte do COOK e PSBTS que possuíam foram perdidos.De acordo com o navegador blockchain, descobriu-se que esta parte das runas havia sido transferida para a ponte cross-chain BEVM, então ocorreu a situação mencionada acima.
A seguir, venha conosco ver o que aconteceu.
Primeiro, encontramos algumas informações de transação entre cadeias por meio do navegador BEVM ().Através da análise, descobrimos que o endereço de recebimento da ponte entre cadeias é:
bc1p43kqxnf7yxcz5gacmqu98cr2r5gndtauzrwpypdzmsgp7n3lssgs5wruvy。
Posteriormente, verificamos Rune Alpha (um navegador e serviço universal que suporta protocolos RUNES como COOK e PSBTS) Seu endereço contém um grande número de runas diversas, incluindo mais de 110.000 COOKs e mais de 280.000 PSBTS.

Imediatamente conduzimos pesquisas e análises sobre esta parte das transações relacionadas a runas.
Vamos pegar uma dessas transações como exemplo:
O conteúdo da transação é mostrado na figura:

Podemos ver que a transação tem duas entradas, 0,00000546 BTC (incluindo 1000 COOK) e 0,02169031 BTC, e a saída é 0,02 BTC (incluindo 1000 COOK) e 0,00148377 BTC.
Para efeito de comparação, encontramos uma transação que não era uma transação COOK com uma transação de ponte entre cadeias e o resultado é o seguinte:

Pode-se observar que tanto a entrada quanto a saída contêm um UTXO de 0,00000546 BTC.
Porque isto é assim? Aqui precisamos conhecer alguns conhecimentos relevantes.
##UTXO
Primeiro, vamos entender o que é UTXO.

UTXO, o nome completo é Saída de transação não gasta, a tradução literal é Saída de transação não gasta, este é o ponto de conhecimento central do Bitcoin. Nas transações Bitcoin, cada transação tem entradas e saídas. O dinheiro que outra pessoa paga a você é a “entrada da transação” e o dinheiro que você recebe é a “saída da transação”.
A ideia central do design do UTXO é sem estado. Ele registra eventos de transação, mas não o status final. Ou seja, apenas eventos de alteração são registrados e os usuários precisam calcular seus próprios saldos com base em registros históricos. Portanto, o modelo de transação do Bitcoin é diferente da conta bancária que costumamos usar, pois não possui conta. O Bitcoin possui apenas UTXO. Um UTXO pode ser imaginado como uma “moeda” de qualquer valor.
UTXO é como uma moeda e não pode ser quebrada e usada. Então, como você coleta o valor da entrada durante a transação e como consegue o troco?
Por exemplo, Xiao Ming transfere 1 BTC para Xiao Gang. Todo o processo é assim. Xiao Ming precisa coletar entradas suficientes. Por exemplo, na transação anterior correspondente ao endereço de Xiao Ming, ele encontrou um UTXO com valor nominal de 0,9, o que não é suficiente para 1 BTC. Felizmente, vários entradas são permitidas na transação, então Xiao Ming Outro UTXO com valor nominal de 0,2 foi encontrado, portanto, haverá duas entradas nesta transação de transferência. Haverá também duas saídas ao mesmo tempo, uma apontando para o endereço de Xiaogang, com valor nominal de 1 BTC. O outro aponta para o endereço de Xiao Ming, com valor nominal de cerca de 0,1 BTC. Esta saída é a mudança.
No processo de transferência de Bitcoin, não existe um algoritmo fixo de entrada e depende da implementação da carteira.
Em segundo lugar, precisamos entender o que são inscrições e runas. Inscrições e runas Bitcoin são dois conceitos importantes no ecossistema Bitcoin.
**O principal representante do Bitcoin Inscription é o protocolo Ordinals. **Ordinals nasceu em dezembro de 2022. O conteúdo é totalmente on-line e desenvolvido por Casey Rodarmor. O protocolo utiliza o sistema de numeração Sat. Os ordinais rastreiam cada satoshi nas transações, fornecendo-lhes um número de série. Ao mesmo tempo, os usuários podem anexar dados adicionais (imagens, vídeos, texto, etc.) ao blockchain do Bitcoin por meio de ordinais, tornando cada Cada Satoshi é único e, portanto, tem a natureza de NFT. BRC-20 foi criado com base neste protocolo.
**Protocolo de Runas, também conhecido como Protocolo de Runas. **Com a popularidade do BRC-20, as transações de tokens relacionados ao BRC-20 representam a maior parte do protocolo Ordinals. Em 26 de setembro de 2023, Casey Rodarmor desenvolveu novamente um protocolo chamado Runas (que é o que todos agora chamam de protocolo Runas) como um substituto para o BRC-20. Este protocolo é um protocolo FT (Token Fungível, token fungível) simples baseado em UTXO (Saída de transação não gasta) que permite que os usuários de Bitcoin tenham uma boa experiência. Os principais representantes das runas são COOK e PSBTS que mencionamos.
Os portadores de inscrições e runas Bitcoin são ambos UTXO. Uma diferença importante entre inscrições Bitcoin (Inions) e runas (Rune) é que As inscrições são gravadas nos dados da Testemunha Segregada, enquanto as Runas são gravadas em In OP\ _RETORNAR. O tamanho dos dados que OP_RETURN pode armazenar é muito limitado, mas é mais que suficiente para a emissão de moedas. Esta não é uma tecnologia nova.
Para que os usuários lancem inscrições ou runas, eles basicamente enviam Bitcoins que correspondem ao valor do protocolo, e o protocolo retorna um UTXO com inscrições ou runas, geralmente um UTXO de 0,00000546 BTC. Vamos falar sobre por que é 0,00000546. Este é o valor mínimo de transação definido pelo Bitcoin.

A inscrição de transferência também ocorre porque essas carteiras reconhecem o formato especial desses UTXOs. As carteiras usam esses UTXOs como entrada através dos protocolos correspondentes e pagam taxas de manuseio adicionais para transferi-los para a outra parte.

Para usuários que perdem runas, porque ainda são de natureza UTXO, quando os usuários usam UniSat para realizar operações de cadeia cruzada em Bitcoin, o UniSat não reconhece esta parte do UTXO que contém runas e a trata como um UTXO comum e as insere juntas Enviado para a ponte de cadeia cruzada.
Na verdade, não apenas nas operações entre cadeias, os usuários também podem perder runas ao realizar outras operações de transferência de Bitcoin em carteiras que não suportam runas. Em 7 de dezembro, um usuário perdeu 15 mil COOKs durante uma operação de troca BRC-20 na Unisat.

Outra coisa interessante é que ao lançar runas em Runes Alpha, é possível transferir as inscrições do usuário como Gás.
Através da documentação oficial do BEVM, descobrimos que o BEVM cross-chain suporta inscrição cross-chain.Os usuários só precisam usar o BSwap para vincular suas inscrições ao BEVM. A carteira usada nas redes é a carteira UniSat. Esta é uma carteira plug-in do Chrome para o ecossistema BTC, ajudando os usuários a armazenar, cunhar e transferir tokens BRC-20. Pode identificar a inscrição do usuário, evitando assim a fusão desta parte do UTXO. Só será transferido quando o usuário negociar ativamente a inscrição.

Como Unisat atualmente não suporta o protocolo de runas, é por isso que os usuários “perderão” runas nas cadeias, mas não nas inscrições. Uma situação semelhante ocorrerá se você mudar para outras carteiras que não suportam runas.
Agora que as runas foram movidas para a ponte de cadeia cruzada, os usuários ainda podem recuperar essa parte das runas?
Consultamos o white paper da BEVM. A solução cross-chain de ativos da BEVM é construída com base na tecnologia Taproot do Bitcoin. É uma rede POS composta por assinatura Schnorr + contrato Mast + 1000 BTC light node para alcançar a descentralização de ativos. Cross -cadeia e gerenciamento, a cadeia cruzada bidirecional do BTC-BEVM é completamente gerenciada com base no consenso dos nós na cadeia, alcançando codificação completa e falta de confiança em vez de depender de assinaturas múltiplas ou gerenciamento manual. Isso torna BTC e Bitcoin o cross- a segurança da cadeia de ativos é tão descentralizada e segura quanto o BFT POS. Portanto, os funcionários do BEVM não podem iniciar uma transação de transferência separada para retirar os “ativos runas” do usuário.
Como o BEVM não suporta o protocolo de runas, a probabilidade desta parte das runas ser transferida é completamente aleatória.Quando o contrato de custódia executa a transação, esses “ativos de runas” podem ser transferidos como UTXO comum, mas todo o processo é completamente aleatório e não sujeito ao controle humano.Se for retirado à força, o consenso de toda a cadeia BEVM deve ser completamente alterado, o que sem dúvida levará a um hard fork do BEVM.
No geral, esse incidente ocorreu por vários motivos:
Para usuários comuns, como evitar que esse tipo de problema aconteça novamente? Ao realizar operações interativas, recomendamos que os usuários façam o seguinte:
Ao mesmo tempo, os desenvolvedores são lembrados de que, ao desenvolver e projetar, eles precisam considerar e preparar-se totalmente para resolver possíveis problemas de incompatibilidade de protocolo no nível do código. Caso contrário, pesquise antes de entrar online e dê lembretes claros para evitar dúvidas e problemas desnecessários.
O surgimento de inscrições e runas é um marco importante na contínua exploração e inovação do ecossistema Bitcoin. Promoveu grandemente a atenção e o entusiasmo de todos pela participação no ecossistema Bitcoin e também desempenhou um grande papel no desenvolvimento futuro do Bitcoin. ecossistema.significado. **No entanto, por enquanto, as inscrições e runas ainda estão em um estágio relativamente inicial. Esperamos que todos prestem atenção aos riscos relacionados ao participar e evitem ficar cegos. **
ScaleBit é uma equipe líder de segurança de blockchain na área Web3, localizada no Vale do Silício, Cingapura, Hong Kong, Taiwan e outros lugares. Fornecemos soluções de segurança blockchain para 200+ organizações e projetos no campo global Web3, auditamos um total de 180.000+ linhas de código e protegemos ativos de usuários superiores a 8 bilhões+ dólares . ** Torne a segurança acessível para todos! Se você tiver alguma necessidade de auditoria de segurança, não hesite em nos contatar. Personalizaremos soluções de segurança detalhadas, abrangentes e profissionais para proteger você e o campo Web3! **
Referências
[1]
[2]
[3]