SCEW
Autor: | Wouter Joosen, Martijn Sauwens, Kristof Jannes, Bert Lagaisse |
---|---|
Rok vydání: | 2021 |
Předmět: |
Computer science
business.industry 020206 networking & telecommunications Fault tolerance 02 engineering and technology computer.software_genre WebRTC Software framework 020204 information systems Synchronization (computer science) 0202 electrical engineering electronic engineering information engineering Web application business Resilience (network) computer Protocol (object-oriented programming) Byzantine fault tolerance Computer network |
Zdroj: | PaPoC@EuroSys |
DOI: | 10.1145/3447865.3457965 |
Popis: | Collaborative 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. |
Databáze: | OpenAIRE |
Externí odkaz: |