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

Resumen minimalista de sustrato: funciones, características y consenso

Author:

Time:

Hoy hablaremos de Substrate, una biblioteca que puede ayudarlo a crear su propia cadena de bloques personalizada. Substrate fue desarrollado por ParityTech y también proporciona la base para Polkadot. ¿Qué es un sustrato? Explicación del Diccionario de Oxford: Una sustancia o capa que subyace a algo, o sobre la cual ocurre algún proceso (bajo ciertas cosas, o puede basarse en ella para crear algunas sustancias o capas de cosas) Como sugiere el nombre, Sustrato Se puede usar para hacer crecer o construir algo encima. En nuestro caso, podemos construir blockchains, o en el caso de Polkadot, toda una familia de blockchains. ¿Por qué necesito Substrate?Al fin y al cabo, el software es abstracción. La historia de la informática muestra que cada vez obtenemos más y más abstracciones: desde la lógica discreta hasta los circuitos integrados y las CPU; desde el código de máquina hasta el ensamblaje, desde el ensamblaje hasta C, C++, Rust, Haskell, etc. Lo mismo ocurre con las API de programación. Por ejemplo, casi nadie escribe la web en HTML simple en estos días. "Cada problema se puede resolver introduciendo otra capa de abstracción. Excepto el problema de muchas capas de abstracción... así que inventamos el marco" - Parafraseado del Financial Times de Andrew Koenig. Cada capa de abstracción intenta resolver un problema específico. Entonces, ¿para qué problema está hecho Substrate? Resulta que hay muchas cosas que debe considerar antes de comenzar a implementar una nueva solución de cadena de bloques: ¿por qué necesita otra cadena de bloques? ! Varias primitivas criptográficas: encriptación, firmas, RNG¹, etc. Algoritmos de consenso y votación tolerante a fallas ¿Prueba de desperdicio, Prueba de participación, Prueba de autoridad?  ¿O algo completamente diferente? Estructura de bloques y almacenamiento eficiente, red P2P de serialización de mensajes, descubrimiento de pares, máquina de estado de interconexión de transacciones y bloques, lógica de operación de ejecución, compatibilidad con clientes ligeros de contrato inteligente Aunque Substrate no resuelve el primer problema, Substrate puede ayudarlo a resolver los problemas restantes, ya que proporciona las herramientas de implementación existentes. Estos están cuidadosamente diseñados, escritos y probados en función de nuestros años de experiencia en el desarrollo de cadenas de bloques. Por supuesto, también puede implementar todas estas tareas usted mismo, pero puedo decir que puede terminar con una solución no probada y no bien documentada. Sin mencionar que, en general, diseñar o implementar un algoritmo de cifrado por sí mismo se consideraría una muy mala idea a menos que sea un criptógrafo y realmente sepa lo que está haciendo. Entonces, al proporcionar implementaciones genéricas de algoritmos típicos, Substrate le permite concentrarse en el proyecto en sí: la lógica comercial de la cadena, su máquina de estado. Echemos un vistazo a las partes más importantes de la cadena de bloques y veamos qué puede ofrecer Substrate. El único propósito de cualquier cadena de bloques como cadena de bloques para el almacenamiento permanente es proporcionar un método verificable, global y permanente de almacenamiento y transformación de datos, lo que significa que todas las partes deben, en cualquier momento, verificar y acordar qué valor se puede reconocer. Además, una vez que estos datos estén sellados, deberían ser permanentes y su manipulación es imposible según el consenso. Esta propiedad se usa ampliamente en criptomonedas, donde el almacenamiento permanente contiene claves de cuenta y sus saldos reales. Sin embargo, es importante tener en cuenta que las criptomonedas no son las únicas aplicaciones posibles de blockchain. Básicamente, casi cualquier sistema que requiera un historial de transacciones verificable, permanentemente almacenado y coherente a nivel mundial se puede implementar utilizando una cadena de bloques de alguna manera. Florida lanza 300 "quioscos Coinme" que pueden convertir efectivo en Bitcoin: El 18 de junio, Florida lanzó 300 "quioscos Coinme" que permiten a los usuarios convertir efectivo en Bitcoin. Como el segundo mayor operador de cajeros automáticos de Bitcoin en los Estados Unidos, Coinme se asoció con MoneyGram para permitir a los usuarios comprar Bitcoin con efectivo o cambiar Bitcoin por efectivo en 12 000 puntos de venta físicos de MoneyGram en los Estados Unidos. (Bitcoin Magazine) [2021/6/18 23:48:16] Substrate proporciona almacenamiento eficiente, es muy fácil de usar y está estrechamente integrado con el tiempo de ejecución de WebAssembly (Wasm). Blockchain como función Para actualizar el estado de la cadena y cambiar su almacenamiento en función de las operaciones pendientes, necesitamos tener un punto de decisión. Estos puntos de decisión se pueden expresar como una función que toma el estado actual y un conjunto de acciones pendientes y produce otro estado que debe considerarse un nuevo estado. En el mundo de la cadena de bloques, esta función se denomina función de transición de estado, o STF para abreviar. Substrate le permite definir dicha funcionalidad de una manera manejable y portátil. Al igual que JavaScript que se ejecuta en una página web, puede escribir un conjunto de funciones denominadas colectivamente el tiempo de ejecución que actuará como STF. Además, dicha implementación sería portátil y no dependería de la arquitectura del procesador, el sistema operativo, el navegador o cualquier otra forma dependiente de la plataforma. De hecho, incluso las tecnologías subyacentes de Substrate están estrechamente relacionadas. Substrate usa WebAssembly como la lingua franca de su tiempo de ejecución, que es exactamente lo que las grandes empresas como Mozilla, Google y Apple están integrando actualmente como una alternativa de JavaScript más rápida pero aún compatible cuando escriben para la web. Seguridad y velocidad Escribir lógica de cadena y contratos inteligentes en Wasm significa que tendrá las mejores herramientas para ejecutar la lógica de manera rápida y confiable. Sin embargo, Substrate tiene una forma de ejecutar código mucho más rápido y sin sobrecarga de máquina virtual. La parte más revolucionaria de Substrate es que la imagen de tiempo de ejecución que contiene el STF se almacena en la cadena junto con otras cargas útiles. Esto significa que el tiempo de ejecución y la lógica empresarial de toda la cadena se pueden actualizar de forma segura y verificable. Además, dado que Substrate y su Runtime Module Library³  están escritos en el lenguaje de programación Rust, se pueden traducir tanto a código nativo como a Wasm. En cualquier momento, el software del cliente tiene dos copias del tiempo de ejecución compilado: una que se compila de forma nativa en el software y otra que es la imagen de Wasm que se ejecutará en la máquina virtual. Al ejecutar una función de tiempo de ejecución, el software del cliente comprueba que la versión de Wasm en cadena del tiempo de ejecución coincida con la versión integrada nativa para la que se compiló. Después de hacerlo, el software del cliente delega la ejecución de la función de tiempo de ejecución a la versión del código nativo. Actualizaciones sin bifurcación Si bien la imagen de tiempo de ejecución se actualiza en cadena, algunos clientes aún no han actualizado su software. En este caso, sus nodos ejecutarán la versión correcta interpretando el tiempo de ejecución en la máquina virtual Wasm integrada de Substrate. Por lo tanto, en cualquier caso, todos los nodos de la red siempre podrán sincronizar la cadena correctamente (aunque con diferentes eficiencias), evitando así las bifurcaciones de la cadena. Network Blockchain se basa en que muchos participantes se comuniquen a través de una red. Las soluciones típicas utilizan tecnología de igual a igual para este tipo de comunicación, y Substrate no es una excepción. P2P es un nombre general para un grupo de tecnologías utilizadas para crear aplicaciones de red distribuidas. La idea principal es crear un entorno de red autosuficiente en el que cada participante (a menudo denominado nodo) pueda operar en la red sin configuración ni autorización previas. Para garantizar que los nodos puedan unirse o abandonar la red en cualquier momento sin afectar la conectividad de toda la red, Substrate utiliza libp2p (https://github.com/libp2p/rust-libp2p) implementado por Rust, que es un prometedor La pila de red, que tiene todo lo necesario para construir un entorno de red distribuido. Mensajes personalizados En los casos más simples, ni siquiera necesita pensar en la creación de redes, porque Substrate lo hace todo por usted. Solo necesita proporcionar la función de transición de estado de la cadena de bloques y dejar toda la interacción de la red en Substrate. Sin embargo, si la cadena de bloques requiere que se envíen mensajes personalizados, el subsistema de la red se puede personalizar y ampliar al proporcionar protocolos de red específicos que especifiquen los mensajes personalizados y su lógica de procesamiento. Consenso Tener una función de transición de estado que le permita pasar de un estado a otro es bueno, pero no suficiente. También necesita una forma para que todos los nodos acuerden cuál debería ser el próximo estado. Como propietario de una cuenta bancaria, lo último que desea es tener un desacuerdo con el banco sobre cuánto dinero hay en su cuenta. Blockchain permite que las partes lleguen a un consenso sin confiar entre sí (por lo tanto, confianza cero), incluso en el caso de que un actor malicioso intente comprometer el sistema y robar sus fondos. Esto se hace usando un algoritmo de consenso con propiedades de tolerancia a fallas bizantinas (BFT). Si un sistema es BFT, significa que los nodos pueden llegar a un consenso incluso si algunos de ellos se comportan mal, incluida la colusión, la retención de mensajes y la desconexión. Los sistemas de consenso BFT son resistentes a diversos grados de problemas de red en los que los mensajes se pueden reordenar o retrasar. Algunos sistemas de consenso BFT están diseñados para que cuando los nodos se comporten mal (por ejemplo, voten dos bloques a la vez), puedan ser penalizados y sus tokens apostados cortados en la cadena. Para cada motor de consenso admitido en Substrate, habrá un módulo de tiempo de ejecución que maneje las pruebas de mala conducta. El tiempo de ejecución puede determinar el impacto de evaluar el comportamiento incorrecto. Se demuestra matemáticamente que el protocolo es factible siempre que dos tercios de los nodos de la red no sean maliciosos y operen de acuerdo con el protocolo. Esta es una de las razones por las que es importante tener muchos nodos en la red. El consenso es una parte crítica de cualquier aplicación de blockchain. Afortunadamente, Substrate proporciona un consenso BFT ya utilizable que funciona casi de inmediato. Según el escenario de uso, puede usar la lógica de creación de bloques existente o proporcionar su propia lógica de creación de bloques. En este último caso, puedes utilizar una versión genérica de BFT y adaptarla a tus necesidades. Substrate seguirá desarrollándose y se le agregarán más algoritmos de consenso (https://medium.com/polkadot-network/grandpa-block-finality-in-polkadot-an-introduction-part-1-d08a24a021b5), incluidos El dispositivo de finalización del GRANDPA (acuerdo de prefijo derivado de antepasados ​​recursivos basado en GHOST) desarrollado en Web3 Foundation. Además, dado que Substrate es un marco totalmente extensible y personalizable, es posible definir sus propios algoritmos de consenso personalizados. De hecho, Substrate es tan flexible que puede admitir soluciones que no se basan en las arquitecturas clásicas de blockchain. Por ejemplo, estamos estudiando cómo resolver el problema del rendimiento de la cadena de bloques mediante el diseño de un consenso que no se base en el concepto de bloque tradicional. Soporte de cliente ligero Las primeras implementaciones de blockchain se diseñaron de tal manera que cada nodo en la red mantiene una base de datos de blockchain completa localmente. Esto ahora se denomina cliente completo, lo que significa que el cliente tiene todo lo que necesita para funcionar como un nodo de red. Los clientes completos (también conocidos como nodos completos) son muy importantes para la seguridad de la cadena. Pero a medida que crece la cadena de bloques, la base de datos de clientes se hace cada vez más grande. Actualmente, las principales criptomonedas tienen bases de datos de cientos de gigabytes. Cuando se inicializa un nodo completo, lo primero que debe hacer es sincronizarse con el resto de la red. Por razones de seguridad, dicho nodo no puede descargar aleatoriamente la base de datos de un nodo tal como está, sino que necesita construir su propia base de datos desde cero, resincronizando todas las transacciones desde la génesis (el primer bloque de la cadena). Además de ser computacionalmente costosa, esta tarea también requiere la transmisión de grandes cantidades de datos a través de la red. Creo que todos estarían de acuerdo en que descargar medio megabyte de datos a su teléfono solo para comprar un sándwich... no es práctico o simplemente es ridículo. Es por eso que, casi desde el principio, los desarrolladores de blockchain han considerado formas de reducir los costos de mantenimiento de los nodos, incluido el espacio de almacenamiento y el rendimiento de la red. Finalmente, nació el concepto de clientes ligeros. En resumen, un cliente ligero es un modo de operación de los nodos de la cadena de bloques en el que solo los datos más importantes se almacenan localmente y las interacciones de la red se reducen al mínimo mientras se preserva una seguridad aceptable para casi todas las interacciones posibles. Los modestos requisitos de recursos finalmente permiten que los nodos de clientes ligeros arranquen fácilmente y, por lo tanto, se ejecuten en dispositivos móviles. Desafortunadamente, la integración de soporte ligero para clientes en una cadena de bloques existente es una tarea seria. Es mucho más fácil integrar clientes ligeros en el diseño inicial de la cadena de bloques. Substrate se diseñó específicamente teniendo en cuenta la asistencia ligera al cliente. Las cadenas de bloques creadas en Substrate tienen un soporte de cliente ligero listo para usar. Resumen En este artículo, analizamos los principales objetivos y características del marco Substrate. Tomaría un artículo más largo para cubrir todos los aspectos de Substrate, pero espero que ahora tenga una comprensión general de los conceptos. Si bien esto no es suficiente para comenzar a escribir su código, al menos ahora debe saber qué esperar

Tags:

TRX
Observación dorada | ¿Del desarrollo del mercado financiero indio para ver la posibilidad del auge y la caída de la criptomoneda india?

La Corte Suprema de la India anuló hoy la prohibición del Banco de la Reserva de la India (RBI) de 2018 de que los bancos comerciaran con criptomonedas.

Importante plan de expansión de Ethereum: Informe de estado de resumen optimista (Parte 2)

Este artículo es la tercera parte del "Importante plan de expansión de Ethereum: informe de estado de resumen optimista". Consulte nuestros artículos anteriores para conocer la primera y la segunda parte.

¿Los inversores en el mercado de reducción a la mitad buscarán el ETP de venta en corto de bitcoin recientemente agregado en la segunda bolsa de valores más grande de Alemania?

La segunda bolsa de valores más grande de Alemania, Boerse Stuttgart, ha agregado un nuevo producto cotizado en bolsa (ETP) de bitcoin inverso, informó Bitcoinist el 26 de febrero. Apodado 21Shares Short Bitcoin ETP.

Resumen minimalista de sustrato: funciones, características y consenso

Hoy hablaremos de Substrate, una biblioteca que puede ayudarlo a crear su propia cadena de bloques personalizada. Substrate fue desarrollado por ParityTech y también proporciona la base para Polkadot. ¿Qué es un sustr.

El rebote en el mercado en general es débil y los alcistas del mercado aún no se han recuperado.

Red Satelital Rusa: Miembros de la delegación ucraniana sostuvieron conversaciones con Rusia: El 6 de marzo, según informes de la Red Satelital Rusa.

Profundidad Dorada 丨 Warren Buffett vs.Justin Sun ¿En quién debemos confiar?

Noticias de Golden Finance Blockchain, 26 de febrero Para las criptomonedas, Warren Buffett (Warren Buffett) parece nunca haber sido tan firme. En una entrevista anterior con CNBC.

Bitcoin cayó por debajo de $8600 durante la noche y toda la red explotó en $879 millones

Según las noticias del 27 de febrero, la solicitud de ETF de Bitcoin presentada por Wilshire Phoenix fue rechazada formalmente por la Comisión de Bolsa y Valores de EE. UU. (SEC) con el argumento de que el problema de.

ads