{"product_id":"from-traditional-fault-tolerance-to-blockchain-hardback-9781119681953","title":"From Traditional Fault Tolerance to Blockchain (Hardback) 9781119681953","description":"\u003cfont face=\"Georgia\"\u003e\r\n\u003cp\u003e\u003cfont size=\"6\"\u003eFrom Traditional Fault Tolerance to Blockchain\u003c\/font\u003e\u003cbr\u003e\r\n\r\n\r\n\r\n\r\n\r\n\u003c\/p\u003e\n\u003cp\u003e\u003cfont size=\"4\"\u003eWenbing Zhao (Author)\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e9781119681953, Wiley\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003eHardback, published 17 August 2021\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e464 pages\u003cbr\u003e1 x 1 x 1 cm, 0.454 kg\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\r\n\r\n\r\n\u003cp align=\"justify\"\u003e\u003cstrong\u003e\u003cfont size=\"3\"\u003e\u003cp\u003eThis book covers the most essential techniques for designing and building dependable distributed systems, from traditional fault tolerance to the blockchain technology. Topics include checkpointing and logging, recovery-orientated computing, replication, distributed consensus, Byzantine fault tolerance, as well as blockchain.\u003c\/p\u003e \u003cp\u003eThis book intentionally includes traditional fault tolerance techniques so that readers can appreciate better the huge benefits brought by the blockchain technology and why it has been touted as a disruptive technology, some even regard it at the same level of the Internet. This book also expresses a grave concern on using traditional consensus algorithms in blockchain because with the limited scalability of such algorithms, the primary benefits of using blockchain in the first place, such as decentralization and immutability, could be easily lost under cyberattacks.\u003c\/p\u003e\u003c\/font\u003e\u003c\/strong\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e\u003cp\u003eList of Figures xiii\u003c\/p\u003e \u003cp\u003eList of Tables xix\u003c\/p\u003e \u003cp\u003eAcknowledgments xxi\u003c\/p\u003e \u003cp\u003ePreface xxiii\u003c\/p\u003e \u003cp\u003eReferences xxix\u003c\/p\u003e \u003cp\u003e\u003cb\u003e1 Introduction 1\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e1.1 Basic Concepts and Terminologies for Dependable Computing 2\u003c\/p\u003e \u003cp\u003e1.1.1 System Models 2\u003c\/p\u003e \u003cp\u003e1.1.2 Threat Models 3\u003c\/p\u003e \u003cp\u003e1.1.3 Dependability Attributes and Evaluation Metrics 6\u003c\/p\u003e \u003cp\u003e1.2 Means to Achieve Dependability 9\u003c\/p\u003e \u003cp\u003e1.2.1 Fault Avoidance 9\u003c\/p\u003e \u003cp\u003e1.2.2 Fault Detection and Diagnosis 9\u003c\/p\u003e \u003cp\u003e1.2.3 Fault Removal 10\u003c\/p\u003e \u003cp\u003e1.2.4 Fault Tolerance 11\u003c\/p\u003e \u003cp\u003e1.3 System Security 13\u003c\/p\u003e \u003cp\u003eReferences 18\u003c\/p\u003e \u003cp\u003e\u003cb\u003e2 Logging and Checkpointing 21\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e2.1 System Model 22\u003c\/p\u003e \u003cp\u003e2.1.1 Fault Model 23\u003c\/p\u003e \u003cp\u003e2.1.2 Process State and Global State 23\u003c\/p\u003e \u003cp\u003e2.1.3 Piecewise Deterministic Assumption 26\u003c\/p\u003e \u003cp\u003e2.1.4 Output Commit 26\u003c\/p\u003e \u003cp\u003e2.1.5 Stable Storage 27\u003c\/p\u003e \u003cp\u003e2.2 Checkpoint-Based Protocols 27\u003c\/p\u003e \u003cp\u003e2.2.1 Uncoordinated Checkpointing 27\u003c\/p\u003e \u003cp\u003e2.2.2 Tamir and Sequin Global Checkpointing Protocol 29\u003c\/p\u003e \u003cp\u003e2.2.3 Chandy and Lamport Distributed Snapshot Protocol 35\u003c\/p\u003e \u003cp\u003e2.2.4 Discussion 38\u003c\/p\u003e \u003cp\u003e2.3 Log Based Protocols 40\u003c\/p\u003e \u003cp\u003e2.3.1 Pessimistic Logging 42\u003c\/p\u003e \u003cp\u003e2.3.2 Sender-Based Message Logging 51\u003c\/p\u003e \u003cp\u003eReferences 60\u003c\/p\u003e \u003cp\u003e\u003cb\u003e3 Recovery-Oriented Computing 63\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e3.1 System Model 65\u003c\/p\u003e \u003cp\u003e3.2 Fault Detection and Localization 68\u003c\/p\u003e \u003cp\u003e3.2.1 Component Interactions Modeling and Anomaly Detection 72\u003c\/p\u003e \u003cp\u003e3.2.2 Path Shapes Modeling and Root Cause Analysis 76\u003c\/p\u003e \u003cp\u003e3.2.3 Inference-Based Fault Diagnosis 80\u003c\/p\u003e \u003cp\u003e3.3 Microreboot 89\u003c\/p\u003e \u003cp\u003e3.3.1 Microrebootable System Design Guideline 90\u003c\/p\u003e \u003cp\u003e3.3.2 Automatic Recovery with Microreboot 91\u003c\/p\u003e \u003cp\u003e3.3.3 Implications of the Microrebooting Technique 92\u003c\/p\u003e \u003cp\u003e3.4 Overcoming Operator Errors 93\u003c\/p\u003e \u003cp\u003e3.4.1 The Operator Undo Model 94\u003c\/p\u003e \u003cp\u003e3.4.2 The Operator Undo Framework 95\u003c\/p\u003e \u003cp\u003eReferences 99\u003c\/p\u003e \u003cp\u003e\u003cb\u003e4 Data and Service Replication 103\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e4.1 Service Replication 105\u003c\/p\u003e \u003cp\u003e4.1.1 Replication Styles 107\u003c\/p\u003e \u003cp\u003e4.1.2 Implementation of Service Replication 109\u003c\/p\u003e \u003cp\u003e4.2 Data Replication 111\u003c\/p\u003e \u003cp\u003e4.3 Optimistic Replication 116\u003c\/p\u003e \u003cp\u003e4.3.1 System Models 117\u003c\/p\u003e \u003cp\u003e4.3.2 Establish Ordering among Operations 119\u003c\/p\u003e \u003cp\u003e4.3.3 State Transfer Systems 122\u003c\/p\u003e \u003cp\u003e4.3.4 Operation Transfer System 126\u003c\/p\u003e \u003cp\u003e4.3.5 Update Commitment 131\u003c\/p\u003e \u003cp\u003e4.4 CAP Theorem 136\u003c\/p\u003e \u003cp\u003e4.4.1 2 out 3 139\u003c\/p\u003e \u003cp\u003e4.4.2 Implications of Enabling Partition Tolerance 140\u003c\/p\u003e \u003cp\u003eReferences 143\u003c\/p\u003e \u003cp\u003e\u003cb\u003e5 Group Communication Systems 147\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e5.1 System Model 149\u003c\/p\u003e \u003cp\u003e5.2 Sequencer Based Group Communication System 152\u003c\/p\u003e \u003cp\u003e5.2.1 Normal Operation 153\u003c\/p\u003e \u003cp\u003e5.2.2 Membership Change 157\u003c\/p\u003e \u003cp\u003e5.2.3 Proof of Correctness 165\u003c\/p\u003e \u003cp\u003e5.3 Sender Based Group Communication System 166\u003c\/p\u003e \u003cp\u003e5.3.1 Total Ordering Protocol 167\u003c\/p\u003e \u003cp\u003e5.3.2 Membership Change Protocol 174\u003c\/p\u003e \u003cp\u003e5.3.3 Recovery Protocol 183\u003c\/p\u003e \u003cp\u003e5.3.4 The Flow Control Mechanism 190\u003c\/p\u003e \u003cp\u003e5.4 Vector Clock Based Group Communication System 192\u003c\/p\u003e \u003cp\u003eReferences 197\u003c\/p\u003e \u003cp\u003e\u003cb\u003e6 Consensus and the Paxos Algorithms 199\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e6.1 The Consensus Problem 200\u003c\/p\u003e \u003cp\u003e6.2 The Paxos Algorithm 202\u003c\/p\u003e \u003cp\u003e6.2.1 Algorithm for Choosing a Value 202\u003c\/p\u003e \u003cp\u003e6.2.2 Algorithm for Learning a Value 204\u003c\/p\u003e \u003cp\u003e6.2.3 Proof of Correctness 204\u003c\/p\u003e \u003cp\u003e6.2.4 Reasoning of the Paxos Algorithm 206\u003c\/p\u003e \u003cp\u003e6.3 Multi-Paxos 212\u003c\/p\u003e \u003cp\u003e6.3.1 Checkpointing and Garbage Collection 213\u003c\/p\u003e \u003cp\u003e6.3.2 Leader Election and View Change 214\u003c\/p\u003e \u003cp\u003e6.4 Dynamic Paxos 216\u003c\/p\u003e \u003cp\u003e6.4.1 Dynamic Paxos 217\u003c\/p\u003e \u003cp\u003e6.4.2 Cheap Paxos 220\u003c\/p\u003e \u003cp\u003e6.5 Fast Paxos 227\u003c\/p\u003e \u003cp\u003e6.5.1 The Basic Steps 228\u003c\/p\u003e \u003cp\u003e6.5.2 Collision Recovery, Quorum Requirement, and Value Selection Rule 229\u003c\/p\u003e \u003cp\u003e6.6 Implementations of the Paxos Family Algorithms 235\u003c\/p\u003e \u003cp\u003e6.6.1 Hard Drive Failures 236\u003c\/p\u003e \u003cp\u003e6.6.2 Multiple Coordinators 236\u003c\/p\u003e \u003cp\u003e6.6.3 Membership Changes 237\u003c\/p\u003e \u003cp\u003e6.6.4 Limited Disk Space for Logging 241\u003c\/p\u003e \u003cp\u003eReferences 242\u003c\/p\u003e \u003cp\u003e\u003cb\u003e7 Byzantine Fault Tolerance 245\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e7.1 The Byzantine Generals Problem 246\u003c\/p\u003e \u003cp\u003e7.1.1 System Model 247\u003c\/p\u003e \u003cp\u003e7.1.2 The Oral Message Algorithms 250\u003c\/p\u003e \u003cp\u003e7.1.3 Proof of Correctness for the Oral Message Algorithms 260\u003c\/p\u003e \u003cp\u003e7.2 Practical Byzantine Fault Tolerance 261\u003c\/p\u003e \u003cp\u003e7.2.1 System Model 262\u003c\/p\u003e \u003cp\u003e7.2.2 Overview of the PBFT Algorithm 263\u003c\/p\u003e \u003cp\u003e7.2.3 Normal Operation of PBFT 265\u003c\/p\u003e \u003cp\u003e7.2.4 Garbage Collection 267\u003c\/p\u003e \u003cp\u003e7.2.5 View Change 268\u003c\/p\u003e \u003cp\u003e7.2.6 Proof of Correctness 271\u003c\/p\u003e \u003cp\u003e7.2.7 Optimizations 273\u003c\/p\u003e \u003cp\u003e7.3 Fast Byzantine Agreement 277\u003c\/p\u003e \u003cp\u003e7.4 Speculative Byzantine Fault Tolerance 278\u003c\/p\u003e \u003cp\u003e7.4.1 The Agreement Protocol 279\u003c\/p\u003e \u003cp\u003e7.4.2 The View Change Protocol 283\u003c\/p\u003e \u003cp\u003e7.4.3 The Checkpointing Protocol 288\u003c\/p\u003e \u003cp\u003e7.4.4 Proof of Correctness 288\u003c\/p\u003e \u003cp\u003eReferences 290\u003c\/p\u003e \u003cp\u003e\u003cb\u003e8 Cryptocurrency and Blockchain 295\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e8.1 History of Cryptocurrency 295\u003c\/p\u003e \u003cp\u003e8.2 Bitcoin 298\u003c\/p\u003e \u003cp\u003e8.2.1 Decentralized Network and Architecture 301\u003c\/p\u003e \u003cp\u003e8.2.2 Self-Contained Cryptography 302\u003c\/p\u003e \u003cp\u003e8.2.3 Decentralized Data Structure 304\u003c\/p\u003e \u003cp\u003e8.2.4 Decentralized Algorithms 313\u003c\/p\u003e \u003cp\u003e8.3 Ethereum 317\u003c\/p\u003e \u003cp\u003e8.3.1 Ethereum Computing Model 318\u003c\/p\u003e \u003cp\u003e8.3.2 Block and Consensus 326\u003c\/p\u003e \u003cp\u003e8.3.3 Tokenization 340\u003c\/p\u003e \u003cp\u003e8.4 Attacks on Blockchain 342\u003c\/p\u003e \u003cp\u003eReferences 347\u003c\/p\u003e \u003cp\u003e\u003cb\u003e9 Consensus Algorithms for Blockchain 349\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e9.1 Model on Blockchain Consensus 353\u003c\/p\u003e \u003cp\u003e9.1.1 Requirements on Puzzle Design 354\u003c\/p\u003e \u003cp\u003e9.1.2 Zero-Knowledge Proof 355\u003c\/p\u003e \u003cp\u003e9.2 Proof of Work 356\u003c\/p\u003e \u003cp\u003e9.3 Proof of Resources 357\u003c\/p\u003e \u003cp\u003e9.3.1 Using Storage as Resource 357\u003c\/p\u003e \u003cp\u003e9.3.2 Using Computing as Resource 359\u003c\/p\u003e \u003cp\u003e9.4 Virtual Mining 360\u003c\/p\u003e \u003cp\u003e9.4.1 PeerCoin PoS 360\u003c\/p\u003e \u003cp\u003e9.4.2 Fixed-Epoch Time Based PoS Schemes 368\u003c\/p\u003e \u003cp\u003e9.4.3 Proof of Elapsed Time 371\u003c\/p\u003e \u003cp\u003eReferences 375\u003c\/p\u003e \u003cp\u003e\u003cb\u003e10 Blockchain Applications 377\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e10.1 The Value of Blockchain 378\u003c\/p\u003e \u003cp\u003e10.1.1 Non-Functional Benefits 379\u003c\/p\u003e \u003cp\u003e10.1.2 Functional Benefits 382\u003c\/p\u003e \u003cp\u003e10.2 Blockchain-Enabled Cyber-Physical Systems 383\u003c\/p\u003e \u003cp\u003e10.2.1 Cyber-Physical Systems 383\u003c\/p\u003e \u003cp\u003e10.2.2 Application Categories 385\u003c\/p\u003e \u003cp\u003e10.2.3 Blockchain-Enabled Operations in CPS 390\u003c\/p\u003e \u003cp\u003e10.3 On Blockchain Throughput 398\u003c\/p\u003e \u003cp\u003e10.3.1 On-Chain Approach 399\u003c\/p\u003e \u003cp\u003e10.3.2 Off-Chain Approach 402\u003c\/p\u003e \u003cp\u003e10.4 A Critical Look on Blockchain from Economy Perspective 408\u003c\/p\u003e \u003cp\u003e10.4.1 Blockchain Technology from the Economic View 409\u003c\/p\u003e \u003cp\u003e10.4.2 Economic Functions of Blockchain 412\u003c\/p\u003e \u003cp\u003e10.4.3 Blockchain as a Financial Infrastructure 416\u003c\/p\u003e \u003cp\u003eReferences 419\u003c\/p\u003e \u003cp\u003eIndex 427\u003c\/p\u003e\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003eSubject Areas: Computer hardware [\u003ca title=\"See our other books on Computer hardware\" href=\"https:\/\/freshlyprintedbooks.co.uk\/search?q=%22Computer%20hardware%20%5BUK%5D%22\"\u003eUK\u003c\/a\u003e]\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\u003c\/font\u003e","brand":"Wiley-Scrivener","offers":[{"title":"Brand New","offer_id":52428658475288,"sku":"9781119681953","price":140.19,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0730\/2037\/5320\/files\/9781119681953.jpg?v=1784683573","url":"https:\/\/freshlyprintedbooks.co.uk\/products\/from-traditional-fault-tolerance-to-blockchain-hardback-9781119681953","provider":"Freshly Printed Books","version":"1.0","type":"link"}