title: A Blockchain-based computation offloading approach with result verification
Creators: name: Körbel, Benjamin
Publisher: name: TU Wien
Year: 2020
Subjects: subject: Computation Offloading
subject: Blockchain
subject: Zero Knowledge Proofs
subject: Computation Offloading
subject: Blockchain
subject: Zero Knowledge Proofs

description: Computation Offloading bezeichnet das Auslagern von Berechnungen an externe Plattformen. Diese Plattformen verfügen über leistungsstarke Ressourcen, die gegen eine Gebühr genutzt werden können. Computation Offloading wird häufig bei Geräten mit einer beschränkten Hardwareausstattung eingesetzt, bspw. um die Zeit für die Abarbeitung von komplexen Berechnungen zu verkürzen oder den Akkustand zu schonen. Üblicherweise erfolgt die Auslagerung an eine Cloud-Infrastruktur, also Rechenzentren mit nahezu endlosen Ressourcen. Der Cloud-Anbieter trägt die alleinige Verantwortung über die Zuweisung von Ressourcen als auch die Zahlungsabwicklung. Dies erfordert eine gut ausgebaute Infrastruktur, welche nur wenige große Anbieter wie bspw. Amazon, Microsoft und Google bereitstellen können. Für kleinere Anbieter ist der Markteintritt daher schwierig. Eine Alternative zu traditionellen Cloud-Anbietern stellt die Blockchain dar. Mittels Peer-to-Peer-Netzwerk ermöglicht die Blockchain eine dezentrale Verwaltung von Daten und Programmen, da sämtliche Änderungen von allen Netzwerkteilnehmern durchgeführt und verifiziert werden. Für die Teilnahme am Netzwerk gibt es keine Beschränkungen oder Hürden. Aufgrund dessen bietet sich die Blockchain-Technologie als Grundlage für eine dezentrale, frei zugängliche Computation-Offloading-Plattform an. Da eine Blockchain jedoch nicht für aufwendige Berechnungen geeignet ist bzw. deren Ausführung sehr teuer werden kann, ist es erforderlich, die Berechnungen außerhalb der Blockchain durchzuführen. Dies führt allerdings dazu, dass man auf die korrekte Ausführung der Berechnungen seitens der Netzwerkteilnehmer vertrauen muss. In dieser Arbeit entwickeln wir auf Basis der Blockchain-Technologie einen Ansatz, der es beliebigen Anbietern ermöglicht, Ressourcen gegen eine Gebühr zu vermieten. Zudem vergleichen wir in einer Evaluierung mehrere Möglichkeiten, Berechnungen außerhalb der Blockchain von Anbietern durchführen zu lassen, ohne dabei einem bestimmten Anbieter für die korrekte Ausführung vertrauen zu müssen. Anhand eines exemplarischen Anwendungsfalls zeigen wir, dass unser Ansatz eine Alternative zu traditionellen Cloud-Anbietern bietet.
description: Computation offloading refers to the outsourcing of tasks to providers with vast computational resources in exchange for a fee. It can be an enabling technique for devices with limited computational resources, e.g., mobile or IoT-devices. These resource-constrained devices can benefit from computation offloading, e.g., by a reduced application runtime and battery savings. Conventionally, computation offloading takes place in the cloud, i.e., in data centers with nearly endless computational resources. Usually, all layers of the cloud such as the assignment of resources and payment processing are controlled by a single provider. Because of high cost for provisioning and maintaining cloud infrastructure, the cloud provider market is dominated by only a few big organizations such as Amazon, Microsoft, and Google. For small to medium-sized companies it is difficult to enter the market. Blockchain technology provides an alternative to traditional cloud providers. Organized as peer-to-peer network, the blockchain manages data and programs in a decentralized manner since all participants execute and verify all state changes. Furthermore, blockchain technology allows participants to freely join and leave the network. As such, blockchain technology is a promising solution to realize a decentralized and open computation offloading platform. However, carrying out resource-intensive computations on blockchains is rather expensive or in some cases just not possible. To tackle this problem, computations can be executed off the blockchain. However, if the task is computed off-chain, the correctness of the computation is not verified by the peer-to-peer network. In other words, the resource provider has to be trusted. In this thesis, we develop a blockchain-based computation offloading approach that allows arbitrary providers to rent out their computational resources for a fee. We compare multiple solutions for executing tasks off-chain without having to trust the resource provider carrying out the computation. As such, the proposed solution provides an open alternative to traditional cloud providers.