A atual inscrição do Ethereum é essencialmente um vinho velho numa nova garrafa da Ordinals, um novo paradigma sem um real significado. O Éter ainda tem riscos de segurança e, embora seja mais descentralizado do que o Rollup, o seu processo de retirada ainda depende de um notário/gerente de terceiros, havendo um risco de roubo. Obviamente, atualmente o Éter ainda é principalmente um hype financeiro, não sendo capaz de trazer inovações que a Camada 2 do Ethereum não possa trazer.
A recente popularidade das inscrições ecológicas do BTC encorajou os desenvolvedores de outras cadeias a construir sistemas semelhantes. A forma como os sistemas de inscrição em diferentes cadeias são implementados e as funções que podem alcançar são ligeiramente diferentes, mas têm algumas coisas em comum:
1. Todas as inscrições utilizam informações de texto anexadas à transferência para expressar a operação que deseja completar, como escrever 'transferir 1 moeda para XXX' na mensagem. Note que esta informação está em texto simples e não envolve operações como execução de contratos inteligentes na cadeia.
2. Os desenvolvedores irão projetar uma série de especificações e padrões para padronizar todas as informações de texto.
3. O desenvolvedor fornece um conjunto de indexadores Indexer para calcular o estado interno do sistema de inscrição após coletar as informações de texto de todas as inscrições na cadeia. Indexer é um componente de código aberto off-chain que qualquer pessoa pode executar.
A inscrição BTC Ordinals estabeleceu um mecanismo para emitir NFTs e tokens em BTC, e também levou a um pensamento em larga escala sobre BTC L2. Neste sentido, podemos pensar que a Ordinals é algo pioneira e exploratória. No entanto, a Ordinals foi limitada pela própria arquitetura do BTC em termos de tecnologia e experiência do produto, e também foi criticada pela comunidade OG do BTC por motivos como poluição de poeira e consumo de dados.
Então, faz sentido reimprimir a inscrição no Ethereum? Afinal, o Ethereum em si tem contratos inteligentes complexos, e os ERC20 e NFTs também fazem parte do próprio Ethereum; que impacto terão esses projetos de inscrição no ecossistema do Ethereum e causarão controvérsia e tumulto no BTC?
Vamos primeiro dar uma olhada em como Ética é implementada. É um projeto de inscrição famoso no Ethereum que usa principalmente Calldata para operar.
Calldata é os dados de entrada originais transmitidos numa transação Ethereum. Geralmente é utilizado para transmitir parâmetros necessários para interação com contratos inteligentes, mas também pode ser usado para enviar mensagens de texto (comentários, inscrições, notas de transferência, etc.) para um endereço EOA. Na figura, os dados de entrada são calldata.
Se quiser usar a Etnografia para inscrever “Hello world” numa transação, precisa de construir uma transação com os seguintes dados de chamada:
Após o Indexador off-chain monitorar esta transação, ele atualizará o banco de dados e notificará o usuário que uma nova inscrição foi gerada, e o conteúdo da inscrição é Olá Mundo. Conteúdos mais complexos, como representação de informações de imagem em base64, também podem ser colocados na inscrição.
A etnia já passou 6 ESIPs (propostas semelhantes à EIP) para definir o uso de inscrições em diferentes cenários. No entanto, estas são apenas especificações de inscrição relativamente básicas, como o formato de transações de inscrição iniciadas a partir de EOA, eventos emitidos por contrato, etc.
Uma vez que Ethnicity é um projeto na Ethereum, também é possível implementar um certo grau de lógica usando contratos inteligentes da Ethereum. É importante notar que interagir diretamente com contratos inteligentes não é a abordagem recomendada pela Ethical.
Embora os mercados oficiais de NFT e similares também sejam implementados diretamente usando contratos inteligentes. De acordo com a documentação oficial, Ethical deseja fornecer aos usuários um “serviço de computação descentralizado e acessível”: dividir a computação fora da cadeia reduzirá significativamente o custo de usar Ethereum.
Vamos explorar em detalhe o custo de chamar um contrato inteligente, que pode ser dividido em três partes:
·Custos básicos de transação: Qualquer transação Ethereum requer pagamento, atualmente 21000 gas.
Custo de transmissão de dados (calldata): Calldata é geralmente usado para enviar dados e parâmetros para interagir com contratos inteligentes. Após o ajuste EIP-2028, calldata geralmente consome 16 gas por byte (4 gas se os dados forem 0 bytes).
·Custo de execução do contrato: Se uma transação chama uma função em um contrato inteligente, então, dependendo da complexidade da execução da função, também devem ser pagos custos de cálculo. Por exemplo, se uma atualização de status estiver envolvida (como a atualização das informações de saldo em um contrato ERC-20), chamar SSTORE pode consumir até 5000-20.000 gas.
Vamos fazer uma transação de transferência USDT muito simples. A transação custou um total de 63.197 gases e o calldata é:
Vamos analisar estes dados de chamada e quanto gás irá custar:
·Os dados de chamada do Ethereum estão em formato hexadecimal, ou seja, cada dois dígitos representam um byte (16^2 = 2^8). O 0x no início indica que os dados estão em hexadecimal.
·O a9059cbb após o início 0x é um seletor de função e ocupa 4 bytes não nulos.
·Os próximos 32 bytes são endereços, com 12 bytes de zeros à frente (uma vez que os endereços Ethereum têm 20 bytes, de 0 a 32 bytes são adicionados à esquerda), e 20 bytes de dados de endereço não nulos.
·Os últimos 32 bytes representam a quantidade, com um grande número de zeros à esquerda, dados não nulos 3b9aca00 no final e 4 bytes não nulos.
·Então, 28 bytes não nulos e 40 bytes nulos
Portanto, callDataGas = 28 * 16 + 40 * 4 = 608 gas.
O gás total é 63197. Após subtrair o custo da chamada de dados e o custo fixo, o custo do cálculo do contrato inteligente para executar esta transação é de 41.589 de gás. Os custos de cálculo do contrato representam a maioria desta transação, e esta é apenas uma transação simples. Em transações complexas, o custo do cálculo do contrato aumentará ainda mais.
Colocar o processo de computação fora da cadeia, de fato, reduzirá significativamente os custos de uso: se você não quiser chamar contratos inteligentes diretamente na cadeia, pode ir para um endereço EOA acordado
0x0000000000000000000000000000000face7 Enviar dados da transação
No calldata da transação, especifique qual contrato pretendia originalmente chamar e os parâmetros de entrada correspondentes. Uma vez que o endereço acima é uma conta EOA e não existe código de contrato, a operação descrita acima não desencadeará tarefas de cálculo na cadeia; apenas envia uma mensagem.
Fora da cadeia, após o Indexer ouvir esta mensagem, ele a analisará para descobrir qual contrato na cadeia ETH o originador desta mensagem originalmente queria chamar, então o Indexer calculará os resultados da chamada de contrato fora da cadeia.
Bem, se um indexador offline quiser calcular inscrições e contratos inteligentes, ele deve ter um conjunto de regras e tempo de execução do STF (função de transição de estado). A parte complicada pode ser chamada de uma máquina virtual VM. Éter lançou sua própria VM - Éter VM - no ESIP-4, que mais tarde foi renomeada para Facet VM.
Facet define-se como uma plataforma de computação barata, fácil de usar, segura e descentralizada. Ouça os dados de chamada ética sobre Ethereum, puxe-os para a VM para cálculo e, finalmente, devolva os resultados ao usuário. Facetas têm vários componentes-chave:
·Facet VM, um conjunto de VMs escritos em Ruby, é responsável por monitorizar transações ETHS, analisar calldata e executar operações.
·Rubidity, a linguagem de programação de contratos inteligentes no Facet, é semelhante ao Ruby e também mantém muitos usos e conceitos da solidity, para que os desenvolvedores possam começar rapidamente.
Contrato burro, um contrato burro, um tipo de contrato que funciona na Facet. O nome é cheio de humor. Algumas pessoas também têm razão em chamá-lo de contrato burro. Burro em si é um jogo de palavras; burro pode descrever o processo silencioso do trabalho deste tipo de contrato. Mas, por outro lado, de acordo com o provérbio oficial 'Tão burro, eles são espertos,' significa ser tolo, com um forte senso de argumentação com contratos inteligentes, então não há problema em chamá-los de contratos estúpidos.
O contrato estúpido em si não será realmente implantado no Ethereum; seu código será postado na cadeia ETH na forma de calldata. Aqui está um exemplo de Facet chamando um contrato estúpido:
Uma transação de cunhagem para um endereço de buraco negro EOA
0x000000000000000000000000000face7 submete os dados de chamada na imagem abaixo, afirmando que apenas deseja o token e a quantidade a ser criada. Na verdade, isto é o mesmo que Ordinais ou BRC-20:
Vamos dar mais uma olhada na comparação visual entre Rubidity e Solidity, como mostrado abaixo.
Embora a declaração oficial seja que o Rubidity tenha um conceito e estrutura semelhantes ao Solidity, para que os programadores possam começar rapidamente. Mas sabemos que isso realmente tem um impacto negativo no desenvolvimento do lado dos programadores. Além disso, atualmente o Facet VM só suporta contratos estúpidos na lista branca oficial, o que mostra que o governo não tem muita confiança nesta linguagem e VM. Se reutilizar o EVM é oficialmente mais difícil em termos de engenharia do que desenvolver um novo VM e uma nova linguagem, não sei. Mas uma coisa é certa: a nova linguagem, o novo contrato, o novo ecossistema e a nova forma de usar o Ethereum são realmente truques suficientes.
A documentação da Facet fez os seguintes comentários contundentes sobre o Ethereum e contratos inteligentes: "Os contratos inteligentes são considerados a característica acima de todas as outras que torna o Ethereum especial, e no entanto, a tese da Facet é que os contratos inteligentes são a maior falha de design do Ethereum."
Eles acreditam que o contrato inteligente do Ethereum é a maior falha de design, porque o contrato em si requer apenas uma determinada entrada (calldata), e sua saída é determinada, então não deve ser calculada na cadeia, desperdiçando dinheiro sem motivo. Combinado com o "serviço de computação descentralizado e acessível" da Ethical, é claro que a Ethnic and Facet realmente quer criar uma impressão de mercado, "Estamos criando um novo paradigma de expansão Ethereum e método de uso", mas, na realidade, algumas das próprias soluções técnicas da ETHS não são muito confiáveis.
Do ponto de vista do produto, o Facet pode invocar contratos inteligentes indiretamente sob a cadeia, e também tem o seu próprio sistema de contrato estúpido sob a cadeia. De facto, o governo está a levar a cabo o seu slogan.
No entanto, do ponto de vista económico, não existem almoços grátis no mundo; claro, armazenamento e computação requerem dinheiro. Então, como é que o Indexer resolve esta parte do custo? Não há uma explicação oficial para isto, por isso vamos imaginar:
· Os utilizadores são cobrados. Por exemplo, a taxa de processamento cobrada pelo mercado NFT aos compradores, mas não podemos considerar um modelo de cobrança simples de projeto como um método de cobrança de longo prazo semelhante a uma rede L2.
·Enriqueça através da sua própria agitação ecológica. Claro que é possível, mas é apenas uma solução a curto prazo para manter o projeto interessante por um tempo. Se Ethnicity se tornar um novo paradigma do Ethereum, o Indexador deve ter um mecanismo econômico de longo prazo, baseado em rede, para garantir a operação.
·Se os bens públicos não forem lucrativos, que organizações irão doar? Acho que pelo menos a Fundação Ethereum não será particularmente ativa porque o próprio Ethereum tem uma solução muito boa - Rollup.
Se apenas precisarmos da forma simples da inscrição do Ethereum, então apenas um projeto do Ethnic é suficiente. Então, por que a sua proposta ESIP-4 gerou Facet novamente?
Porque o sistema de inscrição não pode ser usado para lógica de transação complexa. Podemos examinar a lógica operacional do contrato do mercado NFT oficial do Ethical, que usa um mecanismo de ordem pendente.
Se quiser depositar a NFT de inscrição no contrato, só precisa escrever as calldatas como o ethscriptionID da inscrição e chamar o contrato de mercado. Uma vez que esta operação seleciona deliberadamente uma forma inválida de chamada de função, desencadeia por padrão fallback().
Eventualmente, um evento chamado PotentialEthScriptionOfferings será lançado na cadeia Ethereum. Depois que o nó Indexer monitorar este evento off-chain, ele transferirá localmente a propriedade do NFT para um contrato de mercado.
Para economizar gás, o mercado de negociação ETHS não armazena alguns parâmetros das ordens pendentes do vendedor, como preço, prazo, etc., no contrato ETH, mas os coloca offline na forma de mensagens. Visualmente, eles deveriam ter sido armazenados no servidor dApp. Uma vez que o comprador tenha monitorizado esta mensagem, pode submeter uma compra emitindo o comando BuyWithSignature().
Usar um mecanismo de ordem pendente é normal para NFTs porque os NFTs em si não são homogéneos. Então, se for uma inscrição de token homogeneizado, pode ser usado o mecanismo AMM do contrato? A resposta é não. O estado dos NFTs ou tokens inscritos não está no L1, que é mais ou menos o mesmo que Ordinais e BRC-20. Isto é completamente oposto à propaganda de algumas comunidades. Todos precisam ter cuidado. A inscrição não é um ativo na cadeia ETH no verdadeiro sentido da palavra. Não podemos dizer que os dados de chamada que geraram o ativo estão no L1, e podemos declarar instruções de operação no L1, chamado de ativo nativo no L1. Caso contrário, o ativo nativo do L2 no Rollup também pode ser chamado de ativo L1, porque os dados de chamada do Rollup estão todos no L1. Obviamente, é ridículo chamar esse tipo de ativo de ativo nativo L1.
Pode estar a perguntar-se, não é apenas um contrato inteligente utilizado para negociar? Por que se diz que as inscrições no contrato não podem ser lidas e manipuladas? Na verdade, este contrato é apenas responsável por recolher dinheiro, transferir dinheiro e lançar eventos para os nós indexadores sob a cadeia ouvirem e desencadearem operações correspondentes. Aos olhos do EVM do Ethereum, o estado de algo como uma inscrição não pode ser restaurado na base de dados do “Estado do Mundo” que armazena especificamente o estado do Ethereum, nem os contratos podem referenciá-lo.
Independentemente da forma como um ativo se apresenta, seja um token, um NFT ou algo estranho, posso dar um padrão muito simples para identificar ativos L1 e ativos L2: o estado deles pode ser restaurado para o 'estado do mundo' do Ethereum, pode a EVM do L1 referenciar, chamar, consultar e modificar o estado do ativo; se não, então não é um ativo L1.
Portanto, também pode ver que o nome do evento de depósito é PotentialEthscriptionDeposit, ou seja, “possível depósito de inscrição”, em vez de um depósito definitivo, porque o contrato não consegue determinar se esta inscrição existe, e é impossível verificar a sua autenticidade. Se pedir uma inscrição que não existe, ou de outra pessoa, o contrato não o rejeitará; simplesmente o Indexador não incluirá as suas ações.
Portanto, o sistema de inscrição só pode implementar esta lógica de pseudo-contrato simples; as ordens pendentes são uma delas. A essência de uma ordem pendente é que ambas as partes da transação concordam com as informações um do outro sob uma regra. Na verdade, pode ser expresso em texto simples sem um contrato inteligente. Isso é semelhante ao princípio de uma inscrição.
Podemos imaginar como este processo pode ser concluído sem usar um contrato inteligente: o vendedor grava uma mensagem numa transação normal, transfere-me 1ETH, e alguém que anote 123 pode obter um NFT com o meu número de inscrição 123. Isso só requer que o Indexer suporte esta lógica. Ele observa que alguém transferiu 1ETH para o vendedor e adicionou um ABC, então pode ser transferido diretamente para a base de dados do Indexer fora da cadeia.
Claro, este exemplo realmente causará alguns problemas, como transações repetidas que podem resultar de várias pessoas arrebatando um NFT. O vendedor recebeu várias transferências, mas, no final, os NFTs só podem ser transferidos para uma pessoa pelo Indexer. Esta também deve ser uma das razões pelas quais o governo critica claramente os contratos inteligentes, mas usa contratos para implementar o mercado de NFTs, por isso você também deve ser capaz de entender a declaração oficial de que chamar contratos inteligentes sem cálculo através do Facet é pouco confiável.
Claro, as ordens pendentes podem teoricamente usar texto simples em vez de exigir um contrato, mas a lógica relativamente complexa da AMM requer contratos inteligentes, porque exige não um acordo entre as duas partes, mas aprovação contratual. Um contrato que atua como um revisor confiável requer a verificação de informações básicas, como saldo e liquidez, e a realização de cálculos. O contrato deve ser capaz de obter quaisquer dados de ativos de que necessita.
AMM, por outro lado, é apenas uma forma relativamente simples de DeFi, e qualquer outra lógica complexa não pode ser implementada apenas no Éter. É por isso que o Facet foi lançado - a prioridade número um do Facet é a interdomínio! Na verdade, é um L2, mas não tem uma estrutura de blocos, por isso não o chamamos de intercadeia, mas sim de interdomínio. Quando todos os ativos L1 são interdomínio para o Facet, não há problema que não possam ser chamados entre domínios. Todos os ativos fora da cadeia podem ser operados com contratos estúpidos sob a cadeia, suportando assim lógica de contrato complexa.
Através da longa discussão acima, você deverá ser capaz de ver que a solução da Ethical é um tanto semelhante ao Rollup. Mas isso é apenas 'semelhante'; estritamente falando, ela implementa apenas um subconjunto da funcionalidade principal do Rollup. A funcionalidade faltante, por outro lado, causou danos fatais à sua narrativa, ou colocou os usuários em sério risco.
Rollup é um sistema complicado, e não vamos expandir aqui. Tem algo em comum com Etanol:
Todos eles enviam dados para chamadas de L2 para transações na Ethereum.
Todas as computações são processadas off-chain.
As semelhanças são muito claras, e precisamos demonstrar as diferenças em detalhe.
Na maioria dos casos, os utilizadores no Rollup não enviam transações diretamente para L1, mas sim enviam-nas para um sequenciador off-chain. O sequenciador ordena todas as transações, empacota e comprime-as, e envia o calldata para L1 em lotes. Ao enviar calldata de vários utilizadores numa única transação, o custo básico de 21.000 gas pode ser diluído.
Não existe tal mecanismo na Etnicidade; todos os utilizadores enviam os dados de chamada diretamente para L1.
Usando o exemplo do USDT acima (608 de gás para calldata), vamos supor que 100 usuários iniciaram 100 transações e calculam aproximadamente a diferença de custo entre os dois com muito pouca rigidez:
· Cada utilizador de inscrição pagará 21608 gas (608 + 21000). O restante da computação não é pago porque a computação é fora da cadeia.
Os utilizadores do Rollup pagam 818 de gás ((608*100+21000) /100) por pessoa. A parte matemática é a mesma que a acima.
Naturalmente, todos os utilizadores do Rollup também precisam de pagar taxas de computação e armazenamento L2 ao sequenciador, mas é muito mais barato do que L1, por isso é negligenciável neste caso. Além disso, o rollup requer alguns campos especiais adicionais para aumentar o volume, mas ao mesmo tempo, também tem uma melhor compressão de dados, por isso não vamos expandir isso aqui.
Através desta estimativa aproximada, pode-se ver que o Etanol não tem vantagem de custo sobre a Camada 2. Além disso, na propaganda da comunidade do projeto, tenho visto coisas como '4000 inscrições podem ser transferidas em lotes, cerca de 0,11 ETH e, em média, apenas 0,05U por transferência' para provar que o uso do Etanol é barato. Na verdade, não esclarece os princípios e detalhes de interação do ETHS.
Graças a um sequenciador off-chain, os pedidos do usuário do Rollup podem ser pré-confirmados em 1 segundo. Isso é muito melhor em termos de UX do que o sistema de inscrição por 12 segundos ou mais na L1. Claro, os apoiadores da inscrição também podem argumentar que até que os dados de chamada sejam submetidos à cadeia ETH, os resultados finais de tais transações são pouco confiáveis.
Os utilizadores na Rollup provavelmente serão censurados pelos sequenciadores fora da cadeia, enquanto o Ethical não pode censurar os utilizadores. No entanto, uma Rollup bem projetada terá uma função de agregação forçada para contrariar a revisão do sequenciador e, em última análise, o sequenciador não tem poder para rever os utilizadores de todo.
Portanto, quando os utilizadores usam Rollup, também podem contornar diretamente o sequenciador no L1. Rollup dá aos utilizadores diferentes escolhas. Pode usar um sequenciador mais rápido ou usar o L1 diretamente. No entanto, o Ethnic só pode usar o L1, e não há espaço para os utilizadores escolherem livremente.
Além disso, Ethnic criticou o sequenciador da Rollup por ser centralizado. Mas o Indexer em si é também um componente altamente centralizado. Ethnic explicou que, embora qualquer pessoa possa executar e verificar o Indexer, não é centralizado, mas, na verdade, a grande maioria das pessoas não executa nós por si mesmas. Portanto, o ETHS só mostra seu lado descentralizado em comparação com a Rollup em casos extremos. Afinal, o sequenciador da Rollup pode falhar ou cair, mas o ETHS pode continuar a operar desde que os membros da comunidade executem vários Indexers.
Nenhum projeto pode usar o amor para gerar eletricidade. Os projetos de desenvolvimento de longo prazo devem considerar cuidadosamente a questão dos modelos de lucro. Seja uma entidade centralizada ou uma combinação de entidades descentralizadas, eles devem ser lucrativos para proteger a segurança da rede a longo prazo.
O sequenciador da Rollup tem um modelo de lucro claro: cobrar mais gás, extrair MEV, etc. O sequenciador tem o poder de garantir a operação normal da rede. Como os usuários enviam dados de chamada diretamente para L1, o Indexer não cobra muito.
A maioria das linguagens de desenvolvimento de contratos da Rollup, cadeias de ferramentas, etc. podem usar diretamente o Ethereum, e os desenvolvedores podem migrar facilmente para a Rollup. Nada disso existe no Ethnic; você precisa dominar o novo Rubidity, construir novas varreduras, se familiarizar com novas VMs, etc. Claro, quando visto ao contrário, essa resistência também é uma oportunidade de exploração que pode ser trazida pelo desenvolvimento de um novo ecossistema.
Este é o problema fatal do Facet. Sabemos que o Rollup não apenas envia calldata (entrada) para L1 em lotes, mas também envia regularmente o acerto de estado (saída) após N operações para L1. O ZKR e o OPR têm métodos diferentes de prova para determinar se a relação entre entrada e saída está correta. Independentemente do método de prova, a decisão final é um contrato L1. A saída e a entrada no Rollup são rastreáveis e não podem ser falsificadas.
Qual é a utilidade do acerto de status? Usado para levantamentos, ou seja, levantamentos de fundos de L2 para L1. Quando o status em L1 é publicado, podemos usar a Prova de Merkle e outros meios para provar que o meu pedido de levantamento em L2 está incluído naquela raiz de status com base na raiz de status. Uma vez que o contrato foi verificado corretamente, os ativos podem ser liberados em L1.
Facet não possui mecanismo de liquidação de status, portanto é impossível para ele alcançar saques descentralizados sem permissão do L2 para o L1. Como mencionado acima, ele também precisava de uma camada L2 para executar lógica de contrato mais complexa. Como o FacetSwap da sua troca AMM.
Podemos ver que o FacetSwap (um dex construído no Facet com contratos estúpidos) claramente tem duas ações: depósito e retirada. Normalmente, não há depósitos ou saques para o Swap, porque o Facet exige que você cruze domínios antes de poder usá-lo.
Em Facet, o depósito requer o bloqueio dos fundos L1 no contrato de ponte L1 e a emissão do evento correspondente ethscriptions_protocol_createEthscription para que o indexador seja indexado. Isto é consistente com outros métodos de recarga L2.
Por outro lado, as retiradas têm sérios problemas de segurança. Como não há mecanismo de liquidação de status na Facet, os contratos não podem ser usados para determinar automaticamente se uma retirada é válida de L2 para L1. Então, que método usou a Facet? O administrador lançou, ou mecanismo de testemunha, semelhante à Ponte Axie previamente roubada.
Vamos dar uma olhada diretamente na ponte da Facet. O endereço é:
0xd729345aa12c5af2121d96f87b673987f354496b.
HashedMessage é uma mensagem assinada pelo signatário e contém parte do conteúdo do levantamento. O signatário é um endereço de administrador padrão. Como não há liquidação de status, não pode ser feita nenhuma verificação, como se a conta tem tantas moedas na L2. Portanto, todos os fundos no contrato podem ser retirados com a assinatura do signatário, quer seja má conduta da parte do projeto ou um ataque de hacker para obter a chave privada.
No Rollup, não é necessário testemunhas para liberar ativos; em sidechains, se as testemunhas quiserem fazer algo descentralizado, podem selecionar parte de seu próprio sistema de consenso como agentes e usar garantias para deter o mal até certo ponto.
Em Éter e Facet, nada. É simplesmente, sem disfarces, um endereço de administrador. Provavelmente é demasiado rude para um projeto L2 que frequentemente grita "os contratos inteligentes são falhas de design", "Rollup é centralizado", e "somos uma plataforma de computação de próxima geração". Obviamente, ele ainda tem muitas falhas, mas podemos continuar a observar, embora essas falhas não sejam fáceis de corrigir, e provavelmente existam também no Bitcoin Layer 2.
·Os ativos na Étnica e Facet não são ativos emitidos na L1.
·Para ter capacidades de contrato complexas, Facet evoluiu para uma entidade L2, mas tem enormes riscos de segurança financeira.
·A reivindicação oficial é remover a computação do contrato em L1, mas nem sequer usa seu próprio aplicativo principal.
· O etanol é semelhante a um Rollup com funcionalidade básica muito pobre. Nem o Rollup é barato e rápido, nem o Rollup é seguro. O que ele pode alcançar, o Rollup pode fazer, e não pode fornecer as funções muito importantes que o Rollup pode alcançar.
Se ele quiser resolver os problemas acima, ele precisa desenvolver um mecanismo de liquidação de status, além de um sequenciador e um bloco L2, então eventualmente se tornará um Rollup.
A etnia aproveitou a inscrição de BTC e confiou no conceito para promover vinho velho em garrafas novas, mas ainda não descobriu um novo paradigma. Atualmente, ETHS ainda é principalmente baseado em especulação financeira, não que esse produto em si possa trazer algo que a Ethereum Layer 2 não tenha. O valor a longo prazo desse tipo de coisa obviamente ainda está por descobrir, mas em sua forma atual, ETHS assumiu o 'fardo insuportável da vida', e seu slogan é muito diferente de seu efeito prático.
A atual inscrição do Ethereum é essencialmente um vinho velho numa nova garrafa da Ordinals, um novo paradigma sem um real significado. O Éter ainda tem riscos de segurança e, embora seja mais descentralizado do que o Rollup, o seu processo de retirada ainda depende de um notário/gerente de terceiros, havendo um risco de roubo. Obviamente, atualmente o Éter ainda é principalmente um hype financeiro, não sendo capaz de trazer inovações que a Camada 2 do Ethereum não possa trazer.
A recente popularidade das inscrições ecológicas do BTC encorajou os desenvolvedores de outras cadeias a construir sistemas semelhantes. A forma como os sistemas de inscrição em diferentes cadeias são implementados e as funções que podem alcançar são ligeiramente diferentes, mas têm algumas coisas em comum:
1. Todas as inscrições utilizam informações de texto anexadas à transferência para expressar a operação que deseja completar, como escrever 'transferir 1 moeda para XXX' na mensagem. Note que esta informação está em texto simples e não envolve operações como execução de contratos inteligentes na cadeia.
2. Os desenvolvedores irão projetar uma série de especificações e padrões para padronizar todas as informações de texto.
3. O desenvolvedor fornece um conjunto de indexadores Indexer para calcular o estado interno do sistema de inscrição após coletar as informações de texto de todas as inscrições na cadeia. Indexer é um componente de código aberto off-chain que qualquer pessoa pode executar.
A inscrição BTC Ordinals estabeleceu um mecanismo para emitir NFTs e tokens em BTC, e também levou a um pensamento em larga escala sobre BTC L2. Neste sentido, podemos pensar que a Ordinals é algo pioneira e exploratória. No entanto, a Ordinals foi limitada pela própria arquitetura do BTC em termos de tecnologia e experiência do produto, e também foi criticada pela comunidade OG do BTC por motivos como poluição de poeira e consumo de dados.
Então, faz sentido reimprimir a inscrição no Ethereum? Afinal, o Ethereum em si tem contratos inteligentes complexos, e os ERC20 e NFTs também fazem parte do próprio Ethereum; que impacto terão esses projetos de inscrição no ecossistema do Ethereum e causarão controvérsia e tumulto no BTC?
Vamos primeiro dar uma olhada em como Ética é implementada. É um projeto de inscrição famoso no Ethereum que usa principalmente Calldata para operar.
Calldata é os dados de entrada originais transmitidos numa transação Ethereum. Geralmente é utilizado para transmitir parâmetros necessários para interação com contratos inteligentes, mas também pode ser usado para enviar mensagens de texto (comentários, inscrições, notas de transferência, etc.) para um endereço EOA. Na figura, os dados de entrada são calldata.
Se quiser usar a Etnografia para inscrever “Hello world” numa transação, precisa de construir uma transação com os seguintes dados de chamada:
Após o Indexador off-chain monitorar esta transação, ele atualizará o banco de dados e notificará o usuário que uma nova inscrição foi gerada, e o conteúdo da inscrição é Olá Mundo. Conteúdos mais complexos, como representação de informações de imagem em base64, também podem ser colocados na inscrição.
A etnia já passou 6 ESIPs (propostas semelhantes à EIP) para definir o uso de inscrições em diferentes cenários. No entanto, estas são apenas especificações de inscrição relativamente básicas, como o formato de transações de inscrição iniciadas a partir de EOA, eventos emitidos por contrato, etc.
Uma vez que Ethnicity é um projeto na Ethereum, também é possível implementar um certo grau de lógica usando contratos inteligentes da Ethereum. É importante notar que interagir diretamente com contratos inteligentes não é a abordagem recomendada pela Ethical.
Embora os mercados oficiais de NFT e similares também sejam implementados diretamente usando contratos inteligentes. De acordo com a documentação oficial, Ethical deseja fornecer aos usuários um “serviço de computação descentralizado e acessível”: dividir a computação fora da cadeia reduzirá significativamente o custo de usar Ethereum.
Vamos explorar em detalhe o custo de chamar um contrato inteligente, que pode ser dividido em três partes:
·Custos básicos de transação: Qualquer transação Ethereum requer pagamento, atualmente 21000 gas.
Custo de transmissão de dados (calldata): Calldata é geralmente usado para enviar dados e parâmetros para interagir com contratos inteligentes. Após o ajuste EIP-2028, calldata geralmente consome 16 gas por byte (4 gas se os dados forem 0 bytes).
·Custo de execução do contrato: Se uma transação chama uma função em um contrato inteligente, então, dependendo da complexidade da execução da função, também devem ser pagos custos de cálculo. Por exemplo, se uma atualização de status estiver envolvida (como a atualização das informações de saldo em um contrato ERC-20), chamar SSTORE pode consumir até 5000-20.000 gas.
Vamos fazer uma transação de transferência USDT muito simples. A transação custou um total de 63.197 gases e o calldata é:
Vamos analisar estes dados de chamada e quanto gás irá custar:
·Os dados de chamada do Ethereum estão em formato hexadecimal, ou seja, cada dois dígitos representam um byte (16^2 = 2^8). O 0x no início indica que os dados estão em hexadecimal.
·O a9059cbb após o início 0x é um seletor de função e ocupa 4 bytes não nulos.
·Os próximos 32 bytes são endereços, com 12 bytes de zeros à frente (uma vez que os endereços Ethereum têm 20 bytes, de 0 a 32 bytes são adicionados à esquerda), e 20 bytes de dados de endereço não nulos.
·Os últimos 32 bytes representam a quantidade, com um grande número de zeros à esquerda, dados não nulos 3b9aca00 no final e 4 bytes não nulos.
·Então, 28 bytes não nulos e 40 bytes nulos
Portanto, callDataGas = 28 * 16 + 40 * 4 = 608 gas.
O gás total é 63197. Após subtrair o custo da chamada de dados e o custo fixo, o custo do cálculo do contrato inteligente para executar esta transação é de 41.589 de gás. Os custos de cálculo do contrato representam a maioria desta transação, e esta é apenas uma transação simples. Em transações complexas, o custo do cálculo do contrato aumentará ainda mais.
Colocar o processo de computação fora da cadeia, de fato, reduzirá significativamente os custos de uso: se você não quiser chamar contratos inteligentes diretamente na cadeia, pode ir para um endereço EOA acordado
0x0000000000000000000000000000000face7 Enviar dados da transação
No calldata da transação, especifique qual contrato pretendia originalmente chamar e os parâmetros de entrada correspondentes. Uma vez que o endereço acima é uma conta EOA e não existe código de contrato, a operação descrita acima não desencadeará tarefas de cálculo na cadeia; apenas envia uma mensagem.
Fora da cadeia, após o Indexer ouvir esta mensagem, ele a analisará para descobrir qual contrato na cadeia ETH o originador desta mensagem originalmente queria chamar, então o Indexer calculará os resultados da chamada de contrato fora da cadeia.
Bem, se um indexador offline quiser calcular inscrições e contratos inteligentes, ele deve ter um conjunto de regras e tempo de execução do STF (função de transição de estado). A parte complicada pode ser chamada de uma máquina virtual VM. Éter lançou sua própria VM - Éter VM - no ESIP-4, que mais tarde foi renomeada para Facet VM.
Facet define-se como uma plataforma de computação barata, fácil de usar, segura e descentralizada. Ouça os dados de chamada ética sobre Ethereum, puxe-os para a VM para cálculo e, finalmente, devolva os resultados ao usuário. Facetas têm vários componentes-chave:
·Facet VM, um conjunto de VMs escritos em Ruby, é responsável por monitorizar transações ETHS, analisar calldata e executar operações.
·Rubidity, a linguagem de programação de contratos inteligentes no Facet, é semelhante ao Ruby e também mantém muitos usos e conceitos da solidity, para que os desenvolvedores possam começar rapidamente.
Contrato burro, um contrato burro, um tipo de contrato que funciona na Facet. O nome é cheio de humor. Algumas pessoas também têm razão em chamá-lo de contrato burro. Burro em si é um jogo de palavras; burro pode descrever o processo silencioso do trabalho deste tipo de contrato. Mas, por outro lado, de acordo com o provérbio oficial 'Tão burro, eles são espertos,' significa ser tolo, com um forte senso de argumentação com contratos inteligentes, então não há problema em chamá-los de contratos estúpidos.
O contrato estúpido em si não será realmente implantado no Ethereum; seu código será postado na cadeia ETH na forma de calldata. Aqui está um exemplo de Facet chamando um contrato estúpido:
Uma transação de cunhagem para um endereço de buraco negro EOA
0x000000000000000000000000000face7 submete os dados de chamada na imagem abaixo, afirmando que apenas deseja o token e a quantidade a ser criada. Na verdade, isto é o mesmo que Ordinais ou BRC-20:
Vamos dar mais uma olhada na comparação visual entre Rubidity e Solidity, como mostrado abaixo.
Embora a declaração oficial seja que o Rubidity tenha um conceito e estrutura semelhantes ao Solidity, para que os programadores possam começar rapidamente. Mas sabemos que isso realmente tem um impacto negativo no desenvolvimento do lado dos programadores. Além disso, atualmente o Facet VM só suporta contratos estúpidos na lista branca oficial, o que mostra que o governo não tem muita confiança nesta linguagem e VM. Se reutilizar o EVM é oficialmente mais difícil em termos de engenharia do que desenvolver um novo VM e uma nova linguagem, não sei. Mas uma coisa é certa: a nova linguagem, o novo contrato, o novo ecossistema e a nova forma de usar o Ethereum são realmente truques suficientes.
A documentação da Facet fez os seguintes comentários contundentes sobre o Ethereum e contratos inteligentes: "Os contratos inteligentes são considerados a característica acima de todas as outras que torna o Ethereum especial, e no entanto, a tese da Facet é que os contratos inteligentes são a maior falha de design do Ethereum."
Eles acreditam que o contrato inteligente do Ethereum é a maior falha de design, porque o contrato em si requer apenas uma determinada entrada (calldata), e sua saída é determinada, então não deve ser calculada na cadeia, desperdiçando dinheiro sem motivo. Combinado com o "serviço de computação descentralizado e acessível" da Ethical, é claro que a Ethnic and Facet realmente quer criar uma impressão de mercado, "Estamos criando um novo paradigma de expansão Ethereum e método de uso", mas, na realidade, algumas das próprias soluções técnicas da ETHS não são muito confiáveis.
Do ponto de vista do produto, o Facet pode invocar contratos inteligentes indiretamente sob a cadeia, e também tem o seu próprio sistema de contrato estúpido sob a cadeia. De facto, o governo está a levar a cabo o seu slogan.
No entanto, do ponto de vista económico, não existem almoços grátis no mundo; claro, armazenamento e computação requerem dinheiro. Então, como é que o Indexer resolve esta parte do custo? Não há uma explicação oficial para isto, por isso vamos imaginar:
· Os utilizadores são cobrados. Por exemplo, a taxa de processamento cobrada pelo mercado NFT aos compradores, mas não podemos considerar um modelo de cobrança simples de projeto como um método de cobrança de longo prazo semelhante a uma rede L2.
·Enriqueça através da sua própria agitação ecológica. Claro que é possível, mas é apenas uma solução a curto prazo para manter o projeto interessante por um tempo. Se Ethnicity se tornar um novo paradigma do Ethereum, o Indexador deve ter um mecanismo econômico de longo prazo, baseado em rede, para garantir a operação.
·Se os bens públicos não forem lucrativos, que organizações irão doar? Acho que pelo menos a Fundação Ethereum não será particularmente ativa porque o próprio Ethereum tem uma solução muito boa - Rollup.
Se apenas precisarmos da forma simples da inscrição do Ethereum, então apenas um projeto do Ethnic é suficiente. Então, por que a sua proposta ESIP-4 gerou Facet novamente?
Porque o sistema de inscrição não pode ser usado para lógica de transação complexa. Podemos examinar a lógica operacional do contrato do mercado NFT oficial do Ethical, que usa um mecanismo de ordem pendente.
Se quiser depositar a NFT de inscrição no contrato, só precisa escrever as calldatas como o ethscriptionID da inscrição e chamar o contrato de mercado. Uma vez que esta operação seleciona deliberadamente uma forma inválida de chamada de função, desencadeia por padrão fallback().
Eventualmente, um evento chamado PotentialEthScriptionOfferings será lançado na cadeia Ethereum. Depois que o nó Indexer monitorar este evento off-chain, ele transferirá localmente a propriedade do NFT para um contrato de mercado.
Para economizar gás, o mercado de negociação ETHS não armazena alguns parâmetros das ordens pendentes do vendedor, como preço, prazo, etc., no contrato ETH, mas os coloca offline na forma de mensagens. Visualmente, eles deveriam ter sido armazenados no servidor dApp. Uma vez que o comprador tenha monitorizado esta mensagem, pode submeter uma compra emitindo o comando BuyWithSignature().
Usar um mecanismo de ordem pendente é normal para NFTs porque os NFTs em si não são homogéneos. Então, se for uma inscrição de token homogeneizado, pode ser usado o mecanismo AMM do contrato? A resposta é não. O estado dos NFTs ou tokens inscritos não está no L1, que é mais ou menos o mesmo que Ordinais e BRC-20. Isto é completamente oposto à propaganda de algumas comunidades. Todos precisam ter cuidado. A inscrição não é um ativo na cadeia ETH no verdadeiro sentido da palavra. Não podemos dizer que os dados de chamada que geraram o ativo estão no L1, e podemos declarar instruções de operação no L1, chamado de ativo nativo no L1. Caso contrário, o ativo nativo do L2 no Rollup também pode ser chamado de ativo L1, porque os dados de chamada do Rollup estão todos no L1. Obviamente, é ridículo chamar esse tipo de ativo de ativo nativo L1.
Pode estar a perguntar-se, não é apenas um contrato inteligente utilizado para negociar? Por que se diz que as inscrições no contrato não podem ser lidas e manipuladas? Na verdade, este contrato é apenas responsável por recolher dinheiro, transferir dinheiro e lançar eventos para os nós indexadores sob a cadeia ouvirem e desencadearem operações correspondentes. Aos olhos do EVM do Ethereum, o estado de algo como uma inscrição não pode ser restaurado na base de dados do “Estado do Mundo” que armazena especificamente o estado do Ethereum, nem os contratos podem referenciá-lo.
Independentemente da forma como um ativo se apresenta, seja um token, um NFT ou algo estranho, posso dar um padrão muito simples para identificar ativos L1 e ativos L2: o estado deles pode ser restaurado para o 'estado do mundo' do Ethereum, pode a EVM do L1 referenciar, chamar, consultar e modificar o estado do ativo; se não, então não é um ativo L1.
Portanto, também pode ver que o nome do evento de depósito é PotentialEthscriptionDeposit, ou seja, “possível depósito de inscrição”, em vez de um depósito definitivo, porque o contrato não consegue determinar se esta inscrição existe, e é impossível verificar a sua autenticidade. Se pedir uma inscrição que não existe, ou de outra pessoa, o contrato não o rejeitará; simplesmente o Indexador não incluirá as suas ações.
Portanto, o sistema de inscrição só pode implementar esta lógica de pseudo-contrato simples; as ordens pendentes são uma delas. A essência de uma ordem pendente é que ambas as partes da transação concordam com as informações um do outro sob uma regra. Na verdade, pode ser expresso em texto simples sem um contrato inteligente. Isso é semelhante ao princípio de uma inscrição.
Podemos imaginar como este processo pode ser concluído sem usar um contrato inteligente: o vendedor grava uma mensagem numa transação normal, transfere-me 1ETH, e alguém que anote 123 pode obter um NFT com o meu número de inscrição 123. Isso só requer que o Indexer suporte esta lógica. Ele observa que alguém transferiu 1ETH para o vendedor e adicionou um ABC, então pode ser transferido diretamente para a base de dados do Indexer fora da cadeia.
Claro, este exemplo realmente causará alguns problemas, como transações repetidas que podem resultar de várias pessoas arrebatando um NFT. O vendedor recebeu várias transferências, mas, no final, os NFTs só podem ser transferidos para uma pessoa pelo Indexer. Esta também deve ser uma das razões pelas quais o governo critica claramente os contratos inteligentes, mas usa contratos para implementar o mercado de NFTs, por isso você também deve ser capaz de entender a declaração oficial de que chamar contratos inteligentes sem cálculo através do Facet é pouco confiável.
Claro, as ordens pendentes podem teoricamente usar texto simples em vez de exigir um contrato, mas a lógica relativamente complexa da AMM requer contratos inteligentes, porque exige não um acordo entre as duas partes, mas aprovação contratual. Um contrato que atua como um revisor confiável requer a verificação de informações básicas, como saldo e liquidez, e a realização de cálculos. O contrato deve ser capaz de obter quaisquer dados de ativos de que necessita.
AMM, por outro lado, é apenas uma forma relativamente simples de DeFi, e qualquer outra lógica complexa não pode ser implementada apenas no Éter. É por isso que o Facet foi lançado - a prioridade número um do Facet é a interdomínio! Na verdade, é um L2, mas não tem uma estrutura de blocos, por isso não o chamamos de intercadeia, mas sim de interdomínio. Quando todos os ativos L1 são interdomínio para o Facet, não há problema que não possam ser chamados entre domínios. Todos os ativos fora da cadeia podem ser operados com contratos estúpidos sob a cadeia, suportando assim lógica de contrato complexa.
Através da longa discussão acima, você deverá ser capaz de ver que a solução da Ethical é um tanto semelhante ao Rollup. Mas isso é apenas 'semelhante'; estritamente falando, ela implementa apenas um subconjunto da funcionalidade principal do Rollup. A funcionalidade faltante, por outro lado, causou danos fatais à sua narrativa, ou colocou os usuários em sério risco.
Rollup é um sistema complicado, e não vamos expandir aqui. Tem algo em comum com Etanol:
Todos eles enviam dados para chamadas de L2 para transações na Ethereum.
Todas as computações são processadas off-chain.
As semelhanças são muito claras, e precisamos demonstrar as diferenças em detalhe.
Na maioria dos casos, os utilizadores no Rollup não enviam transações diretamente para L1, mas sim enviam-nas para um sequenciador off-chain. O sequenciador ordena todas as transações, empacota e comprime-as, e envia o calldata para L1 em lotes. Ao enviar calldata de vários utilizadores numa única transação, o custo básico de 21.000 gas pode ser diluído.
Não existe tal mecanismo na Etnicidade; todos os utilizadores enviam os dados de chamada diretamente para L1.
Usando o exemplo do USDT acima (608 de gás para calldata), vamos supor que 100 usuários iniciaram 100 transações e calculam aproximadamente a diferença de custo entre os dois com muito pouca rigidez:
· Cada utilizador de inscrição pagará 21608 gas (608 + 21000). O restante da computação não é pago porque a computação é fora da cadeia.
Os utilizadores do Rollup pagam 818 de gás ((608*100+21000) /100) por pessoa. A parte matemática é a mesma que a acima.
Naturalmente, todos os utilizadores do Rollup também precisam de pagar taxas de computação e armazenamento L2 ao sequenciador, mas é muito mais barato do que L1, por isso é negligenciável neste caso. Além disso, o rollup requer alguns campos especiais adicionais para aumentar o volume, mas ao mesmo tempo, também tem uma melhor compressão de dados, por isso não vamos expandir isso aqui.
Através desta estimativa aproximada, pode-se ver que o Etanol não tem vantagem de custo sobre a Camada 2. Além disso, na propaganda da comunidade do projeto, tenho visto coisas como '4000 inscrições podem ser transferidas em lotes, cerca de 0,11 ETH e, em média, apenas 0,05U por transferência' para provar que o uso do Etanol é barato. Na verdade, não esclarece os princípios e detalhes de interação do ETHS.
Graças a um sequenciador off-chain, os pedidos do usuário do Rollup podem ser pré-confirmados em 1 segundo. Isso é muito melhor em termos de UX do que o sistema de inscrição por 12 segundos ou mais na L1. Claro, os apoiadores da inscrição também podem argumentar que até que os dados de chamada sejam submetidos à cadeia ETH, os resultados finais de tais transações são pouco confiáveis.
Os utilizadores na Rollup provavelmente serão censurados pelos sequenciadores fora da cadeia, enquanto o Ethical não pode censurar os utilizadores. No entanto, uma Rollup bem projetada terá uma função de agregação forçada para contrariar a revisão do sequenciador e, em última análise, o sequenciador não tem poder para rever os utilizadores de todo.
Portanto, quando os utilizadores usam Rollup, também podem contornar diretamente o sequenciador no L1. Rollup dá aos utilizadores diferentes escolhas. Pode usar um sequenciador mais rápido ou usar o L1 diretamente. No entanto, o Ethnic só pode usar o L1, e não há espaço para os utilizadores escolherem livremente.
Além disso, Ethnic criticou o sequenciador da Rollup por ser centralizado. Mas o Indexer em si é também um componente altamente centralizado. Ethnic explicou que, embora qualquer pessoa possa executar e verificar o Indexer, não é centralizado, mas, na verdade, a grande maioria das pessoas não executa nós por si mesmas. Portanto, o ETHS só mostra seu lado descentralizado em comparação com a Rollup em casos extremos. Afinal, o sequenciador da Rollup pode falhar ou cair, mas o ETHS pode continuar a operar desde que os membros da comunidade executem vários Indexers.
Nenhum projeto pode usar o amor para gerar eletricidade. Os projetos de desenvolvimento de longo prazo devem considerar cuidadosamente a questão dos modelos de lucro. Seja uma entidade centralizada ou uma combinação de entidades descentralizadas, eles devem ser lucrativos para proteger a segurança da rede a longo prazo.
O sequenciador da Rollup tem um modelo de lucro claro: cobrar mais gás, extrair MEV, etc. O sequenciador tem o poder de garantir a operação normal da rede. Como os usuários enviam dados de chamada diretamente para L1, o Indexer não cobra muito.
A maioria das linguagens de desenvolvimento de contratos da Rollup, cadeias de ferramentas, etc. podem usar diretamente o Ethereum, e os desenvolvedores podem migrar facilmente para a Rollup. Nada disso existe no Ethnic; você precisa dominar o novo Rubidity, construir novas varreduras, se familiarizar com novas VMs, etc. Claro, quando visto ao contrário, essa resistência também é uma oportunidade de exploração que pode ser trazida pelo desenvolvimento de um novo ecossistema.
Este é o problema fatal do Facet. Sabemos que o Rollup não apenas envia calldata (entrada) para L1 em lotes, mas também envia regularmente o acerto de estado (saída) após N operações para L1. O ZKR e o OPR têm métodos diferentes de prova para determinar se a relação entre entrada e saída está correta. Independentemente do método de prova, a decisão final é um contrato L1. A saída e a entrada no Rollup são rastreáveis e não podem ser falsificadas.
Qual é a utilidade do acerto de status? Usado para levantamentos, ou seja, levantamentos de fundos de L2 para L1. Quando o status em L1 é publicado, podemos usar a Prova de Merkle e outros meios para provar que o meu pedido de levantamento em L2 está incluído naquela raiz de status com base na raiz de status. Uma vez que o contrato foi verificado corretamente, os ativos podem ser liberados em L1.
Facet não possui mecanismo de liquidação de status, portanto é impossível para ele alcançar saques descentralizados sem permissão do L2 para o L1. Como mencionado acima, ele também precisava de uma camada L2 para executar lógica de contrato mais complexa. Como o FacetSwap da sua troca AMM.
Podemos ver que o FacetSwap (um dex construído no Facet com contratos estúpidos) claramente tem duas ações: depósito e retirada. Normalmente, não há depósitos ou saques para o Swap, porque o Facet exige que você cruze domínios antes de poder usá-lo.
Em Facet, o depósito requer o bloqueio dos fundos L1 no contrato de ponte L1 e a emissão do evento correspondente ethscriptions_protocol_createEthscription para que o indexador seja indexado. Isto é consistente com outros métodos de recarga L2.
Por outro lado, as retiradas têm sérios problemas de segurança. Como não há mecanismo de liquidação de status na Facet, os contratos não podem ser usados para determinar automaticamente se uma retirada é válida de L2 para L1. Então, que método usou a Facet? O administrador lançou, ou mecanismo de testemunha, semelhante à Ponte Axie previamente roubada.
Vamos dar uma olhada diretamente na ponte da Facet. O endereço é:
0xd729345aa12c5af2121d96f87b673987f354496b.
HashedMessage é uma mensagem assinada pelo signatário e contém parte do conteúdo do levantamento. O signatário é um endereço de administrador padrão. Como não há liquidação de status, não pode ser feita nenhuma verificação, como se a conta tem tantas moedas na L2. Portanto, todos os fundos no contrato podem ser retirados com a assinatura do signatário, quer seja má conduta da parte do projeto ou um ataque de hacker para obter a chave privada.
No Rollup, não é necessário testemunhas para liberar ativos; em sidechains, se as testemunhas quiserem fazer algo descentralizado, podem selecionar parte de seu próprio sistema de consenso como agentes e usar garantias para deter o mal até certo ponto.
Em Éter e Facet, nada. É simplesmente, sem disfarces, um endereço de administrador. Provavelmente é demasiado rude para um projeto L2 que frequentemente grita "os contratos inteligentes são falhas de design", "Rollup é centralizado", e "somos uma plataforma de computação de próxima geração". Obviamente, ele ainda tem muitas falhas, mas podemos continuar a observar, embora essas falhas não sejam fáceis de corrigir, e provavelmente existam também no Bitcoin Layer 2.
·Os ativos na Étnica e Facet não são ativos emitidos na L1.
·Para ter capacidades de contrato complexas, Facet evoluiu para uma entidade L2, mas tem enormes riscos de segurança financeira.
·A reivindicação oficial é remover a computação do contrato em L1, mas nem sequer usa seu próprio aplicativo principal.
· O etanol é semelhante a um Rollup com funcionalidade básica muito pobre. Nem o Rollup é barato e rápido, nem o Rollup é seguro. O que ele pode alcançar, o Rollup pode fazer, e não pode fornecer as funções muito importantes que o Rollup pode alcançar.
Se ele quiser resolver os problemas acima, ele precisa desenvolver um mecanismo de liquidação de status, além de um sequenciador e um bloco L2, então eventualmente se tornará um Rollup.
A etnia aproveitou a inscrição de BTC e confiou no conceito para promover vinho velho em garrafas novas, mas ainda não descobriu um novo paradigma. Atualmente, ETHS ainda é principalmente baseado em especulação financeira, não que esse produto em si possa trazer algo que a Ethereum Layer 2 não tenha. O valor a longo prazo desse tipo de coisa obviamente ainda está por descobrir, mas em sua forma atual, ETHS assumiu o 'fardo insuportável da vida', e seu slogan é muito diferente de seu efeito prático.