Classical and contemporary distributed consensus protocols, may they be for binary agreement, state machine replication, or blockchain consensus, require all protocol participants in a peer-to-peer system to agree on exactly the same information as part of the consensus payload. Although this model of consensus is extensively studied, and is useful for most consensus based decentralized applications, it falls short of defining correct distributed systems which mandate participant credential based privileged visibility into the consensus payload, through the consensus protocol itself. We introduce a new paradigm for distributed consensus, called functional blockchain consensus. Functional blockchain consensus allows each blockchain protocol participant to agree on some distinct sub-information of the list of transactions, as a function of the credentials of the participant in the blockchain system, instead of agreeing on the entire list of transactions. We motivate two adversary models, one with a standard crash-fault adversary and another with a novel rational-fault adversary, to compromise functional blockchain consensus. We then present two versions of a blockchain protocol called SightSteeple, that achieves functional blockchain consensus in the said fault models. SightSteeple relies on a novel combination of standard blockchain consensus and functional encryption, among other primitives, to achieve its goals of correctness. Finally, we discuss practical uses of functional blockchain consensus based asymmetric distributed ledgers, and motivate off-shoot constructions that can result from this new consensus paradigm.
翻译:传统和当代分发的共识协议,可能是二进制协议、国家机器复制或链锁共识,要求同行对等体系的所有协议参与方商定完全相同的信息,作为共识有效载荷的一部分。虽然这一共识模式经过广泛研究,对基于共识的分散应用大有帮助,但还不足以界定正确的分配系统,通过协商一致协议本身,授权参与者在协商一致有效载荷中取得基于特权的显著地位。我们引入了分布式共识的新模式,称为功能链链共识。功能链链共识允许每个链锁协议参与方就交易清单中某些不同的次级信息达成一致,作为链锁系统参与者资格的函数,而不是就整个交易清单达成一致。我们鼓励两种对立模式,一种是标准碰撞错失对手,另一种是新颖的理性错失对手,以损害功能链锁的共识。我们随后提出了两个版本的块链协议,即SightSteple,在所述错误模式中实现功能链链链的共识。