Analysis and Design of Open Decentralized Serverless Computing Platforms

  • Author / Creator
    Ghaemi, Sara
  • The distributed ledger technology (DLT) has been envisioned to be a disruptive technology with applications in various industries. For the DLTs to be effectively used in practice, it is crucial to assess their performance in different use cases and scenarios. In this thesis, we first conduct a systematic survey on the performance evaluation of distributed ledgers. Then we identify and present the performance evaluation techniques, the most important performance metrics, and the bottlenecks of various well-known DLTs. Finally, we present a list of possible directions for future research.
    Our survey identifies the lack of a detailed performance evaluation for DAG-based distributed ledgers presented so far. Compared to blockchains, DAG-based DLTs offer better performance and scalability by design. In the second part of this thesis, we focus on the performance evaluation of IOTA, which is the prominent implementation of DAG-based distributed ledgers. In this work, we investigate the impact of different design parameters on the performance of an IOTA network. We then propose a layered model to help the users determine the optimal waiting time to resend an unconfirmed transaction. The results can be used by both system designers and users to support their decision making.
    In the third part of this thesis, we use the findings from the previous two parts to design an open blockchain-based serverless computing platform called ChainFaaS that runs on personal computers. To better understand the capacity of personal computers, we conducted a survey that aims to find their unused computational power. The results indicate that the typical CPU utilization of a personal computer is only 24.5% and, on average, a personal computer is only used 4.5 hours per day. This shows a significant computational potential that can be used towards distributed computing. In this work, we introduce ChainFaaS with the motivation to use the computational capacity of personal computers as well as to improve developers' experience of internet-based computing services by reducing their costs, enabling transparency, and providing reliability. We propose the design of ChainFaaS and then implement and evaluate a prototype of this platform to show the feasibility of this paradigm.
    The current implementation of ChainFaaS provides payment using a monetary smart contract on the blockchain network. For this platform to be used in practice, ChainFaaS needs to support payment in established cryptocurrencies. As a result, the blockchain network in ChainFaaS needs to interoperate with other distributed ledger technologies to enable such payments. In the last part of this thesis, we investigate a possible solution to enable interoperability in blockchains. We propose a blockchain interoperability solution for permissioned blockchains based on the publish/subscribe architecture. We then implement a prototype of the proposed solution and evaluate its performance. The result of this research not only enables ChainFaaS to support payments in established cryptocurrencies, but it also allows any other blockchain-based application to interoperate with other blockchain networks and use the data and information available on them.

  • Subjects / Keywords
  • Graduation date
    Spring 2021
  • Type of Item
  • Degree
    Master of Science
  • DOI
  • License
    This thesis is made available by the University of Alberta Libraries with permission of the copyright owner solely for non-commercial purposes. This thesis, or any portion thereof, may not otherwise be copied or reproduced without the written consent of the copyright owner, except to the extent permitted by Canadian copyright law.