Many aspects of blockchain-based decentralized finance can be understood as an extension of classical distributed computing. In this paper, we trace the evolution of two interrelated notions: failure and fault-tolerance. In classical distributed computing, a failure to complete a multi-party protocol is typically attributed to hardware malfunctions. A fault-tolerant protocol is one that responds to such failures by rolling the system back to an earlier consistent state. In the presence of Byzantine failures, a failure may be the result of an attack, and a fault-tolerant protocol is one that ensures that attackers will be punished and victims compensated. In modern decentralized finance however, failure to complete a protocol can be considered a legitimate option, not a transgression. A fault-tolerant protocol is one that ensures that the party offering the option cannot renege, and the party purchasing the option provides fair compensation (in the form of a fee) to the offering party. We sketch the evolution of such protocols, starting with two-phase commit, and finishing with timed hashlocked smart contracts.
翻译:在本文中,我们追踪两个相互关联的概念的演变过程:失败和过错容忍。在经典的分布式计算中,未能完成多党协议通常归因于硬件故障。过错容忍协议是对这种失败的反应,将系统重回一个更早期的一致状态。在拜占庭失败的情况下,失败可能是袭击的结果,而过错容忍协议是确保攻击者受到惩罚和受害者得到赔偿的。但在现代的分散式财务中,不完成协议可被视为合法选择,而不是违反。过错容忍协议协议可以确保提供选择的一方不能反悔,选择方购买选择的一方向提供方提供公平补偿(以收费的形式)。我们勾画了这种协议的演变过程,从两阶段承诺开始,最后是时间紧迫的智能合同。