Fault-Tolerant Distributed Implementation of Digital Social Contracts

CoRR(2020)

引用 0|浏览60
暂无评分
摘要
A companion paper has defined the notion of digital social contracts, illustrated how a social-contracts programming language might look like, and demonstrated its potential utility via example social contracts. The abstract model retains the distributed and asynchronous reality of social contracts, in which people have genuine identifiers, which are unique and singular cryptographic key pairs, and operate software agents thus identified on their mobile device. It consists of a transition system specifying concurrent, non-deterministic asynchronous agents engaged in crypto-speech acts, which are cryptographically-signed sequentially-indexed digital actions. Here, we address the distributed implementation of digital social contracts in the presence of faulty agents: we present a design of a fault-tolerant distributed transition system for digital social contracts, show that it indeed implements the abstract notion of digital social contracts, and discuss its resilience to faulty agents. Typically, overcoming faulty parties requires the non-faulty parties to reach consensus. Reaching consensus for digital social contracts is similar to Byzantine Agreement, in that the parties to the agreement are known (or ``permissioned''); but is simpler, since the asynchronous nature of digital social contracts requires only consensus about the past, not about the present state of affairs. As such, it is similar to Nakamoto consensus; but it is also simpler than it in several respects: (i) it is among known (``permissioned'') parties (ii) history is partially ordered; no need to agree on a total order (iii) no need to choose among conflicting actions (``double-spend''); both may be abandoned, as well as any subsequent actions of the faulty party.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要