程序员

哈希图开发入门6-哈希图的优势

2018-07-06  本文已影响8人  Block_Man

主题:

性能

安全

公平

性能

成本

与工作量证明的共识算法相比,哈希图是便宜的。个人与组织都可以运行哈希图节点而不需要购买昂贵的定制化挖矿设备。相反,他们可以运行在已有的,低成本硬件设备上。哈希图是100%高效能的,不浪费任何降低速度的计算。

效率

哈希图是100%高效能的,这是区块链社区的一个术语。在区块链产业中,工作量有时用于区块挖矿,这种做法现在已经被社区认为是过时的并已经丢弃。在哈希图里,“区块”的对等物不需要用这种过时的方法。哈希图在使用带宽上也是高效的。它所需要的仅仅是把某一给定交易通知给所有节点的带宽(甚至不需要在一个时间戳上对那个交易达成共识),哈希图只在绝对最小需求值上增加了非常小的额外负载。另外,哈希图的投票算法不要求为了投票发额外的消息给其它节点(或者统计投票),社区从交易本身的数据就可以做到这些。

吞吐

哈希图是快速的,只受限于网络带宽。如果每个用户都有足够稳定的带宽每秒上传和下载一定数量的交易,这整个系统就能处理那么多的交易。技术上家庭访问因特网的带宽也足够处理整个VISA卡网络的全球数据了。

状态传递效率

一旦事件发生,在数秒之内社区内所有人都会100%知道它该放在历史数据的位置。更重要地,每个人都知道其他人知道这些。基于这一点,他们可以组成一体,除非是为了审计和合规,可以丢弃部分数据。在一个最小化数字货币系统,每个成员只需要保留当前非空帐号的余额。他们不需要记住完整的从“创始块”一直到产生当前余额的历史交易数据。

安全

异步拜占庭容错

哈希图是异步拜占庭容错的。这个技术术语时说没有个体成员(或一小组成员)能阻止社区达成共识。也不能在共识达成后改变它。每个成员甚至可以知道他们何时已经达成共识的水准。区块链并不保证拜占庭一致,因为一个成员永远不能确定共识已经达成(只是随着时间流失可能性增加而已)。区块链部署拜占庭一致还因为它不能自动处理网络分区。如果有一组矿工被从因特网中隔离出来,那会使得多个链同时成长,它们互相之间交易的次序会发生冲突。

值得一提的是“拜占庭容错”有时在其它算法中是相对弱化的。但是在这儿,它是回归原本的强化定义:

每个成员会知道共识已经达成

攻击者可能串通

攻击者可能控制因特网

哈希图即使在这种强化定义下,依然是符合拜占庭容错的。根据所假设的网络和数据传输情况,拜占庭容错有多种有不同的级别定义。

最强的拜占庭容错是异步拜占庭容错,它能够在恶意攻击者控制网络、删除或减慢特定信息的情况下达成共识。唯一的假设是2/3的成员是正确地遵守协议,而且消息被不断通过互联网从一个节点传递到另一个节点,终究会传递通过,然后另一个也会,直到全部节点成功同步。有些系统是部分异步的,只有在攻击者没有太多算力和没有太多操控消息时间的情况下是安全的。例如,一个特定异步系统可以在消息会在10秒内通过因特网传递的前提下证明拜占庭容错。这个假设就忽略了现实瓶颈,DDoS攻击,和恶意防火墙。

在白皮书的附录中,一个完整的报告描述了哈希图的数据结构和算法,包括数学证明哈希图是异步拜占庭容错的。

符合ACID

哈希图是符合ACID的。ACID (Atomicity, Consistency, Isolation, Durability) (原子性,一致性,隔离性,持久性)是一个数据库术语,当哈希图是用作分布式数据库时也符合这一特性。一个社区的节点通过这个特性可以按照交易发生的次序达到共识。达到共识后,每个节点把这些交易供给它本地的数据库备份,并按照共识次序发给其每个节点。如果本地数据库具有数据库的标准属性(ACID),那么整个社区作为一个整体也可以说有个具有相同特性的分布式数据库。在区块链实现中,从没有一个时刻让你确定知道共识已经达成,所以它不是符合ACID的。

