社区提交 - 作者:Caner Taçoğlu
异步意味着不同时,或者不同时或不同速度发生。在计算机科学中,异步是指独立于主程序的事件发生。
在异步系统中,操作不是由全局时钟信号协调,而是由事件(系统中的更改)。异步系统的可靠运行不依赖于外部信号或消息。
异步系统通常采用模块化框架进行设计。在这样的系统中,每个模块都可以独立运行并具有与其他模块通信的能力。这些互连的模块一起形成一个工作系统。
异步通信是指数据可以不规则地传输,而不是稳定地传输。常见的示例包括电子邮件或在线论坛,参与者在不同时间发送消息。
区块链可以是异步或半同步网络。
异步网络不会向节点提供有关所发送信息状态的任何反馈,这可能导致节点对网络的整体状态有不同的看法。本质上,节点不必等待其他节点接收其消息,这可以提高事务吞吐量。
半同步网络旨在确保永远不会出现分裂网络的全局状态。如果网络出现分区,节点之间的共识会变慢,直到再次恢复。
无论是优先考虑一致性还是优先考虑可用性,都可以设计异步或半同步的区块链网络。如果网络想要优先考虑可用性,则添加所有事务都不会造成任何停机。如果网络想要优先考虑一致性,则在所有先前的事务都得到确认之前,某些事务可能不会被处理或停止。
一些区块链设计使用拜占庭容错 (BFT) 的实现,称为异步拜占庭容错 (aBFT)。它从数学上保证即使攻击者控制了近三分之一的网络,最终也会达成共识。在这种情况下,异步意味着不对时间做出任何假设。