Many systems today distribute trust across multiple parties such that the system provides certain security properties if a subset of the parties are honest. In the past few years, we have seen an explosion of academic and industrial cryptographic systems built on distributed trust, including secure multi-party computation applications (e.g., private analytics, secure learning, and private key recovery) and blockchains. These systems have great potential for improving security and privacy, but face a significant hurdle on the path to deployment. We initiate study of the following problem: a single organization is, by definition, a single party, and so how can a single organization build a distributed-trust system where corruptions are independent? We instead consider an alternative formulation of the problem: rather than ensuring that a distributed-trust system is set up correctly by design, what if instead, users can audit a distributed-trust deployment? We propose a framework that enables a developer to efficiently and cheaply set up any distributed-trust system in a publicly auditable way. To do this, we identify two application-independent building blocks that we can use to bootstrap arbitrary distributed-trust applications: secure hardware and an append-only log. We show how to leverage existing implementations of these building blocks to deploy distributed-trust systems, and we give recommendations for infrastructure changes that would make it easier to deploy distributed-trust systems in the future.
翻译:今天,许多系统在多个当事方之间分配信任,这样系统就能提供某些安全特性,如果一部分当事方是诚实的,那么该系统就可以提供某些安全特性。在过去几年里,我们看到了建立在分布式信任基础上的学术和工业密码系统爆炸,包括安全的多方计算应用程序(例如私人分析、安全学习和私人钥匙恢复)和块链。这些系统在改善安全和隐私方面有很大潜力,但在部署道路上面临一个重大障碍。我们开始研究以下问题:一个组织,根据定义,是一个单一方,如何能建立一个分配式信任系统,腐败是独立的?我们反而考虑用另一种方法来解决这个问题:而不是确保一个分配式信任系统通过设计正确建立,如果用户能够审计分配式信任的部署部署?我们提出了一个框架,使开发者能够以可公开审计的方式高效和廉价地建立任何分配式信任系统。为了做到这一点,我们确定了两个依赖应用程序的建筑块块,我们可以用来建立任意的分布式信任应用程序:安全硬件和附加式信托系统,我们考虑通过设计,而不是确保一个分配式信托系统,如果用户可以审计的话,那么,我们如何利用这些配置式信托系统。