Abstract

A blockchain oracle problem is a problem that defines a mechanism for how to safely bring external data to the blockchain. Although there have been various research efforts to solve this problem, existing solutions are limited in that they do not support either data availability or data integrity. Furthermore, no solution has been proposed to minimize the response time when an oracle server is malicious or overloaded. This paper proposes a distributed oracle using Intel Software Guard Extensions (SGX). The proposed approach uses multiple oracle servers to support data availability. It also supports data integrity using Intel SGX and Transport Layer Security (TLS) communication. The reputation system, which favors oracle servers with short response times, minimizes the average response time even if some of the oracle servers are malicious. The benchmarking results show that the response time of the proposed approach with 3 oracle servers is only 14% slower than a centralized oracle called Town-crier and scales well even if the number of oracle servers is increased up to 9. The reputation system is also evaluated, and its feasibility is analyzed using various experiments.

Highlights

  • Blockchain is a peer-to-peer distributed ledger system where network participants own a ledger and validate transactions through a consensus algorithm [1]

  • The blockchain was originally developed as part of Bitcoin [1], it has recently been emerged as an innovative technology that can support a variety of fields such as healthcare [2], Internet of Things (IoT) [3] or medical data management [4]

  • The measured response time excludes the time taken in Ethereum blockchain since the block generation time (i.e., 15 s) is too huge to exactly reflect the overall response time

Read more

Summary

Introduction

Blockchain is a peer-to-peer distributed ledger system where network participants own a ledger and validate transactions through a consensus algorithm [1]. Many blockchain-based IoT decentralized applications (Dapps) such as Shipchain [5], Supplychain [6], Autoblock [7] have been developed. Those Dapps usually require external IoT data to be brought into the blockchain. Ethereum [22] is a permissionless blockchain platform for creating and executing Dapps through smart contract. A smart contract is an application code and data executed on all participating blockchain nodes, which ensures integrity and reliability of its execution results. The smart contracts created by users are compiled into the bytecode to be deployed in the blockchain network. Based on the information in the smart contracts that are deployed through blockchain, all nodes can execute all smart contracts and validate the results executed by other nodes

Methods
Results
Conclusion

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.