自从比特币(区块链驱动的第一个广泛应用)问世以来,人们对基于区块链的应用程序设计的兴趣大增。这些应用程序的核心是共识协议,可以在所有副本中安全地复制客户机请求,即使有些副本存在拜占庭式错误。不幸的是,这些一致的协议通常具有较低的吞吐量,而这种性能的缺乏经常被认为是区块链技术被广泛采用缓慢的原因。因此,许多工作集中在设计更有效的共识协议,以增加共识的吞吐量。我们认为,这种对共识协议的关注只能解释部分问题。为了探究这种信念,我们提出了一个简单的问题: 使用经典共识协议的精心设计的系统能否比使用现代协议的系统表现更好?在本教程中,我们通过深入研究区块链系统的设计来回答这个问题。此外,我们将深入了解共识背后的理论,它可以帮助用户选择最适合他们需求的协议。最后,我们分享了在大范围运行的高吞吐量区块链系统的愿景。