  Modern edge applications demand novel solutions where edge applications do
not have to rely on a single cloud provider (which cannot be in the vicinity of
every edge device) or dedicated edge servers (which cannot scale as clouds) for
processing compute-intensive tasks. A recent computing philosophy, Sky
computing, proposes giving each user ability to select between available cloud
providers.
  In this paper, we present our serverless-edge co-design, which extends the
Sky computing vision. In our serverless-edge co-design, we expect edge devices
to collaborate and spawn required number of serverless functions. This raises
several key challenges: (1) how will this collaboration take place, (2) what if
some edge devices are compromised, and (3) what if a selected cloud provider is
malicious. Hence, we design ServerlessBFT, the first protocol to guarantee
Byzantine fault-tolerant (BFT) transactional flow between edge devices and
serverless functions. We present an exhaustive list of attacks and their
solutions on our serverless-edge co-design. Further, we extensively benchmark
our architecture on a variety of parameters.
