La inscripción actual de Ethereum es esencialmente un vino viejo en una nueva botella de Ordinales, un nuevo paradigma sin un significado real. ETHS todavía tiene riesgos de seguridad, y aunque es más descentralizado que Rollup, su proceso de retiro todavía depende de un notario/gerente de terceros, y existe un riesgo de robo. Obviamente, actualmente ETHS sigue siendo en su mayoría una exageración financiera, no es capaz de generar innovaciones que Ethereum Layer 2 no pueda traer.
La reciente popularidad de las inscripciones ecológicas de BTC ha animado a los desarrolladores de otras cadenas a construir sistemas similares. La forma en que se implementan los sistemas de inscripción en diferentes cadenas y las funciones que pueden lograr son ligeramente diferentes, pero tienen algunas cosas en común:
1. Todas las inscripciones utilizan información de texto adjunta a la transferencia para expresar la operación que desea completar, como escribir "transferir 1 moneda a XXX" en el mensaje. Tenga en cuenta que esta información está en texto plano y no implica operaciones como la ejecución de contratos inteligentes en la cadena.
2. Los desarrolladores diseñarán una serie de especificaciones y normas para estandarizar toda la información de texto.
3. El desarrollador proporciona un conjunto de indexadores para calcular el estado interno del sistema de inscripción después de recopilar la información de texto de todas las inscripciones en la cadena. Indexer es un componente de código abierto fuera de la cadena que cualquiera puede ejecutar.
La inscripción de BTC Ordinals ha establecido un mecanismo para emitir NFTs y tokens en BTC, y también ha llevado a un pensamiento a gran escala sobre BTC L2. En este sentido, podemos pensar que Ordinals es algo vanguardista y exploratorio. Sin embargo, Ordinals se vio limitado por la propia arquitectura de BTC en cuanto a tecnología y experiencia del producto, y también fue criticado por la comunidad OG de BTC por razones como la contaminación por polvo y el consumo de datos.
Entonces, ¿tiene sentido volver a inscribir la inscripción en Ethereum? Después de todo, Ethereum en sí tiene contratos inteligentes complejos, y ERC20 y NFT también forman parte de Ethereum en sí; ¿qué impacto tendrán estos proyectos de inscripción en el ecosistema de Ethereum, y causarán controversia y agitación en BTC?
Primero veamos cómo se implementa Ethical. Es un proyecto de inscripción famoso en Ethereum que principalmente utiliza Calldata para operar.
Calldata es la información de entrada original transmitida en una transacción de Ethereum. Generalmente se utiliza para transmitir parámetros necesarios para la interacción con contratos inteligentes, pero también se puede utilizar para enviar mensajes de texto (comentarios, inscripciones, notas de transferencia, etc.) a una dirección EOA. En la figura, los datos de entrada son calldata.
Si desea utilizar la etnografía para inscribir “Hello world” en una transacción, necesita construir una transacción con los siguientes datos de llamada:
Después de que el Indexador fuera de la cadena monitorea esta transacción, actualizará la base de datos y notificará al usuario que se ha generado una nueva inscripción, y el contenido de la inscripción es Hola Mundo. Contenido más complejo, como la representación en base64 de información de imagen, también se puede colocar en la inscripción.
La etnicidad ha pasado ahora 6 ESIPs (propuestas similares a EIP) para definir el uso de inscripciones en diferentes escenarios. Sin embargo, estas son solo especificaciones de inscripción relativamente básicas, como el formato de transacciones de inscripción iniciadas desde EOA, eventos emitidos por contrato, etc.
Dado que Ethnicity es un proyecto en Ethereum, también es posible implementar un cierto grado de lógica utilizando los contratos inteligentes de Ethereum. Es importante tener en cuenta que interactuar directamente con contratos inteligentes no es el enfoque recomendado por Ethical.
Aunque los mercados oficiales de NFT y similares también se implementan directamente utilizando contratos inteligentes. Según la documentación oficial, Ethical quiere proporcionar a los usuarios un servicio informático “descentralizado y asequible”: separar el cálculo de la cadena reducirá significativamente el costo de usar Ethereum.
Exploremos en detalle el costo de llamar a un contrato inteligente, que se puede dividir en tres partes:
·Costos básicos de transacción: Cualquier transacción de Ethereum requiere un pago, actualmente 21000 gas.
·Costo de transmisión de datos (calldata): Calldata se utiliza generalmente para enviar datos y parámetros para la interacción con contratos inteligentes. Después del ajuste EIP-2028, calldata generalmente consume 16 gas por byte (4 gas si los datos son 0 bytes).
Costo de ejecución del contrato: Si una transacción llama a una función en un contrato inteligente, entonces, dependiendo de la complejidad de la ejecución de la función, también deben pagarse costos de cálculo. Por ejemplo, si implica una actualización de estado (como la actualización de información de saldo en un contrato ERC-20), llamar a SSTORE puede consumir hasta 5000-20,000 gas.
Tomemos una transacción de transferencia USDT muy simple. La transacción costó un total de 63,197 gas, y el calldata es:
Analicemos estos datos de llamada y cuánto gas costará:
·Los datos de llamada de Ethereum están en formato hexadecimal, es decir, cada dos dígitos son un byte (16^2 = 2^8). El 0x al principio indica que los datos están en hexadecimal.
·La a9059cbb después del inicio 0x es un selector de función y ocupa 4 bytes no nulos.
·Los siguientes 32 bytes son direcciones, con 12 bytes de ceros al principio (ya que las direcciones de Ethereum son de 20 bytes, se agregan de 0 a 32 bytes a la izquierda), y 20 bytes de datos de dirección no nulos.
·Los últimos 32 bytes representan la cantidad, con una gran cantidad de ceros a la izquierda, datos no nulos 3b9aca00 al final y 4 bytes no nulos.
·Entonces, 28 bytes no nulos y 40 bytes nulos
Por lo tanto, callDataGas = 28 * 16 + 40 * 4 = 608 gas.
El gas total es 63197. Después de restar el costo de la llamada de datos y el costo fijo, el costo de cálculo del contrato inteligente para ejecutar esta transacción es de 41,589 gas. Los costos de cálculo del contrato representan la mayoría de esta transacción, y esta es solo una transacción simple. En transacciones complejas, el costo de cálculo del contrato aumentará aún más.
Poner el proceso de cálculo fuera de la cadena sin duda reducirá significativamente los costos de uso: si no desea llamar directamente a contratos inteligentes en la cadena, puede ir a una dirección EOA acordada
0x0000000000000000000000000000000face7 Enviar datos de transacción
En los datos de llamada de la transacción, especifique qué contrato quería llamar originalmente y los parámetros de entrada correspondientes. Dado que la dirección anterior es una cuenta EOA y no hay código de contrato, la operación descrita anteriormente no desencadenará tareas de cálculo en la cadena; simplemente publica un mensaje.
Fuera de la cadena, después de que el Indexer escuche este mensaje, lo analizará para descubrir qué contrato en la cadena de ETH el originador de este mensaje quería llamar originalmente, luego el Indexer calculará los resultados de la llamada al contrato fuera de la cadena.
Bueno, si un indexador sin conexión quiere calcular inscripciones y contratos inteligentes, debe tener un conjunto de reglas y tiempo de ejecución de la función de transición de estado STF. La parte complicada puede ser llamada una máquina virtual VM. Ethnic lanzó su propia VM, la VM de Ethnic, en ESIP-4, que luego fue renombrada como Facet VM.
Facet se define a sí mismo como una plataforma de computación barata, fácil de usar, segura y descentralizada. Escuche la llamada calldata de Ethical en Ethereum, llévela al VM para el cálculo y finalmente devuelva los resultados al usuario. Los facetas tienen varios componentes clave:
·Facet VM, un conjunto de MV escrito en Ruby, es responsable de monitorear las transacciones ETHS, analizar calldata y ejecutar operaciones.
·Rubidity, el lenguaje de programación de contratos inteligentes en Facet, es similar a Ruby y también conserva muchos usos y conceptos de solidity, por lo que los desarrolladores pueden comenzar rápidamente.
Contrato tonto, un contrato tonto, un tipo de contrato que se ejecuta en Facet. El nombre está lleno de humor. Algunas personas también tienen razón al llamarlo contrato tonto. Tonto en sí es un juego de palabras; tonto puede describir el proceso silencioso de este tipo de trabajo contractual. Pero por otro lado, según el proverbio oficial 'Tan tontos, son inteligentes', significa ser tonto, con un fuerte sentido de discutir con contratos inteligentes, por lo que no hay problema en llamarlos contratos estúpidos.
El contrato estúpido en sí mismo no será desplegado en Ethereum; su código será publicado en la cadena ETH en forma de calldata. Aquí tienes un ejemplo de Facet llamando a un contrato estúpido:
Una transacción de acuñación a una dirección de agujero negro de EOA
0x000000000000000000000000000face7 presenta la calldata en la imagen a continuación, indicando que solo desea el token y la cantidad de mint. En realidad, esto es lo mismo que Ordinales o BRC-20:
Echemos otro vistazo a la comparación visual entre Rubidity y Solidity, como se muestra a continuación.
Aunque la declaración oficial es que Rubidity tiene un concepto y una estructura similares a Solidity, por lo que los desarrolladores pueden comenzar rápidamente. Pero sabemos que esto realmente tiene un impacto negativo en el desarrollo del lado de los desarrolladores. Además, actualmente Facet VM solo admite contratos estúpidos en la lista blanca oficial, lo que muestra que el gobierno no tiene mucha confianza en este lenguaje y VM. Si reutilizar EVM es oficialmente más difícil en ingeniería que desarrollar un nuevo VM y un nuevo lenguaje, no lo sé. Pero una cosa es segura: el nuevo lenguaje, el nuevo contrato, el nuevo ecosistema y la nueva forma de usar Ethereum son realmente suficientes trucos publicitarios.
La documentación de Facet hizo los siguientes comentarios contundentes sobre Ethereum y los contratos inteligentes: "Los contratos inteligentes se consideran la característica por encima de todas las demás que hace especial a Ethereum, y sin embargo la tesis de Facet es que los contratos inteligentes son la mayor falla de diseño de Ethereum."
Creen que el contrato inteligente de Ethereum es el mayor defecto de diseño, porque el contrato en sí solo requiere una entrada determinada (calldata), y su salida está determinada, por lo que no debe calcularse en la cadena, desperdiciando dinero sin ninguna razón. Combinado con el "servicio informático descentralizado y asequible" de Ethical, está claro que Ethnic y Facet realmente quieren crear una impresión de mercado: "Estamos creando un nuevo paradigma de expansión de Ethereum y un nuevo método de uso", pero en realidad, algunas de las soluciones técnicas propias de ETHS no son muy confiables.
Desde una perspectiva de producto, Facet puede invocar contratos inteligentes de forma indirecta bajo la cadena, y también tiene su propio sistema de contratos estúpidos bajo la cadena. De hecho, el gobierno está llevando a cabo su lema.
Sin embargo, desde un punto de vista económico, no hay almuerzos gratis en el mundo; por supuesto, el almacenamiento y la computación requieren dinero. Entonces, ¿cómo resuelve Indexer esta parte del costo? No hay una explicación oficial para esto, así que imaginemos:
· Los usuarios son cobrados. Por ejemplo, la tarifa de procesamiento cobrada por el mercado de NFT a los compradores, pero no podemos ver un modelo de cobro de proyecto simple como un método de cobro a largo plazo similar a una red L2.
·Enriquecerse a través de tu propia moda ecológica. Por supuesto, esto es posible, pero es solo una solución a corto plazo para mantener el proyecto interesante por un tiempo. Si Ethnicty pretende convertirse en un nuevo paradigma de Ethereum, Indexer debe contar con un mecanismo económico a largo plazo basado en la red para garantizar su funcionamiento.
Si los bienes públicos no son rentables, ¿qué organizaciones donarán? Creo que al menos la Fundación Ethereum no será particularmente activa porque Ethereum en sí mismo tiene una solución muy buena - Rollup.
Si solo necesitamos la forma simple de la inscripción de Ethereum, entonces solo un proyecto de Ethnic es suficiente. Entonces, ¿por qué su propuesta ESIP-4 generó Facet nuevamente?
Porque el sistema de inscripción no se puede utilizar para la lógica de transacción compleja. Podemos examinar la lógica operativa del contrato del mercado oficial de NFT de Ethical, que utiliza un mecanismo de orden pendiente.
Si desea depositar la NFT de inscripción en el contrato, solo necesita escribir los datos de llamada como el ethscriptionID de la inscripción y llamar al contrato de mercado. Dado que esta operación selecciona deliberadamente una forma inválida de llamada de función, desencadena fallback() de forma predeterminada.
Eventualmente, un evento llamado PotentialEthScriptionOfferings se lanzará en la cadena de Ethereum. Después de que el nodo Indexer monitorea este evento fuera de la cadena, transferirá localmente la propiedad del NFT a un contrato de mercado.
Para ahorrar gas, el mercado de negociación de ETHS no almacena algunos parámetros de las órdenes pendientes del vendedor, como el precio, la fecha límite, etc., en el contrato de ETH, sino que los coloca fuera de línea en forma de mensajes. Visualmente, deberían haber sido almacenados en el servidor de la dApp. Una vez que el comprador ha monitoreado este mensaje, puede enviar una compra emitiendo el comando BuyWithSignature().
El uso de un mecanismo de orden pendiente es normal para los NFT porque los propios NFT no son homogéneos. Entonces, si es una inscripción de token homogeneizada, ¿se puede utilizar el mecanismo AMM del contrato? La respuesta es no. El estado de los NFT o tokens inscritos no está en L1, lo cual es casi lo mismo que los Ordinales y BRC-20. Esto es completamente opuesto a cierta propaganda comunitaria. Todos deben tener cuidado. La inscripción no es un activo en la cadena ETH en el verdadero sentido de la palabra. No podemos decir que los calldata que generaron el activo estén en L1, y podemos declarar instrucciones de operación en L1, llamadas activo nativo en L1. De lo contrario, el activo nativo en L2 en Rollup también puede ser llamado un activo L1, porque los calldata de Rollup están todos en L1. Obviamente, es ridículo llamar a este tipo de activo un activo nativo L1.
Tal vez te estés preguntando, ¿no es simplemente un contrato inteligente el que se utiliza para negociar? ¿Por qué se dice que las inscripciones en el contrato no se pueden leer ni manipular? De hecho, este contrato solo es responsable de recaudar dinero, transferir dinero y organizar eventos para que los nodos índice bajo la cadena escuchen y activen operaciones correspondientes. A los ojos de la EVM de Ethereum, el estado de algo como una inscripción no se puede restaurar en la base de datos del “Estado del Mundo” que almacena específicamente el estado de Ethereum, ni los contratos pueden hacer referencia a ello.
No importa en qué forma se presente un activo, ya sea un token, un NFT o cualquier cosa extraña, puedo dar un estándar muy simple para identificar los activos L1 y L2: ¿se puede restaurar su estado al 'estado del mundo' de Ethereum, se puede hacer referencia, llamar, consultar y modificar el estado del activo desde el EVM de L1; si no es así, entonces no es un activo L1.
Por lo tanto, también puedes ver que el nombre del evento de depósito es PotentialEthscriptionDeposit, es decir, "posible inscripción de recarga", en lugar de una recarga definitiva, porque el contrato no puede determinar si esta inscripción existe, y es imposible verificar su autenticidad. Si solicitas una inscripción que no existe, o la de otra persona, el contrato no te rechazará; simplemente que el Indexer no incluirá tus acciones.
Por lo tanto, el sistema de inscripción solo puede implementar esta lógica de pseudocontrato simple; las órdenes pendientes son una de ellas. La esencia de una orden pendiente es que ambas partes de la transacción están de acuerdo con la información del otro bajo una regla. De hecho, se puede expresar en texto plano sin un contrato inteligente. Esto es similar al principio de una inscripción.
Podemos imaginar cómo este proceso puede completarse sin usar un contrato inteligente: el vendedor graba un mensaje en una transacción normal, me transfiere 1ETH, y alguien que note 123 puede obtener un NFT con mi número de inscripción 123. Esto solo requiere que el Indexer admita esta lógica. Escucha que alguien ha transferido 1ETH al vendedor y ha agregado un ABC, entonces puede transferirse directamente a la base de datos externa del Indexer.
Por supuesto, este ejemplo realmente causará algunos problemas, como transacciones repetidas que pueden resultar de varias personas comprando un NFT. El vendedor ha recibido múltiples transferencias, pero al final, los NFT solo pueden transferirse a una persona por el Indexer. Esta también debería ser una de las razones por las cuales el gobierno critica claramente los contratos inteligentes pero utiliza contratos para implementar el mercado de NFT, por lo que también deberías poder entender la declaración oficial de que llamar a los contratos inteligentes sin cálculo a través de Facet es poco fiable.
Por supuesto, las órdenes pendientes teóricamente pueden usar texto plano en lugar de requerir un contrato, pero la lógica relativamente compleja de los AMM requiere contratos inteligentes, ya que no se trata de un acuerdo entre dos partes de igual a igual, sino de una aprobación contractual. Un contrato que actúa como un revisor confiable requiere verificar información básica como el saldo y la liquidez, y realizar cálculos. El contrato debe poder obtener cualquier dato de activo que necesite.
AMM, por otro lado, es solo una forma relativamente simple de DeFi, y cualquier otra lógica compleja no se puede implementar solo en Ethnic. ¡Por eso se lanzó Facet - la prioridad número uno de Facet es la transversalidad! En realidad es un L2, pero no tiene una estructura de bloques, por lo que no lo llamamos transversal sino transdominio. Cuando todos los activos L1 son transdominio a Facet, no hay problema en que no se les pueda llamar entre dominios. Todos los activos fuera de la cadena pueden operar con contratos estúpidos debajo de la cadena, lo que permite admitir lógica de contrato compleja.
A través de la larga discusión anterior, deberías poder ver que la solución de Ethical es algo similar a Rollup. Pero eso es solo "similar"; estrictamente hablando, solo implementa un subconjunto de la funcionalidad principal de Rollup. Por otro lado, la funcionalidad faltante causó un daño fatal a su narrativa, o puso a los usuarios en serio riesgo.
Rollup es un sistema complicado, y no vamos a expandirlo aquí. Tiene algo en común con Etanol:
Todos ellos envían datos de llamadas para transacciones L2 en Ethereum.
Todas las computaciones se procesan fuera de la cadena.
Las similitudes son muy claras, y necesitamos demostrar las diferencias en detalle.
En la mayoría de los casos, los usuarios en Rollup no envían transacciones directamente a L1, sino que las envían a un secuenciador fuera de la cadena. El secuenciador ordena todas las transacciones, las empaqueta y comprime, y envía los datos de llamada a L1 en lotes. Al enviar datos de llamada de múltiples usuarios en una transacción, el costo básico de 21,000 gas puede diluirse.
No existe tal mecanismo en Eth; todos los usuarios envían los datos de llamada directamente a L1.
Utilizando el ejemplo de USDT anterior (608 gas para calldata), supongamos que 100 usuarios han iniciado 100 transacciones, y calculemos aproximadamente la diferencia de costos entre los dos con muy poca rigurosidad:
· Cada usuario de inscripción pagará 21608 gas (608 + 21000). El resto de la computación no se paga porque la computación es fuera de la cadena.
Los usuarios de Rollup pagan 818 gas ((608*100+21000) /100) por persona. La parte matemática es la misma que la anterior.
Por supuesto, cada usuario de Rollup también necesita pagar tarifas de computación y almacenamiento L2 al secuenciador, pero es mucho más barato que L1, por lo que es insignificante en este caso. Además, Rollup requiere algunos campos especiales adicionales para aumentar el volumen, pero al mismo tiempo, también tiene una mejor compresión de datos, por lo que no lo ampliaremos aquí.
A través de esta estimación aproximada, se puede ver que el Etanol no tiene ventaja de coste sobre la Capa 2. Además, en la propaganda de la comunidad del proyecto, he visto cosas como "Se pueden transferir 4000 inscripciones en lotes, aproximadamente 0,11 ETH, y en promedio, solo 0,05U por transferencia" para demostrar que el uso de Etanol es barato. De hecho, no aclara los principios y detalles de interacción de ETHS.
Gracias a un secuenciador fuera de la cadena, las solicitudes de los usuarios de Rollup pueden ser preconfirmadas en 1s. Esto es mucho mejor para la experiencia del usuario que el sistema de inscripción durante 12 segundos o más en L1. Por supuesto, los partidarios de la inscripción también pueden argumentar que hasta que los datos de llamada se envíen a la cadena ETH, los resultados finales de tales transacciones son poco confiables.
Los usuarios en Rollup probablemente serán censurados por los secuenciadores fuera de la cadena, mientras que Ethical no puede censurar a los usuarios. Sin embargo, un Rollup bien diseñado tendrá una función de agregación forzada para contrarrestar la revisión del secuenciador, y en última instancia, el secuenciador no tiene poder para revisar a los usuarios en absoluto.
Por lo tanto, cuando los usuarios utilizan Rollup, también pueden pasar directamente por alto el secuenciador en L1. Rollup les da a los usuarios diferentes opciones. Puedes usar un secuenciador más rápido o usar L1 directamente. Sin embargo, Ethnic solo puede usar L1 y no hay espacio para que los usuarios elijan libremente.
Además, Ethnic criticó al secuenciador de Rollup por ser centralizado. Pero el Indexer en sí también es un componente altamente centralizado. Ethnic explicó que aunque cualquiera puede ejecutar y verificar Indexer, no es centralizado, pero de hecho, la gran mayoría de personas no ejecutan nodos por sí mismas. Por lo tanto, ETHS solo muestra su lado descentralizado en comparación con Rollup en casos extremos. Después de todo, el secuenciador de Rollup puede fallar, pero ETHS puede seguir operando siempre y cuando los miembros de la comunidad ejecuten múltiples Indexers.
Ningún proyecto puede usar el amor para generar electricidad. Los proyectos de desarrollo a largo plazo deben considerar cuidadosamente el tema de los modelos de beneficio. Ya sea una entidad centralizada o una combinación de entidades descentralizadas, deben ser rentables para proteger la seguridad de la red a largo plazo.
El secuenciador de Rollup tiene un modelo de beneficio claro: cobrar más gas, extraer MEV, etc. El secuenciador tiene el poder de garantizar el funcionamiento normal de la red. Dado que los usuarios envían datos de llamada directamente a L1, el Indexer no cobra mucho.
La mayoría de los lenguajes de desarrollo de contratos de Rollup, las cadenas de herramientas, etc., pueden utilizar directamente Ethereum, y los desarrolladores pueden migrar fácilmente a Rollup. Ninguno de estos existen en Ethnic; necesitas dominar nueva Rubicidad, construir nuevos escaneos, familiarizarte con nuevas Máquinas Virtuales, etc. Por supuesto, visto desde el otro lado, esta resistencia también es una oportunidad de exploración que puede ser resultado del desarrollo de un nuevo ecosistema.
Este es el problema fatal de Facet. Sabemos que Rollup no solo envía calldata (entrada) a L1 en lotes, sino que también envía regularmente el estado de liquidación (salida) después de N operaciones a L1. ZKR y OPR tienen diferentes métodos de prueba para determinar si la relación entre la entrada y la salida es correcta. Independientemente del método de prueba, la decisión final es un contrato L1. La salida y la entrada en Rollup son rastreables y no se pueden falsificar.
Entonces, ¿para qué sirve la liquidación de estatus? Se utiliza para retiros, es decir, retiros de fondos L2 a L1. Cuando se publica el estado en L1, podemos usar Merkle Proof y otros medios para demostrar que mi solicitud de retiro en L2 está incluida en esa raíz de estado basada en la raíz de estado. Una vez que el contrato se ha verificado correctamente, los activos se pueden liberar en L1.
Facet no tiene mecanismo de liquidación de estado, por lo que es imposible para él lograr retiros descentralizados sin permiso de L2 a L1. Como se mencionó anteriormente, también necesitaba una capa L2 para ejecutar lógica de contrato más compleja. Al igual que su intercambio de AMM FacetSwap.
Podemos ver que FacetSwap (un dex construido en Facet con contratos estúpidos) claramente tiene dos acciones: depósito y retiro. Normalmente, no hay depósitos ni retiros para Swap, porque Facet requiere que cruces dominios antes de poder usarlo.
En Facet, el depósito requiere bloquear los fondos de L1 en el contrato del puente de L1, y emitir el evento correspondiente ethscriptions_protocol_createEthscription para que el indexador sea indexado. Esto es consistente con otros métodos de recarga de L2.
Por otro lado, los retiros tienen problemas de seguridad graves. Dado que no hay un mecanismo de liquidación de estado en Facet, los contratos no pueden utilizarse para determinar automáticamente si un retiro es válido de L2 a L1. Entonces, ¿qué método utilizó Facet? El administrador lanzó, o mecanismo de testigo, similar al puente Axie previamente robado.
Veamos directamente el puente de Facet. La dirección es:
0xd729345aa12c5af2121d96f87b673987f354496b.
HashedMessage es un mensaje firmado por el firmante y contiene parte del contenido de la retirada. El firmante es una dirección de administrador predeterminada. Debido a que no hay liquidación de estado, no se puede realizar ninguna verificación, como si la cuenta tiene tantas monedas en L2. Por lo tanto, todos los fondos en el contrato pueden ser retirados con la firma del firmante, ya sea por mala conducta de la parte del proyecto o un ataque de hacker para obtener la clave privada.
En Rollup, no es necesario que los testigos liberen activos en absoluto; en las sidechains, si los testigos desean hacer algo descentralizado, pueden seleccionar parte de su propio sistema de consenso como agentes y utilizar garantías para disuadir el mal hasta cierto punto.
En Étnico y Faceta, nada. Es simplemente, sin disimulo, una dirección de administrador. Esto es probablemente demasiado crudo para un proyecto L2 que a menudo grita "los contratos inteligentes son fallas de diseño", "Rollup está centralizado" y "somos una plataforma informática de próxima generación". Obviamente, todavía tiene muchos defectos, pero podemos seguir observando, aunque estos defectos no son fáciles de solucionar, y probablemente también existan en la capa 2 de Bitcoin.
Los activos en Ethnic y Facet no son activos emitidos en L1.
Para tener capacidades de contrato complejas, Facet ha evolucionado a una entidad L2, pero tiene enormes riesgos de seguridad financiera.
·La afirmación oficial es eliminar el cálculo del contrato en L1, pero ni siquiera utiliza su propia aplicación principal.
El etanol es similar a un Rollup con una funcionalidad básica muy pobre. Ni Rollup es barato y rápido, ni Rollup es seguro. Lo que puede lograr, Rollup puede hacerlo, y no puede proporcionar las funciones muy importantes que Rollup puede lograr.
·Si quiere resolver los problemas anteriores, necesita desarrollar un mecanismo de liquidación de estado, además de un secuenciador y un bloque L2, luego eventualmente se convertirá en un Rollup.
La etnia ha aprovechado la inscripción de BTC y se ha apoyado en el concepto para promocionar el vino viejo en botellas nuevas, pero no ha descubierto un nuevo paradigma. Actualmente, ETHS sigue basándose principalmente en la especulación financiera, no es que este producto en sí mismo pueda aportar algo que Ethereum Layer 2 no tenga. El valor a largo plazo de este tipo de cosa obviamente aún está por descubrirse, pero en su forma actual, ETHS ha asumido la "carga insoportable de la vida," y su lema es muy diferente de su efecto práctico.
La inscripción actual de Ethereum es esencialmente un vino viejo en una nueva botella de Ordinales, un nuevo paradigma sin un significado real. ETHS todavía tiene riesgos de seguridad, y aunque es más descentralizado que Rollup, su proceso de retiro todavía depende de un notario/gerente de terceros, y existe un riesgo de robo. Obviamente, actualmente ETHS sigue siendo en su mayoría una exageración financiera, no es capaz de generar innovaciones que Ethereum Layer 2 no pueda traer.
La reciente popularidad de las inscripciones ecológicas de BTC ha animado a los desarrolladores de otras cadenas a construir sistemas similares. La forma en que se implementan los sistemas de inscripción en diferentes cadenas y las funciones que pueden lograr son ligeramente diferentes, pero tienen algunas cosas en común:
1. Todas las inscripciones utilizan información de texto adjunta a la transferencia para expresar la operación que desea completar, como escribir "transferir 1 moneda a XXX" en el mensaje. Tenga en cuenta que esta información está en texto plano y no implica operaciones como la ejecución de contratos inteligentes en la cadena.
2. Los desarrolladores diseñarán una serie de especificaciones y normas para estandarizar toda la información de texto.
3. El desarrollador proporciona un conjunto de indexadores para calcular el estado interno del sistema de inscripción después de recopilar la información de texto de todas las inscripciones en la cadena. Indexer es un componente de código abierto fuera de la cadena que cualquiera puede ejecutar.
La inscripción de BTC Ordinals ha establecido un mecanismo para emitir NFTs y tokens en BTC, y también ha llevado a un pensamiento a gran escala sobre BTC L2. En este sentido, podemos pensar que Ordinals es algo vanguardista y exploratorio. Sin embargo, Ordinals se vio limitado por la propia arquitectura de BTC en cuanto a tecnología y experiencia del producto, y también fue criticado por la comunidad OG de BTC por razones como la contaminación por polvo y el consumo de datos.
Entonces, ¿tiene sentido volver a inscribir la inscripción en Ethereum? Después de todo, Ethereum en sí tiene contratos inteligentes complejos, y ERC20 y NFT también forman parte de Ethereum en sí; ¿qué impacto tendrán estos proyectos de inscripción en el ecosistema de Ethereum, y causarán controversia y agitación en BTC?
Primero veamos cómo se implementa Ethical. Es un proyecto de inscripción famoso en Ethereum que principalmente utiliza Calldata para operar.
Calldata es la información de entrada original transmitida en una transacción de Ethereum. Generalmente se utiliza para transmitir parámetros necesarios para la interacción con contratos inteligentes, pero también se puede utilizar para enviar mensajes de texto (comentarios, inscripciones, notas de transferencia, etc.) a una dirección EOA. En la figura, los datos de entrada son calldata.
Si desea utilizar la etnografía para inscribir “Hello world” en una transacción, necesita construir una transacción con los siguientes datos de llamada:
Después de que el Indexador fuera de la cadena monitorea esta transacción, actualizará la base de datos y notificará al usuario que se ha generado una nueva inscripción, y el contenido de la inscripción es Hola Mundo. Contenido más complejo, como la representación en base64 de información de imagen, también se puede colocar en la inscripción.
La etnicidad ha pasado ahora 6 ESIPs (propuestas similares a EIP) para definir el uso de inscripciones en diferentes escenarios. Sin embargo, estas son solo especificaciones de inscripción relativamente básicas, como el formato de transacciones de inscripción iniciadas desde EOA, eventos emitidos por contrato, etc.
Dado que Ethnicity es un proyecto en Ethereum, también es posible implementar un cierto grado de lógica utilizando los contratos inteligentes de Ethereum. Es importante tener en cuenta que interactuar directamente con contratos inteligentes no es el enfoque recomendado por Ethical.
Aunque los mercados oficiales de NFT y similares también se implementan directamente utilizando contratos inteligentes. Según la documentación oficial, Ethical quiere proporcionar a los usuarios un servicio informático “descentralizado y asequible”: separar el cálculo de la cadena reducirá significativamente el costo de usar Ethereum.
Exploremos en detalle el costo de llamar a un contrato inteligente, que se puede dividir en tres partes:
·Costos básicos de transacción: Cualquier transacción de Ethereum requiere un pago, actualmente 21000 gas.
·Costo de transmisión de datos (calldata): Calldata se utiliza generalmente para enviar datos y parámetros para la interacción con contratos inteligentes. Después del ajuste EIP-2028, calldata generalmente consume 16 gas por byte (4 gas si los datos son 0 bytes).
Costo de ejecución del contrato: Si una transacción llama a una función en un contrato inteligente, entonces, dependiendo de la complejidad de la ejecución de la función, también deben pagarse costos de cálculo. Por ejemplo, si implica una actualización de estado (como la actualización de información de saldo en un contrato ERC-20), llamar a SSTORE puede consumir hasta 5000-20,000 gas.
Tomemos una transacción de transferencia USDT muy simple. La transacción costó un total de 63,197 gas, y el calldata es:
Analicemos estos datos de llamada y cuánto gas costará:
·Los datos de llamada de Ethereum están en formato hexadecimal, es decir, cada dos dígitos son un byte (16^2 = 2^8). El 0x al principio indica que los datos están en hexadecimal.
·La a9059cbb después del inicio 0x es un selector de función y ocupa 4 bytes no nulos.
·Los siguientes 32 bytes son direcciones, con 12 bytes de ceros al principio (ya que las direcciones de Ethereum son de 20 bytes, se agregan de 0 a 32 bytes a la izquierda), y 20 bytes de datos de dirección no nulos.
·Los últimos 32 bytes representan la cantidad, con una gran cantidad de ceros a la izquierda, datos no nulos 3b9aca00 al final y 4 bytes no nulos.
·Entonces, 28 bytes no nulos y 40 bytes nulos
Por lo tanto, callDataGas = 28 * 16 + 40 * 4 = 608 gas.
El gas total es 63197. Después de restar el costo de la llamada de datos y el costo fijo, el costo de cálculo del contrato inteligente para ejecutar esta transacción es de 41,589 gas. Los costos de cálculo del contrato representan la mayoría de esta transacción, y esta es solo una transacción simple. En transacciones complejas, el costo de cálculo del contrato aumentará aún más.
Poner el proceso de cálculo fuera de la cadena sin duda reducirá significativamente los costos de uso: si no desea llamar directamente a contratos inteligentes en la cadena, puede ir a una dirección EOA acordada
0x0000000000000000000000000000000face7 Enviar datos de transacción
En los datos de llamada de la transacción, especifique qué contrato quería llamar originalmente y los parámetros de entrada correspondientes. Dado que la dirección anterior es una cuenta EOA y no hay código de contrato, la operación descrita anteriormente no desencadenará tareas de cálculo en la cadena; simplemente publica un mensaje.
Fuera de la cadena, después de que el Indexer escuche este mensaje, lo analizará para descubrir qué contrato en la cadena de ETH el originador de este mensaje quería llamar originalmente, luego el Indexer calculará los resultados de la llamada al contrato fuera de la cadena.
Bueno, si un indexador sin conexión quiere calcular inscripciones y contratos inteligentes, debe tener un conjunto de reglas y tiempo de ejecución de la función de transición de estado STF. La parte complicada puede ser llamada una máquina virtual VM. Ethnic lanzó su propia VM, la VM de Ethnic, en ESIP-4, que luego fue renombrada como Facet VM.
Facet se define a sí mismo como una plataforma de computación barata, fácil de usar, segura y descentralizada. Escuche la llamada calldata de Ethical en Ethereum, llévela al VM para el cálculo y finalmente devuelva los resultados al usuario. Los facetas tienen varios componentes clave:
·Facet VM, un conjunto de MV escrito en Ruby, es responsable de monitorear las transacciones ETHS, analizar calldata y ejecutar operaciones.
·Rubidity, el lenguaje de programación de contratos inteligentes en Facet, es similar a Ruby y también conserva muchos usos y conceptos de solidity, por lo que los desarrolladores pueden comenzar rápidamente.
Contrato tonto, un contrato tonto, un tipo de contrato que se ejecuta en Facet. El nombre está lleno de humor. Algunas personas también tienen razón al llamarlo contrato tonto. Tonto en sí es un juego de palabras; tonto puede describir el proceso silencioso de este tipo de trabajo contractual. Pero por otro lado, según el proverbio oficial 'Tan tontos, son inteligentes', significa ser tonto, con un fuerte sentido de discutir con contratos inteligentes, por lo que no hay problema en llamarlos contratos estúpidos.
El contrato estúpido en sí mismo no será desplegado en Ethereum; su código será publicado en la cadena ETH en forma de calldata. Aquí tienes un ejemplo de Facet llamando a un contrato estúpido:
Una transacción de acuñación a una dirección de agujero negro de EOA
0x000000000000000000000000000face7 presenta la calldata en la imagen a continuación, indicando que solo desea el token y la cantidad de mint. En realidad, esto es lo mismo que Ordinales o BRC-20:
Echemos otro vistazo a la comparación visual entre Rubidity y Solidity, como se muestra a continuación.
Aunque la declaración oficial es que Rubidity tiene un concepto y una estructura similares a Solidity, por lo que los desarrolladores pueden comenzar rápidamente. Pero sabemos que esto realmente tiene un impacto negativo en el desarrollo del lado de los desarrolladores. Además, actualmente Facet VM solo admite contratos estúpidos en la lista blanca oficial, lo que muestra que el gobierno no tiene mucha confianza en este lenguaje y VM. Si reutilizar EVM es oficialmente más difícil en ingeniería que desarrollar un nuevo VM y un nuevo lenguaje, no lo sé. Pero una cosa es segura: el nuevo lenguaje, el nuevo contrato, el nuevo ecosistema y la nueva forma de usar Ethereum son realmente suficientes trucos publicitarios.
La documentación de Facet hizo los siguientes comentarios contundentes sobre Ethereum y los contratos inteligentes: "Los contratos inteligentes se consideran la característica por encima de todas las demás que hace especial a Ethereum, y sin embargo la tesis de Facet es que los contratos inteligentes son la mayor falla de diseño de Ethereum."
Creen que el contrato inteligente de Ethereum es el mayor defecto de diseño, porque el contrato en sí solo requiere una entrada determinada (calldata), y su salida está determinada, por lo que no debe calcularse en la cadena, desperdiciando dinero sin ninguna razón. Combinado con el "servicio informático descentralizado y asequible" de Ethical, está claro que Ethnic y Facet realmente quieren crear una impresión de mercado: "Estamos creando un nuevo paradigma de expansión de Ethereum y un nuevo método de uso", pero en realidad, algunas de las soluciones técnicas propias de ETHS no son muy confiables.
Desde una perspectiva de producto, Facet puede invocar contratos inteligentes de forma indirecta bajo la cadena, y también tiene su propio sistema de contratos estúpidos bajo la cadena. De hecho, el gobierno está llevando a cabo su lema.
Sin embargo, desde un punto de vista económico, no hay almuerzos gratis en el mundo; por supuesto, el almacenamiento y la computación requieren dinero. Entonces, ¿cómo resuelve Indexer esta parte del costo? No hay una explicación oficial para esto, así que imaginemos:
· Los usuarios son cobrados. Por ejemplo, la tarifa de procesamiento cobrada por el mercado de NFT a los compradores, pero no podemos ver un modelo de cobro de proyecto simple como un método de cobro a largo plazo similar a una red L2.
·Enriquecerse a través de tu propia moda ecológica. Por supuesto, esto es posible, pero es solo una solución a corto plazo para mantener el proyecto interesante por un tiempo. Si Ethnicty pretende convertirse en un nuevo paradigma de Ethereum, Indexer debe contar con un mecanismo económico a largo plazo basado en la red para garantizar su funcionamiento.
Si los bienes públicos no son rentables, ¿qué organizaciones donarán? Creo que al menos la Fundación Ethereum no será particularmente activa porque Ethereum en sí mismo tiene una solución muy buena - Rollup.
Si solo necesitamos la forma simple de la inscripción de Ethereum, entonces solo un proyecto de Ethnic es suficiente. Entonces, ¿por qué su propuesta ESIP-4 generó Facet nuevamente?
Porque el sistema de inscripción no se puede utilizar para la lógica de transacción compleja. Podemos examinar la lógica operativa del contrato del mercado oficial de NFT de Ethical, que utiliza un mecanismo de orden pendiente.
Si desea depositar la NFT de inscripción en el contrato, solo necesita escribir los datos de llamada como el ethscriptionID de la inscripción y llamar al contrato de mercado. Dado que esta operación selecciona deliberadamente una forma inválida de llamada de función, desencadena fallback() de forma predeterminada.
Eventualmente, un evento llamado PotentialEthScriptionOfferings se lanzará en la cadena de Ethereum. Después de que el nodo Indexer monitorea este evento fuera de la cadena, transferirá localmente la propiedad del NFT a un contrato de mercado.
Para ahorrar gas, el mercado de negociación de ETHS no almacena algunos parámetros de las órdenes pendientes del vendedor, como el precio, la fecha límite, etc., en el contrato de ETH, sino que los coloca fuera de línea en forma de mensajes. Visualmente, deberían haber sido almacenados en el servidor de la dApp. Una vez que el comprador ha monitoreado este mensaje, puede enviar una compra emitiendo el comando BuyWithSignature().
El uso de un mecanismo de orden pendiente es normal para los NFT porque los propios NFT no son homogéneos. Entonces, si es una inscripción de token homogeneizada, ¿se puede utilizar el mecanismo AMM del contrato? La respuesta es no. El estado de los NFT o tokens inscritos no está en L1, lo cual es casi lo mismo que los Ordinales y BRC-20. Esto es completamente opuesto a cierta propaganda comunitaria. Todos deben tener cuidado. La inscripción no es un activo en la cadena ETH en el verdadero sentido de la palabra. No podemos decir que los calldata que generaron el activo estén en L1, y podemos declarar instrucciones de operación en L1, llamadas activo nativo en L1. De lo contrario, el activo nativo en L2 en Rollup también puede ser llamado un activo L1, porque los calldata de Rollup están todos en L1. Obviamente, es ridículo llamar a este tipo de activo un activo nativo L1.
Tal vez te estés preguntando, ¿no es simplemente un contrato inteligente el que se utiliza para negociar? ¿Por qué se dice que las inscripciones en el contrato no se pueden leer ni manipular? De hecho, este contrato solo es responsable de recaudar dinero, transferir dinero y organizar eventos para que los nodos índice bajo la cadena escuchen y activen operaciones correspondientes. A los ojos de la EVM de Ethereum, el estado de algo como una inscripción no se puede restaurar en la base de datos del “Estado del Mundo” que almacena específicamente el estado de Ethereum, ni los contratos pueden hacer referencia a ello.
No importa en qué forma se presente un activo, ya sea un token, un NFT o cualquier cosa extraña, puedo dar un estándar muy simple para identificar los activos L1 y L2: ¿se puede restaurar su estado al 'estado del mundo' de Ethereum, se puede hacer referencia, llamar, consultar y modificar el estado del activo desde el EVM de L1; si no es así, entonces no es un activo L1.
Por lo tanto, también puedes ver que el nombre del evento de depósito es PotentialEthscriptionDeposit, es decir, "posible inscripción de recarga", en lugar de una recarga definitiva, porque el contrato no puede determinar si esta inscripción existe, y es imposible verificar su autenticidad. Si solicitas una inscripción que no existe, o la de otra persona, el contrato no te rechazará; simplemente que el Indexer no incluirá tus acciones.
Por lo tanto, el sistema de inscripción solo puede implementar esta lógica de pseudocontrato simple; las órdenes pendientes son una de ellas. La esencia de una orden pendiente es que ambas partes de la transacción están de acuerdo con la información del otro bajo una regla. De hecho, se puede expresar en texto plano sin un contrato inteligente. Esto es similar al principio de una inscripción.
Podemos imaginar cómo este proceso puede completarse sin usar un contrato inteligente: el vendedor graba un mensaje en una transacción normal, me transfiere 1ETH, y alguien que note 123 puede obtener un NFT con mi número de inscripción 123. Esto solo requiere que el Indexer admita esta lógica. Escucha que alguien ha transferido 1ETH al vendedor y ha agregado un ABC, entonces puede transferirse directamente a la base de datos externa del Indexer.
Por supuesto, este ejemplo realmente causará algunos problemas, como transacciones repetidas que pueden resultar de varias personas comprando un NFT. El vendedor ha recibido múltiples transferencias, pero al final, los NFT solo pueden transferirse a una persona por el Indexer. Esta también debería ser una de las razones por las cuales el gobierno critica claramente los contratos inteligentes pero utiliza contratos para implementar el mercado de NFT, por lo que también deberías poder entender la declaración oficial de que llamar a los contratos inteligentes sin cálculo a través de Facet es poco fiable.
Por supuesto, las órdenes pendientes teóricamente pueden usar texto plano en lugar de requerir un contrato, pero la lógica relativamente compleja de los AMM requiere contratos inteligentes, ya que no se trata de un acuerdo entre dos partes de igual a igual, sino de una aprobación contractual. Un contrato que actúa como un revisor confiable requiere verificar información básica como el saldo y la liquidez, y realizar cálculos. El contrato debe poder obtener cualquier dato de activo que necesite.
AMM, por otro lado, es solo una forma relativamente simple de DeFi, y cualquier otra lógica compleja no se puede implementar solo en Ethnic. ¡Por eso se lanzó Facet - la prioridad número uno de Facet es la transversalidad! En realidad es un L2, pero no tiene una estructura de bloques, por lo que no lo llamamos transversal sino transdominio. Cuando todos los activos L1 son transdominio a Facet, no hay problema en que no se les pueda llamar entre dominios. Todos los activos fuera de la cadena pueden operar con contratos estúpidos debajo de la cadena, lo que permite admitir lógica de contrato compleja.
A través de la larga discusión anterior, deberías poder ver que la solución de Ethical es algo similar a Rollup. Pero eso es solo "similar"; estrictamente hablando, solo implementa un subconjunto de la funcionalidad principal de Rollup. Por otro lado, la funcionalidad faltante causó un daño fatal a su narrativa, o puso a los usuarios en serio riesgo.
Rollup es un sistema complicado, y no vamos a expandirlo aquí. Tiene algo en común con Etanol:
Todos ellos envían datos de llamadas para transacciones L2 en Ethereum.
Todas las computaciones se procesan fuera de la cadena.
Las similitudes son muy claras, y necesitamos demostrar las diferencias en detalle.
En la mayoría de los casos, los usuarios en Rollup no envían transacciones directamente a L1, sino que las envían a un secuenciador fuera de la cadena. El secuenciador ordena todas las transacciones, las empaqueta y comprime, y envía los datos de llamada a L1 en lotes. Al enviar datos de llamada de múltiples usuarios en una transacción, el costo básico de 21,000 gas puede diluirse.
No existe tal mecanismo en Eth; todos los usuarios envían los datos de llamada directamente a L1.
Utilizando el ejemplo de USDT anterior (608 gas para calldata), supongamos que 100 usuarios han iniciado 100 transacciones, y calculemos aproximadamente la diferencia de costos entre los dos con muy poca rigurosidad:
· Cada usuario de inscripción pagará 21608 gas (608 + 21000). El resto de la computación no se paga porque la computación es fuera de la cadena.
Los usuarios de Rollup pagan 818 gas ((608*100+21000) /100) por persona. La parte matemática es la misma que la anterior.
Por supuesto, cada usuario de Rollup también necesita pagar tarifas de computación y almacenamiento L2 al secuenciador, pero es mucho más barato que L1, por lo que es insignificante en este caso. Además, Rollup requiere algunos campos especiales adicionales para aumentar el volumen, pero al mismo tiempo, también tiene una mejor compresión de datos, por lo que no lo ampliaremos aquí.
A través de esta estimación aproximada, se puede ver que el Etanol no tiene ventaja de coste sobre la Capa 2. Además, en la propaganda de la comunidad del proyecto, he visto cosas como "Se pueden transferir 4000 inscripciones en lotes, aproximadamente 0,11 ETH, y en promedio, solo 0,05U por transferencia" para demostrar que el uso de Etanol es barato. De hecho, no aclara los principios y detalles de interacción de ETHS.
Gracias a un secuenciador fuera de la cadena, las solicitudes de los usuarios de Rollup pueden ser preconfirmadas en 1s. Esto es mucho mejor para la experiencia del usuario que el sistema de inscripción durante 12 segundos o más en L1. Por supuesto, los partidarios de la inscripción también pueden argumentar que hasta que los datos de llamada se envíen a la cadena ETH, los resultados finales de tales transacciones son poco confiables.
Los usuarios en Rollup probablemente serán censurados por los secuenciadores fuera de la cadena, mientras que Ethical no puede censurar a los usuarios. Sin embargo, un Rollup bien diseñado tendrá una función de agregación forzada para contrarrestar la revisión del secuenciador, y en última instancia, el secuenciador no tiene poder para revisar a los usuarios en absoluto.
Por lo tanto, cuando los usuarios utilizan Rollup, también pueden pasar directamente por alto el secuenciador en L1. Rollup les da a los usuarios diferentes opciones. Puedes usar un secuenciador más rápido o usar L1 directamente. Sin embargo, Ethnic solo puede usar L1 y no hay espacio para que los usuarios elijan libremente.
Además, Ethnic criticó al secuenciador de Rollup por ser centralizado. Pero el Indexer en sí también es un componente altamente centralizado. Ethnic explicó que aunque cualquiera puede ejecutar y verificar Indexer, no es centralizado, pero de hecho, la gran mayoría de personas no ejecutan nodos por sí mismas. Por lo tanto, ETHS solo muestra su lado descentralizado en comparación con Rollup en casos extremos. Después de todo, el secuenciador de Rollup puede fallar, pero ETHS puede seguir operando siempre y cuando los miembros de la comunidad ejecuten múltiples Indexers.
Ningún proyecto puede usar el amor para generar electricidad. Los proyectos de desarrollo a largo plazo deben considerar cuidadosamente el tema de los modelos de beneficio. Ya sea una entidad centralizada o una combinación de entidades descentralizadas, deben ser rentables para proteger la seguridad de la red a largo plazo.
El secuenciador de Rollup tiene un modelo de beneficio claro: cobrar más gas, extraer MEV, etc. El secuenciador tiene el poder de garantizar el funcionamiento normal de la red. Dado que los usuarios envían datos de llamada directamente a L1, el Indexer no cobra mucho.
La mayoría de los lenguajes de desarrollo de contratos de Rollup, las cadenas de herramientas, etc., pueden utilizar directamente Ethereum, y los desarrolladores pueden migrar fácilmente a Rollup. Ninguno de estos existen en Ethnic; necesitas dominar nueva Rubicidad, construir nuevos escaneos, familiarizarte con nuevas Máquinas Virtuales, etc. Por supuesto, visto desde el otro lado, esta resistencia también es una oportunidad de exploración que puede ser resultado del desarrollo de un nuevo ecosistema.
Este es el problema fatal de Facet. Sabemos que Rollup no solo envía calldata (entrada) a L1 en lotes, sino que también envía regularmente el estado de liquidación (salida) después de N operaciones a L1. ZKR y OPR tienen diferentes métodos de prueba para determinar si la relación entre la entrada y la salida es correcta. Independientemente del método de prueba, la decisión final es un contrato L1. La salida y la entrada en Rollup son rastreables y no se pueden falsificar.
Entonces, ¿para qué sirve la liquidación de estatus? Se utiliza para retiros, es decir, retiros de fondos L2 a L1. Cuando se publica el estado en L1, podemos usar Merkle Proof y otros medios para demostrar que mi solicitud de retiro en L2 está incluida en esa raíz de estado basada en la raíz de estado. Una vez que el contrato se ha verificado correctamente, los activos se pueden liberar en L1.
Facet no tiene mecanismo de liquidación de estado, por lo que es imposible para él lograr retiros descentralizados sin permiso de L2 a L1. Como se mencionó anteriormente, también necesitaba una capa L2 para ejecutar lógica de contrato más compleja. Al igual que su intercambio de AMM FacetSwap.
Podemos ver que FacetSwap (un dex construido en Facet con contratos estúpidos) claramente tiene dos acciones: depósito y retiro. Normalmente, no hay depósitos ni retiros para Swap, porque Facet requiere que cruces dominios antes de poder usarlo.
En Facet, el depósito requiere bloquear los fondos de L1 en el contrato del puente de L1, y emitir el evento correspondiente ethscriptions_protocol_createEthscription para que el indexador sea indexado. Esto es consistente con otros métodos de recarga de L2.
Por otro lado, los retiros tienen problemas de seguridad graves. Dado que no hay un mecanismo de liquidación de estado en Facet, los contratos no pueden utilizarse para determinar automáticamente si un retiro es válido de L2 a L1. Entonces, ¿qué método utilizó Facet? El administrador lanzó, o mecanismo de testigo, similar al puente Axie previamente robado.
Veamos directamente el puente de Facet. La dirección es:
0xd729345aa12c5af2121d96f87b673987f354496b.
HashedMessage es un mensaje firmado por el firmante y contiene parte del contenido de la retirada. El firmante es una dirección de administrador predeterminada. Debido a que no hay liquidación de estado, no se puede realizar ninguna verificación, como si la cuenta tiene tantas monedas en L2. Por lo tanto, todos los fondos en el contrato pueden ser retirados con la firma del firmante, ya sea por mala conducta de la parte del proyecto o un ataque de hacker para obtener la clave privada.
En Rollup, no es necesario que los testigos liberen activos en absoluto; en las sidechains, si los testigos desean hacer algo descentralizado, pueden seleccionar parte de su propio sistema de consenso como agentes y utilizar garantías para disuadir el mal hasta cierto punto.
En Étnico y Faceta, nada. Es simplemente, sin disimulo, una dirección de administrador. Esto es probablemente demasiado crudo para un proyecto L2 que a menudo grita "los contratos inteligentes son fallas de diseño", "Rollup está centralizado" y "somos una plataforma informática de próxima generación". Obviamente, todavía tiene muchos defectos, pero podemos seguir observando, aunque estos defectos no son fáciles de solucionar, y probablemente también existan en la capa 2 de Bitcoin.
Los activos en Ethnic y Facet no son activos emitidos en L1.
Para tener capacidades de contrato complejas, Facet ha evolucionado a una entidad L2, pero tiene enormes riesgos de seguridad financiera.
·La afirmación oficial es eliminar el cálculo del contrato en L1, pero ni siquiera utiliza su propia aplicación principal.
El etanol es similar a un Rollup con una funcionalidad básica muy pobre. Ni Rollup es barato y rápido, ni Rollup es seguro. Lo que puede lograr, Rollup puede hacerlo, y no puede proporcionar las funciones muy importantes que Rollup puede lograr.
·Si quiere resolver los problemas anteriores, necesita desarrollar un mecanismo de liquidación de estado, además de un secuenciador y un bloque L2, luego eventualmente se convertirá en un Rollup.
La etnia ha aprovechado la inscripción de BTC y se ha apoyado en el concepto para promocionar el vino viejo en botellas nuevas, pero no ha descubierto un nuevo paradigma. Actualmente, ETHS sigue basándose principalmente en la especulación financiera, no es que este producto en sí mismo pueda aportar algo que Ethereum Layer 2 no tenga. El valor a largo plazo de este tipo de cosa obviamente aún está por descubrirse, pero en su forma actual, ETHS ha asumido la "carga insoportable de la vida," y su lema es muy diferente de su efecto práctico.