什么是区块链?区块链和拜占庭将军问题

2024-03-21分类:区块链介绍 阅读(


用最简单的术语来说,区块链是一组协同工作来处理和记录数据的计算机,确保数据交易的真实性和安全性。从更抽象和更具前瞻性的角度来看,这是金融交易的潜在未来,不受全球位置的约束或依赖第三方中介机构。

什么是区块链?

区块链的主要特征之一是它记录数据的方式,即:

  • 不可变的
  • 透明的
  • 去中心化

不可变意味着任何实体都无法修改交易记录。 

透明意味着任何人都可以通过互联网查看和验证区块链上的交易。 

去中心化意味着没有一个实体可以管理整个网络。

比特币是第一个利用区块链技术的应用(具有讽刺意味的是,“区块链”一词是在比特币之后引入的)。该技术现已用于其他加密货币项目和商业应用程序,例如贸易融资、汇款和电子商务。 

分布式系统

区块链是一个分布式系统,位于联网计算机上的硬件或软件组件通过传递消息进行通信并协调其行为。区块链遇到的许多问题已经在分布式系统中讨论或解决了。

分布式系统的主要特征是:

  • 并发性
  • 没有全局时钟
  • 独立失效

并发性

并发意味着多个计算在不同的机器上同时发生。这看起来似乎很直观,但多少台机器应该一起工作会变得很复杂(见下文)。

没有全局时钟

在分布式系统中,每个参与者或机器在决定对错方面都有同等的权重。分布式系统中不存在单一的事实来源。例如,机器 A 可能认为现在是上午 11:13,而机器 B 可能认为现在是上午 11:14 

由于网络延迟可能会使情况进一步复杂化,即使两台机器本地时间相同,它们也不会知道网络传输数据花了多长时间。当一台机器必须确认邻居的时间时,总是会产生潜在的噪音。 

独立失效

独立失败最好解释为假设的情况。例如,机器 A 可能需要来自机器 B 的数据才能继续其工作,因此它需要与机器 B 通信并等待响应。 

然而,机器B可能会出现故障(例如,由于过热而关闭),并且网络可能会任意延迟甚至断开连接。系统设计者在设计时必须考虑到通信和故障响应,以确保系统保持完好无损。

区块链和拜占庭将军问题

区块链的发明是为了解决拜占庭将军问题,这对于分布式计算系统来说尤其是一个问题,其中组件可能会发生故障,并且关于组件是否发生故障的信息不完善。

为了清楚地说明问题,我们先来看一个故事:

一群将军,每人指挥一部分拜占庭军队,包围了一座城市。他们必须决定是进攻还是撤退。但无论他们做出什么决定,最重要的是他们达成共识。但很难达成共识,因为将军们不知道其他将军的决定。

考虑以下:

  • 共有三名将军:A、B、C。
  • 将军必须同时攻击敌人;否则,他们可能会面临失败的风险。
  • 将军们没有有效的即时沟通方式。
  • 因此,他们需要给别人发送快递来传递他们的消息。
  • 他们必须确认其他将军会同时进攻。
  • 因此,将军们在发动攻击之前,必须在彼此之间传递消息并确认。

当我们考虑到可能存在叛徒时,问题就变得更加复杂。我们无法保证所有的信使都是值得信赖的;最重要的是,信使可能会被捕获并被迫传递伪造的消息。

从上面的故事,结合区块链,我们可以推断:

拜占庭将军代表链上的节点。

每个共识由代表一个区块(即一组有效交易)的一组将军形成。诸将必须互相确认决定达成共识后才能发起协同攻击。类似地,在区块链上,所有节点必须就下一个要确认的区块达成一致。

节点可能会发生故障。

例如,如果其中一个节点共享不一致的信息(称为恶意节点)或无法响应,网络可能会遇到问题。 

这就是为什么每个人都必须承认其他人都知道的信息。同时,每个人都需要了解彼此所掌握的信息;它创造了一个场景,其中大多数人承认和知道的信息是最终决定(即共识)。

区块链共识

拜占庭将军问题是理解共识的一个很好的例子。它需要多个进程(或代理)之间就单个数据值达成一致。共识协议必须具有容错性或弹性,因为某些流程(代理)可能会失败或在其他方面不可靠。这些流程必须以某种方式提出其候选价值观,相互沟通,并就单一共识价值观达成一致。

那些参与去中心化网络的人使用去中心化服务器(节点)来实现这一点。每个节点都需要就一组预先设定的规则(称为“共识机制”)达成一致,以便参与区块链网络并达成协议。利用这些机制,我们可以解决拜占庭将军问题。

集中式、分散式和分布式系统

虽然中心化系统很容易理解,但去中心化系统与分布式系统的区别常常令人困惑。

分布式系统在不同地点或计算机中存储和处理数据;数据通常是复制的。去中心化系统意味着没有任何一个参与者可以决定系统的行为方式。在做出决定之前,它必须汇总多方的回应。

去中心化的系统一定是分布式的,而分布式系统可能是去中心化的,也可能不是去中心化的。换句话说,去中心化系统是分布式系统的子集。

区块链替代方案

自比特币发明以来,许多人将其技术概括为“区块链”。然而,最初的比特币设计并不是唯一有效的设计。

分布式账本技术

“分布式账本技术”(DLT),如有向无环图(DAG)或块格子,是比特币的替代数据结构。DLT 实现了最初希望的去中心化系统的愿景,但我们不能再将这些替代方案称为“区块链”。因此,DLT这个术语的发明是为了概括所有旨在以去中心化方式解决共识问题的类似系统。

关于区块链的最后一句话

区块链(或类似系统)背后的机制——以及将安全机制集成到其流程中——使我们能够从传统金融机构等集中式安全系统转向加密世界。这仅仅是一个开始,随着系统的发展,它将会变得更好。

Tags: 什么是区块链