Blockchains use peer-to-peer networks for disseminating information among peers, but these networks currently do not have any provable guarantees for desirable properties such as Byzantine fault tolerance, good connectivity and small diameter. This is not just a theoretical problem, as recent works have exploited unsafe peer connection policies and weak network synchronization to mount partitioning attacks on Bitcoin. Cryptocurrency blockchains are safety critical systems, so we need principled algorithms to maintain their networks. Our key insight is that we can leverage the blockchain itself to share information among the peers, and thus simplify the network maintenance process. Given that the peers have restricted computational resources, and at most a constant fraction of them are Byzantine, we provide communication-efficient protocols to maintain a hypercubic network for blockchains, where peers can join and leave over time. Interestingly, we discover that our design can \emph{recover} from substantial adversarial failures. Moreover, these properties hold despite significant churn. A key contribution is a secure mechanism for joining the network that uses the blockchain to help new peers to contact existing peers. Furthermore, by examining how peers join the network, i.e., the "bootstrapping service," we give a lower bound showing that (within log factors) our network tolerates the maximum churn rate possible. In fact, we can give a lower bound on churn for any fully distributed service that requires connectivity.
翻译:屏障链使用同行对同行之间的网络传播信息,但目前这些网络对拜占庭断层容忍度、良好连通性和小直径等理想属性没有任何可证实的保障。 这不仅仅是一个理论问题,因为最近的工作利用了不安全的同行连接政策和薄弱的网络同步性来对比特币发动分割式袭击。 加密货币链是安全的关键系统, 因此我们需要有原则的算法来维持它们的网络。 我们的关键洞察力是我们能够利用该链在同行之间交流信息,从而简化网络维护程序。 鉴于同行的计算资源有限,而且其中多数是常数部分是拜占庭。 我们提供高效的通信协议来维持超立端链网络,让同行可以加入并离开比特币。 有趣的是,我们发现我们的设计能够从激烈的对抗性缺陷中找到\emph{reovert} 。 此外,这些属性尽管有很大的震撼动,但我们可以维持。 一个安全的机制可以加入这个网络,用来帮助新同行接触现有同行。 此外,我们通过检查最短的端端端端端的网络, 显示我们如何加入这个网络。