Quasi-Decentralized System Design
Most of today's internet services are provided by centralized entities, which users trust to process their data and host services honestly. In contrast, blockchain technology has reintroduced a decentralized trust model, eliminating the need for a central authority. This model offers potential improvements in security through enhanced reliability, transparency, and availability. However, blockchain technology has mostly been confined to blockchain-specific applications with limited impact on real-world services. This is due to challenges in scalability, privacy limitations, and the need for better usability, fraud prevention, and regulatory oversight. This thesis aims to bridge the gap between blockchain technology and legacy centralized applications via quasi-decentralized systems. These systems retain a centralized operator while interacting with a blockchain to enhance security. This approach combines the strengths of both centralized and decentralized models to create more secure, reliable, and scalable systems. Specifically, this thesis explores quasi-decentralized system design from two perspectives: 1. Building quasi-decentralized applications with blockchains: This involves coordinating trusted execution environments (TEEs) with blockchains, as well as designing cryptographic primitives that enable distributed auditing by users 2. Exploring security considerations in blockchain incentive mechanisms: This delves into the security threats posed by economic incentives within blockchain consensus protocols and examines the legal ramifications that arise when blockchain security is compromised.