SCEW: Programmable BFT-Consensus with Smart Contracts for Client-Centric P2P Web Applications

European Conference on Computer Systems(2021)

引用 0|浏览16
暂无评分
摘要
ABSTRACTCollaborative web applications are becoming increasingly client-centric, with technologies such as WebRTC, WebWorkers and IndexedDB enabling a shift towards a decentralized peer-to-peer (P2P) model. Contemporary systems such as Automerge, Legion, OWebSync and Yjs provide fault tolerance and consistency by using Conflict-free Replicated Data Types for synchronization. These systems tolerate crash-faults, but lack resilience against arbitrary faults and malicious users, also known as Byzantine faults. Providing Byzantine fault tolerance (BFT) in web apps is non-trivial. Web apps are executed in web browsers on end user devices. The scarce compute resources and the interactive nature of collaborative web apps do require both a lightweight and low-latency solution, while still providing the Byzantine fault tolerance required by P2P systems to protect shared assets. Our work aims to fill this gap by indroducing SCEW, a programming framework for client-centric P2P web apps that require BFT and interactive collaboration. SCEW achieves this by combining state-based Convergent Replicated Data Types (CvRDTs) and smart contracts. SCEW represents assets shared by peers as CvRDTs with atomic register semanctics, that provide BFT through the use of BFT-consensus algorithms. SCEW employs smart contracts to define the life-cycle of these shared assets, shielding the application and it's developers from the complexity of the CvRDT's consensus protocol. Experimental results indicate that applications using SCEW can support P2P networks with 100 peers, even when Byzantine faults are present.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要