Hedera技术见解:DLT的脆弱性

  • 2019-04-25 09:20
  • 3T比特

一些协商共识算法是脆弱的,无论是节点的成员关系,还是这些节点对协商共识的影响都是很脆弱的,因为它们不能适应变化。结果是,这些变化导致共识被阻止或被破坏。这对某些类型的分布式分类账可能是一个问题,但对Hedera来说不是问题。

本文证明了Hedera基于stack的hashgraph共识算法的实现是异步拜占庭容错(ABFT)的,并用Coq证明进行了计算机校验。此外,它在面对节点成员和这些节点的利害关系的变化时具有弹性,因此不脆弱。节点会加入和退出,这些节点向协商共识所占的hbar数量会发生变化,其他帐户代理这些节点的hbar数量会上升和下降,但是协商共识的决心将适应这种动态,因此不会是脆弱的。为了确定事务的共识顺序,节点只需要知道帐户中hbar的余额—这与加密货币的要求完全相同。重要的是,节点不需要知道网络中节点的数量,就可以确定共识。

脆弱性

所有分布式分类账技术(dlt)都要求节点对网络的其余部分有一定程度的了解,以便:

1. 向这些节点发送消息
2. 验证来自这些节点的消息
一些dlt还要求节点能够:
3.评估其他节点对达成共识的相对影响
  
如果对协商共识节点集的更改或它们对协商共识的影响能够导致防止或破坏协商共识,那么我们可以说DLT是脆弱的。

例如,如果在一个节点下降时,其他节点冻结,那么显然该系统将是脆弱的。同样,如果在一个节点改变其利害关系时,现有的节点无法适当地确定这种改变对协商共识意见的影响,那么这种影响也是脆弱的。

Hedera

Hedera的共识模型假设节点知道其他节点的影响,并且这种影响能够随时间而改变。尽管网络将在许可的阶段启动,但在一段时间内,任意节点都有可能参与——以特别的方式加入和退出。此外,节点的影响力将与它们的股份成正比,而这将随着它们使用和接收hbar而上下浮动,或从其他帐户中损失和获得代理股份。

如果随着节点隶属度或staking的改变,节点的影响力计算不一致,比如Alice和Bob以不同的方式计算Carol的影响力,那么Hedera将是脆弱的。

但与任何为交易提供总顺序的权益关系证明分类账一样,Hedera允许节点一致地调整其影响力计算,从而考虑到节点成员关系的变化和其他动态因素,从而确保它能够适应这些动态因素。 

hashgraph虚拟投票算法让节点检查它们的本地hashgraph,并在逻辑上代表其他节点投票。对于Hedera,这些投票是基于节点的权益关系进行加权的。因此,所有节点必须能够计算所有其他节点对协商共识的影响。

节点相对影响的计算由以下几点决定:

1. 节点控制的hbar的数量和接近共识的Du注
2. 其他参与者代理到该节点的hbar的数量,以达成共识
3.hbar的总数

具体来说,我们用股权来衡量影响力的方式有以下几种:

1. 对于给定的事件,我们说时间戳将是社区中活动成员收到它的时间的加权中值。该集合的成员最先了解该事件的不同时间按最早到最近的顺序排列,第50个百分位的时间将是协商共识的时间戳

2. 我们通过让节点投票决定某个给定事件是否“著名”来确定“活动”——这些投票由每个节点的权益关系进行加权。创建这些著名事件的节点被认为是活动的

3.当Y(或N)对某一事件的声望的计数赌注超过总赌注的2/3时,选举结束,决定是最终的。

注意,没有计算使用节点总数——因为该值与Hedera的hashgraph实现中的共识意见无关。hashgraph算法本身允许其他标记模型,例如为每个节点精确地指定一个标记单元。这个简单的标记模型需要知道节点的数量。但是Hedera不这么做。Hedera使用了完整的hashgraph算法,其中不同的节点可以有不同的赌注。所以它需要跟踪的是总权益关系,而不是节点的总数。

因此,在给定的时间点上,为了计算影响(以及共识性),所有节点都需要知道

1. 所有节点的Du注
2. 总股份

Hedera的总股份固定在500亿hbar。

给定Hedera节点的Du注为:

1. 节点的hbar代币帐户
2. 代理到该节点的帐户中的hbar

由于在Hedera中没有绑定,1号将随着节点从该帐户花费hbar或从该帐户接收hbar(来自节点支付和不相关的事务)而改变。
类似地,当hbar进出代理标记的帐户时,或者当添加新的代理帐户时,或者当现有代理帐户决定切换到另一个节点时,2也会发生变化。

最后,节点的影响将取决于它的权益关系,而权益关系由一组加密货币帐户中的hbar数量决定。因此,计算共识性的Hedera节点的负担是,在任何时候,都要知道在所有已标记的帐户中有多少hbar(未标记的帐户是无关紧要的)。

当然,对于加密货币来说,这是完全相同的负担。任何加密货币(包括hbar)的基本价值主张都是防止有人花自己不拥有的代币,比如在账户中只有5个hbar时花10个hbar。为了保证这一点,Hedera确保所有节点在任何时候都同意每个帐户中有多少hbar。任何不能保证这一点的DLT都不是可行的加密货币。

hashgraph为事务提供了一个总顺序(即所有节点都同意所有事务的顺序),这一事实允许节点在给定的时间点上就所有节点的确切权益关系达成共识——因此对这些权益关系的变化具有弹性。因此,即使是更改节点股份的事务,也不能阻止社区就股份达成一致,从而达成共识。例如,如果节点Alice的帐户中有10个hbar,但其中2个用于购买,那么网络将授予她10个hbar的影响力,直到购买事务被记录时为止,然后授予她8个hbar的影响力。因为所有节点都会同意她的2 hbar交易相对于其他所有交易的顺序,所以他们会同意她的新股份数量,以及生效的时间,以及她对以后这些交易的一致计算的影响。在实践中,作为一种优化,Hedera节点将每24小时获取hbar平的快照,并在接下来的24小时中使用这些值。但对于节点来说,不断调整股权计算以反映实时账户余额流量也同样具有弹性。

结论

Hedera对hashgraph的使用类似于其他赌注证明账簿,除了没有通过绑定造成的流动性损失或大多数其他系统中典型的赌注损失风险之外。在Hedera的hashgraph部署中,所有节点都必须能够计算所有其他节点的影响。要做到这一点,它们只需要任何特定节点拥有的股份(包括拥有的和代理的)和发行的hbar的总数。第一个可以从相关的加密货币余额中获得,第二个是众所周知的固定值。计算中的任何一项都不受其他节点加入或退出网络的影响,因此权益关系计算(以及协商共识算法本身)任何此类流量都具有弹性。

原标题:Hedera技术见解:DLT的脆弱性|DLT|Hedera|Hedera技术|

头条推荐
图文推荐