Precio de Bitcoin Precio de Bitcoin
Ctrl+D Precio de Bitcoin
ads
Casa > LTC > Info

Substrate VS Smart Contract | parte I: descripción general

Author:

Time:

Esta serie está dirigida a desarrolladores de contratos inteligentes o profesionales que se debaten entre los contratos inteligentes y sus propias cadenas de bloques personalizadas. Espero que después de leer esta serie, pueda ayudarlo a comprender mejor las similitudes y diferencias entre Substrate y los contratos inteligentes, y hacer que la selección de tecnología sea más eficiente cuando se enfrente a diferentes necesidades comerciales. Al mismo tiempo, también espero brindarles algunas perspectivas interesantes para analizar Substrate. Cualquier comentario es bienvenido. En pocas palabras, Substrate es una "rueda" para construir blockchain. Antes de Substrate, si quería construir rápidamente una cadena, había muy pocas opciones y el grado de personalización también era muy bajo. Básicamente, la cadena pública bifurcará Bitcoin y la cadena de la alianza usará directamente Hyperledger. Substrate es un SDK listo para usar para construir cadenas de bloques. Desde contratos inteligentes simples hasta lógica en cadena de nivel medio, o la red p2p subyacente, la base de datos y el consenso, todo se puede personalizar libremente. Ya hay muchos artículos sobre la introducción de Substrate, por lo que no entraré en detalles aquí. Los estudiantes que quieran comenzar pueden consultar la siguiente información: (Nota: dado que la cuenta de suscripción de WeChat no puede saltar a enlaces externos, vaya a "Leer el texto original" y haga clic en los siguientes artículos) Video debut de Substrate, 15 minutos para construir rápidamente un enlace, Qué es Substrate - de boka.network, Qué es Substrate - de Ethfans Si desea saber más sobre zapatos para niños, también puede buscarlos en Google. Un contrato inteligente es una pieza de código implementada en la cadena de bloques, que puede realizar funciones de acuerdo con las reglas inviolables preestablecidas en el contrato. Debido a que los contratos inteligentes convencionales actuales se refieren a los contratos inteligentes en Ethereum, los contratos inteligentes a continuación se refieren a los contratos inteligentes en la red Ethereum. Aquí, comprenderemos las similitudes y diferencias entre Substrate y los contratos inteligentes desde la perspectiva más macro, y no involucraremos demostraciones y detalles funcionales específicos. Temas más detallados se mencionarán en artículos posteriores. bool enteros dirección (``accountId` en Subtrate) array map enum string: Aunque hay un tipo de cadena, no existe un método perfecto de procesamiento de cadenas. key mapenum: enumerado aquí por separado, es porque la enumeración en solidity es solo una enumeración de números, y la enumeración en el sustrato contiene información de tipo. No hay tipo de cadena en Substrate. No hay tipo de cadena en Substrate. Solo Vec corresponde a cuerda. Esto involucra la filosofía de diseño de Substrate o blockchain. El almacenamiento en cadena es muy valioso, y string y Vec se pueden convertir mutuamente, por lo que Substrate decidió no usar string.Tanto enumSolidity como Substrate tienen enum en Substrate, pero el significado de los dos es completamente diferente para todo el sistema. La enumeración en Solidity es más como una expresión literal de un número, como la siguiente definición: enum TrafficLight {              Red,             ;      Verde}El rojo, amarillo y verde aquí son en realidad solo 0, 1, 2. La enumeración en Substrate (en realidad, la enumeración en Rust, consulte: enumeración en Rust para un estudio más detallado) puede transportar información de tipo y tiene funciones poderosas. Por ejemplo, Error en el sustrato, enum Error<AccountId> {            WrongAddress(AccountId),    ;           WrongIndex(u32), //     ...} link_map en Substrate y mapstruct en SolidityEstudiante uint32 número, uint8 edad, uint8 ;  Student) students;    uint[] class; y eliminar elementos de la matriz es una operación O(n), lo que significa que no podemos permitirnos costos elevados de gas e involucrar múltiples cambios de almacenamiento, pueden ocurrir errores lógicos si no tiene cuidado. Se proporcionan varios mapas en Substrate, incluidos map, linked_map, double_map. Entre ellos, linked_map proporciona la función de iteración para el mapa. Esto hace que el almacenamiento y la lógica sean más realistas. Si desea obtener más información sobre el tipo de almacenamiento de zapatos para niños en Substrate, vaya a Descripción general del tipo de almacenamiento de Substratec Como antiguo contratista inteligente, conozco el dolor de dapp: el costo del combustible es demasiado alto, los usuarios no pueden pagarlo ; el tiempo de generación de bloques es largo, los usuarios no pueden darse el lujo de esperar ; generalmente, las dapps tendrán sus propios tokens, pero los usuarios deben tener eth para jugar, lo cual es una gran barrera para los usuarios que no están acostumbrados a la cadena de bloques; nuevo los usuarios a menudo pierden sus claves privadas y sus activos desaparecen; no es culpa del contrato inteligente. Desde ayer, los contratos inteligentes fueron un producto que hizo época; a partir de ahora, las deficiencias de los contratos inteligentes necesitan nuevas tecnologías para compensarlas. Algunos desarrolladores de dapp eligen no implementar dapps en la cadena pública eth, pero usan eth para desarrollar cadenas privadas para implementar sus propias dapps, lo que de hecho puede resolver algunos de los problemas anteriores, pero similar a las claves privadas y tokens múltiples, la mejora de usuario umbrales sigue siendo inevitable. Como la "rueda" del desarrollo de blockchain, Substrate proporciona a los desarrolladores opciones de personalización de varios niveles debido a su excelente diseño de marco y capas abstractas: Capas de sustrato Aquí hay una breve introducción a las capas de Substrate. Puede buscarlo usted mismo, Substrate Node : capa de nodo. Básicamente, no se realizan cambios en este nivel. Simplemente compile y ejecute un nodo. Si desea realizar algunos cambios, simplemente vuelva a escribir el archivo de configuración de génesis. Redefine los parámetros en la cadena, pero no se puede modificar la lógica de funcionamiento de la cadena. Sustrato MARCO: capa de tiempo de ejecución. Básicamente, la mayor parte de la personalización ocurre en esta capa. Hay muchas cosas que puedes hacer en este nivel, que se pueden resumir modificando la lógica de operación de la cadena de bloques. Por ejemplo, la transferencia, la gobernanza, la lógica de actualización en cadena, el replanteo, etc., todos tienen lugar en esta capa. Es la parte a la que los desarrolladores de contratos inteligentes deben prestar más atención. Núcleo del sustrato: La capa central. La capa completa de FRAME/runtime se puede ignorar frente a Core. Se puede construir un tiempo de ejecución desde 0 en cualquier idioma, siempre que se pueda compilar en WebAssembly. Esta capa incluye principalmente algunos componentes subyacentes de la cadena de bloques, incluidos el consenso, la base de datos, la red p2p, etc. Para los desarrolladores de contratos inteligentes, podemos centrar la mayor parte de nuestra atención en la capa FRAME. En esta capa, puede implementar cualquier función que se pueda implementar con contratos inteligentes, así como cosas que no se pueden hacer con contratos inteligentes. Por ejemplo: el sistema de token personalizado, además de la transferencia, también implementa el bloqueo en el nivel lógico de la cadena, reglas de liberación personalizadas, etc.; tiempo de intervalo de bloqueo personalizado y tarifa de manejo: aquí, todas las cadenas de bloques originales tienen un alto nivel de transacciones velocidad y alta tarifa de manejo Todos los problemas se pueden perder, los desarrolladores pueden personalizar la longitud del bloque y la tarifa de operación; realizar la actualización general de la lógica de la cadena; realizar la gobernanza de la cadena; realizar el soporte de múltiples cuentas, por ejemplo, en el caso de que el usuario pierda la clave privada, asegúrese de que los activos de los usuarios no se pierdan;... Todas las quejas sobre el umbral de operación de la cadena de bloques, la facilidad de uso y la velocidad de respuesta se pueden resolver mediante un diseño ingenioso en la capa de tiempo de ejecución. Algunas de estas partes se discutirán en detalle más adelante. Desarrolladores de contratos inteligentes de Solidity, otra capa de dolor es que necesitan mantener ctrl+C y ctrl+V. Debido a que solidity es independiente del sistema de lenguaje de programación existente, no hay dependencia a la que se pueda llamar directamente; la biblioteca que viene con solidity no es tanto una biblioteca, es más como una referencia de código que "no merece tener una dirección". ". Incluso si hay importación, la premisa es que la dependencia debe escribirla usted mismo. Incluso copiar y pegar. Esto hace que sea imposible para todos encontrar directamente la rueda existente al escribir el código de solidity y luego descargarlo e importarlo; en su lugar, copiar y pegar + reescribir, lo que hasta cierto punto distrae la atención de los desarrolladores de dapp y dificulta aún más el progreso ecológico de dapp. . Después de todo, además de prestar atención a la lógica comercial compleja y los agujeros de seguridad impredecibles, debe escribir sus propias ruedas. En este sentido, los desarrolladores de dapp tienen una triste burla de sí mismos: "Siempre que pueda escribir log(n) en solidez, es suficiente para crear un proyecto". FRAME de Substrate, actualmente Parity usa el lenguaje Rust para el desarrollo, pero cualquier lenguaje que se pueda compilar en WebAssembly se puede usar para escribir FRAME. Finalmente, el desarrollo de la lógica de la cadena de bloques se puede llevar a cabo con la misma normalidad que la escritura de programas. (El dolor aquí solo puede ser experimentado por los desarrolladores de dapp) Aquí hay un ejemplo, como el famoso proyecto BTC-Relay, que realiza la cadena cruzada de BTC -> ETH. El método es implementar un BTC en un contrato inteligente con solidez SPV (Verificación de pago simplificada), el paso más crítico es verificar la validez de las transacciones en la red Bitcoin. La implementación de verificar la validez de las transacciones en solidity también se beneficia de la función hash de precompilación provista en solidity que es la misma que se usa en BTC (SHA256), de lo contrario, es concebible que un proyecto tan famoso no aparezca. Por lo tanto, el uso gratuito de varias infraestructuras existentes no solo ayuda a los desarrolladores a ahorrar tiempo y energía, sino que también alienta a todo el ecosistema de aplicaciones a avanzar capa por capa y explorar direcciones más profundas y desconocidas. Si antes los desarrolladores de dapp estaban bailando con grilletes, ahora Substrate los está ayudando a liberarse y bailar más libremente. ETH no tiene una función de ejecución retrasada o ejecución automática, y todas las transacciones deben activarse manualmente. Algunas plataformas de blockchain han implementado la función de ejecución diferida, pero no pueden controlar con precisión el tiempo y las condiciones de ejecución. Hay una gran función personalizada en Substrate, las dos funciones on_initialize y on_finalize se ejecutarán automáticamente al principio y al final del bloque de construcción del validador, es decir, si hay algunas funciones muy importantes, debe basarse en si el tiempo se alcanza el punto o la condición Esta es una buena opción cuando se dispara en un umbral. No se recomienda usarlo a gran escala, ya que si necesita consumir demasiada potencia de cómputo, afectará el empaque del validador, escríbalo manualmente usted mismo, lo que carece de credibilidad, o también puede solicitar los servicios de Oracle , que son caros y no hay muchas opciones de fuentes de datos. Substrate tiene una función llamada trabajador fuera de la cadena, que se utiliza para realizar algunas operaciones de cálculo intensivo y de largo plazo. Por ejemplo, al obtener datos fuera de la cadena, la operación de solicitud http puede escribirse en el trabajador fuera de la cadena, que puede activarse para ejecutarse en el tiempo de ejecución, obtener los datos fuera de la cadena y devolver el resultado a la cadena para las operaciones de cálculo relacionadas después. la solicitud es exitosa. Esto no solo brinda mucha comodidad a los desarrolladores de dapp, como solicitudes de números aleatorios, sino que también brinda un nuevo espacio de imaginación para los desarrolladores de blockchain. Por ejemplo, en el campo de las cadenas de consorcios, la práctica habitual antes es ir a la izquierda para ir a la arquitectura de la cadena de bloques, y a la derecha para ir al servicio de almacenamiento tradicional, porque la cadena de bloques está naturalmente aislada del resto. mundo de la cadena, parece difícil integrar las dos cosas juntas. Con trabajadores fuera de la cadena, ¿es posible descubrir algunas nuevas intersecciones? Por favor, deje volar su imaginación aquí. Habiendo dicho tantas diferencias, personalmente siento que al desarrollar el tiempo de ejecución de Substrate, es muy similar al desarrollo de contratos inteligentes.

Tags:

LTC
Profundidad Dorada丨Las tres tecnologías de Bitcoin más destacadas en 2020

Golden Finance   Blockchain, 8 de marzo   En comparación con el "ajetreo y el bullicio" de Ethereum, el desarrollo técnico de Bitcoin parece haber sido relativamente discreto.

¿Es el cisne negro un factor para la caída del precio de la moneda? El núcleo sigue estando en la auto-lógica del mercado

Durante el fin de semana, el mercado de criptomonedas se desplomó. BTC cayó por debajo de $ 7,700 desde 9,200 hasta hoy, y BTC cayó a $ 1.

¿Cuándo tocará fondo BTC? No hay nada malo con esta operación.

¿Qué piensa el emperador?BTC: Esta caída continua de Bitcoin es realmente aterradora, pero Paul 02.17 "¡Atención! El retroceso de BTC esta vez es diferente al pasado.” Cuando Bitcoin todavía estaba en un nivel alto.

Substrate VS Smart Contract | parte I: descripción general

Esta serie está dirigida a desarrolladores de contratos inteligentes o profesionales que se debaten entre los contratos inteligentes y sus propias cadenas de bloques personalizadas.

CEO de Coinbase: ¿Pueden los usuarios de criptomonedas escalar de 50 millones a 5 mil millones?

¿Es posible que el mercado de criptomonedas se expanda al 80% de los usuarios del mundo? El CEO de Coinbase, Brian Armstrong.

¿Puede Handshake, que se ha multiplicado por 4, generar una nueva ronda de publicidad sobre nombres de dominio?

Cuando la mayoría de los proyectos no tienen autonomía en el mercado y los precios siguen los altibajos de BTC, Handshake se destaca entre la multitud.En solo unos días.

Después de meses de dolor, ¿qué tan lejos está el mercado alcista?

Las palabras candentes en el círculo de divisas en 2020 no son otras que "reducción de producción" y "reducción a la mitad". Al entrar en 2020.

ads