DDoS攻击恢复

一种形式的DoS攻击是当一个攻击者能让无用信息涌向一个诚实节点,阻止这个节点履行任务和角色。一个DDoS使用公共服务或设备在他们不知情的情况下放大DoS攻击,制造更大的威胁。

在分布式账本技术中,一个DDoS攻击可以把参与共识的节点作为目标,潜在地阻止共识产生。

哈希图是DDoS自恢复的,因为它不给一个节点或一小组节点在建立共识上有特殊的权利和职能。比特币和哈希图都是分布式的可以已某种方式抵御DDoS攻击。一个攻击者可能用数据包阻塞一个成员或矿工,使他们暂时与因特网隔离。但是整个社区仍将正常运作。如果攻击整个系统要使数据阻塞更大部分的成员,也非常困难。在区块链平台也有通过领袖代表或循环(挖矿)来避免比特币工作量证明的方式带来的成本消耗。但它们的确定是仍然对DDoS攻击敏感。如果攻击者攻击当前领袖代表,然后在下一个领袖被选出后马上攻击它,那么攻击者可以始终只攻击一台电脑来瘫痪整个系统。哈希图避免了这个问题,而且也不需要工作量证明。

公平

哈希图是公平的因为没有领袖或矿工队交易的共识时间戳有特殊权利。相反,交易的共识时间戳是经过投票竞选计算的,所有节点共同民主地建立共识。我们可以从三个方面表述公平:

公平的访问

哈希图从根本上是公平的因为没有个体可以阻止交易进入系统,或是延迟太久。如果一个(或几个)恶意节点试图阻止交易被提交到其它社区节点,传言协议的本质特性会保证交易数据绕开阻塞的节点。

公平的时间戳

哈希图给每个交易一个共识时间戳来反应大部分社区成员是什么时候收到这笔交易的。共识时间戳是公平的,因为一个恶意节点是不能侵蚀和改变太多时间。每个交易被赋予的共识时间,是每个成员说首次收到它的所有时间的中位值。收到在这里是指一个节点通过传言协议从另一个节点收到这笔交易的时间。这也是共识算法的一部分,保证了拜占庭容错特性。如果超过2/3的参与用户是诚信的而且电脑时钟也是可靠的,那么这个时间戳本身也是诚信可靠的,因为它产生于诚实可信的成员或者处于2个诚信可靠成员产生的时间戳之间的时间。因为哈希图取所有时间的中间值,所以这个共识时间戳是鲁棒的。即使部分时钟有少量差别,甚至部分节点恶意给差别很大的时间,共识时间戳也不会受到很大的影响。

共识时间算法对很多事情是非常有帮助的,例如一个法律义务需要按照一个特定时间执行一些任务。对一个事件是否在截止时间发生会产生共识,而且这个时间戳的产生过程可以抵抗攻击者的操控。在区块链中,每个区块包含一个时间戳,但是它只来自于单个时钟:那个挖出区块的矿机上的时钟。

公平的交易次序

交易按照它们的时间戳次序存放。因为给每个交易所赋 时间戳是公平的,所以排序结果也是公平的。对某些用例来说这非常重要。例如,想象一个股票市场,Alice和Bob都想已同样价格购买最后一定数量的股票。在区块链中,一个矿工有可能把这两笔交易放在同一个区块,而对它们的排序可以随意选择。或者矿工可以选择只包含Alice的交易,并延迟Bob的交易到下一个区块。在哈希图中,不可能有个体过度影响交易的共识次序。最多Alice可以投资买更好的因特网连接,然后她的交易先于Bob到达每个人。这也是公平的竞争方式。

原文:

https://dev.hashgraph.com/docs/hg101/advantages-of-hashgraph/

上一篇下一篇

猜你喜欢

热点阅读