As blockchains continue to seek to scale to a larger number of nodes, the communication complexity of protocols has become a significant priority as the network can quickly become overburdened. Several schemes have attempted to address this, one of which uses coded computation to lighten the load. Here we seek to address one issue with all such coded blockchain schemes known to the authors: transaction confirmation. In a coded blockchain, only the leader has access to the uncoded block, while the nodes receive encoded data that makes it effectively impossible for them to identify which transactions were included in the block. As a result, a Byzantine leader might choose not to notify a sender or receiver of a transaction that the transaction went into the block, and even with an honest leader, they would not be able to produce a proof of a transaction's inclusion. To address this, we have constructed a protocol to send the nodes enough information so that a client sending or receiving a transaction is guaranteed to not only be notified but also to receive a proof of that transaction's inclusion in the block. Crucially, we do this without substantially increasing the bit complexity of the original coded blockchain protocol.
翻译:随着区块链持续扩展以支持更多节点,协议通信复杂度成为关键优先事项,因为网络可能迅速过载。已有多种方案试图解决此问题,其中一种采用编码计算来减轻负载。本文针对作者已知的所有此类编码区块链方案共有的问题展开研究:交易确认。在编码区块链中,只有领导者能访问未编码的区块,而节点接收的是编码数据,这使得节点几乎无法识别区块中包含哪些交易。因此,拜占庭式领导者可能选择不通知交易发送方或接收方交易已纳入区块,即便领导者诚实,也无法生成交易包含证明。为解决此问题,我们设计了一种协议,向节点发送足够的信息,使得发送或接收交易的客户端不仅能确保收到通知,还能获得该交易被纳入区块的证明。关键在于,我们在不显著增加原始编码区块链协议比特复杂度的前提下实现了这一目标。