哈希图 vs 区块链,记账的快与慢

自古会计第一准则:碰钱不管账,碰账不管钱。

用一人的余额比对另一人的流水,同时管住操作失误和道德风险,一箭双雕,集中记账的风险顿时蒸发,掌柜省心。

账钱分离,是人类历史上第一次正儿八经的分布式记账。

管钱者和记账者分布在掌柜两侧,相互牵制、却常常相安无事。后来银行专职管钱,每月交出对账单,掌柜以此核对自家账目,继续相安无事。

直到有人怀疑银行内部有事,会默默增发大家不知道的币,这人一气之下发明出一种新的记账技术——区块链:人手一本账,大家一起记,谁也别蒙谁。

很多人以为区块链就是分布式记账,可分布式的账不一定非得用区块链来记,还有一种方法:哈希图。

一、什么是哈希图?

哈希图(Hash Graph)是一种分布式记账技术,最耀眼的特点是快和准,能在电光火石间记清全网的账。

快和准源自于哈希图的流言协议(Gossip Protocol):所有节点把自己的交易信息告诉左邻右舍,又把左邻右舍的交易消息传给其他节点。于是流言就像核裂变,射向全网。

可光让全网知道是不够的,知道后如何达成一致才最关键。所以,除了交易信息和数字签名之外,信息包上还贴着两个哈希值(戳此复习概念:哈希值),千万别小看它们,机关全在里面。

这两个哈希值分别是节点自己上一笔交易的哈希和要传递交易的哈希,节点把这些信息打包成“事件”,发给周边任意节点。

图1 哈希图的事件结构

当所有节点收到你事件的下一刻,账就已经记完了,这是为什么?

因为你知道“别人都知道这件事”,同时别人也都知道“你知道别人知道这件事”,绕晕了吧?但知道这种链条可以无限延伸下去,最终形成全网共识。整个过程很神奇:大家没有围坐一起举手表决,居然就公认这一事件。

在哈希图里,把这一过程称为虚拟投票(Virtual Voting)。“虚拟”是指没有投票箱或计票员,但大家都能一声不吭算出共识,而且准确无误。

这一切都要膜拜哈希值的特性:简明且不可仿冒。在此基础上搭配流言协议和虚拟投票,最终让哈希图快马加鞭到一骑绝尘。

让我们来把玩一个哈希图的最简模型: 

哈希图 vs 区块链,记账的快与慢_第1张图片

图2 哈希图的事件在节点间的关联

ABCDE五根竖线分别代表五个计算机节点,当A收到B随机传来的事件时,A创建一个事件(红点)。

该事件包括:B的交易时间、交易记录和两个事件的哈希值:A自己最新事件的哈希(深蓝)和B传来事件的哈希(浅蓝)。

数字签名(戳此复习)后,A把红色事件随机告诉其他人,其他人也以同样的方式传播。

电光火石的意思是:当红色事件扩散完毕时,账就已记完,而且不会有错。因为只要网络通畅,每个节点最终能共享同样的哈希图(图3)。

哈希图 vs 区块链,记账的快与慢_第2张图片

图3 节点A内存里的哈希图

所有节点都可以通过沿途事件(中间赤红色),把最新事件(顶部黄色)关联到自己早前的事件(底部橙色),以此确认交易。

如图3,A可以推知:BCDE四节点都会认可顶部的黄色事件,因为他们各自起始时刻的事件(底部橙色)都至少有四条路可以通到顶部事件,这四条路又经过4个节点,而4又是大多数(全网共5个节点),于是确定全网已达成一致。

这就是为什么事件中不仅要包括别人事件的哈希,而且要包括自己事件的哈希。关键在这里,这是为让全网知道前后事件的关联,最终让所有节点完成虚拟投票。

如果你读不明白这段也没关系,哈希图白皮书中的解释文字比这篇文章都长,其实只要换成一个我们熟悉的场景就能理解:

当你转发文章时,顺便告诉别人:“此文是4月14日18:30由作者本人发给我的”,同时附上文章的哈希和你的签名。如果大家都这么做,用不了多久,全网都会知道作者姓名、文章内容和发布时间,并且准确无误。

而哈希图规则加了一条要求:转发文章前,你必须再加上自己最新文章的哈希值,因为这是要便于全网其他节点追踪传播路径,更可靠地达成共识,否则流言就容易变成谣言。

把节点数从5个扩大到500个,也是同样的道理,只是哈希图会复杂到肉眼看不清,只有用程序才能算清,不过计算过程仅在眨眼之间。

你一定看出来了,哈希图隐含一个前提:诚实节点超过节点总数的2/3,这是所有拜占庭容错算法的根本假设。

哈希图用的也是拜占庭容错算法,细分类别属于完全异步的拜占庭容错(aBFT),名字听着很唬人,但译成白话文却很简单:不对信息传播速度的快慢作任何假设,这样就能应对通信故障和拒绝服务攻击的影响。

当然完全异步算法的缺点也很明显:等不到2/3多数点头,所有节点就都算不出共识,因为大家都在彼此等待。

关键问题是:当恶意节点超过1/3时,该怎么办?

答案是没法办。 

二、哈希图的局限

只要不良节点低于总节点数的1/3,拜占庭容错算法能保证共识无误,可如果不良节点超标,哈希图就会精神错乱。

这是由于全网并没有牢不可破的共识机制,既然所有信息都是用耳朵听来的,那么谁嗓门大就谁就有发言权,如果好人撕破喉咙喊,坏人举着喇叭叫,那这本账就一定记歪掉。

可是你不用担心,哈希图的确见不得大场面,但却不影响她在小圈子里的能歌善舞。我们专栏2月10日一文中曾抛出一个小概念——许可链:节点需要获批才能入围。

