![Search icon](https://hackernoon.imgix.net/search-new.png?w=19&h=19)
Autor: Faust & Wuyue, de GeekWeb3 & BTCEden
O anúncio do lançamento da camada RGB++ neste mês, julho de 2024, marca a transição completa do protocolo RGB++ lançado anteriormente da teoria para um produto de engenharia. Com sua grande visão de construir um ecossistema BTCFi em cadeias públicas BTC, CKB, Cardano e outras cadeias públicas pan-UTXO (saída de transação não gasta), o lançamento da camada RGB++ também ajuda a introduzir cenários mais específicos e práticos para a plataforma, tornando-a assim o foco de atenção para inúmeras pessoas.
Com base no protocolo RGB++, a camada RGB++ usa ligação isomórfica e Leap para fornecer uma experiência de interação entre cadeias "sem ponte" para ativos nativos RGB++ ou inscrições/runas entre BTC, CKB, Cardano e outras cadeias públicas do tipo UTXO. Ele aproveita o ambiente de contrato inteligente completo de Turing da CKB para construir as condições necessárias para que o Bitcoin emita ativos e implemente funções DeFi complexas. Considerando que o ecossistema abrangente de abstração de contas do CKB o apoia e é compatível com contas e carteiras Bitcoin, ele também abre caminho para a adoção em larga escala do BTCFi.
Esta peça tem como objetivo ajudar a compreender os princípios gerais de funcionamento e as características funcionais da camada RGB++. Também destaca as mudanças que a camada trará ao ecossistema BTCFi com base em suas quatro características distintivas.
O protocolo RGB++ foi lançado em janeiro para substituir a “verificação do lado do cliente” do protocolo RGB pela verificação CKB on-chain. Ele usa o CKB como um indexador descentralizado, delegando tarefas como armazenamento de dados e verificação da fonte de ativos ao CKB, com este último servindo como camada de verificação e camada de disponibilidade de dados (DA) para o protocolo RGB. Isso ajuda a resolver problemas de transações não gastas (UX) e defeitos desfavoráveis em cenários DeFi no protocolo RGB.
Em linha com o conceito de "encapsulamento único", a ligação isomórfica do RGB++ usa Cell - um UTXO estendido na cadeia CKB - como portador de dados para ativos de inscrição/tipo runa para estabelecer uma relação de ligação com UTXOs na cadeia Bitcoin para herdar a segurança do Bitcoin.
Por exemplo, se Alice quiser transferir alguns tokens TEST para Bob, ela pode gerar uma declaração que vincula a célula que armazena informações do ativo TEST a um dos Bitcoin UTXOs de Bob. Se Bob quiser transferir os tokens TEST para outra pessoa, o Bitcoin UTXO vinculado também deverá ser transferido. Dessa forma, há uma relação de ligação 1 para 1 entre a célula que transporta dados de ativos RGB++ e o Bitcoin UTXO. Contanto que o Bitcoin UTXO não seja gasto duas vezes, o ativo RGB++ vinculado não pode ser gasto duas vezes. Com este mecanismo, os ativos RGB++ herdaram a segurança do Bitcoin.
A camada RGB++ é um produto da implementação de engenharia do protocolo RGB++. Suas duas características principais são ligação isomórfica e cadeia cruzada sem ponte Leap.
Para entender a ligação isomórfica e a abordagem Leap, é essencial explicar o modelo Cell do CKB. Uma célula é um UTXO estendido com vários campos, como LockScript, TypeScript e Data. O LockScript funciona de forma semelhante ao script de bloqueio do Bitcoin, usado para verificação de permissão; TypeScript é semelhante ao código de contrato inteligente, enquanto Data é usado para armazenar dados de ativos.
Se você deseja emitir ativos RGB++ na cadeia CKB, crie primeiro uma célula e escreva o símbolo do token e o código do contrato nos campos relevantes. Então você pode quebrar o Cell e distribuí-lo para muitas pessoas, assim como a divisão e transferência de Bitcoin UTXOs.
Com a semelhança estrutural do Cell com os UTXOs do Bitcoin e a semelhança do CKB com o algoritmo de assinatura do Bitcoin, os usuários podem manipular ativos na cadeia CKB usando carteiras Bitcoin. Como proprietário de uma célula, você pode definir seu script de bloqueio para que sua condição de desbloqueio seja consistente com a de um Bitcoin UTXO, permitindo manipular diretamente células na cadeia CKB usando a chave privada de uma conta Bitcoin.
Os recursos destacados acima também podem ser implementados entre CKB, BTC e outras cadeias públicas UTXO. Por exemplo, você pode usar uma conta Cardano para reescrever dados de ativos na cadeia CKB, e os direitos de controle dos ativos RGB++ são transferidos de uma conta BTC para uma conta Cardano sem uma ponte entre cadeias. Lembre-se de que a vinculação de ativos RGB++ a UTXOs em cadeias públicas como Bitcoin, Cardano, Liquid, etc. – semelhante à forma como as contas bancárias são vinculadas aos números de telefone e IDs dos clientes em casos da vida real – visa evitar gastos duplos.
Também deve ser observado que os ativos RGB++ são um conjunto de dados que precisam de armazenamento de mídia, como em um banco de dados. As células da cadeia CKB podem servir como banco de dados. Em seguida, a verificação de permissão poderia ser definida para permitir o acesso a contas de diferentes cadeias públicas, como BTC e Cardano, para reescrever dados de ativos RGB++ na cadeia CKB.
A cadeia cruzada "Leap" e sem ponte proposta pela Camada RGB++ é baseada na tecnologia de ligação isomórfica. Eles servem ao propósito de “religar” os UTXOs vinculados aos ativos RGB++. Por exemplo, se seus ativos estavam anteriormente vinculados a Bitcoin UTXOs, agora eles podem ser vinculados novamente a UTXOs em Cardano, Liquid, Fuel e outras cadeias. Como resultado, as permissões de controle de ativos são transferidas das contas BTC para Cardano ou outras contas.
Do ponto de vista do usuário, isso equivale ao encadeamento cruzado de ativos, com o CKB desempenhando uma função semelhante a um indexador e banco de dados. No entanto, ao contrário dos métodos tradicionais de cadeia cruzada, "Leap" apenas altera a permissão para modificar dados de ativos, enquanto os dados em si ainda são armazenados na cadeia CKB. Este método é mais conciso que o modelo Lock-Mint e elimina a dependência de contratos de ativos mapeados.
Supondo que Alice tenha 100 tokens TEST cujos dados são armazenados na célula#0 e tenham um relacionamento de ligação com UTXO#0 na cadeia Bitcoin. Para transferir 40 tokens de TESTE para Bob, ela precisa dividir a Célula#0 em duas novas Células, onde a Célula#1 contém 40 tokens de TESTE a serem transferidos para Bob e a Célula#2 contém 60 tokens de TESTE ainda controlados por Alice.
Neste processo, o BTC UTXO#0 ligado à Célula#0 deve ser dividido em UTXO#1 e UTXO#2 e então ligado à Célula#1 e Célula#2 respectivamente. Portanto, quando Alice transfere a célula nº 1 para Bob, ela também pode transferir BTC UTXO nº 1 para Bob, com um clique para obter transações síncronas nas cadeias CKB e BTC.
O significado central da ligação isomórfica é a sua adaptabilidade. Isto é particularmente importante porque o Cell do CKB, o eUTXO de Cardano e o UTXO do Bitcoin são todos modelos UTXO, e o CKB é compatível com algoritmos de assinatura Bitcoin/Cardano. Os métodos de operação dos UTXOs nas cadeias Bitcoin e Cardano também funcionam para células na cadeia CKB. Dessa forma, as contas Bitcoin/Cardano podem ser usadas diretamente para controlar simultaneamente os ativos RGB++ na cadeia CKB e seus UTXOs Bitcoin/Cardano vinculados, obtendo transações síncronas 1:1.
Seguindo o cenário de transferência de Alice para Bob acima, o fluxo de trabalho geral é o seguinte:
Alice constrói dados de transação CKB localmente (ainda não na cadeia), especificando que a Célula#0 será destruída, a Célula#1 a ser enviada para Bob será gerada e a Célula#2 será mantida para ela;
Alice gera uma declaração localmente, vinculando Cell#1 a UTXO#1 e Cell#2 a UTXO#2, e enviando Cell#1 e UTXO#1 para Bob;
Então, Alice gera um Commitment (semelhante a um hash) localmente, correspondente ao conteúdo original incluindo a declaração do passo 2 + os dados da transação CKB gerados no passo 1;
Alice inicia uma transação na cadeia Bitcoin, destrói UTXO#0, gera UTXO#1 para ser enviado a Bob, mantém UTXO#2 para si mesma e escreve o Compromisso na cadeia Bitcoin na forma de um opcode OP_Return;
Após a conclusão da etapa 4, a transação CKB gerada na etapa 1 é enviada para a cadeia CKB.
Observe que a célula e o Bitcoin UTXO correspondente estão ligados isomorficamente e podem ser controlados diretamente por contas Bitcoin. Ou seja, durante o processo de interação, os usuários podem realizar operações com um clique através de contas Bitcoin na carteira RGB++. Conseqüentemente, os ativos RGB++ vinculados aos Bitcoin UTXOs ajudam a resolver o problema de gasto duplo, já que os ativos na camada RGB++ herdam a segurança do Bitcoin.
O cenário acima não se limita à ligação isomórfica entre Bitcoin e CKB, mas também se aplica a um amplo escopo de cadeias, incluindo Cardano, Liquid, Litecoin, etc.
A função Leap serve basicamente para mudar o UTXO vinculado a ativos RGB++, por exemplo, alterando a ligação de Bitcoin para Cardano, após o qual você pode controlar ativos RGB++ usando contas Cardano. Nesse caso, uma transferência ainda poderia ser feita na cadeia Cardano posteriormente, dividindo e transferindo o UTXO que controla os ativos RGB++ para mais pessoas. Embora os ativos RGB++ possam ser transferidos e distribuídos em múltiplas cadeias públicas UTXO, eles podem contornar o modelo Lock-Mint tradicional de ponte entre cadeias.
Nesse processo, a cadeia pública CKB desempenha um papel semelhante ao de um indexador, testemunhando e processando solicitações Leap. Suponha que você queira transferir ativos RGB++ vinculados ao BTC para uma conta Cardano. As principais etapas a seguir são:
Publicar Compromisso sobre a cadeia Bitcoin, declarando a desvinculação da Célula vinculada ao BTC UTXO;
Publicar um Compromisso sobre a cadeia Cardano, declarando a vinculação da Célula ao Cardano UTXO;
Alterar o script de bloqueio do Cell, alterando a condição de desbloqueio de uma chave privada de conta Bitcoin para uma chave privada de conta Cardano
Observe que os dados do ativo RGB++ ainda são armazenados na cadeia CKB durante todo este processo. A condição de desbloqueio é alterada de uma chave privada Bitcoin para uma chave privada Cardano. É claro que o processo de execução específico é muito mais complexo do que o descrito acima, mas não iremos detalhá-lo aqui.
No salto para cadeias públicas não-CKB, a premissa implícita é que a cadeia pública CKB atua como uma testemunha terceirizada, indexador e instalação de DA. Isto ocorre porque, como uma cadeia pública, a sua credibilidade excede em muito os métodos tradicionais de ponte entre cadeias, como a Computação Multipartidária (MPC) e a assinatura múltipla.
Outro cenário interessante que pode ser implementado com base na função Leap são as “transações de cadeia completa”. Um exemplo desse cenário é quando um indexador é configurado em Bitcoin, Cardano e CKB para construir uma plataforma de negociação que permite que compradores e vendedores negociem ativos RGB++. Nesse caso, os compradores podem transferir seus bitcoins para os vendedores e receber ativos RGB++ com suas contas Cardano.
Ao longo do processo, os dados dos ativos RGB++ ainda são registrados em células que são transferidas para o comprador e suas permissões de desbloqueio são alteradas da chave privada Bitcoin do vendedor para a chave privada Cardano do comprador.
Embora a função Leap seja perfeita para ativos RGB++, ainda existem alguns gargalos:
Para Bitcoin e Cardano, os ativos RGB++ são essencialmente inscrições/runas/moedas coloridas baseadas no opcode OP_RETURN. Os nós dessas cadeias públicas não conseguem perceber a existência de ativos RGB++, pois o CKB participa da coordenação como indexador. Em outras palavras, para Bitcoin e Cardano, a camada RGB++ suporta principalmente o salto de inscrições/runas/moedas coloridas, em vez da cadeia cruzada de ativos nativos como BTC e ADA.
Como solução, a Camada RGB++ introduziu o Wrapper, uma ponte baseada em provas de fraude e excesso de garantias. Tomando o wrapper rBTC como exemplo, ele conecta o BTC à camada RGB++. Um conjunto de contratos inteligentes executados na camada RGB++ monitora os guardiões da ponte. Se os guardiões agirem maliciosamente, suas garantias serão cortadas. Se eles conspirarem para roubar BTCs bloqueados, os detentores de rBTC receberão compensação total.
Com a combinação de Leap e Wrapper, vários ativos no ecossistema BTCFi, por exemplo, ativos nativos RGB++, BRC20, ARC20, runas, etc., podem ser interligados a outras camadas ou cadeias públicas.
O diagrama a seguir mostra parte do processo de uso do LeapX. Apoia a interoperabilidade de quase todos os principais ativos BTCFi para diferentes ecossistemas. Existem fluxos de processamento correspondentes para ativos emitidos de diferentes maneiras, alguns usando wrappers ou Leap.
Devido à falta de suporte para contratos inteligentes no BTCFi tradicional, apenas aplicativos descentralizados (dApps) relativamente simples podem ser implementados no espaço em evolução. Alguns métodos de implementação podem apresentar certos riscos de centralização, enquanto outros são bastante desajeitados ou inflexíveis.
Para ter uma camada de contrato inteligente disponível em blockchain, a CKB introduziu o CKB-VM por meio da camada RGB++. O objetivo é possibilitar que qualquer linguagem de programação que suporte a máquina virtual RISC-V seja utilizada para desenvolvimento de contratos na camada RGB++. Ele permite que os desenvolvedores usem suas ferramentas e linguagens preferidas para desenvolver e implantar contratos inteligentes eficientes e seguros sob uma estrutura e ambiente de execução de contratos inteligentes unificados.
Geralmente, os requisitos de entrada para o desenvolvimento de contratos inteligentes dos desenvolvedores com RISC-V são relativamente baixos devido à sua extensa linguagem e suporte ao compilador. É claro que a linguagem é apenas um aspecto da programação, e aprender estruturas específicas de contratos inteligentes é inevitável. No entanto, com a camada RGB++, a lógica pode ser facilmente reescrita em JavaScript, Rust, Go, Java e Ruby, em vez de aprender uma linguagem DSL específica para escrever contratos.
O diagrama abaixo mostra um método para transferir tokens definidos pelo usuário (UDT) com CKB usando linguagem C. Além das diferentes linguagens, sua lógica básica é a mesma para tokens gerais.
Finalmente, uma vez que o BTCFi deve essencialmente fornecer diversas experiências DeFi para ativos Bitcoin nativos, compreender o ecossistema de abstração de contas por trás da camada RGB++ junto com suas principais carteiras Bitcoin é um fator importante a ser considerado pelas instalações periféricas do BTCFi.
A camada RGB++ reutiliza diretamente a solução AA nativa do CKB, que é compatível com as principais cadeias públicas UTXO, como BTC e Cardano, tanto do lado do desenvolvedor quanto do usuário. Com a camada RGB++, diferentes algoritmos de assinatura podem ser usados para autenticação. Ou seja, os usuários podem manipular ativos diretamente na camada RGB++ usando BTC, Cardano ou até mesmo contas, carteiras ou métodos de autenticação WebAuthn.
Um exemplo é o middleware de carteira, CCC, que pode fornecer operabilidade de várias cadeias públicas ao CKB para carteiras e dApps. A imagem a seguir mostra a janela de conexão do CCC e como ele suporta entradas de carteiras convencionais, como Unisat e Metamask.
Outro exemplo é a implementação do WebAuthn com JoyID, uma carteira do ecossistema CKB, sendo um representante típico. Os usuários do JoyID podem autenticar diretamente suas contas por meio de métodos biométricos (como impressão digital ou reconhecimento facial) para obter login e gerenciamento de identidade contínuos e altamente seguros.
Pode-se dizer que a Camada RGB++ possui uma solução AA nativa completa, que também pode acomodar os padrões de conta de outras cadeias públicas. Esse recurso não apenas facilita o suporte para alguns cenários importantes, mas também elimina obstáculos para UXs.
Este artigo apresentou as principais tecnologias da camada RGB++ sem explicar vários detalhes complexos.
Ele destaca que a camada RGB++ pode ser uma infraestrutura importante para a realização de cenários de interação de cadeia completa, incluindo várias moedas meme e inscrições/runas/moedas coloridas. O ambiente de execução de contrato inteligente baseado em RISC-V da camada também pode ajudar a criar o solo para o crescimento da complexa lógica de negócios exigida pelo BTCFi.
À medida que a camada RGB++ avança, será fornecida uma análise mais aprofundada da série de soluções técnicas relacionadas ao projeto. Por favor fique atento!