Si, por ejemplo, la Entidad A quiere crear un contrato inteligente que administre un grupo de dispositivos. Pero dado que cada dispositivo usa un seudónimo y puede cambiarlo más tarde, ¿hay alguna forma de construir el contrato de modo que cada dispositivo tenga una dirección determinada durante un cierto período de tiempo (un mes, por ejemplo) y está disponible ahora en Etherum para que que la Entidad A puede emitir direcciones para los dispositivos que se unen al contrato inteligente? Solo pensando en una aplicación privada en etherum controlada por una sola entidad y también le gustaría detectar a los malos usuarios.
Sería mejor que los dispositivos tuvieran identificadores semipermanentes, su dirección, y luego la Entidad A tendrá el control de gestión exclusivo de una lista blanca o un sistema de control de acceso similar. El contrato rechazaría interacciones de dispositivos no autorizados.
Este es solo un boceto muy rápido con algunas preocupaciones importantes pasadas por alto para ilustrar la idea.
pragma solidity 0.4.25;
contract SimpleWhitelist {
address public owner;
mapping(address => bool) public isAuthorizedDevice;
modifier onlyOwner {
require(msg.sender==owner);
_;
}
modifier onlyAuthorizedDevice {
require(isAuthorizedDevice[msg.sender]);
_;
}
constructor() public {
owner = msg.sender;
}
function addOrRemoveDevice(address device, bool authorized) public onlyOwner {
isAuthorizedDevice[device]=authorized;
}
function somethingDevicesDo() public onlyAuthorizedDevice {
// contract rejects transaction unless the sender is whitelisted.
}
}
Espero eso ayude.
mohamed
Rob Hitchens
mohamed