A inscrição ETH atual ainda é um vinho velho em uma nova garrafa da Ordinals, e não há um novo paradigma real. O ETHS ainda tem riscos de segurança e, embora seja verdade que é mais descentralizado do que o Rollup, seu processo de retirada ainda depende de notários/administradores de terceiros, o que acarreta o risco de roubo. Obviamente, o ETHS ainda é baseado principalmente na especulação financeira no momento, não que ele possa trazer inovação que o ETH Layer 2 não pode trazer.
A recente popularidade das inscrições ecológicas BTC levou os desenvolvedores de outras cadeias a construir sistemas semelhantes. Os sistemas de inscrição em diferentes cadeias são ligeiramente diferentes na forma como são implementados e no que pode ser alcançado, mas existem alguns pontos em comum:
Todas as inscrições utilizam a informação de texto anexada à transferência para expressar a operação que pretendem concluir, por exemplo, escreva “transferir 1 moeda para XXX” na mensagem. Observe que essas informações são de texto simples e não envolverão operações como a execução de contratos inteligentes on-chain.
O desenvolvedor irá projetar uma série de especificações e padrões para normalizar todas as informações de texto.
O desenvolvedor fornece um conjunto de indexador indexador, que é usado para calcular o estado do sistema de inscrição depois de coletar as informações de texto de todas as inscrições na cadeia. O indexador é um componente off-chain, de código aberto, que qualquer pessoa pode executar.
A inscrição BTC Ordinals estabeleceu um conjunto de mecanismos para emitir NFTs e tokens em BTC, e também levou a pensar em larga escala sobre BTC L2, neste sentido podemos considerar que os Ordinais têm uma certa natureza de ponta e exploratória. No entanto, o Ordinals foi limitado pela própria arquitetura do BTC em termos de tecnologia e experiência do produto, e também foi criticado pela comunidade BTC OG devido à poluição por poeira e uso de dados.
Afinal de contas, o workshop ETH em si tem contratos inteligentes complexos, e ERC 20 e NFT também são o conteúdo do workshop ETH, e que impacto esses projetos de inscrição terão na ecologia do ETH, e haverá controvérsia e turbulência no BTC?
Implementação técnica de Ethions
Vamos dar uma olhada na implementação do Ethions, que é um projeto de inscrição bem conhecido no workshop ETH que usa Calldata para operar.
Calldata são os dados de entrada brutos que são transferidos em transações ETH. É geralmente usado para transmitir parâmetros necessários para interações de contratos inteligentes, mas também pode ser usado para enviar mensagens de texto para endereços EOA (mensagens, inscrições, notas de transferência, etc.). No diagrama, Dados de entrada são calldata.
Se você quiser usar Ethions para gravar “Hello world” em uma transação, você precisa criar uma transação que contenha calldata como esta:
Quando o indexador off-chain ouve sobre a transação, ele atualiza o banco de dados e notifica o usuário que uma nova inscrição foi criada que lê Hello world. Também é possível colocar conteúdos mais complexos na inscrição, como a base 64, que representa informações de imagem.
Atualmente, a Ethions adotou 6 ESIPs (Proposals for improvement to the Ethions protocol), semelhantes às EIPs, para definir o uso de inscrições em diferentes cenários. No entanto, estas são apenas as especificações básicas de inscrição, como o formato das transações de inscrição iniciadas a partir de EOA, eventos de emissão de contrato, e assim por diante.
Como o Ethions é um projeto sobre ETH, ele também pode usar os contratos inteligentes da ETH Fang para alcançar um certo grau de lógica. É importante notar que interagir diretamente com contratos inteligentes não é a maneira recomendada para Ethions.
Embora o mercado oficial de NFT, etc., também seja implementado diretamente com contratos inteligentes. De acordo com a documentação oficial, o que a Ethions quer fornecer aos usuários é um “serviço de computação descentralizado e acessível”: retirar a computação off-chain reduzirá significativamente o custo do uso do ETH.
Vamos dar uma olhada mais de perto no custo de invocar um contrato inteligente, que pode ser dividido em três partes:
Custo de Transação Base: Qualquer transação ETH é pagável e atualmente é de 21000 gás.
Custo de transferência de dados (calldata): Calldata é geralmente usado para enviar dados e parâmetros que interagem com contratos inteligentes. Após o ajuste EIP-2028, os dados de chamada consomem 16 gás por byte (4 gás para bytes com 0 dados).
Custo de execução do contrato: Se a transação chamar uma função no contrato inteligente, então, de acordo com a complexidade da execução da função, você também precisará pagar o custo computacional. Por exemplo, se uma atualização de estado estiver envolvida (como atualizar informações de saldo em um contrato ERC-20), chamar SSTORE consumirá até 5000 ~ 20000 gás.
Vamos tomar uma transação de transferência USDT muito simples como exemplo, que consumiu um total de 63197 gás e os dados de chamada são:
Vamos analisar os dados de chamada e quanto gás custará:
Os dados de chamada ETH estão em formato hexadecimal, ou seja, um byte por dois dígitos (16^2 = 2^8). Um 0x no início indica que os dados estão em hexadecimal.
• Um CBB 9059 após 0x no início é um seletor de função e ocupa 4 bytes diferentes de zero.
Os próximos 32 bytes são o endereço, precedido por 12 bytes de zeros (porque o endereço ETH é de 20 bytes e a esquerda é preenchida com zeros a 32 bytes) e 20 bytes de dados de endereço diferentes de zero.
Os últimos 32 bytes representam a quantidade, com um grande número de zeros restantes e 3 b 9 aca 00 dados diferentes de zero no final, e 4 bytes de dados diferentes de zero.
Assim, 28 bytes diferentes de zero e 40 zero bytes
Portanto, calldataGas = 28 *16 + 40 *4 = 608 gás.
O gás total é 63197, menos o custo calldata e o custo fixo, então o custo computacional do contrato inteligente para executar a transação é 41589 gás. Nesta transação, o custo do cálculo do contrato representa o leão, e esta é apenas uma transação simples, e o custo do cálculo do contrato aumentará ainda mais em transações complexas.
Mover o processo de computação para fora da cadeia reduz significativamente o custo de uso: se você não quiser chamar o contrato inteligente diretamente on-chain, você pode enviar um endereço EOA acordado
0x00000000000000000000000000000000000face7 Enviar dados de transação
Nos calldata da transação, declare qual contrato você originalmente queria chamar, juntamente com os parâmetros de entrada correspondentes. Uma vez que o endereço acima é uma conta EOA e não tem um código de contrato, a operação acima mencionada não acionará a tarefa de computação na cadeia, mas apenas publicará uma mensagem.
Off-chain, depois que o Indexador ouvir essa mensagem, ele irá analisá-la para descobrir qual contrato o originador da mensagem originalmente queria chamar de cadeia ETH e, em seguida, o Indexador calculará o resultado da chamada de contrato off-chain.
Se o Indexador offline quiser executar operações de inscrição e contrato inteligente, ele deve ter um conjunto de regras e tempos de execução STF (State Transition Function), e os mais complexos podem ser chamados de VMs de máquina virtual. A Ethions lançou sua própria VM no ESIP-4, a Ethions VM, que mais tarde foi renomeada para Facet VM.
Faceta – como um coprocessador
A Facet se define como uma plataforma de computação barata, fácil de usar, segura e descentralizada. Ouça os calldata do Ethions no workshop ETH, puxe-os para a VM para cálculo e, finalmente, retorne o resultado ao usuário. A faceta consiste em vários componentes-chave:
· Facet VM, um conjunto de VMs escritas em rubi, é responsável por ouvir transações ETHS, analisar dados de chamada e executar operações.
· Rubidity, a linguagem de programação de contrato inteligente no Facet, tem algumas semelhanças com o Ruby, mas mantém muito do uso e conceitos de solidez, para que os desenvolvedores possam começar rapidamente.
· Dumb Contract, um tipo de contrato que roda na Facet. O nome é cheio de humor. Algumas pessoas têm razão em chamá-lo de contrato burro, burro em si é um trocadilho, e burro pode descrever o processo silencioso de tal contrato funcionando. Mas, por outro lado, de acordo com o ditado oficial “So dumb, they’re smart”, há um forte senso de chamar 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 ETH, mas seu código será publicado na cadeia ETH na forma de calldata. Aqui está um exemplo de uma faceta invocando um contrato estúpido:
Uma transação de cunhagem para um endereço de buraco negro EOA
0x00000000000000000000000000000000000face7 Envie os dados de chamada na figura abaixo para declarar o token e o valor que você deseja cunhar, que na verdade é o mesmo que Ordinais ou BRC-20:
Vamos dar uma olhada na comparação visual entre Rubidity e Solidity, como mostrado no diagrama abaixo.
Embora seja oficialmente dito que Rubidity tem um conceito e estrutura semelhante ao Solidity, para que os desenvolvedores possam começar rapidamente. Mas sabemos que isso tem um impacto negativo no desenvolvimento do lado do desenvolvedor. E no momento, Facet VM só suporta contratos estúpidos na lista branca oficial, o que mostra que o oficial não tem total confiança neste conjunto de idiomas e VMs. Se reutilizar ou não o EVM é oficialmente mais difícil de projetar do que desenvolver uma nova VM e uma nova linguagem, não sei. Mas uma coisa é certa: uma nova linguagem, um novo contrato, uma nova ecologia e uma nova maneira de usar o ETH, existem de fato truques suficientes.
O ataque da Facet aos contratos inteligentes
A documentação da Facet tem o seguinte comentário poderoso sobre ETH e contratos inteligentes: "Os contratos inteligentes são considerados o recurso acima de todos os outros que torna o Ethereum especial, e ainda assim a tese da Facet é que os contratos inteligentes são do Ethereum maior falha de design.」
Eles acreditam que o contrato inteligente da ETH Fang é a maior falha de design, porque o contrato em si é determinista, desde que a entrada (calldata) seja dada, então não deve ser calculado on-chain e desperdiçar dinheiro sem motivo. Combinado com o que Ethions chama de “serviços de computação descentralizados e acessíveis”, é claro que a Ethions e a Facet querem criar uma impressão de mercado de que “estamos criando um novo paradigma de escala e método de uso de ETH”, mas, na verdade, algumas das próprias soluções técnicas da ETHS não são muito confiáveis.
Do ponto de vista do produto, a Facet pode indiretamente chamar contratos inteligentes de off-chain, e tem seu próprio sistema de contratos estúpidos off-chain, que de fato está oficialmente praticando seu slogan.
Mas, do ponto de vista econômico, não existe almoço grátis, e armazenamento e computação certamente custam dinheiro. Então, como o Indexer resolve essa parte do custo? Não há uma explicação oficial, podemos imaginar:
Encargos aos utilizadores. Por exemplo, o mercado NFT cobra uma taxa aos compradores, mas não podemos olhar para a cobrança de taxas de longo prazo de uma rede semelhante a L2 com um modelo de taxa de projeto simples.
Enriqueça confiando no seu próprio hype ecológico. Isso é certamente viável, mas é apenas uma solução de curto prazo que faz com que a festa do projeto se sinta bem por um tempo. Para que o Ethions se torne um novo paradigma de ETH, o Indexador deve ter um mecanismo econômico de longo prazo baseado em rede para garantir seu funcionamento.
Se se trata de um bem público sem fins lucrativos, então a que instituições irão doar? Eu acho que pelo menos a ETH Fang Foundation não será particularmente ativa, porque a própria ETH Fang tem um plano muito bom - Rollup.
A causa raiz do surgimento de facetas e contratos estúpidos
Se precisarmos apenas de uma forma simples de inscrição ETH Fang, então apenas um item de Ethions será suficiente. Então, por que sua proposta ESIP-4 deu origem à Facet?
Porque o sistema de inscrição não pode ser usado para lógica de transação complexa. Vamos dar uma olhada na lógica do contrato oficial de mercado NFT da Ethions, que usa um mecanismo de ordem pendente.
Se você quiser depositar o NFT de inscrição no contrato, você só precisa escrever os dados de chamada como o EthionId da inscrição e chamar o contrato de mercado. Como essa operação escolhe deliberadamente uma forma inválida de chamada de função, fallback() é acionado por padrão.
Eventualmente, um evento chamado PotentialEthionDeposited será lançado na cadeia ETH, e o nó Indexer transferirá a propriedade do NFT para o contrato de mercado localmente depois de ouvir o evento off-chain.
Para economizar gás, o mercado de negociação da ETHS não armazenou alguns parâmetros dos pedidos pendentes dos vendedores, como preço e tempo de corte, no contrato ETH, mas os colocou offline na forma de mensagens, que devem ser armazenadas no servidor do dApp. Uma vez que o comprador tenha monitorado a mensagem, ele pode emitir um comando buyWithSignature() para fazer uma compra.
É normal que os NFTs usem um mecanismo de ordem do fabricante porque os NFTs não são fungíveis em si mesmos. Então, se for uma inscrição de token homogeneizada, você pode usar o mecanismo AMM do contrato? A resposta é não. O estado da inscrição NFT ou token, que não está em L1, é semelhante ao Ordinals e BRC-20. Isso é diametralmente oposto à propaganda de algumas comunidades, e todos precisam ter cuidado para identificar que a inscrição não é um ativo na cadeia ETH no verdadeiro sentido da palavra. Não podemos dizer que os calldata do ativo gerado estão em L1, e podemos declarar instruções de operação em L1, que é chamado de ativo nativo em L1, caso contrário, o ativo nativo L2 no rollup também pode ser chamado de ativo L1, porque os calldata do rollup estão em L1. Obviamente, é ridículo chamar isso de ativo nativo L1.
Na verdade, este contrato é responsável apenas por coletar dinheiro, transferir dinheiro e lançar eventos para o nó Indexer na cadeia para ouvir e acionar a operação correspondente. Aos olhos do ETH EVM, o estado de coisas como inscrições não pode ser restaurado no “Estado Mundial”, um banco de dados dedicado a armazenar o estado em ETH, e o contrato não pode se referir a ele.
Independentemente da forma do ativo, se é um token ou um NFT ou qualquer coisa estranha, posso dar um critério muito simples para identificar um ativo L1 de um ativo L2: se seu estado pode ser restaurado no “estado mundial” do ETH, se o EVM de L1 pode referenciar, chamar, consultar, modificar o estado do ativo e, se não, então não é um ativo L1.
Portanto, você também pode ver que o nome do evento de depósito é PotentialEthionDeposit, que é “depósito de inscrição possível”, em vez de um depósito determinístico, porque o contrato não pode determinar se essa inscrição existe e não pode verificar sua autenticidade. Se você fizer um pedido de uma inscrição inexistente, ou inscrição de outra pessoa, o contrato não irá rejeitá-lo, mas o Indexador não registrará seu comportamento.
Portanto, o sistema de inscrição só pode implementar essa lógica simples de pseudocontrato, e os pedidos pendentes são um deles. A essência de uma ordem pendente é que as duas partes da transação concordam entre si em fornecer as informações fornecidas uma pela outra sob uma regra, na verdade, ela pode ser expressa em texto simples sem um contrato inteligente, o que é semelhante ao princípio da inscrição.
Podemos imaginar como o processo acima pode ser feito sem o uso de contratos inteligentes: o vendedor grava uma mensagem em uma transação comum, me encaminha 1 ETH com um posfácio 123 e recebe uma inscrição NFT com meu número 123. Desta forma, o Indexador só precisa suportar essa lógica, e ele pode transferi-lo diretamente para o banco de dados off-chain do Indexador se ouvir alguém transferindo 1 ETH para o vendedor com um BCH postscript.
É claro que este exemplo realmente trará alguns problemas, como transações duplicadas que podem resultar de várias pessoas abocanhando um NFT, etc., o vendedor recebe várias transferências, mas no final o NFT só pode ser atribuído a uma pessoa pelo Indexador. Esta também deve ser uma das razões pelas quais o funcionário critica claramente os contratos inteligentes, mas usa contratos para realizar o mercado NFT, então você também deve ser capaz de entender que a declaração oficial de que chamar contratos inteligentes através da Facet sem computação é propaganda não confiável.
É claro que as ordens pendentes podem teoricamente usar texto simples, em vez de contratos, mas a lógica relativamente complexa dos AMMs requer contratos inteligentes, porque não requer acordo p2p entre as duas partes, mas reconhecimento de contrato. O contrato que atua como um revisor confiável precisa verificar as informações básicas, como saldo e liquidez, e realizar cálculos, e quaisquer dados de ativos que ele precisa devem estar disponíveis para o contrato.
AMMs são apenas uma forma relativamente simples de DeFi, e qualquer outra lógica complexa não pode ser implementada apenas em Ethions. É por isso que a Facet foi lançada - a primeira prioridade da Facet é cross-domain!, na verdade é um L2, mas não tem uma estrutura de bloco, então não chamamos de cross-chain, é cross-domain. Quando todos os ativos L1 são de domínio cruzado para a Facet, não há problema de que o domínio cruzado não possa ser chamado, e todos os ativos off-chain podem ser operados com contratos estúpidos para dar suporte à lógica de contrato complexa.
vs. Rollups
A partir da tirada acima, você deve ser capaz de ver que a solução de Ethions é um pouco semelhante ao Rollup. Mas isso é apenas “semelhante”, e se estritamente falando, ele só implementa um subconjunto da funcionalidade principal do Rollup. E a funcionalidade prejudicada é fatal para sua narrativa, ou coloca o usuário em sério risco.
Os rollups são sistemas complexos, e não vamos expandi-los aqui. Tem algumas coisas em comum com Ethions:
Enviar os dados de chamada de transações L2 no ETH Square.
Todas as operações são tratadas fora da cadeia.
As semelhanças são muito claras, e precisamos desenvolver as diferenças.
Rollups enviam dados de chamada em massa
Na maioria dos casos, os usuários no pacote cumulativo não enviam transações diretamente para L1, mas as enviam para o sequenciador off-chain, que classifica todas as transações, empacota-as, compacta-as e envia dados de chamada para L1 em lotes. O envio de dados de chamada para vários usuários em uma única transação pode diluir o custo base de 21.000 gás.
Não existe esse mecanismo no Ethions, onde todos os usuários enviam dados de chamada diretamente para L1.
Vamos usar o exemplo USDT acima (608 gas para calldata), assumindo que 100 usuários iniciam 100 transações, e calculamos a diferença de custo de forma muito vaga:
• Os utilizadores inscritos têm de pagar 21608 gás (608 + 21000) cada. O resto do cálculo não é pago porque o cálculo está fora da cadeia.
· Os usuários do Rollup pagam 818 gás por pessoa ((608* 100+ 21000)/100). A parte aritmética é a mesma acima.
Claro, cada usuário de rollup também precisa pagar taxas de computação e armazenamento L2 para o sequenciador, mas é muito mais barato do que L1 e é insignificante neste caso. Além disso, o rollup também precisa de alguns campos especiais adicionais para aumentar o volume, mas ao mesmo tempo tem melhor compressão de dados, que não expandiremos aqui.
A partir desta estimativa aproximada, pode-se ver que Ethions não tem qualquer vantagem de custo sobre a Camada 2. Além disso, na propaganda comunitária do projeto, vi algo como “4000 inscrições podem ser transferidas em lotes, cerca de 0,11 ETH, e a transferência média só precisa de 0,05 U” para provar que o Ethions é barato de usar, o que não esclarece realmente o princípio e os detalhes de interação do ETHS.
Pré-confirmação off-chain
Graças ao sequenciador off-chain, as solicitações do usuário para rollups podem ser pré-confirmadas em 1 s. Isso é muito melhor do que os 12 segundos ou mais do sistema de inscrição em L1, UX. É claro que os proponentes da inscrição também podem argumentar que a finalidade de tal transação não é confiável até que os dados de chamada sejam submetidos à cadeia ETH.
Resistência à censura e descentralização
Os usuários em Rollups podem ser censurados por sequenciadores off-chain, enquanto Ethions não pode censurar usuários. No entanto, um rollup bem projetado terá uma função de agregação forçada para combater a censura do sequenciador e, eventualmente, o sequenciador não terá o poder de censurar o usuário.
Portanto, quando os usuários usam o Rollup, eles também podem ignorar o sequenciador diretamente em L1. Os rollups oferecem aos usuários diferentes opções, seja usando um sequenciador mais rápido ou usando L1 diretamente. Mas Ethions só pode usar L1 e não dá aos usuários a liberdade de escolher.
Além disso, Ethions criticou o sequenciador de Rollup como centralizado. Mas o indexador em si também é um componente altamente centralizado. Ethions explicou que o Indexer não é centralizado porque qualquer pessoa pode executá-lo e verificá-lo, mas na verdade a grande maioria das pessoas não executa seus próprios nós. Afinal, o sequenciador de rollup pode estar inativo ou com defeito, mas o ETHS pode continuar a ser executado enquanto houver membros da comunidade executando vários indexadores.
Modelo de lucro
É impossível para qualquer projeto gerar eletricidade com amor, e os projetos de desenvolvimento de longo prazo devem considerar seriamente a questão do modelo de lucro, seja uma combinação de entidades centralizadas ou entidades descentralizadas, elas devem ser lucrativas para poder proteger a segurança da rede por um longo tempo.
O sequenciador do Rollup tem um modelo de lucro claro: sobrecarregar gás, apertar MEV, etc. O sequenciador tem o poder de manter a rede funcionando. Ethions Como os usuários enviam dados de chamada diretamente para L1, o Indexer não é bom em carregar.
Facilidade de desenvolvimento
A maioria das linguagens de desenvolvimento de contrato e cadeias de ferramentas do Rollup podem ser usadas diretamente pela ETH, e os desenvolvedores podem migrar perfeitamente para o Rollup. Nada disso existe no Ethions, novas Rubidity precisam ser dominadas, novas varreduras precisam ser construídas, novas VMs precisam ser familiarizadas e assim por diante. É claro que essas resistências, por sua vez, são também uma oportunidade pioneira que pode ser trazida pelo desenvolvimento de uma nova ecologia.
Pagamentos e liquidações de status
Este é o problema fatal de Famet. Sabemos que o rollup não apenas enviará dados de chamada (entrada) para L1 em lotes, mas também enviará a liquidação de estado (saída) após operações N para L1 em intervalos regulares. ZKR e OPR têm provas diferentes para determinar se a relação entre entrada e saída está correta, e independentemente do método de prova, a sentença final é o contrato em L1. A saída e a entrada no rollup são rastreáveis e não podem ser falsificadas.
Então, para que serve a liquidação estatal? É utilizado para levantamentos, ou seja, levantamentos de fundos de L2 a L1. Quando o status em L1 é publicado, podemos usar Merkle Proof e outros meios para provar que meu pedido de retirada em L2 está incluído na raiz do estado. Uma vez verificado o contrato, o ativo pode ser liberado em L1.
Facet não tem um mecanismo de liquidação stateful, então ele não pode implementar retiradas descentralizadas e sem permissão de L2 para L1. Como mencionado acima, ele por sua vez precisa de uma camada L2 para executar uma lógica de contrato mais complexa. Como o seu AMM Swap FacetSwap.
Podemos ver que no FacetSwap (um dex construído com contratos estúpidos no Facet), há claramente duas ações: depósito e retirada. Geralmente, o Swap não tem depósitos e retiradas, porque o Facet exige que você cruze domínios antes de poder usá-lo.
No Facet, o depósito precisa bloquear os fundos L1 no contrato de ponte L1 e emitir os ethions de evento correspondentes_protocol_CreateEthion para o indexador indexar. Isto é consistente com outros métodos de carregamento L2.
Os levantamentos, por outro lado, têm sérias preocupações de segurança. Como não há um mecanismo de liquidação de status na Facet, não é possível usar contratos de L2 a L1 para determinar automaticamente se uma retirada é válida ou não. Então, que método o Facet usa? A autorização do administrador, ou mecanismo de testemunhas, é semelhante à Axie Bridge anteriormente roubada.
Vamos dar uma olhada diretamente na ponte da Facet, que é:
0xD729345aA12c5Af2121D96f87B673987f354496B。
A hashedMessage é uma mensagem assinada pelo signatário, que contém algum conteúdo que foi retirado. O signatário é um endereço de administrador predefinido. Como não há liquidação estatal, não há como fazer qualquer verificação, como se a conta tem tantas moedas em L2. Portanto, todos os fundos do contrato podem ser retirados com a assinatura do signatário, independentemente de a parte do projeto ser má ou hackers atacarem para obter a chave privada.
No Rollup, não há necessidade de as testemunhas liberarem bens, e na cadeia lateral, se as testemunhas quiserem ser mais descentralizadas, elas podem escolher uma parte de seu próprio sistema de consenso como uma procuração e usar staking e outros métodos para realizar certas dissuasões econômicas e dissuadir o mal.
Em Ethions e Facets, nada. É simplesmente, descaradamente um endereço de administrador. Isso provavelmente é muito desleixado para um projeto do tipo L2 que grita “contratos inteligentes são falhas de design”, “rollups são centralizados” e “somos uma plataforma de computação de próxima geração”. Obviamente, há muito mais falhas nele, mas podemos ficar à margem, embora elas não sejam fáceis de remediar e possam estar presentes na Camada 2 do BTC também.
Resumir
Há uma certa quantidade de “falsa propaganda” nos Ethions atuais, alguns pontos-chave:
· Nem Ethions nem Facet são ativos emitidos em L1.
Para ter capacidades contratuais complexas, a entidade L2 Facet evoluiu, mas tem grandes riscos de segurança financeira.
Oficialmente, o contrato é calculado em L1, mas nem sequer usa a sua própria aplicação de topo.
· Ethions é como um Rollup muito incompleto. Nem o barato e a velocidade do Rollup, nem a segurança do Rollup. O que ele pode alcançar, o Rollup pode fazer, e o Rollup pode alcançar funções muito importantes que ele não pode fornecer.
Se ele quiser resolver o problema acima, ele precisa desenvolver um mecanismo de liquidação estatal, além de um sequenciador, bloco L2, então ele acabará se tornando um rollup.
Aproveitando as inscrições BTC, Ethions se baseou em conceitos para divulgar vinhos antigos em novas garrafas, mas ainda não descobriu um novo paradigma. O ETHS atual ainda é dominado pela especulação financeira, não que o produto em si possa trazer algo que o ETH Layer 2 não tem. O valor a longo prazo deste tipo de coisas está obviamente ainda por explorar, mas na sua forma atual, o ETHS já assumiu o “peso insuportável da vida”, e o seu slogan está longe de ser eficaz na prática.
Link para o artigo original
Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
Inovação de Produto ou Especulação Financeira?Interpretação Técnica ETH Workshop Inscrição ETHS
Fonte original: Foggy Moon, Geek Web3
Introdução
A inscrição ETH atual ainda é um vinho velho em uma nova garrafa da Ordinals, e não há um novo paradigma real. O ETHS ainda tem riscos de segurança e, embora seja verdade que é mais descentralizado do que o Rollup, seu processo de retirada ainda depende de notários/administradores de terceiros, o que acarreta o risco de roubo. Obviamente, o ETHS ainda é baseado principalmente na especulação financeira no momento, não que ele possa trazer inovação que o ETH Layer 2 não pode trazer.
A recente popularidade das inscrições ecológicas BTC levou os desenvolvedores de outras cadeias a construir sistemas semelhantes. Os sistemas de inscrição em diferentes cadeias são ligeiramente diferentes na forma como são implementados e no que pode ser alcançado, mas existem alguns pontos em comum:
Todas as inscrições utilizam a informação de texto anexada à transferência para expressar a operação que pretendem concluir, por exemplo, escreva “transferir 1 moeda para XXX” na mensagem. Observe que essas informações são de texto simples e não envolverão operações como a execução de contratos inteligentes on-chain.
O desenvolvedor irá projetar uma série de especificações e padrões para normalizar todas as informações de texto.
O desenvolvedor fornece um conjunto de indexador indexador, que é usado para calcular o estado do sistema de inscrição depois de coletar as informações de texto de todas as inscrições na cadeia. O indexador é um componente off-chain, de código aberto, que qualquer pessoa pode executar.
A inscrição BTC Ordinals estabeleceu um conjunto de mecanismos para emitir NFTs e tokens em BTC, e também levou a pensar em larga escala sobre BTC L2, neste sentido podemos considerar que os Ordinais têm uma certa natureza de ponta e exploratória. No entanto, o Ordinals foi limitado pela própria arquitetura do BTC em termos de tecnologia e experiência do produto, e também foi criticado pela comunidade BTC OG devido à poluição por poeira e uso de dados.
Afinal de contas, o workshop ETH em si tem contratos inteligentes complexos, e ERC 20 e NFT também são o conteúdo do workshop ETH, e que impacto esses projetos de inscrição terão na ecologia do ETH, e haverá controvérsia e turbulência no BTC?
Implementação técnica de Ethions
Vamos dar uma olhada na implementação do Ethions, que é um projeto de inscrição bem conhecido no workshop ETH que usa Calldata para operar.
Calldata são os dados de entrada brutos que são transferidos em transações ETH. É geralmente usado para transmitir parâmetros necessários para interações de contratos inteligentes, mas também pode ser usado para enviar mensagens de texto para endereços EOA (mensagens, inscrições, notas de transferência, etc.). No diagrama, Dados de entrada são calldata.
Se você quiser usar Ethions para gravar “Hello world” em uma transação, você precisa criar uma transação que contenha calldata como esta:
Quando o indexador off-chain ouve sobre a transação, ele atualiza o banco de dados e notifica o usuário que uma nova inscrição foi criada que lê Hello world. Também é possível colocar conteúdos mais complexos na inscrição, como a base 64, que representa informações de imagem.
Atualmente, a Ethions adotou 6 ESIPs (Proposals for improvement to the Ethions protocol), semelhantes às EIPs, para definir o uso de inscrições em diferentes cenários. No entanto, estas são apenas as especificações básicas de inscrição, como o formato das transações de inscrição iniciadas a partir de EOA, eventos de emissão de contrato, e assim por diante.
Como o Ethions é um projeto sobre ETH, ele também pode usar os contratos inteligentes da ETH Fang para alcançar um certo grau de lógica. É importante notar que interagir diretamente com contratos inteligentes não é a maneira recomendada para Ethions.
Embora o mercado oficial de NFT, etc., também seja implementado diretamente com contratos inteligentes. De acordo com a documentação oficial, o que a Ethions quer fornecer aos usuários é um “serviço de computação descentralizado e acessível”: retirar a computação off-chain reduzirá significativamente o custo do uso do ETH.
Vamos dar uma olhada mais de perto no custo de invocar um contrato inteligente, que pode ser dividido em três partes:
Custo de Transação Base: Qualquer transação ETH é pagável e atualmente é de 21000 gás.
Custo de transferência de dados (calldata): Calldata é geralmente usado para enviar dados e parâmetros que interagem com contratos inteligentes. Após o ajuste EIP-2028, os dados de chamada consomem 16 gás por byte (4 gás para bytes com 0 dados).
Custo de execução do contrato: Se a transação chamar uma função no contrato inteligente, então, de acordo com a complexidade da execução da função, você também precisará pagar o custo computacional. Por exemplo, se uma atualização de estado estiver envolvida (como atualizar informações de saldo em um contrato ERC-20), chamar SSTORE consumirá até 5000 ~ 20000 gás.
Vamos tomar uma transação de transferência USDT muito simples como exemplo, que consumiu um total de 63197 gás e os dados de chamada são:
Vamos analisar os dados de chamada e quanto gás custará:
Os dados de chamada ETH estão em formato hexadecimal, ou seja, um byte por dois dígitos (16^2 = 2^8). Um 0x no início indica que os dados estão em hexadecimal.
• Um CBB 9059 após 0x no início é um seletor de função e ocupa 4 bytes diferentes de zero.
Os próximos 32 bytes são o endereço, precedido por 12 bytes de zeros (porque o endereço ETH é de 20 bytes e a esquerda é preenchida com zeros a 32 bytes) e 20 bytes de dados de endereço diferentes de zero.
Os últimos 32 bytes representam a quantidade, com um grande número de zeros restantes e 3 b 9 aca 00 dados diferentes de zero no final, e 4 bytes de dados diferentes de zero.
Assim, 28 bytes diferentes de zero e 40 zero bytes
Portanto, calldataGas = 28 *16 + 40 *4 = 608 gás.
O gás total é 63197, menos o custo calldata e o custo fixo, então o custo computacional do contrato inteligente para executar a transação é 41589 gás. Nesta transação, o custo do cálculo do contrato representa o leão, e esta é apenas uma transação simples, e o custo do cálculo do contrato aumentará ainda mais em transações complexas.
Mover o processo de computação para fora da cadeia reduz significativamente o custo de uso: se você não quiser chamar o contrato inteligente diretamente on-chain, você pode enviar um endereço EOA acordado
0x00000000000000000000000000000000000face7 Enviar dados de transação
Nos calldata da transação, declare qual contrato você originalmente queria chamar, juntamente com os parâmetros de entrada correspondentes. Uma vez que o endereço acima é uma conta EOA e não tem um código de contrato, a operação acima mencionada não acionará a tarefa de computação na cadeia, mas apenas publicará uma mensagem.
Off-chain, depois que o Indexador ouvir essa mensagem, ele irá analisá-la para descobrir qual contrato o originador da mensagem originalmente queria chamar de cadeia ETH e, em seguida, o Indexador calculará o resultado da chamada de contrato off-chain.
Se o Indexador offline quiser executar operações de inscrição e contrato inteligente, ele deve ter um conjunto de regras e tempos de execução STF (State Transition Function), e os mais complexos podem ser chamados de VMs de máquina virtual. A Ethions lançou sua própria VM no ESIP-4, a Ethions VM, que mais tarde foi renomeada para Facet VM.
Faceta – como um coprocessador
A Facet se define como uma plataforma de computação barata, fácil de usar, segura e descentralizada. Ouça os calldata do Ethions no workshop ETH, puxe-os para a VM para cálculo e, finalmente, retorne o resultado ao usuário. A faceta consiste em vários componentes-chave:
· Facet VM, um conjunto de VMs escritas em rubi, é responsável por ouvir transações ETHS, analisar dados de chamada e executar operações.
· Rubidity, a linguagem de programação de contrato inteligente no Facet, tem algumas semelhanças com o Ruby, mas mantém muito do uso e conceitos de solidez, para que os desenvolvedores possam começar rapidamente.
· Dumb Contract, um tipo de contrato que roda na Facet. O nome é cheio de humor. Algumas pessoas têm razão em chamá-lo de contrato burro, burro em si é um trocadilho, e burro pode descrever o processo silencioso de tal contrato funcionando. Mas, por outro lado, de acordo com o ditado oficial “So dumb, they’re smart”, há um forte senso de chamar 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 ETH, mas seu código será publicado na cadeia ETH na forma de calldata. Aqui está um exemplo de uma faceta invocando um contrato estúpido:
Uma transação de cunhagem para um endereço de buraco negro EOA
0x00000000000000000000000000000000000face7 Envie os dados de chamada na figura abaixo para declarar o token e o valor que você deseja cunhar, que na verdade é o mesmo que Ordinais ou BRC-20:
Vamos dar uma olhada na comparação visual entre Rubidity e Solidity, como mostrado no diagrama abaixo.
Embora seja oficialmente dito que Rubidity tem um conceito e estrutura semelhante ao Solidity, para que os desenvolvedores possam começar rapidamente. Mas sabemos que isso tem um impacto negativo no desenvolvimento do lado do desenvolvedor. E no momento, Facet VM só suporta contratos estúpidos na lista branca oficial, o que mostra que o oficial não tem total confiança neste conjunto de idiomas e VMs. Se reutilizar ou não o EVM é oficialmente mais difícil de projetar do que desenvolver uma nova VM e uma nova linguagem, não sei. Mas uma coisa é certa: uma nova linguagem, um novo contrato, uma nova ecologia e uma nova maneira de usar o ETH, existem de fato truques suficientes.
O ataque da Facet aos contratos inteligentes
A documentação da Facet tem o seguinte comentário poderoso sobre ETH e contratos inteligentes: "Os contratos inteligentes são considerados o recurso acima de todos os outros que torna o Ethereum especial, e ainda assim a tese da Facet é que os contratos inteligentes são do Ethereum maior falha de design.」
Eles acreditam que o contrato inteligente da ETH Fang é a maior falha de design, porque o contrato em si é determinista, desde que a entrada (calldata) seja dada, então não deve ser calculado on-chain e desperdiçar dinheiro sem motivo. Combinado com o que Ethions chama de “serviços de computação descentralizados e acessíveis”, é claro que a Ethions e a Facet querem criar uma impressão de mercado de que “estamos criando um novo paradigma de escala e método de uso de ETH”, mas, na verdade, algumas das próprias soluções técnicas da ETHS não são muito confiáveis.
Do ponto de vista do produto, a Facet pode indiretamente chamar contratos inteligentes de off-chain, e tem seu próprio sistema de contratos estúpidos off-chain, que de fato está oficialmente praticando seu slogan.
Mas, do ponto de vista econômico, não existe almoço grátis, e armazenamento e computação certamente custam dinheiro. Então, como o Indexer resolve essa parte do custo? Não há uma explicação oficial, podemos imaginar:
Encargos aos utilizadores. Por exemplo, o mercado NFT cobra uma taxa aos compradores, mas não podemos olhar para a cobrança de taxas de longo prazo de uma rede semelhante a L2 com um modelo de taxa de projeto simples.
Enriqueça confiando no seu próprio hype ecológico. Isso é certamente viável, mas é apenas uma solução de curto prazo que faz com que a festa do projeto se sinta bem por um tempo. Para que o Ethions se torne um novo paradigma de ETH, o Indexador deve ter um mecanismo econômico de longo prazo baseado em rede para garantir seu funcionamento.
Se se trata de um bem público sem fins lucrativos, então a que instituições irão doar? Eu acho que pelo menos a ETH Fang Foundation não será particularmente ativa, porque a própria ETH Fang tem um plano muito bom - Rollup.
A causa raiz do surgimento de facetas e contratos estúpidos
Se precisarmos apenas de uma forma simples de inscrição ETH Fang, então apenas um item de Ethions será suficiente. Então, por que sua proposta ESIP-4 deu origem à Facet?
Porque o sistema de inscrição não pode ser usado para lógica de transação complexa. Vamos dar uma olhada na lógica do contrato oficial de mercado NFT da Ethions, que usa um mecanismo de ordem pendente.
Se você quiser depositar o NFT de inscrição no contrato, você só precisa escrever os dados de chamada como o EthionId da inscrição e chamar o contrato de mercado. Como essa operação escolhe deliberadamente uma forma inválida de chamada de função, fallback() é acionado por padrão.
Eventualmente, um evento chamado PotentialEthionDeposited será lançado na cadeia ETH, e o nó Indexer transferirá a propriedade do NFT para o contrato de mercado localmente depois de ouvir o evento off-chain.
Para economizar gás, o mercado de negociação da ETHS não armazenou alguns parâmetros dos pedidos pendentes dos vendedores, como preço e tempo de corte, no contrato ETH, mas os colocou offline na forma de mensagens, que devem ser armazenadas no servidor do dApp. Uma vez que o comprador tenha monitorado a mensagem, ele pode emitir um comando buyWithSignature() para fazer uma compra.
É normal que os NFTs usem um mecanismo de ordem do fabricante porque os NFTs não são fungíveis em si mesmos. Então, se for uma inscrição de token homogeneizada, você pode usar o mecanismo AMM do contrato? A resposta é não. O estado da inscrição NFT ou token, que não está em L1, é semelhante ao Ordinals e BRC-20. Isso é diametralmente oposto à propaganda de algumas comunidades, e todos precisam ter cuidado para identificar que a inscrição não é um ativo na cadeia ETH no verdadeiro sentido da palavra. Não podemos dizer que os calldata do ativo gerado estão em L1, e podemos declarar instruções de operação em L1, que é chamado de ativo nativo em L1, caso contrário, o ativo nativo L2 no rollup também pode ser chamado de ativo L1, porque os calldata do rollup estão em L1. Obviamente, é ridículo chamar isso de ativo nativo L1.
Na verdade, este contrato é responsável apenas por coletar dinheiro, transferir dinheiro e lançar eventos para o nó Indexer na cadeia para ouvir e acionar a operação correspondente. Aos olhos do ETH EVM, o estado de coisas como inscrições não pode ser restaurado no “Estado Mundial”, um banco de dados dedicado a armazenar o estado em ETH, e o contrato não pode se referir a ele.
Independentemente da forma do ativo, se é um token ou um NFT ou qualquer coisa estranha, posso dar um critério muito simples para identificar um ativo L1 de um ativo L2: se seu estado pode ser restaurado no “estado mundial” do ETH, se o EVM de L1 pode referenciar, chamar, consultar, modificar o estado do ativo e, se não, então não é um ativo L1.
Portanto, você também pode ver que o nome do evento de depósito é PotentialEthionDeposit, que é “depósito de inscrição possível”, em vez de um depósito determinístico, porque o contrato não pode determinar se essa inscrição existe e não pode verificar sua autenticidade. Se você fizer um pedido de uma inscrição inexistente, ou inscrição de outra pessoa, o contrato não irá rejeitá-lo, mas o Indexador não registrará seu comportamento.
Portanto, o sistema de inscrição só pode implementar essa lógica simples de pseudocontrato, e os pedidos pendentes são um deles. A essência de uma ordem pendente é que as duas partes da transação concordam entre si em fornecer as informações fornecidas uma pela outra sob uma regra, na verdade, ela pode ser expressa em texto simples sem um contrato inteligente, o que é semelhante ao princípio da inscrição.
Podemos imaginar como o processo acima pode ser feito sem o uso de contratos inteligentes: o vendedor grava uma mensagem em uma transação comum, me encaminha 1 ETH com um posfácio 123 e recebe uma inscrição NFT com meu número 123. Desta forma, o Indexador só precisa suportar essa lógica, e ele pode transferi-lo diretamente para o banco de dados off-chain do Indexador se ouvir alguém transferindo 1 ETH para o vendedor com um BCH postscript.
É claro que este exemplo realmente trará alguns problemas, como transações duplicadas que podem resultar de várias pessoas abocanhando um NFT, etc., o vendedor recebe várias transferências, mas no final o NFT só pode ser atribuído a uma pessoa pelo Indexador. Esta também deve ser uma das razões pelas quais o funcionário critica claramente os contratos inteligentes, mas usa contratos para realizar o mercado NFT, então você também deve ser capaz de entender que a declaração oficial de que chamar contratos inteligentes através da Facet sem computação é propaganda não confiável.
É claro que as ordens pendentes podem teoricamente usar texto simples, em vez de contratos, mas a lógica relativamente complexa dos AMMs requer contratos inteligentes, porque não requer acordo p2p entre as duas partes, mas reconhecimento de contrato. O contrato que atua como um revisor confiável precisa verificar as informações básicas, como saldo e liquidez, e realizar cálculos, e quaisquer dados de ativos que ele precisa devem estar disponíveis para o contrato.
AMMs são apenas uma forma relativamente simples de DeFi, e qualquer outra lógica complexa não pode ser implementada apenas em Ethions. É por isso que a Facet foi lançada - a primeira prioridade da Facet é cross-domain!, na verdade é um L2, mas não tem uma estrutura de bloco, então não chamamos de cross-chain, é cross-domain. Quando todos os ativos L1 são de domínio cruzado para a Facet, não há problema de que o domínio cruzado não possa ser chamado, e todos os ativos off-chain podem ser operados com contratos estúpidos para dar suporte à lógica de contrato complexa.
vs. Rollups
A partir da tirada acima, você deve ser capaz de ver que a solução de Ethions é um pouco semelhante ao Rollup. Mas isso é apenas “semelhante”, e se estritamente falando, ele só implementa um subconjunto da funcionalidade principal do Rollup. E a funcionalidade prejudicada é fatal para sua narrativa, ou coloca o usuário em sério risco.
Os rollups são sistemas complexos, e não vamos expandi-los aqui. Tem algumas coisas em comum com Ethions:
Enviar os dados de chamada de transações L2 no ETH Square.
Todas as operações são tratadas fora da cadeia.
As semelhanças são muito claras, e precisamos desenvolver as diferenças.
Rollups enviam dados de chamada em massa
Na maioria dos casos, os usuários no pacote cumulativo não enviam transações diretamente para L1, mas as enviam para o sequenciador off-chain, que classifica todas as transações, empacota-as, compacta-as e envia dados de chamada para L1 em lotes. O envio de dados de chamada para vários usuários em uma única transação pode diluir o custo base de 21.000 gás.
Não existe esse mecanismo no Ethions, onde todos os usuários enviam dados de chamada diretamente para L1.
Vamos usar o exemplo USDT acima (608 gas para calldata), assumindo que 100 usuários iniciam 100 transações, e calculamos a diferença de custo de forma muito vaga:
• Os utilizadores inscritos têm de pagar 21608 gás (608 + 21000) cada. O resto do cálculo não é pago porque o cálculo está fora da cadeia.
· Os usuários do Rollup pagam 818 gás por pessoa ((608* 100+ 21000)/100). A parte aritmética é a mesma acima.
Claro, cada usuário de rollup também precisa pagar taxas de computação e armazenamento L2 para o sequenciador, mas é muito mais barato do que L1 e é insignificante neste caso. Além disso, o rollup também precisa de alguns campos especiais adicionais para aumentar o volume, mas ao mesmo tempo tem melhor compressão de dados, que não expandiremos aqui.
A partir desta estimativa aproximada, pode-se ver que Ethions não tem qualquer vantagem de custo sobre a Camada 2. Além disso, na propaganda comunitária do projeto, vi algo como “4000 inscrições podem ser transferidas em lotes, cerca de 0,11 ETH, e a transferência média só precisa de 0,05 U” para provar que o Ethions é barato de usar, o que não esclarece realmente o princípio e os detalhes de interação do ETHS.
Pré-confirmação off-chain
Graças ao sequenciador off-chain, as solicitações do usuário para rollups podem ser pré-confirmadas em 1 s. Isso é muito melhor do que os 12 segundos ou mais do sistema de inscrição em L1, UX. É claro que os proponentes da inscrição também podem argumentar que a finalidade de tal transação não é confiável até que os dados de chamada sejam submetidos à cadeia ETH.
Resistência à censura e descentralização
Os usuários em Rollups podem ser censurados por sequenciadores off-chain, enquanto Ethions não pode censurar usuários. No entanto, um rollup bem projetado terá uma função de agregação forçada para combater a censura do sequenciador e, eventualmente, o sequenciador não terá o poder de censurar o usuário.
Portanto, quando os usuários usam o Rollup, eles também podem ignorar o sequenciador diretamente em L1. Os rollups oferecem aos usuários diferentes opções, seja usando um sequenciador mais rápido ou usando L1 diretamente. Mas Ethions só pode usar L1 e não dá aos usuários a liberdade de escolher.
Além disso, Ethions criticou o sequenciador de Rollup como centralizado. Mas o indexador em si também é um componente altamente centralizado. Ethions explicou que o Indexer não é centralizado porque qualquer pessoa pode executá-lo e verificá-lo, mas na verdade a grande maioria das pessoas não executa seus próprios nós. Afinal, o sequenciador de rollup pode estar inativo ou com defeito, mas o ETHS pode continuar a ser executado enquanto houver membros da comunidade executando vários indexadores.
Modelo de lucro
É impossível para qualquer projeto gerar eletricidade com amor, e os projetos de desenvolvimento de longo prazo devem considerar seriamente a questão do modelo de lucro, seja uma combinação de entidades centralizadas ou entidades descentralizadas, elas devem ser lucrativas para poder proteger a segurança da rede por um longo tempo.
O sequenciador do Rollup tem um modelo de lucro claro: sobrecarregar gás, apertar MEV, etc. O sequenciador tem o poder de manter a rede funcionando. Ethions Como os usuários enviam dados de chamada diretamente para L1, o Indexer não é bom em carregar.
Facilidade de desenvolvimento
A maioria das linguagens de desenvolvimento de contrato e cadeias de ferramentas do Rollup podem ser usadas diretamente pela ETH, e os desenvolvedores podem migrar perfeitamente para o Rollup. Nada disso existe no Ethions, novas Rubidity precisam ser dominadas, novas varreduras precisam ser construídas, novas VMs precisam ser familiarizadas e assim por diante. É claro que essas resistências, por sua vez, são também uma oportunidade pioneira que pode ser trazida pelo desenvolvimento de uma nova ecologia.
Pagamentos e liquidações de status
Este é o problema fatal de Famet. Sabemos que o rollup não apenas enviará dados de chamada (entrada) para L1 em lotes, mas também enviará a liquidação de estado (saída) após operações N para L1 em intervalos regulares. ZKR e OPR têm provas diferentes para determinar se a relação entre entrada e saída está correta, e independentemente do método de prova, a sentença final é o contrato em L1. A saída e a entrada no rollup são rastreáveis e não podem ser falsificadas.
Então, para que serve a liquidação estatal? É utilizado para levantamentos, ou seja, levantamentos de fundos de L2 a L1. Quando o status em L1 é publicado, podemos usar Merkle Proof e outros meios para provar que meu pedido de retirada em L2 está incluído na raiz do estado. Uma vez verificado o contrato, o ativo pode ser liberado em L1.
Facet não tem um mecanismo de liquidação stateful, então ele não pode implementar retiradas descentralizadas e sem permissão de L2 para L1. Como mencionado acima, ele por sua vez precisa de uma camada L2 para executar uma lógica de contrato mais complexa. Como o seu AMM Swap FacetSwap.
Podemos ver que no FacetSwap (um dex construído com contratos estúpidos no Facet), há claramente duas ações: depósito e retirada. Geralmente, o Swap não tem depósitos e retiradas, porque o Facet exige que você cruze domínios antes de poder usá-lo.
No Facet, o depósito precisa bloquear os fundos L1 no contrato de ponte L1 e emitir os ethions de evento correspondentes_protocol_CreateEthion para o indexador indexar. Isto é consistente com outros métodos de carregamento L2.
Os levantamentos, por outro lado, têm sérias preocupações de segurança. Como não há um mecanismo de liquidação de status na Facet, não é possível usar contratos de L2 a L1 para determinar automaticamente se uma retirada é válida ou não. Então, que método o Facet usa? A autorização do administrador, ou mecanismo de testemunhas, é semelhante à Axie Bridge anteriormente roubada.
Vamos dar uma olhada diretamente na ponte da Facet, que é:
0xD729345aA12c5Af2121D96f87B673987f354496B。
A hashedMessage é uma mensagem assinada pelo signatário, que contém algum conteúdo que foi retirado. O signatário é um endereço de administrador predefinido. Como não há liquidação estatal, não há como fazer qualquer verificação, como se a conta tem tantas moedas em L2. Portanto, todos os fundos do contrato podem ser retirados com a assinatura do signatário, independentemente de a parte do projeto ser má ou hackers atacarem para obter a chave privada.
No Rollup, não há necessidade de as testemunhas liberarem bens, e na cadeia lateral, se as testemunhas quiserem ser mais descentralizadas, elas podem escolher uma parte de seu próprio sistema de consenso como uma procuração e usar staking e outros métodos para realizar certas dissuasões econômicas e dissuadir o mal.
Em Ethions e Facets, nada. É simplesmente, descaradamente um endereço de administrador. Isso provavelmente é muito desleixado para um projeto do tipo L2 que grita “contratos inteligentes são falhas de design”, “rollups são centralizados” e “somos uma plataforma de computação de próxima geração”. Obviamente, há muito mais falhas nele, mas podemos ficar à margem, embora elas não sejam fáceis de remediar e possam estar presentes na Camada 2 do BTC também.
Resumir
Há uma certa quantidade de “falsa propaganda” nos Ethions atuais, alguns pontos-chave:
· Nem Ethions nem Facet são ativos emitidos em L1.
Para ter capacidades contratuais complexas, a entidade L2 Facet evoluiu, mas tem grandes riscos de segurança financeira.
Oficialmente, o contrato é calculado em L1, mas nem sequer usa a sua própria aplicação de topo.
· Ethions é como um Rollup muito incompleto. Nem o barato e a velocidade do Rollup, nem a segurança do Rollup. O que ele pode alcançar, o Rollup pode fazer, e o Rollup pode alcançar funções muito importantes que ele não pode fornecer.
Se ele quiser resolver o problema acima, ele precisa desenvolver um mecanismo de liquidação estatal, além de um sequenciador, bloco L2, então ele acabará se tornando um rollup.
Aproveitando as inscrições BTC, Ethions se baseou em conceitos para divulgar vinhos antigos em novas garrafas, mas ainda não descobriu um novo paradigma. O ETHS atual ainda é dominado pela especulação financeira, não que o produto em si possa trazer algo que o ETH Layer 2 não tem. O valor a longo prazo deste tipo de coisas está obviamente ainda por explorar, mas na sua forma atual, o ETHS já assumiu o “peso insuportável da vida”, e o seu slogan está longe de ser eficaz na prática.
Link para o artigo original