A typical blockchain protocol uses consensus to make sure that mutually mistrusting users agree on the order in which their operations on shared data are executed. However, it is known that asset transfer systems, by far the most popular application of blockchains, can be implemented without consensus. Assuming that no account can be accessed concurrently and every account belongs to a single owner, one can efficiently implement an asset transfer system in a purely asynchronous, consensus-free manner. It has also been shown that implementing asset transfer with shared accounts is impossible without consensus. In this paper, we propose CryptoConcurrency, an asset transfer protocol that allows concurrent accesses to be processed in parallel, without involving consensus, whenever possible. More precisely, if concurrent transfer operations on a given account do not lead to overspending, i.e. can all be applied without the account balance going below zero, they proceed in parallel. Otherwise, the account's owners may have to access an external consensus object. Notably, we avoid relying on a central, universally-trusted, consensus mechanism and allow each account to use its own consensus implementation, which only the owners of this account trust. This provides greater decentralization and flexibility.
翻译:典型区块链协议依赖共识机制,使互不信任的用户就共享数据上操作的执行顺序达成一致。然而,作为区块链最广泛的应用场景,资产转移系统已被证明可在无共识情况下实现。假设每个账户仅属单一所有者且不可被并发访问,即可在完全异步、免共识环境下高效构建资产转移系统。同时有研究表明,在共享账户场景下实现资产转移不可能脱离共识机制。本文提出CryptoConcurrency协议,该协议允许在无需共识的情况下尽可能并行处理并发访问:当针对同一账户的并发转账操作不会导致超支(即所有操作均可在不使账户余额降至零以下时执行),则这些操作可并行进行;反之,账户所有者可能需要访问外部共识对象。值得关注的是,本方案避免依赖中心化、普遍信任的共识机制,允许每个账户使用仅由其所有者信任的独立共识实现,从而提升了系统的去中心化程度与灵活性。