学习分布式系统,这些术语你了解吗?

对于刚进入区块链行业的小白同学来说,一切都显得比较陌生,很多概念性质的东西理解起来也比较吃力,本文和大家分享的是区块链分布式系统中常见的一些专业分类,一起来看看吧,希望对大家有所帮助。

1. Failure models 失效模型 机器故障:当机器(节点)出现故障时,共识协议就用于解决机器可能出现的状态不一致问题。

· 拜占庭容错:机器不仅可能出现故障,还可能会“撒谎”。 

2. Network models 网络模型:

· 同步(Synchronous):我们不仅需要考虑机器会出现的各种故障问题,也要考虑网络通信的类型。在通信同步模型中,我们假设的是所有运行正常的节点(机器)都将在特定的时间内发送和接收消息。比如,你可以假定每条消息需要在5秒钟/分钟/小时内发送出去。

· 异步(Asynchronous):这是同步的对立面。即便对于运行正常的节点(correct nodes)来说,消息通信延迟问题依旧可能存在。这种情况带来的结果是:你无法判定到底是节点出现故障了,还是节点没有故障,只是需要长时间才能回应。

· 部分同步(Partially Synchronous):这种模型介于同步和异步之间。意思就是,存在一个上界(upper bound),但是这个上界并非被所有节点所知。我认为这种通信模型与实际的广域网通信(即互联网)非常相似。这只是我的个人观点哈,如果不同意见,欢迎反馈!

3. Message models 消息模型:

  我将只考虑一种类型的消息模型:已验证的通信(authenticated communication),即各节点将对消息进行签名,任何人都可以验证来自某个其他节点的消息是真实可信的。

4. Guarantee models 保证模型:

  这个命名有点奇怪,但我觉得这可以更好地描述该情况。

· 非概率性(Non-probabilistic):如果某个共识协议是非概率性的,就意味着该协议可以保证安全性(没有概率分布),只要一定数量的节点运行正常即可。

· 概率性(Probabilistic):如果某个共识协议是概率性的,那我们将自动引出一个概率分布(probability distribution)。通常来说,这种模型只能在1-ϵ的概率之间保证安全性,其中ϵ是系统设计人员选择的某个值。比如,一个概率性协议可能只保证99%的安全,即便一定数量的节点运行正常。记住这一点,这很重要!

 

原文链接:https://www.kg.com/article/504509681390194688

猜你喜欢

转载自blog.csdn.net/lidiya007/article/details/83343742