Específicamente, con mi pregunta quiero apuntar a Oracelize.it como posiblemente el servicio de Oracle más "vanguardista". Esta especificación se realiza para excluir ataques triviales en la posible respuesta.
Un posible vector de ataque está en OraclizeAddrResolver. Esencialmente, Oracle almacena, en Blockchain, la dirección de su último contrato de Oracle. También contienen el poder de cambiar esta dirección. Un atacante, que podría ser Oraclize.it o alguien que comprometa su servidor, podría atacar trivialmente a cualquier persona que use Oraclize actualizando la dirección de Oracle a la dirección de un contrato malicioso.
Hay muchas formas en las que podría acceder a un servicio de Oracle, pero si los contratos funcionan en el modelo de Oraclize en el que solo está tomando datos de otro sitio web, la otra opción es atacar ese sitio web. Cuando crea un servicio de Oracle, tiene una idea del tipo de objetivo en el que podría convertirse, por lo que al menos puede intentar protegerlo adecuadamente. Mientras que si está ejecutando una fuente de datos meteorológicos, probablemente no se le pase por la cabeza que las personas podrían usarla para dirigir cantidades significativas de efectivo anónimo en línea.
El peligro aquí ni siquiera se detiene en el sitio que es atacado, porque una vez que un feed es atacado, los otros comenzarán a revocar las claves API y a reforzar sus términos de servicio en lugar de tomarse la molestia y los gastos de hacerlos seguros. suficiente para estos fines, y las personas que confían en sus resultados para liquidar sus contratos van a ser SOL. Esta es una de las razones por las que diseñamos Reality Keys con una capa potencial de intervención humana entre la fuente de datos original y el contrato, en lugar de simplemente decir "Esto es lo que nos dijo la fuente de datos, buena suerte".
Tomas Bertani
Edmundo Edgar