哈希图共识算法
Posted 哈希图星球
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哈希图共识算法相关的知识,希望对你有一定的参考价值。
哈希图共识算法以创新、高效的方式实现分布式共识。哈希图是一种快速、公平和安全的分布式共识算法和数据结构。这间接地创建了一个值得信赖的社区,即使成员不一定相互信任。
赫德拉是唯一授权使用哈希图的公共分类账。共识算法是专有的,该代码将在 Hedera 网络的第 1.0 版进行公开审查。
性能
成本
从避免工作证明的意义上说,哈希图价格低廉。运行哈希图节点的个人和组织不需要购买昂贵的定制采矿钻机。相反,它们可以运行现成的、经济高效的硬件。哈希图效率为 100%,无需在降低速度的计算上浪费任何资源。
效率
哈希图效率为 100%,因为该术语在区块链社区中使用。在区块链中,工作有时会浪费在挖掘块上,该块后来被认为是陈旧的,并被社区丢弃。在哈希图中,相当于"方块"永远不会过时。哈希图在使用带宽方面也很有效。无论仅仅通知给定交易的所有节点所需的带宽量(即使没有就该交易的时间戳达成共识),哈希图只增加了一个超出绝对最低值的非常小的开销。此外,哈希图的投票算法不要求发送任何额外的消息,以便节点投票(或要计算的选票)超过社区得知交易本身的消息。
吞吐量
哈希图速度很快。它仅受带宽的限制。如果每个成员都有足够的带宽下载和上传给定的交易数量每秒,系统作为一个整体可以处理接近这么多。即使是快速的家庭互联网连接也可以足够快地处理整个VISA卡网络的所有交易,全球。
状态效率
一旦发生事件,社区中的每个人都会在几秒钟内以 100% 的确定性知道应该将其放置在历史中的位置。更重要的是,每个人都会知道其他人都知道这一点。此时,它们可以只包含交易的效果,除非将来需要审核或合规,否则将丢弃它。因此,在最低加密货币系统中,每个成员只需要存储每个帐户的当前余额,而该余额不是空的。他们不需要记住导致这些余额一直回到"起源"的交易的完整历史。
安全性
异步拜占庭故障容差
哈希图是异步拜占庭故障容忍。这意味着,任何成员(或小团体成员)都无法阻止社区达成共识。一旦达成共识,他们也不能改变这一共识。每个成员最终将达成一个点,他们肯定知道他们已经达成共识。区块链不能保证拜占庭协议,因为成员从未确定已达成协议(只是随着时间的增大而上升的可能性)。区块链也是非拜占庭式的,因为它不会自动处理网络分区。如果一组矿工与互联网的其他部分隔离开来,这可以允许多个链条增长,从而在交易顺序上相互冲突。
值得注意的是,"拜占庭故障容忍"(BFT)一词有时被其他共识算法在较弱的意义上使用。但在这里,它被使用在其原始的,更强烈的意义上,(1)每个成员最终知道已经达成共识,(2)攻击者可能串通,(3)攻击者甚至控制互联网本身(有一定的限制)。哈希图是拜占庭式的, 即使根据这个更强的定义。
BFT 有不同程度的差异,具体取决于对网络和消息传输的假设。BFT 的最强形式是异步 BFT-这意味着即使恶意行为者能够控制网络并删除或减慢其选择的消息,它也能达成共识。唯一的假设是,超过2×3正确遵循协议,如果消息通过互联网从一个节点反复发送到另一个节点,最终一个将通过,然后最终另一个将,等等。某些系统是部分异步的,只有当攻击者没有太多权限并且不操纵消息时间太多时,这些系统才是安全的。例如,一个部分异步系统可以证明拜占庭的假设,即消息在十秒钟内通过互联网传递。此假设忽略了僵尸网络、分布式拒绝服务攻击和恶意防火墙的现实。
ACID
哈希图符合ACID。ACID(原子性、一致性、隔离性、耐久性)是一个数据库术语,用作分布式数据库时适用于哈希图。节点社区用它来就交易的发生顺序达成共识。达成共识后,每个节点将这些交易馈送至该节点的数据库本地副本,并按共识顺序发送每个交易。如果本地数据库具有数据库 (ACID) 的所有标准属性,则整个社区可以说是拥有具有相同属性的单个分布式数据库。在区块链中,永远不会有一刻你知道已经达成了共识,所以它不会符合酸性。
分布式拒绝服务 (DDoS) 攻击弹性
当攻击者能够向网络上的诚实节点充斥无意义的消息,阻止该节点执行其他(有效)职责和角色时,就会发生一种形式的拒绝服务 (DoS) 攻击。分布式拒绝服务 (DDoS) 使用公共服务或设备在不经意间放大 DoS 攻击,使其成为更大的威胁。
在分布式分类账中,DDoS 攻击可以针对有助于定义共识的节点,并可能阻止建立这种共识。
哈希图具有 DDoS 弹性,因为它不赋予任何单个节点或少数具有建立共识的特殊权利或责任的节点。比特币和哈希图的分布方式都抵抗 DDoS 攻击。攻击者可能会向一名成员或矿工提供数据包,以便暂时将其与互联网断开连接。但整个社会会继续正常运作。对整个系统的攻击需要向很大一部分成员灌装数据包,这更加困难。已提出若干基于领导者或循环区块链的替代方案。这些建议是为了避免比特币的工作证明成本。但他们有对 DDoS 攻击敏感的缺点。如果攻击者攻击当前领导者,并在选择新领导者后立即切换到攻击新领导者,则攻击者可以冻结整个系统,同时仍一次只攻击一台计算机。哈希图避免了这个问题,同时仍然不需要工作证明。
公平性
哈希图是公平的,因为没有领导者或矿工获得特殊权限来确定分配给交易的共识时间戳。相反,交易的共识时间戳是通过投票过程计算的,在投票过程中,节点集体和民主地建立共识。我们可以区分公平性的三个方面。
公平访问
哈希图从根本上说是公平的,因为没有人能够阻止交易进入系统,甚至非常拖延。如果一个(或几个)恶意节点试图阻止将给定交易交付给社区其他部分,从而被添加到共识中,则八卦协议的随机性质将确保交易围绕该阻止进行。
公平时间戳
哈希图为每笔交易提供了一个共识时间戳,以反映大多数网络成员何时收到该交易。这种共识时间戳是"公平的",因为恶意节点不可能损坏它,使其与当时有很大的不同。每笔交易都分配了一个协商一致的时间,这是每个成员表示首次收到该交易的时间中位数。此处收到是指给定节点首次通过八卦从另一个节点传递交易的时间。这是共识的一部分,拜占庭的所有保证也是如此。如果超过 2~3 的参与成员诚实,并且其计算机上有可靠的时钟,则时间戳本身将诚实可靠,因为它由诚实可靠的成员生成,或介于诚实可靠的成员生成的两倍之间。由于哈希图占据了所有这些时间的中位数,因此共识时间戳是稳健的。即使一些时钟有点关闭,或者即使几个节点恶意给时间是遥远的,共识时间戳没有显著的影响。
这种共识时间戳对于诸如在特定时间之前执行某些行动的法律义务等事项是有用的。对于事件是否在截止日期前发生,以及时间戳是否抵制攻击者的操纵,将达成共识。在区块链中,每个块都包含一个时间戳,但它只反映了一个时钟:开采该块的矿工的计算机上的时钟。
公平交易订单
交易根据时间戳进行。因为分配给个人交易的时间戳是公平的,因此产生的顺序也是如此。对于某些使用案例来说,这一点至关重要。例如,想象一下股市,爱丽丝和鲍勃都试图在同一时刻以相同的价格购买股票的最后可用股票。在区块链中,矿工可能会将这两个交易放在一个区块中,并完全自由地选择它们发生的时间顺序。或者矿工可能会选择只包括爱丽丝的交易,并推迟鲍勃的未来块。在哈希图中,个人不可能不适当地影响这些交易的共识顺序。Alice 能做的最好的就是投资更好的互联网连接,这样她的交易就可以在鲍勃之前到达每个人。这是公平的竞争方式。
以上是关于哈希图共识算法的主要内容,如果未能解决你的问题,请参考以下文章