El camino hacia los contratos inteligentes de IOTA permissionless y descentralizados.
TL;DR:
Assembly es una red descentralizada para contratos inteligentes en la que cualquiera puede participar. Puedes participar uniéndote a un comité de validadores con tus nodos validadores o comprometiendo tus tokens ASMB a un validador. Los validadores son uno de los actores clave de Assembly que ayudan a garantizar la seguridad, la descentralización y la capacidad de respuesta de la red. Garantizan que los contratos inteligentes se ejecuten correctamente y generan ingresos a través de las comisiones cobradas y las recompensas de staking.
En las aplicaciones tradicionales, una única entidad centralizada se encarga de la mayor parte (si no toda) del procesamiento, los datos y los cambios de estado. Esto hace que todo el proceso sea más fácil de controlar. Pero como la misma entidad controla todos los datos y el procesamiento, podría manipular fácilmente cualquier parte de este proceso. En una analogía simplificada, esto sería lo mismo que tener un único contable. En un mundo ideal, este contable sería honesto y nunca haría nada distinto a lo establecido en los contratos. Pero en la realidad, esto no siempre es así.
Los contratos inteligentes (o programas) son ejecutados por participantes de la red llamados validadores que supervisan el mismo código (el contrato inteligente) en el mismo entorno (máquina virtual) con los mismos datos (entradas) hasta que todos están de acuerdo (crean un consenso) sobre el resultado. Esto hace que el contrato inteligente esté descentralizado, ya que no es necesario depositar la confianza en una sola entidad, sino que se puede confiar en los resultados corroborados por múltiples validadores. Esto elimina al intermediario y lo sustituye por un código inmutable ejecutado por muchos validadores independientes y de confianza. Volviendo a la analogía del contable, en los contratos inteligentes la contabilidad no está centralizada, sino que es replicada por múltiples contables independientes que ejecutan cada transacción hasta que están de acuerdo con el resultado.
¿Qué son exactamente los validadores?
Un validador es una entidad que posee nodos validadores. Todo lo que hace un nodo se atribuye a su propietario, el validador. Un nodo validador es un ordenador que ejecuta el código del contrato inteligente exactamente en las mismas condiciones (el mismo código, la misma máquina virtual y los mismos datos) que otros nodos validadores para asegurarse de que se ha producido el cambio de estado correcto tras una operación. En la analogía anterior, un validador es uno de los muchos contables que garantizan que nadie manipule el contrato. Ejecutan el código del contrato inteligente en las condiciones exactas (máquina virtual, lenguaje de programación y entradas) establecidas por el propietario de la cadena; si todos llegan a un consenso, se considera que el contrato inteligente se ha realizado correctamente. Por otro lado, si uno o más validadores llegan a un resultado diferente, es motivo para creer que alguien está actuando mal.
Assembly pretende ser una red segura y distribuida. Por lo tanto, los validadores son esenciales para Assembly. Son responsables de la distribución de la red, de asegurar la consistencia de los contratos ejecutados y de garantizar que otros validadores no se comporten mal.
¿Qué es un comité de validadores?
En Assembly, los validadores de contratos inteligentes forman grupos llamados comités de validadores para cada cadena de contratos inteligentes. El comité de validadores ejecuta los contratos inteligentes y llega a un consenso sobre el resultado de los cálculos.
¿Por qué deberíamos confiar en un comité de validadores?
Aunque no se debe confiar en los validadores individuales por sí mismos, se puede confiar en un comité de validadores para depositar nuestros activos en la cadena. La regla principal del consenso en el comité de validadores es que basta con que ⅔ + 1 de los validadores honestos produzcan un resultado válido. El resto puede tener un comportamiento erróneo: defectuoso o bizantino. Para producir un resultado erróneo (por ejemplo, robar fondos), ⅔ + 1 validadores deben coludirse. La pregunta es: ¿por qué y hasta qué punto podemos confiar en el comité de validadores en su conjunto?
Para poder evaluarlo, el equipo que está detrás de Assembly ha introducido un sistema de reputación llamado puntuación de confianza. Su objetivo es cuantificar la fiabilidad de un validador individual. A cada validador se le asigna una puntuación de confianza compuesta principalmente por la cantidad de tokens ASMB que están haciendo staking, una puntuación de fiabilidad y el número de contratos realizados correctamente. Supongamos que un validador tiene una puntuación de confianza alta; en ese caso, tiene un mayor poder de negociación en el mercado abierto de validadores y una mayor posibilidad de ser seleccionado para formar parte del comité de validadores de una cadena de contratos inteligentes.
La puntuación de confianza del comité de validadores se compone de las puntuaciones de confianza de los validadores individuales.
La puntuación de confianza del validador aumenta cada vez que un comité de validadores participa en la producción de un bloque correcto en la cadena de contratos inteligentes. Sin embargo, la puntuación de confianza del validador también se verá afectada negativamente (reduciéndose total o parcialmente) si el nodo del validador no realiza sus funciones correctamente.
En Assembly, un validador puede operar uno o más nodos de validación bajo una identidad pública. El validador tendrá que depositar una fianza y pagar tasas de registro por cada nodo. Además, cada cadena de contratos inteligentes tendrá una fianza mínima que cada validador de su comité deberá cubrir. Esto significa que un validador no puede validar una cantidad infinita de cadenas (asegurando así la protección Sybil). Este bono está bloqueado mientras el validador esté comprometido con el comité de validadores y puede ser cortado si el validador se comporta mal. Esto crea un sistema en el que el incentivo económico para violar un contrato inteligente dependerá de lo grande que sea el depósito de seguridad.
Beneficios
Naturalmente, un validador necesita algún incentivo para ser fiable, accesible y honesto, para estacar tokens ASMB, hacer un depósito, pagar los fees de registro y procesar contratos inteligentes. Los validadores cobrarán las recompensas de staking, las tasas de los nodos y (opcionalmente) las recompensas de los propietarios de la cadena de contratos inteligentes.
Dado que los tokens ASMB apostados contribuyen directamente al éxito y la seguridad de la red y también se utilizan para asegurar los contratos inteligentes, los validadores también serán recompensados periódicamente con tokens ASMB recién minteados.
El montaje es un mercado abierto de validadores. Las tarifas que puede cobrar un validador serán susceptibles de ser determinadas por la oferta y la demanda. Los validadores con la mayor puntuación de confianza podrán establecer las mayores comisiones.
Comprometiendo tu stake a un validador
Dirigir un nodo validador fiable puede parecer demasiado complicado o inaccesible para muchos, pero cualquiera que tenga tokens ASMB puede participar y beneficiarse de la seguridad de la red de Assembly. La forma más sencilla de hacerlo es haccer staking de sus tokens ASMB a un validador. En cada periodo, los validadores distribuirán las comisiones que hayan cobrado por la ejecución de contratos inteligentes y las recompensas de staking a todos los que hayan estakeado tokens ASMB en proporción a su stake. Puedes pensar en esto como si compraras acciones de un validador; cada vez que el validador recaude algún tipo de recompensa, ganarás tu parte de ella. Ten en cuenta que los validadores podrán establecer una comisión por ello.
Selección abierta de validadores
Conceptualmente, Assembly permitirá a los propietarios de la cadena (también conocidos como gobernadores) ser libres de seleccionar a los validadores para el comité de validadores de acuerdo con cualquier criterio que elijan. Sin embargo, nuestro objetivo es proporcionar una forma sencilla, descentralizada, sin permisos, segura y fiable de seleccionar a los validadores de un comité mediante la selección abierta de comités que se está investigando y desarrollando actualmente.
Para utilizar los comités abiertos, tendrás que colocar un mensaje especial de apertura en el contrato inteligente del mercado. Este mensaje debe contener los requisitos de su cadena de contrato inteligente, que se utilizará como una invitación a ofertar. Posteriormente, Assembly utilizará la puntuación agregada para cotejar los requisitos y los validadores disponibles. Ten en cuenta que Assembly pretende ser un mercado abierto, por lo que aunque el protocolo haya seleccionado a los validadores potenciales, éstos podrán elegir aceptar o rechazar la plaza en función de las tarifas ofrecidas por tu cadena de contratos inteligentes. También pretendemos permitirle asignar algunos de los asientos del comité a nodos de su elección, formando lo que se conoce como comités semicerrados y semiabiertos.
También estamos investigando la viabilidad del fishermen para animar a los actores honestos a denunciar el mal comportamiento. Los validadores que se demuestre que se han comportado mal podrán ser sustituidos mediante el procedimiento de rotación. Esto purgaría a los nodos poco fiables y a los «participantes perezosos» (es decir, cualquier nodo que pretenda cobrar recompensas sin hacer los cálculos necesarios para el contrato inteligente), haciendo que las cadenas sean más fiables. Assembly disminuirá las puntuaciones de confianza y fiabilidad de cualquier nodo que sea eliminado de una comisión y probablemente reducirá su stake. Los validadores honestos, o pescadores, serán alentados a reportar cualquier mal comportamiento que detecten siendo recompensados por Assembly con parte del staking recortado.
¿Qué es la cadena root o raíz?
La cadena root o raíz de Assembly ejecutará los contratos inteligentes de Assembly, responsables del funcionamiento del mercado abierto: manteniendo un registro de validadores y sus puntuaciones de confianza, recogiendo y manteniendo los stakings, comprobando las pruebas de fraude y realizando la lógica de castigo (la función de tribunal supremo), seleccionando de forma transparente los comités de validadores según las invitaciones a pujar de los propietarios de la cadena.
El camino hacia cadenas de contratos inteligentes verdaderamente descentralizadas y sin permisos
La red de Assembly tiene como objetivo desarrollar los contratos inteligentes de IOTA hasta el punto de ser verdaderamente descentralizados y sin permisos, sin dejar de ser seguros. Como puedes imaginar, este es un esfuerzo complejo con muchas preguntas abiertas. El equipo de investigación de la Assembly está trabajando activamente en las múltiples etapas necesarias para lograrlo, desde nuestro punto de partida en el que la Fundación IOTA ejecutará múltiples nodos coordinados hasta el objetivo final en el que pretendemos reemplazar al coordinador con entidades totalmente descentralizadas y sin permisos con seguridad compartida. Este viaje de investigación proporcionará valiosos conocimientos sobre el futuro de los contratos inteligentes y dirigirá el desarrollo en la dirección correcta.
Los contratos inteligentes de Assembly pretenden incentivar a los participantes en el mercado abierto de validadores para que actúen con honestidad y desalienten el mal comportamiento. Sólo los validadores dignos de confianza con una alta puntuación de confianza podrán obtener recompensas al participar en Assembly.
Los fees, stakes, recompensas y penalizaciones o slashing de Assembly tienen como objetivo trabajar juntos para crear un ecosistema vibrante. Los actores honestos son compensados con tokens ASMB por hacer la red más fiable y segura para todas las cadenas de contratos inteligentes.
El próximo artículo de la serie Conozca a Assembly presentará a los demás actores principales que participan en el mercado de Assembly.
Post original: Meet Assembly 2: Validators and Committees