Table of Links
Abstract and 1 Introduction
2 Background and Motivation
2.1 Decentralized Computing Infrastructure and Cloud
2.2 Advantages of DeFaaS
2.3 System Requirements
3 Overview of DeFaaS
4 Detailed Design of DeFaaS and 4.1 Decentralized Scheduling and Load Balancing
4.2 Decentralized Event Distribution
4.3 API Registration and Access Control
4.4 OAuth2.0 Support
4.5 Logging and Billing and 4.6 Trust Management
4.7 Supporting Multi-Cloud Service Mesh
5 Implementation and Evaluation
5.1 Implementations
5.2 Experiments
5.3 Evaluation
6 Related Work
7 Conclusions and References
The related work can be categorized into the following areas.
Multi-cloud FaaS. There exist efforts like [Zhao et al.(2022), Baarzi et al.(2021)] to enable multi-cloud FaaS. Since our design is described in the context of Open FaaS, it is worth mentioning the existing effort on supporting distributed Open FaaS [Vieira et al.(2019)]. The objectives of these efforts are fundamentally different from ours as they mainly target enterprise customers and enterprise application settings. For this reason, they often involve centralized component for scheduling, orchestration, synchronization or monitoring purposes, for instance, the controller in [Baarzi et al.(2021)]. In addition, they do not need to offer integration or interopreability with blockchains for instance support for authorization and authentication based on blockchain wallet accounts. The trust model and assumptions are also drastically
different. Furthermore, a major distinguishing characteristic is that our design and protocol primarily rely on decentralized building components for almost all the major functions like event triggering, state synchronization, management, scheduling, authorization and authentication.
dApp/Web3 offering by cloud providers. As described earlier, to capitalize the rapid growth of Web3, cloud providers are rushing to this space by offering cloud based resources to Web3 and dApp developers. To certain extent, our efforts are both complementary to and different from the cloud providers’ efforts. Regarding the differences, our efforts mainly target at the areas of multi-cloud support, decentralized management layer, blockchain integration and interoperability. These elements are missing in Web3 strategy of a single cloud provider. For instance, it is not at a single cloud provider’s interest to enable multi-cloud support of FaaS for dApp and Web3. Decentralized management layer above a single cloud’s realm is also out of the reach of a single cloud provider. In another word, our design fills a gap that is both outside the interest as well as outside the reach of a single cloud provider.
Cloud-based dApps and Web3 applications. Web3 and dApp projects have been applying cloud services for many advantages such as low cost, on-demand resources, out-sourced management. There exist efforts to facilitate integration of cloud based dApps with blockchains like API3 [Burak Benligiray([n. d.])] and Chainlink [Kaleem and Shi(2021)]. Our work fundamentally distinguishes from them in both the overall goals and implementations. Firstly, API3 and Chainlink mainly focus on Oracle applications, dApps that provide Oracle data feeds to the blockchains. Our design is not restricted to Oracle applications. From the description, one can easily tell that our framework is a comprehensive approach for decentralized FaaS, which is much broader than what exist today. Secondly, we provide a unified and blockchain based management layer that spans multi-cloud data centers. Such component is missing in the related work. For instance, API3 relies on cloud provider’s API gateway service. In addition, it does not support coordination across multi-cloud data centers. In contrast, our framework enables decentralized FaaS across multi-cloud with a network of API gateways. Most of the functions and components supported by our framework such as decentralized API scheduling, decentralized event triggering, and decentralized state synchronization, etc are missing in the related work. Partially the reason is that they focus on a much narrower objective, leveraging the cloud resources for off-chain Oracle sources, whereas our goal is to enable fully decentralized FaaS. The dramatic differences in the objective lead to completely different approaches in design.
Volunteer computing-based support for dApp/Web3 applications. Like mentioned earlier, there exist marketplaces and frameworks to enable sharing and exchange computing resources contributed by volunteers (e.g., [iEXEC(2017), Network(2016), SONM(2017), Hanke et al.(2018)]). In almost all the cases, these projects focus on tokenization of computing resources and electronic marketplaces for trading the tokenized computing resources. Although our framework can be easily extended to include a decentralized marketplace component, this is not the main focus of the described work. Furthermore, our design focuses on decentralized FaaS deployed over multi-cloud data centers instead of resources contributed from anonymous users or peers. Our focus on decentralized management and governance of decentralized FaaS is not addressed in these volunteer computing based projects. However, it is important to point out that it is plausible to extend our framework to cover resources from non-cloud providers like ICT resources from volunteers.
7 Conclusions
FaaS is a new computation paradigm, and offers high flexible and scalable computation capability. While it is feasible for an dApp/Web3 application to take advantage of the existing FaaS, it greatly impacts the decentralization character as most FaaS is owned and managed by a single cloud service provider. We propose DeFaaS in this work, which utilizes blockchain technology to coordinate FaaS systems of multiple cloud service providers.
References
[Agostinho et al.(2022)] Pedro Agostinho, David Dias, and Lu´ıs Veiga. 2022. SmartPubSub: Content-based Pub-Sub on IPFS. https://doi.org/10.48550/ARXIV.2207.06369
[Alcantara et al.(2017)] ˆ Joel Alcantara, Tiago Oliveira, and Alysson Bessani. 2017. Ginja: One-dollar cloud-based ˆ disaster recovery for databases. In Proceedings of the 18th ACM/IFIP/USENIX Middleware Conference. 248–260.
[Almutairi et al.(2021)] Suzan Almutairi, Nusaybah Alghanmi, and Muhammad Mostafa Monowar. 2021. Survey of Centralized and Decentralized Access Control Models in Cloud Computing. International Journal of Advanced Computer Science and Applications 12, 2 (2021). https://doi.org/10.14569/IJACSA.2021.0120243
[Amazon([n. d.])] Amazon. [n. d.]. EventBridge. https://aws.amazon.com/eventbridge/. Last accessed on 9/28/2020.
[Baarzi et al.(2021)] Ataollah Fatahi Baarzi, George Kesidis, Carlee Joe-Wong, and Mohammad Shahrad. 2021. On Merits and Viability of Multi-Cloud Serverless. In Proceedings of the ACM Symposium on Cloud Computing (Seattle, WA, USA) (SoCC ’21). Association for Computing Machinery, New York, NY, USA, 600–608. https: //doi.org/10.1145/3472883.3487002
[Baldoni et al.(2007)] Roberto Baldoni, Roberto Beraldi, Vivien Quema, Leonardo Querzoni, and Sara TucciPiergiovanni. 2007. TERA: topic-based event routing for peer-to-peer architectures. In Proceedings of the 2007 inaugural international conference on Distributed event-based systems. 2–13.
[Bambacht and Pouwelse(2022)] Joost Bambacht and Johan Pouwelse. 2022. Web3: A Decentralized Societal Infrastructure for Identity, Trust, Money, and Data. CoRR abs/2203.00398 (2022). https://doi.org/10.48550/ arXiv.2203.00398 arXiv:2203.00398
[Benet(2014)] Juan Benet. 2014. IPFS – Content Addressed, Versioned, P2P File System. https://doi.org/10. 48550/ARXIV.1407.3561
[Besu([n. d.])] Besu. [n. d.]. Hyperledger Besu. https://besu.hyperledger.org/. Accessed: 04/20/2021.
[Bonneau et al.(2015)] Joseph Bonneau, Jeremy Clark, and Steven Goldfeder. 2015. On Bitcoin as a public randomness source. IACR Cryptol. ePrint Arch. 2015 (2015), 1015.
[Burak Benligiray([n. d.])] Heikki V¨anttinen Burak Benligiray, Saˇsa Mili´c. [n. d.]. Decentralized APIs for Web 3.0. https://api3.org.
[Cha et al.(2021)] Shi-Cho Cha, Chu-Lin Chang, Yang Xiang, Zi-Jia Huang, and Kuo-Hui Yeh. 2021. Enhancing OAuth with Blockchain Technologies for Data Portability. IEEE Transactions on Cloud Computing (2021), 1–1. https://doi.org/10.1109/TCC.2021.3094846
[De and Ruj(2020)] Sourya Joyee De and Sushmita Ruj. 2020. Efficient Decentralized Attribute Based Access Control for Mobile Clouds. IEEE Transactions on Cloud Computing 8 (2020), 124–137.
[Fission([n. d.])] Fission. [n. d.]. Fast serverless functions for kubernetes. https://github.com/fission/fission. Accessed: 01/20/2021.
[Fotiou et al.(2020)] Nikos Fotiou, Iakovos Pittaras, Vasilios A. Siris, Spyros Voulgaris, and George C. Polyzos. 2020. OAuth 2.0 authorization using blockchain-based tokens. NDSS Workshop on Decentralized IoT Systems and Security (DISS) abs/2001.10461 (2020). arXiv:2001.10461 https://arxiv.org/abs/2001.10461
[Github([n. d.])] Github. [n. d.]. Sofie interledger repository. https://github:com/SOFIE-project/ Interledger. [Gloo([n. d.])] Gloo. [n. d.]. An Envoy-Powered API Gateway. https://docs.solo.io/gloo-edge/latest/.
[Hanke et al.(2018)] Timo Hanke, Mahnush Movahedi, and Dominic Williams. 2018. DFINITY Technology Overview Series, Consensus System. https://doi.org/10.48550/ARXIV.1805.04548
[Hardt(2012)] D. Hardt. 2012. The OAuth 2.0 Authorization Framework. RFC 6749. RFC Editor. http://www. rfc-editor.org/rfc/rfc6749.txt http://www.rfc-editor.org/rfc/rfc6749.txt.
[Herlihy(2018)] Maurice Herlihy. 2018. Atomic Cross-Chain Swaps. Proceedings of the 2018 ACM Symposium on Principles of Distributed Computing (2018).
[Hou et al.(2017)] Binbing Hou, Feng Chen, Zhonghong Ou, Ren Wang, and Michael Mesnier. 2017. Understanding I/O performance behaviors of cloud storage from a client’s perspective. ACM Transactions on Storage (TOS) 13, 2 (2017), 1–36.
[iEXEC(2017)] iEXEC. 2017. Blockchain-based decentralized cloud computing. https://iex.ec/wp-content/ uploads/pdf/iExecWPv3.0-English.pdf.
[Initiative(2021)] OpenAPI Initiative. 15 February 2021. OpenAPI Specification v3.1.0. https://github.com/ OAI/OpenAPI-Specification/.
[Jones et al.(2015)] M. Jones, J. Bradley, and N. Sakimura. 2015. JSON Web Token (JWT). RFC 7519. RFC Editor. http://www.rfc-editor.org/rfc/rfc7519.txt http://www.rfc-editor.org/rfc/rfc7519.txt.
[Jones and Hardt(2012)] M. Jones and D. Hardt. 2012. The OAuth 2.0 Authorization Framework: Bearer Token Usage. RFC 6750. RFC Editor. http://www.rfc-editor.org/rfc/rfc6750.txt http://www.rfc-editor. org/rfc/rfc6750.txt.
[Kaleem and Shi(2021)] Mudabbir Kaleem and Weidong Shi. 2021. Demystifying Pythia: A Survey of ChainLink Oracles Usage on Ethereum. In Financial Cryptography and Data Security. FC 2021 International Workshops, Matthew Bernhard, Andrea Bracciali, Lewis Gudgeon, Thomas Haines, Ariah Klages-Mundt, Shin’ichiro Matsuo, Daniel Perez, Massimiliano Sala, and Sam Werner (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 115–123.
[Knative([n. d.])] Knative. [n. d.]. Eventing. https://knative.dev/docs/eventing/. Last accessed on 5/28/2021.
[Kubeless([n. d.])] Kubeless. [n. d.]. Kubernetes native serverless framework. https://github.com/kubeless/ kubeless. Accessed: 10/17/2022.
[Kursawe(2022)] Klaus Kursawe. 2022. Beyond Staking: An Aphoristic design for Staking and Rewards. In The 2nd Workshop on Decentralized Finance (DeFi).
[Li et al.(2019)] Wubin Li, Yves Lemieux, Jing Gao, Zhuofeng Zhao, and Yanbo Han. 2019. Service mesh: Challenges, state of the art, and future research opportunities. In 2019 IEEE International Conference on Service-Oriented System Engineering (SOSE). IEEE, 122–1225.
[libp2p(2022a)] libp2p. 2022a. floodsub: Also known as pubsub-flood or just dumbsub, this implementation of pubsub focused on delivering an API for Publish/Subscribe, but with no CastTree Forming (it just floods the network). https://github.com/libp2p/js-libp2p-floodsub
[libp2p(2022b)] libp2p. 2022b. specs/pubsub at master · libp2p/specs. https://github.com/libp2p/specs/ tree/master/pubsub
[libp2p(2022c)] libp2p. 2022c. What is Publish/Subscribe – libp2p. https://docs.libp2p.io/concepts/ pubsub/overview/
[Liu et al.(2021)] Tao Liu, Xiaowei Chen, Jin Li, Shaocheng Wu, Wenlong Sun, and Yueming Lu. 2021. Research on Progress of Blockchain Access Control. In 2021 IEEE Sixth International Conference on Data Science in Cyberspace (DSC). 516–522. https://doi.org/10.1109/DSC53577.2021.00082
[Maesa et al.(2019)] Damiano Di Francesco Maesa, Paolo Mori, and Laura Ricci. 2019. A blockchain based approach for the definition of auditable Access Control systems. Computers & Security 84 (2019), 93–119. https: //doi.org/10.1016/J.COSE.2019.03.016
[MetaMask(2022)] MetaMask. 23 April 2022. https://metamask.io/. https://metamask.io/.
[Mitzenmacher(2001a)] M. Mitzenmacher. 2001a. The power of two choices in randomized load balancing. IEEE Transactions on Parallel and Distributed Systems 12, 10 (2001), 1094–1104. https://doi.org/10.1109/71. 963420
[Mitzenmacher(2001b)] Michael Mitzenmacher. 2001b. The power of two choices in randomized load balancing. IEEE Transactions on Parallel and Distributed Systems 12, 10 (2001), 1094–1104.
[Network(2016)] G. Network. 2016. Golem network: Online white paper. https://golem.network/doc/ Golemwhitepaper.pdf.
[Nouman Durrani and Shamsi(2014)] Muhammad Nouman Durrani and Jawwad A. Shamsi. 2014. Review: Volunteer Computing: Requirements, Challenges, and Solutions. J. Netw. Comput. Appl. 39 (mar 2014), 369–380.
[OpenFaaS([n. d.])] OpenFaaS. [n. d.]. Openfaas – serverless functions made simple. https://github.com/ openfaas/faas. Accessed: 09/11/2022.
[OpenWhisk([n. d.])] OpenWhisk. [n. d.]. Apache openwhisk. https://github.com/apache/ incubator-openwhisk. Accessed: 08/1/2020.
[Pillai et al.(2022)] Babu Pillai, Kamanashis Biswas, Zhe H´ ou, and Vallipuram Muthukkumarasamy. 2022. Cross- ´ Blockchain Technology: Integration Framework and Security Assumptions. IEEE Access 10 (2022), 41239–41259. https://doi.org/10.1109/ACCESS.2022.3167172
[Robinson(2021)] Peter Robinson. 2021. Survey of crosschain communications protocols. Computer Networks 200 (2021), 108488. https://doi.org/10.1016/j.comnet.2021.108488
[Sakimura et al.(2014)] N. Sakimura, J. Bradley, and M. Jones. 2014. OpenID Connect Dynamic Client Registration 1.0 incorporating errata set 1. OpenID Foundation. http://openid.net/specs/ openid-connect-registration-1_0.html.
[Sheffer et al.(2020)] Y. Sheffer, D. Hardt, and M. Jones. 2020. JSON Web Token Best Current Practices. BCP 225. RFC Editor.
[SONM(2017)] SONM. 2017. Supercomputer organized by network mining. https://whitepaper.io/document/ 326/sonm-whitepaper.
[TriggerMesh([n. d.])] TriggerMesh. [n. d.]. EveryBridge. https://triggermesh.com/cloud_native_ integration_platform/everybridge/. Last accessed on 9/28/2020.
[Vieira et al.(2019)] Lucas Vieira, Adbys Vasconcelos, ´Italo Batista, Rodolfo Silva, and Francisco Vilar Brasileiro. 2019. DisOpenFaaS: A Distributed Function-as-a-Service Platform. In SBRC Companion.
[Vyzovitis et al.(2020a)] Dimitris Vyzovitis, Yusef Napora, Dirk McCormick, David Dias, and Yiannis Psaras. 2020a. GossipSub: Attack-resilient message propagation in the Filecoin and ETH2. 0 networks. arXiv preprint arXiv:2007.02754 (2020).
[Vyzovitis et al.(2020b)] Dimitris Vyzovitis, Yusef Napora, Dirk McCormick, David Dias, and Yiannis Psaras. 2020b. GossipSub: Attack-Resilient Message Propagation in the Filecoin and ETH2.0 Networks. CoRR abs/2007.02754 (2020). arXiv:2007.02754 https://arxiv.org/abs/2007.02754
[Wu et al.(2021)] Lei Wu, Yki Kortesniemi, Dmitrij Lagutin, and Maryam Pahlevan. 2021. The Flexible Interledger Bridge Design. In 2021 3rd Conference on Blockchain Research & Applications for Innovative Networks and Services (BRAINS). 69–72. https://doi.org/10.1109/BRAINS52497.2021.9569798
[Yang et al.(2020)] Caixia Yang, Liang Tan, Na Shi, Bolei Xu, Yang Cao, and Keping Yu. 2020. AuthPrivacyChain: A Blockchain-Based Access Control Framework With Privacy Protection in Cloud. IEEE Access 8 (2020), 70604–70615. https://doi.org/10.1109/ACCESS.2020.2985762
[Zhao et al.(2022)] Haidong Zhao, Zakaria Benomar, Tobias Pfandzelter, and Nikolaos Georgantas. 2022. Supporting Multi-Cloud in Serverless Computing. https://doi.org/10.48550/ARXIV.2209.09367
Authors:
(1) Rabimba Karanjai, Department of Computer Science, University of Houston ([email protected]);
(2) Lei Xu, Department of Computer Science, Kent State University;
(3) Lin Chen, Department of Computer Science, Texas Texh University;
(4) Nour Diallo, Department of Computer Science, University Of Houston;
(5) Weidong Shi, Department of Computer Science, University Of Houston.