Author:
            
                    Harry Halpin
                    
                        
                    
                    
                
        
        
            Affiliation:
            
                    
                        
                    
                    Inria de Paris, 2 Rue Simone Iff, Paris, France
                
        
        
        
        
        
             Keyword(s):
            Software Architecture, Security, Privacy, Scalability, Federation, Decentralization, Blockchain.
        
        
            
                
                
            
        
        
            
                Abstract: 
                The vast majority of applications at this moment rely on centralized servers to relay messages between clients, where these servers are considered trusted third-parties. With the rise of blockchain technologies over the last few years, there has been a move away from both centralized servers and traditional federated models to more decentralized peer-to-peer alternatives. However, there appears to be a trilemma between security, scalability, and decentralization in blockchain-based systems. Deconstructing this trilemma using well-known threat models, we define a typology of centralized, federated, and decentralized architectures. Each of the different architectures has this trilemma play out differently. Facing a possible decentralized future, we outline seven hard problems facing decentralization and theorize that the differences between centralized, federated, and decentralized architectures depend on differing social interpretations of trust.