Así es como existen tantos contratos en el bloque génesis de Dusk.
Stake, que hace el seguimiento de los provisioners, el staking, las recompensas y la gestión del conjunto de validadores. Transfer, que mueve $DUSK y actúa como el punto de entrada para la ejecución y el pago de gas.
Eso es toda la base confiable.
Sigo pensando en lo inusual que es. Muchas cadenas lanzan con una docena de módulos del sistema ya integrados: gobernanza, naming, mercados de tarifas, precompilados para lo que estuviera de moda ese año. Cada uno de ellos es código que nunca puedes eliminar por completo, auditado una vez, y llevado para siempre.
@Dusk fue en la dirección contraria. Todo lo demás tiene que desplegarse como lo haría cualquier usuario: como una transacción. El despliegue de contratos ni siquiera era posible después del génesis en versiones anteriores: se agregó como un tipo de transacción específicamente para el lanzamiento en la red principal, para que nadie, ni siquiera el equipo, necesitara una ruta especial.
La ventaja es obvia. Una pequeña superficie de génesis es una pequeña superficie de ataque permanente, y significa que el equipo del protocolo no puede privilegiar en secreto sus propias aplicaciones en la capa base.
El intercambio es menos evidente y vale la pena decirlo en voz alta. Cuando casi nada está integrado, casi todo es el contrato de alguien: con la clave de actualización de alguien, el bug de alguien, el riesgo de abandono de alguien. Pools de staking, servicios de nombres, DEXs: todo está en el espacio del usuario (user-land). Para una cadena que busca a instituciones, "es solo un contrato que alguien desplegó" es una frase que se pregunta en la diligencia.
Base mínima, responsabilidad máxima empujada hacia afuera. Esa es una filosofía, no un accidente.
¿Preferirías que una cadena construya las piezas importantes dentro del protocolo, donde son permanentes y auditadas, o dejarlas en el espacio del usuario, donde son reemplazables pero no están bajo propiedad?
#dusk
Stake, que hace el seguimiento de los provisioners, el staking, las recompensas y la gestión del conjunto de validadores. Transfer, que mueve $DUSK y actúa como el punto de entrada para la ejecución y el pago de gas.
Eso es toda la base confiable.
Sigo pensando en lo inusual que es. Muchas cadenas lanzan con una docena de módulos del sistema ya integrados: gobernanza, naming, mercados de tarifas, precompilados para lo que estuviera de moda ese año. Cada uno de ellos es código que nunca puedes eliminar por completo, auditado una vez, y llevado para siempre.
@Dusk fue en la dirección contraria. Todo lo demás tiene que desplegarse como lo haría cualquier usuario: como una transacción. El despliegue de contratos ni siquiera era posible después del génesis en versiones anteriores: se agregó como un tipo de transacción específicamente para el lanzamiento en la red principal, para que nadie, ni siquiera el equipo, necesitara una ruta especial.
La ventaja es obvia. Una pequeña superficie de génesis es una pequeña superficie de ataque permanente, y significa que el equipo del protocolo no puede privilegiar en secreto sus propias aplicaciones en la capa base.
El intercambio es menos evidente y vale la pena decirlo en voz alta. Cuando casi nada está integrado, casi todo es el contrato de alguien: con la clave de actualización de alguien, el bug de alguien, el riesgo de abandono de alguien. Pools de staking, servicios de nombres, DEXs: todo está en el espacio del usuario (user-land). Para una cadena que busca a instituciones, "es solo un contrato que alguien desplegó" es una frase que se pregunta en la diligencia.
Base mínima, responsabilidad máxima empujada hacia afuera. Esa es una filosofía, no un accidente.
¿Preferirías que una cadena construya las piezas importantes dentro del protocolo, donde son permanentes y auditadas, o dejarlas en el espacio del usuario, donde son reemplazables pero no están bajo propiedad?
#dusk
