¿Está disponible tener una aplicación administrada por una sola entidad?

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.

Respuestas (1)

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.

Pero esta solución requiere un conocimiento previo de la Entidad A sobre la lista blanca. Esto puede poner en peligro su privacidad/anonimato ya que la Entidad A puede vincular transacciones futuras con uno de ellos.
Creo que necesitamos saber más sobre los requisitos de confidencialidad y la frecuencia de las transacciones, la escala, etc., para saber si su plan es factible.
La idea es que en algún intervalo de tiempo, la Entidad A recibirá solicitudes de algunos otros dispositivos y, en función de esta información, a cada dispositivo se le asignará un valor. Por lo tanto, se requiere la siguiente seguridad/privacidad: 1. Mantener la privacidad de las identidades de los usuarios de la Entidad A 2. También a la Entidad A le gustaría detectar si uno de los dispositivos se comportó mal al intentar cambiar su solicitud en el futuro para obtener más privilegios.