7 research outputs found

    Detecting Robotic Anomalies using RobotChain

    Get PDF
    Robotic events can provide notable amounts of information regarding a robot’s status, which can be extrapolated to detect productivity, anomalies, malfunctions and used for monitorization. However, when problems occur in sensitive environments like a factory, the logs of a machine may be discarded because they are susceptible to chances and malicious intents. In this paper we propose to use RobotChain for anomaly detection. RobotChain is a method to securely register robotic events, using a blockchain, which ensures that once an event gets registered on it, it’s secured and cannot be tampered with. We show how this system can be leveraged with the module for anomaly detection, that uses the information contained on the blockchain to detect anomalies on a UR3 robot.This work was partially supported by the Tezos Fundation through a grant for project Robotchaininfo:eu-repo/semantics/publishedVersio

    Decentralized Vision-Based Byzantine Agent Detection in Multi-Robot Systems with IOTA Smart Contracts

    Full text link
    Multiple opportunities lie at the intersection of multi-robot systems and distributed ledger technologies (DLTs). In this work, we investigate the potential of new DLT solutions such as IOTA, for detecting anomalies and byzantine agents in multi-robot systems in a decentralized manner. Traditional blockchain approaches are not applicable to real-world networked and decentralized robotic systems where connectivity conditions are not ideal. To address this, we leverage recent advances in partition-tolerant and byzantine-tolerant collaborative decision-making processes with IOTA smart contracts. We show how our work in vision-based anomaly and change detection can be applied to detecting byzantine agents within multiple robots operating in the same environment. We show that IOTA smart contracts add a low computational overhead while allowing to build trust within the multi-robot system. The proposed approach effectively enables byzantine robot detection based on the comparison of images submitted by the different robots and detection of anomalies and changes between them

    Robot Workspace Monitoring using a Blockchain-based 3D Vision Approach

    Get PDF
    Blockchain has been used extensively for financial purposes, but this technology can also be beneficial in other contexts where multi-party cooperation, security and decentralization of the data is essential. Properties such as immutability, accessibility and non-repudiation and the existence of smart-contracts make blockchain technology very interesting in robotic contexts that require event registration or integration with Artificial Intelligence. In this paper, we propose a system that leverages blockchain as a ledger to register events and information to be processed by Oracles and uses smart-contracts to control robots by adjusting their velocity, or stopping them, if a person enters the robot working space without permission. We show how blockchain can be used in computer vision problems by interacting with multiple external parties, Oracles, that perform image analysis and how it is possible to use multiple smart-contracts for different tasks. The method proposed is shown in a scenario representing a factory environment, but since it is modular, it can be easily adapted and extended for other contexts, allowing for simple integration and maintenance.info:eu-repo/semantics/publishedVersio

    RobotChain: Artificial Intelligence on a Blockchain using Tezos Technology

    Get PDF
    Blockchain technology is not only growing everyday at a fast-passed rhythm, but it is also a disruptive technology that has changed how we look at financial transactions. By providing a way to trust an unknown network and by allowing us to conduct transactions without the need for a central authority, blockchain has grown exponentially. Moreover, blockchain also provides decentralization of the data, immutability, accessibility, non-repudiation and irreversibility properties that makes this technology a must in many industries. But, even thought blockchain provides interesting properties, it has not been extensively used outside the financial scope. Similarly, robots have been increasingly used in factories to automate tasks that range from picking objects, to transporting them and also to work collaboratively with humans to perform complex tasks. It is important to enforce that robots act between legal and moral boundaries and that their events and data are securely stored and auditable. This rarely happens, as robots are programmed to do a specific task without certainty that that task will always be performed correctly and their data is either locally stored, without security measures, or disregarded. This means that the data, especially logs, can be altered, which means that robots and manufacturers can be accused of problems that they did not cause. Henceforth, in this work, we sought to integrate blockchain with robotics with the goal to provide enhanced security to robots, to the data and to leverage artificial intelligence algorithms. By doing an extensive overview of the methods that integrate blockchain and artificial intelligence or robotics, we found that this is a growing field but there is a lack of proposals that try to improve robotic systems by using blockchain. It was also clear that most of the existing proposals that integrate artificial intelligence and blockchain, are focused on building marketplaces and only use the latter to storage transactions. So, in this document, we proposed three different methods that use blockchain to solve different problems associated with robots. The first one is a method to securely store robot logs in a blockchain by using smart-contracts as storage and automatically detect when anomalies occur in a robot by using the data contained in the blockchain and a smart-contract. By using smart-contracts, it is assured that the data is secure and immutable as long as the blockchain has enough peers to participate in the consensus process. The second method goes beyond registering events to also register information about external sensors, like a camera, and by using smart-contracts to allow Oracles to interact with the blockchain, it was possible to leverage image analysis algorithms that can detect the presence of material to be picked. This information is then inserted into a smart-contract that automatically defines the movement that a robot should have, regarding the number of materials present to be picked. The third proposal is a method that uses blockchain to store information about the robots and the images derived from a Kinect. This information is then used by Oracles that check if there is any person located inside a robot workspace. If there is any, this information is stored and different Oracles try to identify the person. Then, a smart-contract acts appropriately by changing or even stopping the robot depending on the identity of the person and if the person is located inside the warning or the critical zone surrounding the robot. With this work, we show how blockchain can be used in robotic environments and how it can beneficial in contexts where multi-party cooperation, security, and decentralization of the data is essential. We also show how Oracles can interact with the blockchain and distributively cooperate to leverage artificial intelligence algorithms to perform analysis in the data that allow us to detect robotic anomalies, material in images and the presence of people. We also show that smart-contracts can be used to perform more tasks than just serve the purpose of automatically do monetary transactions. The proposed architectures are modular and can be used in multiple contexts such as in manufacturing, network control, robot control, and others since they are easy to integrate, adapt, maintain and extend to new domains. We expect that the intersection of blockchain and robotics will shape part of the future of robotics once blockchain is more widely used and easy to integrate. This integration will be very prominent in tasks where robots need to behave under certain constraints, in swarm robotics due to the fact that blockchain offers global information and in factories because the actions undertaken by a robot can easily be extended to the rest of the robots by using smart-contracts.Hoje em dia é possível ver que a blockchain não está apenas a crescer a um ritmo exponencial, mas que é também uma tecnologia disruptiva que mudou a forma como trabalhamos com transações financeiras. Ao fornecer uma maneira eficiente de confiar numa rede desconhecida e de permitir realizar transações sem a necessidade de uma autoridade central, a blockchain cresceu rapidamente. Além disso, a blockchain fornece também descentralização de dados, imutabilidade, acessibilidade, não-repúdio e irreversibilidade, o que torna esta tecnologia indispensável em muitos setores. Mas, mesmo fornecendo propriedades interessantes, a blockchain não tem sido amplamente utilizada fora do âmbito financeiro. Da mesma forma, os robôs têm sido cada vez mais utilizados em fábricas para automatizar tarefas que vão desde pegar objetos, transportá-los e colaborar com humanos para realizar tarefas complexas. Porém, é importante impor que os robôs atuem entre certos limites legais e morais e que seus eventos e dados são armazenados com segurança e que estes possam ser auditáveis. O problema é que isso raramente acontece. Os robôs são programados para executar uma tarefa específica sem se ter total certeza de que essa tarefa irá ser executada sempre de maneira correta, e os seus dados são armazenados localmente, desconsiderando a segurança dos dados. Sendo que em muitas ocasiões, não existe qualquer segurança. Isso significa que os dados, especialmente os logs, podem ser alterados, o que pode resultar em que os robôs e, pela mesma linha de pensamento, os fabricantes, possam ser acusados de problemas que não causaram. Tendo isto em consideração, neste trabalho, procuramos integrar a blockchain com a robótica, com o objetivo de proporcionar maior segurança aos robôs e aos dados que geram e potenciar ainda a utilização de algoritmos de inteligência artificial. Fazendo uma visão abrangente dos métodos que propõem integrar a blockchain e inteligência artificial ou robótica, descobrimos que este é um campo em crescimento, mas que há uma falta de propostas que tentem melhorar os sistemas robóticos utilizando a blockchain. Ficou também claro que a maioria das propostas existentes que integram inteligência artificial e blockchain estão focadas na construção de marketplaces e só utilizam a blockchain para armazenar a informação sobre as transações que foram executadas. Assim, neste documento, propomos três métodos que utilizam a blockchain para resolver diferentes problemas associados a robôs. O primeiro é um método para armazenar, com segurança, logs de robôs dentro de uma blockchain, utilizando para isso smart-contracts como armazenamento. Neste método foi também proposta uma maneira de detetar anomalias em robôs automaticamente, utilizando para isso os dados contidos na blockchain e smart-contracts para definir a lógica do algoritmo. Ao utilizar smart-contracts, é garantido que os dados são seguros e imutáveis, desde que a blockchain contenha nós suficientes a participar no algoritmo de consenso. O segundo método vai além de registar eventos, para registar também informações sobre sensores externos, como uma câmara, e utilizando smart-contracts para permitir que Óraculos interajam com a blockchain, foi possível utilizar algoritmos de análise de imagens, que podem detetar a presença de material para ser recolhido. Esta informação é então inserida num smart-contract que define automaticamente o movimento que um robô deve ter, tendo em consideração a quantidade de material à espera para ser recolhida. A terceira proposta é um método que utiliza a blockchain para armazenar informações sobre robôs, e imagens provenientes de uma Kinect. Esta informação é então utilizada por Óraculos que verificam se existe alguma pessoa dentro do um espaço de trabalho de um robô. Se existir alguém, essa informação é armazenada e diferentes Óraculos tentam identificar a pessoa. No fim, um smart-contract age apropriadamente, mudando ou até mesmo parando o robô, dependendo da identidade da Com este trabalho, mostramos como a blockchain pode ser utilizada em ambientes onde existam robôs e como esta pode ser benéfica em contextos onde a cooperação entre várias entidades, a segurança e a descentralização dos dados são essenciais. Mostramos também como Óraculos podem interagir com a blockchain e cooperar de forma distribuída, para alavancar algoritmos de inteligência artificial de forma a realizar análises nos dados, o que nos permite detetar anomalias robóticas, material para ser recolhido e a presença de pessoas em imagens. Mostramos também que os smart-contracts podem ser utilizados para executar mais tarefas do que servir o propósito de fazer transações monetárias de forma automática. As arquiteturas propostas neste trabalho são modulares e podem ser utilizadas em vários contextos, como no fabrico de peças, controle de robô e outras. Devido ao facto de que as arquiteturas propostas, são fáceis de integrar, adaptar, manter e estender a novos domínios. A nossa opinião é que a interseção entre a blockchain e a robótica irá moldar parte do futuro da robótica moderna assim que a blockchain seja mais utilizada e fácil de integrar em sistemas robóticos. Esta integração será muito proeminente em tarefas onde os robôs precisam de se comportar sob certas restrições, em enxames de robôs, devido ao fato de que a blockchain fornece informação global sobre o estado da rede, e também em fábricas, porque as ações realizadas por um robô podem ser facilmente estendidas ao resto dos robôs, e porque fornece um mecanismo extra de segurança aos dados e a todas as ações que são efetuadas com ajuda de smart-contracts

    Robot Events using Tezos Technology

    Get PDF
    Robots are important equipment in the modern day factory environment. To maintain and improve factory productivity, ledgers containing robotic actions may be used to identify possible bottleneck points in a assembly line or to serve as a record of in unintentional behaviours, be it of a malicious nature or not. Blockchains are a type of secure ledger, that prevent unwanted changes. These blockchains, during their lifetimes, record large amounts of data, that in a common usage its kept on its entirety. This dissertation presents RobotChain, a possible solution using blockchain technology that prevents unwanted changes in a robotic action ledger, and provides a way to use the said ledger in order to aid in production efficiency or other management requirements, and presents a time-segmentation solution for devices with limited storage capacity, integrated in RobotChain. It also presents various experiments related to the performance of Tezos blockchain network with the various modifications.A robótica é um fator importante do dia-a-dia de uma fábrica moderna. Como tal, é importante manter estes robots a funcionar com o melhor desempenho possível e para fazer isto, uma forma é a utilização dos registos dos próprios robots de forma a identificar falhas ou comportamentos não intencionais sejam eles de natureza maliciosa ou não. As Blockchains são um tipo de base de dados eletrónica que previne a modificação de registos já inseridos. Esta tecnologia é interessante no contexto industrial a fim de prevenir alterações dos registos de robôs, sejam estas alterações não intencionais ou alterações maliciosas. Nesta dissertação é criada a RobotChain, uma blockchain para trabalhar com robots industriais, assente na blockchain Tezos. É apresentada também uma técnica de segmentação temporal de uma blockchain a fim de se poder fazer uso de dispositivos de computação mais fracos, com armazenamento mais limitado, de forma eficiente. Estes dispositivos de computação, referidos como compute devices, são módulos utilizados para fazer interface entre os robôs e a blockchain, evitando percas de desempenho dos robôs com a execução do novo programa associado, e, servem para tornar uniforme a informação enviada para a rede. É considerada também a existência de nodos de armazenamento, denominados cold storage nodes onde é guardada informação completa da rede, nodos de pedidos, query nodes, nodos que fazem interface entre operadores humanos e a blockchain, permitindo o acesso a informação contida nesta e nodos oráculos, nodos que interagem com a rede a partir de contratos inteligentes. São apresentados também resultados experimentais resultantes das varias alterações feitas à blockchain, assim como a funcionalidade de segmentação temporal

    A Blockchain System for Mobile Health Applications and Services

    Get PDF
    Com o aparecimento das tecnologias blockchain, o crescimento e adaptação de características criptográficas levaram à exploração de novos usos em novas áreas, como a computação móvel para a saúde (m-Health). Atualmente, estas tecnologias são implementadas primáriamente como mecanismos para manter os registos de saúde eletrónicos seguros. No entanto, novos estudos têm provado que estas apresentam-se como uma ferramenta poderosa para promover o controlo da informação de saúde pelos próprios pacientes e possibilita a existência de um historial médico sem alterações errôneas, para além da responsabilização dos profissionais de saúde. Nos últimos anos, verificou-se um rápido crescimento da área da m-Health, sustentada numa arquitetura orientada a serviços, levando a que a adaptação de mecanismos de blockchain em aplicações de saúde gerasse a possibilidade da existência de um serviço mais descentralizado, pessoal e disponível. A ideia de adaptar tecnologia blockchain na área da prestação de serviços de saúde apresenta inicialmente alguns pontos críticos, como por exemplo como é que é assegurada a segurança e a privacidade da informação de saúde guardada na blockchain. Normalmente, num sistema completamente descentralizado, a informação tem de estar completamente disponível a atores externos e tem de ser guardada de forma distribuída. Embora o armazenamento da informação de forma distribuída não apresente dificuldades, a particulariedade do tipo de informação que é guardada na blockchain e de que maneira esta é mantida privada e segura são questões problemáticas já conhecidas. Um breve estudo desta tecnologia é suficiente para concluir que não é adequado um registo médico de um paciente ser guardado na blockchain, uma vez que, devido ao tamanho do registo, iria gerar problemas de escalabilidade com o aumento do número de pacientes. Perante esta situação, o desempenho da blockchain iria diminuir e seria necessária uma quantidade demasiado elevada de poder computacional para a realização de tarefas básicas, gerando ainda um aumento nos requisitos de armazenamento e de transmissão em rede. Embora a blockchain não tenha capacidade para guardar a informação completa de um paciente, as suas características permitem que seja utilizada para guardar outros dados relacionados com a privacidade da informação da saúde. Deste modo, é precisamente no registo e controlo de acesso à informação de saúde que a tecnologia blockchain promete inovar. Ao registar todos os acessos à informação de saúde de um paciente, é possível criar um registo com a identificação e a autentificação de todos os utilizadores do sistema que requereram o acesso a determinada informação de saúde. Portanto, um registo de acesso consegue ser criado com uma pequena quantidade de informação, como um timestamp, com a identificação do utilizador que está a aceder aos dados e com a identificação do utilizador cujos dados estão a ser acedidos. Uma das grandes vantagens de registar a informação dos acessos numa blockchain é o facto de os registos serem distribuídos por várias localizações, sendo estas imutáveis e tolerantes a falhas e públicos. Deste modo, verifica-se que os problemas de escalabilidade, associados ao tamanho reduzido do registo, que surgem ao guardar informação na blockchain discutidos previamente conseguem ter um impacto mais reduzido. Contudo, apesar das vantagens desta tecnologia, alguns dos aspetos da sua integração desta em m-Health não são compatíveis com a natureza da informação de saúde de um paciente. Para acomodar tecnologia blockchain na área da saúde, é necessário que o sistema seja construído com várias restrições em mente. Uma destas restrições é o facto de que a informação presente na blockchain é normalmente pública, o que entra em conflito com o direito à privacidade dos pacientes e leva à necessidade de encriptar a informação. Outra restrição é o facto de como identificar um utilizador num registo de acesso, uma vez que normalmente a informação dos utilizadores é anónima. O objetivo desta dissertação é estudar como a tecnologia blockchain consegue ser conjugada com a informação de saúde recolhida ou processada por aplicações móveis. Com a finalidade de alcançar esse objetivo, foi desenvolvido um protótipo de uma solução baseada em blockchain para controlar acesso à informação de saúde. Este protótipo para além de oferecer uma segurança melhorada da informação, devido à implementação de mecanismos de criptografia, oferece um historial médico imutável ao armazenar informação de eventos de saúde numa blockchain. A esta construção foi ainda adicionado um sistema de armazenamento de dados anónimos baseado numa arquitetura de data lake. Posteriormente, este protótipo foi integrado num ambiente de teste, que consistiu em várias aplicações móveis, com o objetivo de testar detalhadamente a viabilidade e desempenho de propostas similares.With the advent of blockchain, the growth and adaptation of cryptographic features and capabilities were quickly extended to new and under-explored areas, such as healthcare. Currently, blockchain is being implemented mainly as a mechanism to secure Electronic Health Record (EHR)s. However, new studies have shown that this technology can be a powerful tool in empowering patients to control their own health data, as well as for enabling a fool-proof health data history and establishing medical responsibility. With the advent of mobile health (m-Health) sustained on service-oriented architectures, the adaptation of blockchain mechanisms into m-Health applications creates the possibility for a more decentralized and available healthcare service. The idea of adapting blockchain technology into healthcare initially presents several critical points where special consideration is required, such as how privacy and security of healthcare information can be assured if information is stored into a blockchain. Usually, for a completely decentralized system, the information has to be available to everyone and is to be stored in a distributed manner. While the storage of the information being distributed is not difficult, what kind of information should be stored into the blockchain as well as how this information can be kept private and secure present issues. A brief study of blockchain technology is enough to conclude that a full patient record is not fit to be stored into a blockchain, because the size of the record would create scalability problems as the number of patient records increases. This diminishes the performance of the blockchain to where the amount of computational power needed to perform basic tasks would rise considerably, as well as the storage and network requirements needed to permanently store the information and to replicate the information throughout the whole network, respectively. However, other uses for blockchain technology arise once the nature of the health information is analyzed thoroughly. Because of the highly personal and private aspect of health information belonging to a patient, the security of how that information is stored, transmitted and accessed becomes a main focus of health systems. It is precisely in access recording and management of healthcare information that blockchain shows promise in implementation. By recording all accesses to a the health information of a patient, it is possible to create a log of every user in a system that has had access to some information. By having a system that identifies and authenticates all users, every access to health data can be recorded as having been done by an identified user. An access record can be made with a small amount of information, such as a timestamp, an accessing user identifier and an identifier of the user whose data is being accessed. Because an access record can be accomplished with only this amount of information, the scalability issues that where discussed earlier regarding storing information into a blockchain can be mitigated. In terms of advantages, recording access information into a blockchain results in the access records being distributed across several locations, immutable, fault-tolerant and public. However, some aspects of the integration of blockchain into healthcare result in incompatibilities of the nature of health information and of blockchain. To accommodate health information and blockchain, the surrounding system must be constructed with several limitations in mind. One of which is the public nature of blockchain not being in line with the private nature of health information and therefore the information must be encrypted, or how a user can be identified in an access record if usually information in a blockchain is anonymous. This work proposes a system that successfully integrates blockchain into an m-Health testbed, outlining how both areas have evolved and their main challenges. The proposed system offers enhanced information security both in transmission, storage and access, by integrating several cryptographic mechanisms. Furthermore it is integrated with a blockchain access system and a high volume anonymous information storage mechanism based on a data lake database architecture. This system is integrated into a testbed that allows for a more detailed discussion on viability and performance of similar concepts
    corecore