Flock

A Framework for Deploying On-Demand Distributed Trust

Recent years have exhibited an increase in applications that distribute trust across 𝑛 servers to protect user data from a central point of attack. However, these deployments remain limited due to a core obstacle: establishing 𝑛 distinct trust domains. An application provider, a single trust domain, cannot directly deploy multiple trust domains. As a result, application providers forge business relationships to enlist third-parties as trust domains, which is a manual, lengthy, and expensive process, inaccessible to many application developers.

We introduce the on-demand distributed-trust architecture that enables an application provider to deploy distributed trust automatically and immediately without controlling the other trust domains. The insight lies in reversing the deployment method such that each user’s client drives deployment instead of the application provider. While at a first glance, this approach appears infeasible due to cost, performance, and resource abuse concerns, our system Flock resolves these challenges. We implement and evaluate Flock on 3 major cloud providers and 8 distributed trust applications. On average, Flock achieves 1.05x the latency and 0.68-2.27x the cloud cost of a traditional distributed-trust deployment, without reliance on third-party relationships.


Contributors

Darya Kaviani*, Sijun Tan*, Pravein Govindan Kannan, Raluca Ada Popa

Publications