[转载]秒杀Fantom?神秘黑马Ambr实力开挂
丨18年下半年风口:走向DLT ?
至今为止,可扩展性问题仍旧是区块链行业所面临的最大瓶颈。因此不难理解,即使是在熊市阶段上半年,公链项目(任何有助于提升可扩展性)依旧持续大爆发,以分片见长的Zilliqa及Quarkchain上线之初便有数十倍的涨幅,提供类侧链解决方案的POA、TOMO也有过十倍的辉煌,IOST、VEE、Emotiq等众多项目社区热度亦持续高昂。
分片、侧链项目广受社区追捧,而DLT(分布式账本技术)家族的其它几位成员:DAG(有向无环图)、DHT(分布式哈希表)、Hashgraph(哈希图)同样引起了社区的浓厚兴趣,IOTA、HoloChain、Hashgraph即是上述三大领域的优秀代表。不过,相较于DAG领域的枝繁叶茂及其深厚的社区基础,DHT和Hashgraph尚显得远未成熟,短期之内存在着很大的变数。
而对DAG来说,其本身也有着内在的技术演变逻辑。第一代的DAG项目如IOTA、Byteball、Nano致力于提升底层平台的可扩展性,但交易延迟的问题并不能得到很好的解决。由于无法预测交易被确认的时间与周期,这些系统并不适用于对一致性要求较高的领域中,比如说金融、零售、医疗等等。此外,由于在现有的DAG网络中,不能完全保证交易状态的原子性和统一性,可能存在特定节点(比如远程节点)确认某笔交易的时间无法估计。由于架构实现中存在的不确定性,即交易确认的不确定性、节点同步的不确定性、网络延迟所带来的顺序不一致性等,使智能合约的实现成为了一个很大的挑战(Byteball采用的是Apple Store模式)。而这两大问题(交易延迟、缺乏智能合约)便是第二代的DAG领军项目所要致力解决的。
来看看最近大热的Fantom是怎么解决的。Fantom号称韩国版的EOS,解决思路当然也和EOS很相似。Fantom有三层架构,其最底层被称为OPERA核心层,负责创建事件并通过Lachesis协议,来维护所有节点之间的共识。交易通过利用有向无环图进行确认,允许节点异步处理交易。与区块链相似,交易保存在网络中的每个节点上,然而数据却不是在所有节点上保存的。在普遍节点之外设置有见证节点,主要用来验证交易。见证节点检查网络上所有节点的有效性,这些节点通过DPOS的共识机制来选择验证者。如此一来,有验证者来负责校验全网交易并将其收敛到主链上,交易延迟及世界状态不一致的问题也就迎刃而解了,在此基础上便可以加入智能合约的架构了。但Fantom所给出的解决方案显然不是特别make sense,在这样的设计下,普通节点和见证节点的权利和利益关系是不对等的,存在很大的中心化风险。此外,在Fantom中并没有跨链机制的设定,在公链层出不穷的局势下,这将可能成为一个很大的劣势。
丨谁能成为DLT领域下一匹黑马?
尽管近期HoloChain、Hashgragh大热,但相比之下DAG领域依旧是最有潜力的。想一想Hashgragh 60亿美刀的巨盘,就可以预见几千万美刀流通市值的DAG项目有着多大的升值空间。而Ambr正是我们所要找的黑马项目——其设计之初就充分考虑了可扩展性、去中心化、隐私安全三方面的均衡,并且在互操作性方面的创新设定首创DAG领域先河。
上图是Ambr的生态概览,看起来有些复杂,涉及到不少概念:DAG、Casper、账户链、验证链、跨链协议、脱链协议。总而言之,不明觉厉!下面一一来拆解。简单来说,可以将Ambr看成一个拥有无限可扩展性的异步智能合约与跨链平台,这也就意味着,Ambr突破了智能合约在DAG领域的应用限制,且克服了以太坊在可扩展性方面所面临的种种限制!更难能可贵的是,Ambr还加入了跨链协议的设计,这在公链泛滥、生态割裂,跨链即将成为下半年风口的情况下,显然将为投资人带来无限可能!那么,神秘的Ambr到底是怎样一个项目?来看一看其技术细节:
Ambr是全球首个面向百亿级应用的DAG项目,其底层基于DAG和Casper协议,具备以下五大特性:1.无数账户链并行+验证链校验,完成 Casper共识与手续费的分发;2. AVM 虚拟机:完美解决了 DAG 结合智能合约的一致性问题;3. 通过分层共识算法,将交易的写入和确认解耦,保障系统的高性能和扩展性;4. Ambr脱链协议:无限的交易处理能力,引入观察者角色来惩罚作假人与保证高频次脱链交易时双方的利益;5. Ambr采用中继链技术,兼具Polkadot的可伸缩性、可扩展性,及Cosmos兼容未来区块的特点。
嗯,看起来足够有潜力,足够有颠覆性,不过98%的朋友应该看得一头雾水,所以接下来我们拿几个知名项目来作对比分析。
l 改进版Nano!下一个百倍传奇?
首先,来看Ambr很有特色的账户链及验证链的设计。类似于Nano的区块点阵结构,Ambr每个账户均有一条属于自己的链,该链上所有数据均同账户相关,唯有账户的所有者能在该条链上添加数据,由此提供近乎瞬时的交易速度和无限的可扩展性(请自行脑补NANO 5秒的交易确认及极高的网络吞吐能力)。同时,为了提升系统的稳定性及安全性(Nano通过投票机制达成共识,通过验证器节点对事件的状态进行投票,但验证器节点需要昂贵的维护成本,且网络没有提供经济回报,这就造成了,除了直接的利益相关方外,很少人愿意主动去维护Nano的系统,从而增加了其网络瘫痪及趋向中心化的风险)。相比较而言,Ambr对于Nano作出了如下技术改进:首先,Ambr引入了基于账户多链结构的DAG架构,使得网络中参与者的基本单位、账户独立出来,同时引入了一个验证链,采用Casper算法选举,成功解决了DAG架构中存在的不确定性(包含交易确认、节点同步、顺序等),从而智能合约的加入成为了可能。
众所周知,NANO的特色是零手续费交易和巨大的可扩展性。这看似美好到不真实,但实际上还是隐藏着不少问题的。零手续费交易的事情我们之后再说,先谈可扩展性。在加密数字货币领域,存在多个不可能三角,其中“DCS三角”说的即是:去中心化、一致性、可扩展性,这三者不可兼得。所以,考虑到Nano独特的验证器节点设计,可以推知Nano必然是牺牲了一部分加密货币“去中心化”的核心诉求的。对此,Ambr又如何来解决呢?来,看图,Ambr不是设计验证节点,而是引入了验证链的独特设计。那么,问题来了,什么是验证链?验证链有什么用?有什么优势?会不会也存在中心化风险?
先解释下这个图。在Ambr基础交易层中,整个系统由验证者(V1~Vn)、账户链(A, B, C...)、验证链 V、交易单元(S,R)、验证单元(V1, V2...)组成。其中,S(A, n) U R(A, n)的交易单元组成了 A 的账户链。具体来说,交易单元分为交易发送单元 S 与交易接收单元 R, 一对 (S, R) 组成一笔完整的交易。其中,验证链V的作用在于对 DAG 进行序列化,使得 DAG 在末端形成不可修改的稳定点。那么,有一个问题,为什么有必要对DAG进行序列化?事实上,由于DAG结构复杂容易出错,当交易量较大时,由于链的结构较为复杂,很有可能导致对历史的共识不一致,或者系统无法对交易进行序列化,使得交易永远无法被确认。由此,验证链的作用就显露无遗了。
具体工作原理如下:1.具有一定量Token的验证者在自己的账户链上添加一个请求加入验证者的单元,同时缴纳保证金;2.该单元得到验证链确认后的两个验证单元后,此申请人被加入到验证者集合中;3. 验证者轮流出块、发布验证单元:为上一个验证单元收集投票(投票统计图如上);对所有未经验证的交易进行合法性验证,并对符合合法性要求的交易进行见证;4.所有验证者一旦发现验证链上新的验证单元需及时同步信息,并对验证单元的正确性进行判断后投出经过自己签名的一票;5.若上一个验证单元作恶,则发布惩罚,没收其所有保证金;若投票通过,则发布者获取手续费并与所有验证者平分验证费;若没获得足够的选票则跳过。可以看到,验证者的集合是动态变化的、数目不定的,且门槛较低,相比于验证器节点而言,显然更能保证系统去中心化的特点。
l 超越IOTA?将DAG带向主流通用领域
显而易见,智能合约的缺失对于DAG的发展是很不利的。智能合约所将带来的颠覆性加密经济革命是无论如何评定都不为过的。而既然DAG相比于区块链而言,在交易吞吐量方面有着极大的优势,如若再加上智能合约,应用到各个领域中,这难道不是很有想象空间的事情?
IOTA是为物联网经济量身定制的,对于通用领域自然应对乏力。而Ambr的初衷就在于充分利用DAG的技术优势,将其拓展到主流应用领域,作为一个无限可扩展性的异步智能合约及跨链平台,面向百亿级应用为其提供底层技术服务。相比于以太坊虚拟机EVM, Ambr虚拟机AVM作出了如下技术改进:对于以太坊智能合约语言Solidity进行了适当扩展,提供了更为强大的描述能力;全新的基于消息驱动的异步架构(同时完美解决DAG 结合智能合约的一致性问题),极大提高了系统的吞吐率和扩展性。
如图所示,Ambr中内置了2种账户:外部账户(通过创建和利用私钥来对交易进行签名,来发送消息给另一个外部账户或合约账户,可据此激活合约账户的代码,允许它执行各种动作;合约账户(不能自行发起一个交易,只能是接收到交易后自动响应并触发另一个交易)。当智能合约被编译后,会被发送到网络中存储,对智能合约会生成一个新的合约账户,然后基于该账户添加一个 transaction 节点。那么,怎么进行合约验证呢?Ambr的共识协议依赖并行的验证链来协助进行交易确认:当智能合约被创建后,就会在 DAG 图中形成一个拥有一个节点的账户链,当节点被创建后,接下来会被当前验证链上的验证者所验证,同时生成一个新的 DAG 节点,这时候,新合约会被按照共识协议所定义的规则,被广播到其他网络节点。广播消息被通过p2p网络发送到其他节点后,节点会拿到消息内部的public key, unit-hash, signature进行验证,如果验证通过,就会将此节点插入到 DAG上。
值得注意的是,智能合约的执行需要一套去中心化的经济机制来进行维系。在以太坊中,这是通过矿工费的方式来体现的。而在IOTA和Nano中,是不存在矿工的,自然也就没有矿工费用的概念,但“零交易手续费”却并非意味着整个系统不存在交易成本的问题,只不过成本被转移了。零交易费用对于用户来说当然是好事,虽然这也就意味着,作为加密数字货币的使用者,他们必须对系统的去中心化程度作出一定的退让和妥协,同时还需要承担系统不稳定甚至崩塌的风险。此外,要实现智能合约,除了必须解决一致性及序列化的问题外,还需要处理好节点激励即手续费分发的事情。实质上,DAG系统中无手续费多数受制于其数据结构与共识本身的缺点,例如一致性问题。此外,无手续费就有可能导致攻击者发送大量的无成本交易对资源进行占用,却几乎没有任何成本,这也是困扰IOTA和Nano已久并受人广泛诟病的垃圾交易问题。而在Ambr的设计中,可以很好地应对这一难题。因为攻击者在发布交易时,需要付一定的手续费才能发布交易(手续费由收录此笔交易的验证单元发布者收取,同时所有验证者参与平分此验证单元内的所有交易手续费用)。这样的结果是攻击者的攻击成本大大增加使收益远远小于成本,从而降低被大规模攻击的可能。
l 跨链风口下,Ambr能否创造新传奇?
如今,数十条公链陆续上线主网,然而不同公链间却无法互联互通,这就形成了区块链世界中的相互隔绝的信息孤岛。如同IP协议在互联网中所扮演着类似的角色,跨链技术就是连接一座座孤岛的桥梁,作为下一个投资风口,很可能掀起新一波的牛市浪潮!想一想令人期待已久的Cosmos、Polkadot,场外已有数十倍甚至上百倍的溢价了,一旦上线又是庞大的市值,对于二级市场来说升值空间已经被大大挤压了。所以在现阶段,如果一级市场能够发现优质的跨链项目,以一两千万美刀的估值来算,是可以有接近十倍的增值空间的。那么,Ambr是否具备这样的潜力?
目前主流的跨链有几种方式:公证人机制(Notary schemes)、侧链/中继(Sidechains/relays)、哈希锁定(Hash-locking)、分布式私钥控制(Distributed private key control),其各自优劣势如下图所示:
可以看到,Ambr在互操作性、安全性、鲁棒性各方面都表现卓越,且适用于跨链交换、跨链资产转移、跨链Oracles、跨链资产抵押、多币种智能合约等近乎一切跨链使用场景,想象空间十分巨大!
Ambr跨链协议的核心技术是Ambr中继链,该技术使得Ambr不仅具有 Polkadot的可伸缩性、可扩展性,也具备Cosmos的兼容未来区块的特点。Ambr支持不同加密币种之间的跨链交易,允许用户实现Ambr和 BTC、ETC、ZCash等代币之间的交易,打破各个币种之间的交易障碍,使得一个个“ 信息孤岛” 在 Ambr 中完成无障碍的转移、交易与兑换。
如图所示,Ambr中继链主要起到记录交易地址与交易金额和验证交易是否合法的作用。一条交易链上具有多个交易单元。每笔跨链交易必须由至少一个交易单元进行记录和验证。每种和 Ambr 中继链连通的外币所产生的合约必须由中继链的中转单元进行审核,而且每个外币的某节点的交易地址肯定在中继链上有一个映射地址。每笔交易金额都会储存在中继链中的中转单元中。中转单元由验证者轮流发布,其主要作用如下:
1)对所有未经验证的交易进行合法性验证;
2)为上一个中转单元收集投票;
3)若上一个中转单元作恶,则发布惩罚。
总的来说,Ambr所提供的跨链解决方案看起来十分简洁有效,同时又具备很强的可拓展性,在互操作性方面的创新设定首创DAG领域先河,十分有潜力成长为下一代的跨链生态。
l 千万TPS?Ambr脱链协议来实现
对于区块链所面临的可扩展性问题,链下支付通道作为其中一种应对方案正逐步展现其高效性,闪电网络和状态通道便是其中的典型代表——将其中频繁交易的过程放到链外进行,降低链上交易压力,提高交易速度和吞吐量,从而提供对即时到账和大规模并发需求的支持。然而此类的Off-chain解决方案,缺点也相当明显:
1) 用户节点之间需要建立支付通道(链上创建交易双方多重签名地址),这不仅意味着高昂的交易费用,以及不良的用户体验,更为重要的是,难以适用于现实中的小额高频交易需求;
2)需要严格的资产锁定,这就意味着,为确保整个网络顺利运转,需要大量的BTC/ETH(资金)被锁定在各个通道中;
3)通道之间的不平衡性以及对通道允许交易金额的严格要求,有可能会导致中心化的趋势和风险;
4)建立支付通道的节点要通过复杂的路由和中间节点进行交易,不仅实现难度较大,需要支付额外的费用。
Ambr脱链交易示意图如上图所示,为解决现有闪电网络/状态通道存在的问题,Ambr在脱链协议方面进行了以下设计:
1)增加了观察者(图中标注为W),通道建立的时候,双方均可通过很小的代价选择观察者,用以帮助当自己不在线时,观察者能保证在链上进行举证从而保证自己的利益。
2)对于商家(图中标注为S),可能同时再向不同的客户(图中标注为C)服务,如若被举证作弊,则丢失所有通道中所有保证金,以此来保证通道使用者的诚实。
其正常交易流程如下图所示:
然而消费者很有可能由于购买金额不大,购买商品之后,不会时刻在线关注这笔交易有没有在法院被起诉。这时就留给了商家作恶的空间,如图所示:
商家作恶示意图在这种情况下,消费者为了保障自身的利益,当不在线的时候,就需要有知道自己交易细节的角色帮忙观察商家有没有作恶。
带观察者的交易作恶示意图综上,通过增加观察者,以及对作假人的惩罚来保证在高频次的脱链交易双方利益。概而言之,Ambr通过脱链协议,能够将大量高频次的小交易放到链外执行,链上只保存最初和最终的一个结果,从而对系统的吞吐量进行极大程度的扩展,顺利实现千万级TPS!