既然软肋无法消除,那就确保不被戳到。通过选秀让网络节点纯洁起来是使用哈希图技术的前提。许可链的范围界限就是哈希图的能力边界,这是局限之一。

第二个局限让开发者很无奈:哈希图是专利技术,不付费不能用,而且付完费还得省着用,因为后面追着节点广播费、消息存储费和交易手续费……

可如果你认为用钱就能摆平,那就太小看专利发明人Leemon Baird教授了,因为他还规定:开发者不能自行修改代码,他的公司会追踪下载代码的人。“一经发现法庭上见”,这是Leemon在接受采访时挂在嘴边的话。

Leemon是计算机科学博士,是Swirlds公司的创始人兼CTO,Swirlds公司早些年用保密的哈希图技术开拓大企业间的快速交易市场。

2016年Leemon进军加密货币行业,成立Hedera公司。为了解决网络开放后的不良节点问题,Hedera引入DPOS共识算法(戳此复习),邀请39家大企业共建交易环境,同时历史性地公开了哈希图技术源码。

但“公开”的意思是给你看看,任何改动都必须遵从Hedera公司的要求:你可以有自己的想法,但必须拿到我的牌照。没有开发者愿意接受教鞭的调教,所以在社区建设方面,哈希图的进展几乎为零。

但Leemon并不在意社区的想法,因为他有重量级的客户群,比如Credit Unions(信用行业联盟)和CULedger(美国信用合作社),他很清楚自己的目标客户是小众精英创建的大型企业,所以哈希图不像区块链那样,为大众耳熟能详。

可如果有人告诉你:哈希图会取代区块链,成为下一代分布式记账的主流技术。那你就应该启动逻辑链条,开始独立思考:

三、哈希图vs.区块链:一山不容二虎?

官方白皮书提到哈希图的另一项优势:公平。即,每笔交易都能按照它实际发生的时间记账,而不必像比特币这种区块链技术,实际交易时间经常和账本记载时间对不上。

这是因为比特币矿工收到交易广播时,通常先要打量一番,如果发现一笔交易的优先级不够高(戳此复习概念:交易优先级)或者手续费不性感,矿工就会把它压到抽屉底下,先打包其他交易,左看看右等等,最终账簿上的登记时间就会晚于实际交易时间。

但哈希图治下,交易时间都与实际一致,因为交易发生的一瞬间就已传遍全网,获得公认。你可别小看这种高效,现实中有很多创新应用,最著名的就是防止证券业内的抢先交易。

比如:

你委托我以市场价格买入5000万股腾讯股票,我作为经纪人,收到你的指令后先按下不发,转身自己买好100万元,然后公开你的买单,腾讯被你的大单刺激,大涨10%,我却转身卖出,仅凭消息就坐收十万。

全球监管机构常把抢先交易视作违法行为,多年严防死守,花式道德教育,但技术上只能依靠事后监督,而且取证需要监听嫌疑人,所以往往不了了之。

如果把哈希图用在证券交易系统中,就能杜绝抢先交易,因为用户在发布交易指令的瞬间,“何人何时以何价买何股”这一事件就无可争议地散向全网,“高效”二字当之无愧。

但是,高效不是白给的,付出的代价轻易看不见。哈希图通过预筛的方式维护网络平静,但它本身无法抵抗恶意泛滥,所以一旦涌进陌生节点,就会戳中哈希图的死穴:安全。

如果哈希图是轻功+六脉神剑,那区块链就是金钟罩+铁布衫。在安全方面,区块链的优势更像珠穆朗玛峰,直冲九天。这两位分布式记账派的同门师兄弟并不是要决出你死我活,而是要各自下山,以己之长摆平问题,这才是他们的使命。

中国人民银行陈一稀提出,当前技术存在“不可能三角”,即无法同时达到分布式、高效和安全,三者最多满足其二。

在分布式记账之路上,哈希图向左走,打磨高效;而区块链向右走,修炼安全。

以比特币为例,它用工作量证明(POW,戳此复习)共识算法守护账本,记每一页账都像在烧一块砖,放进窑里让全世界矿工烧10分钟,出炉后封装进区块。每个区块指向上一个区块,块块相连,连了九年。

很多人都说,比特币不仅费电、又费时间,浪费钱又耽误事,但他们也许并没有注意到,打破这种级别的安全所需要的能量要烧掉几只太阳,这种内力足以此抵抗所有潜在恶意。

天下武功唯快不破,哈希图用速度解决它场景里的效率问题,而区块链不是为解决效率问题,而是为解决问题。

结语

哈希图的工作原理说明它能用低成本记快账,但回到问题本源,想想开篇“账钱分管“的会计准则,分布式记账要解决的是安全准确,并且长期安全准确。

所以记账快慢不是问题本身,能在多种场景下始终牢不可破,才是一本账真正的价值所在。

当然,世界需要多样性,我们更需要用足各种技术的天然优势,衡量成本,解决工作生活中的实际问题。

区块链善于在陌生和凶险的环境中记账,那个世界节点自由出入,善恶难辨,为此不得不多做很多工作,维持共识稳定。而哈希图是在熟人环境里记账,通过严选节点,打造许可链,效率始终优先。

这就好像社会治安一定需要警察出面,查身份证或透视行李,大家都得配合,为了安全,所有节点必须付出成本。而私家花园里的晚宴,并不需要保安时时搜身,基于信任,我们就能享受便捷。

如果你有心,把同等规模区块链和哈希图的运营成本相减,除了发现一个天文数字外,你一定能够看出,这是人与人之间信任的真实标价。

你可能感兴趣的:(DAG)