Permissioned ledger systems execute transactions on a set of replicas governed by members of a consortium. They use Byzantine fault tolerance protocols to distribute trust among the replicas, and thus can ensure linearizability if fewer than 1/3 of the replicas misbehave. With more misbehaving replicas, current systems provide no guarantees, and all replicas and members share the blame. We describe PAC, a permissioned ledger system that \emph{assigns blame to misbehaving replicas} while supporting \emph{governance transactions} to change the consortium membership and the set of replicas. PAC signs and stores protocol messages in the ledger and provides clients with signed, universally-verifiable \emph{receipts} as evidence that a transaction executed at a certain ledger position. If clients obtain a sequence of receipts that violate linearizability, anyone can \emph{audit} the ledger and the sequence of receipts to assign blame to at least 1/3 of the replicas, even if all replicas and members misbehave. Auditing assigns blame by finding contradictory statements signed by the same replica. Since the set of replicas changes, PAC determines the valid signing keys at any point in the ledger using a shorter sub-ledger of governance transactions. PAC provides a strong disincentive to misbehavior at low cost: it can execute more than 48,000~transactions per second, and clients receive receipts in two network round trips.
翻译:允许的分类账系统在由财团成员管理的一套复制品上执行交易。 它们使用 Byzantine 错误容忍协议在复制品之间分配信任, 这样可以确保线性( 如果复制品的错误少于三分之一) 。 由于复制品行为不当, 目前的系统无法提供担保, 所有的复制品和成员都负有责任 。 我们描述 PAC, 一个被允许的分类账系统, 在支持\emph{ 治理交易的同时, 将错失行为错误归责于复制品的复制品 。 PAC 符号和在分类账中存储协议信息, 并且向客户提供签名的、 可普遍核查的交易错误。 如果客户获得的收件序列违反可线性, 任何人都可以\emph{ saudit} 分类账和低收件序列, 将责任归于至少1/3的复制品, 即使所有复制品和成员都错误接受复制品和复制品 。 审计用户在分类账簿中通过查找错误的账号, 将错误的账号错误的账号重新排序。