编者按:本文来自白话区块链,作者:五火球教主,星球日报经授权发布。前情提要
上篇介绍了双链结构、分层结构、反直觉的随机算法等诸多下一代公链技术,在文章最后,我们还提到了“非区块链技术”这一大类,代表有DAG公链、类DAG公链等,它们采用的技术和我们熟知的区块链项目有很大差异,将会在本文逐一介绍。介绍之前,我们首先弄清楚区块链和DLT的关系。DLT包含BLOCKCHAIN、DAG、TEMPO等技术如上图所示,区块链是一种DLT,而不完全等同于DLT。DLT是能实现分布式记账的技术统称,包含了区块链、有向无环图、分布式哈希表、Tempo等一系列技术。因此,DLT和区块链的关系就好比是“交通工具和轿车”的关系。只是在DLT家族里,相比于其他技术,人们更加熟悉区块链。那么,在那些没有使用区块链技术的DLT项目里,是否会杀出与区块链旗鼓相当的底层公链呢?下面我们就来讲讲这类项目的几大技术代表。01DAG与类DAG技术
DAG全称是“有向无环图”,没有区块概念。它不是把所有数据打包成区块,再用区块链接区块。而是每个用户都可以提交一个数据单元,数据单元间通过引用关系链接起来,从而形成具有半序关系的“有向无环图”。DAG还处于起步阶段,对比区块链“相对成熟”的技术,晚了好多年。由于DAG没有区块,所以也就不受区块大小的限制,从而可以支持极大的并发量和极高的速度,在TPS上远胜区块链技术。但有利就有弊,它在工程学上的一些硬伤,目前仍待解决。?首先,DAG是异步的,无需同步就能提交交易。但由于其他节点要迭代,全网迟早要同步。?其次,做合约,用异步会更加费劲,因为合约是依赖关系冲突的。用大白话来讲就是:区块链走的是排队买票上车的路数,有秩序,但速度慢;DAG走的则是“先上车,后补票”的路数,省时间,速度快,然而有可能会挤死……DAG与类DAG的底层公链,代表项目如下:国内的纳尔图、Intervalue、VITE;韩国的Hycon、Fantom;欧美的Byteball和Hashgraph等项目。我上期有小伙伴留言,说“DAG类代表居然没有IOTA”。这里给出解释:IOTA算是DAG的祖师爷,按理说应该列出。但IOTA原生不支持智能合约,且专注于物联网而非底层平台型公链,并不属于同一赛道,所以没有列出。这些项目,也都在解决“DAG异步提交”这个工程学硬伤上绞尽脑汁,比如:?VITE用了NANO的区块点阵,然后加了一层快照链,略微牺牲了一些性能,但提高了安全性;?Intervalue则是用了哈希网的数据结构和BA-VRF的双层共识;?Hashgraph则是用了互相传播和虚拟投票的技术确保全网共识。每个解决异步的方法和思路都不太一样,有兴趣的朋友可以去详细了解一下。02DHT技术
DHT全称叫分布式哈希表(DistributedHashTable),是一种分布式存储方法。在不需要服务器的情况下,每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的寻址和存储。利用DHT技术的代表项目是Holochain和IPFS。IPFS是协议,不是公链,在此不详述。下面,重点来介绍应用DHT技术的公链Holochain。区块链目前面临的扩容难题,就是因为区块链要获得全网共识,共同维护一个统一版本的账本。而运行速度、网络带宽、动机等都会影响区块链的整体性能,导致扩容进程艰难。Holochain的账本是分布式存储在各个参与的节点之上,通过DHT的寻址技术来保证账本的完整性与可检索性。换句话说,全网就一份账本,一人存一部分,这样扩容就方便多了。放在现实世界类比的话,这有点儿类似于“六人定律”原理。比如,最近赵丽颖跟冯绍峰官宣结婚了,你想要给女神发个微信恭喜一下,该怎么做?你的手机里大概率没有女神的微信号,但是你的朋友里面可能有认识她的,即便你的朋友没有认识她的,你朋友的朋友说不定有人认识。最多不超过六层关系,你就能找到赵丽颖的微信号。区块链,就好比每个人手机里都存着所有微信用户的微信号。DLT技术,就是每个人只存自己好友的微信号,找人时跳转几次就能找到目标对象。你肯定会问,那若有节点离线该怎么办?很简单啊,赵丽颖的微信号肯定不是只有离线的那个节点知道,你可以通过别的节点找到女神呀。换成Holochain的专业术语,就是:虽说只是局部共识,但节点之间会互相做一些备份,并与备份的相邻节点按时通信,如果发现相邻节点离线了,就把数据再次备份到另外一个相邻节点,保证副本的数量。Holochain的问题在于:它是局部共识,安全性还有待验证。比如,能否完全避免双花;如何应对DDOS攻击;若好多个节点同时离线且来不及数据备份该怎么办等一系列问题,这些都需要时间来检验。值得一提的是,在Holochain平台上,个人电脑和手机都可以当节点,专业矿机请走开!03Tempo及逻辑钟技术
Tempo及逻辑钟技术是一个比较冷门的技术,鲜有项目使用这类技术。RadixDLT成为该技术的唯一代表。RadixDLT有两个很有意思的特点:?先分片,后共识传统区块链实现安全的方法,就是每个节点存储所有数据。分片后,每个节点掌握的数据不同,就容易带来很大的安全隐患。比如说,你在家表现不乖,被你妈揍了一顿。然后等你爸下班回家之后,你跟你爸说:“爸比,我今天表现很乖哦!可不可以出去玩?”然后你顺利讨你爸欢心,出去玩了。理论上来说,你被你妈揍的事情是可以瞒住你爸的,因为信息并没有同时传播给所有人,每个人只掌握部分信息。区块链分片技术推出这么久,成功的项目寥寥无几的原因就是:“先共识,后分片”的技术,跟区块链“每个节点存储所有数据,实现全网共识”的核心精神相背离。RadixDLT的Tempo共识分片则完全反了过来,先分片,后共识。在技术上,遵循这样的逻辑:?每个分片的大小和总分片的数量是提前设计好的;?每个分片都已经创建。它们住在同一个“宇宙”中,它们的位置ID是已知的。每个交易都带有发送方ID与其分片ID的混合标记。这么说比较抽象,还拿刚才的例子来说明:你在家再次表现不乖,又被你妈揍了一顿,但这次揍完之后,你妈拿印泥在你头上盖了个戳——“不乖”。你爸下班回家后,你跑过去跟你爸说:“爸比,我今天表现很乖哦!可不可以出去玩?”你爸瞥了眼你额头那鲜红的“不乖”二字,冷笑一声,“小样儿!在家不乖还想出去玩?!回屋罚站!”你爸这次完全不需要跟你妈交换信息。他不需要所有的信息,但仍可以识破你的谎言。?逻辑钟在区块链或者说DLT的世界里,对事件排序是个很重要的事。PoW共识机制,是用谁先算出哈希的方法来决定事件顺序;PoS共识机制,是用随机抽样的方法来决定事件顺序;RadixDLT的Tempo,则是用逻辑钟来做这件事。逻辑钟不关心某个时间点发生的事情,而是更关心事件之前发生的事情。比如,你去饭店吃饭这件事,要经历“走进餐馆、点餐、用餐、结账、离开餐馆”这个流程。如果你是餐馆老板或者保安,当一个客人拍拍屁股要走人的时候,你可能不是关心现在是几点几分,而是关心这人结账了么?结了?—很好没结?—那得瞅瞅他之前有没有发生“用餐”行为总而言之,RadixDLT的Tempo并不关心交易发生的确切时间,它所关心的只是交易发生的顺序。对于某个特定交易,它只关心交易之前“发生过什么”。假设,张三与李四在12:00完成交易A,与王五12:10分完成交易B。那么,RadixDLT是不关心准确的完成交易的时间,只会记录“交易A发生在交易B之前”。哪怕王五在12:15才看到交易A,也没事儿,因为共识是“交易A发生在交易B之前”,全网一致性靠顺序来实现,而不是具体时间。当然,逻辑钟属于新生事物,还在理论设计阶段,它的各项性能仍需时间的检验和历史的筛选。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。