  Although historically the term serverless was also used in the context of
peer-to-peer systems, it is more frequently associated with the architectural
style for developing cloud-native applications. From the developer's
perspective, serverless architectures allow reducing management efforts since
applications are composed using provider-managed components, e.g.,
Database-as-a-Service (DBaaS) and Function-as-a-Service (FaaS) offerings.
Blockchains are distributed systems designed to enable collaborative scenarios
involving multiple untrusted parties. It seems that the decentralized
peer-to-peer nature of blockchains makes it interesting to consider them in
serverless architectures, since resource allocation and management tasks are
not required to be performed by users. Moreover, considering their useful
properties of ensuring transaction's immutability and facilitating accountable
interactions, blockchains might enhance the overall guarantees and capabilities
of serverless architectures. Therefore, in this work, we analyze how the
blockchain technology and smart contracts fit into the serverless picture and
derive a set of scenarios in which they act as different component types in
serverless architectures. Furthermore, we formulate the implementation
requirements that have to be fulfilled to successfully use blockchains and
smart contracts in these scenarios. Finally, we investigate which existing
technologies enable these scenarios, and analyze their readiness and
suitability to fulfill the formulated requirements.
