NXTER.ORG

阿朵与竞争,Pt.2:NEM / Mijin /Catapult

这篇文章是,阿朵与其他特征或目标相似的区链项目进行比较的系列文章的一部分你可以在这里找到以前的帖子:

本周我研究了NEM,一个类似于NXT的公共区块链。由于我对每个区块链项目的扩展方法感兴趣,我还研究了Mijin——NEM私有区块链版本,而Catapult是Mijin的一个重写,它承诺提供巨大的性能提升,并且还将纳入NEM的未来版本。

NEM

尽管NEM的核心开发人员放弃了将NEM作为Nxt的分支启动的初始计划,选择从零开始,但是NEM和Nxt仍然非常相似。像Nxt一样,NEM平台提供了一个的允许交易的预定义设置,这些应用程序可以用构建区块来创建更复杂的功能,而不是使用低级脚本语言来构建事务,比如Bitcoin或者Ethereum。

这两个平台都支持多种“blockchain 2.0”特性,如发送消息,创建和转移资产,以及发送需要多个账户(m-of-n multisig)批准的交易。这两个平台都是通过基于HTTP的API来显示其功能,因此开发人员可以使用任何语言来为其编写应用程序。

尽管有这些相似之处,NEM与Nxt相比也有一些显着的差异。

也许最根本的是它的新颖的共识算法,称为价值证明。该算法类似于股权证明,除了帐户可能收获(即锻造)下一个块的概率不仅取决于XEM的股份,而且还取决于最近它与其他帐户的交易,和交易了多少NEM。持有NEM大量股权和高频交易的账户比持有少量XEM或者低频交易的账户可以获得更多的区块。

NEM技术参考资料的作者认为,与股权证明相比,当确定锻造/获得下一个区块的权利(第7.8节)时,价值证明算法给最富有的账户较少的权重。价值证明也是NEM的垃圾邮件过滤器的核心,这要求攻击者不仅是控制大量帐户,这个很容易做到的,为了防止大量未经证实的交易网络刷屏,不仅是每个账户持有大量的股份,而且经常与其他高价值账户进行交易。

在我看来,NEM和Nxt之间的另一个主要区别是每个平台的“blockchain 2.0”功能直接集成到API中的程度。例如,NEM的资产称为“mosaics”,与Nxt货币体系的货币有些共性,但对于“mosaics”NEM没有内置去中心化交易。(另外,NEM基金会已经与Blockchain全球签订合同,创建了一个以mosaics为基础的ICO令牌的传统中央集权交换。)同样,虽然您可以在NEM之上建立一个分散的市场,用户可以在此购买和出售商品和服务,NEM没有像Nxt那样以API的形式建立这样的市场。

最后,NEM和大多数其他区块链(包括NXT)之间的一个微妙但非常重要的区别是处理多重签名交易的方式.NEM没有允许任何帐户生成多重签名的交易,而是引入了一个multisig账户的概念,并要求所有的多重签名交易都来自于这样的账户。帐户上的任何连署人都可以从其中发起交易,并且只有当其他连署人给它足够的数量,交易才能被批准

起初这似乎是一个限制,因为它需要一个单独的multisig帐户,用于每个想共同签名的连暑人,但它有两个关键点:multisig帐户是一个完整的帐户,能够接收付款,消息和mosaics,例如; 可以添加和删除连暑人,因此可以转让多重签名账户的保管权。创建一个“1对1”多重签名帐户成为可能,即一个帐户,一个保管人,如果需要,可以将其转让给不同的保管人。通过这方式,NEM上的multisig帐户可以给XEM、mosaics和消息当转移器。

这个概念的一个特别令人印象深刻的应用是,建立在NEM上名叫Apostille 的公证服务使用Apostille公证文件的过程如下所示:

  1. 哈希并签名文件的名称。
  2. 为生成的签名导出文档创建一个multisig帐户。
  3. 哈希并签署文件的内容。
  4. 将包含结果的消息发送到文档的multisig帐户。

请注意,最后一步还会在文档附加时间戳,因为将文档的已签名哈希传输到multisig帐户的交易已记录在区块上。

作为加注潜在应用的一个例子,白皮书的作者考虑了一个案例,在这个案例中,公证文档是一个汽车名称,汽车的所有权可以通过改变包含汽车名称的multisig帐户的联名签署人来进行转让;描述维护和修理的信息可以发送到multisig帐户来记录汽车的服务历史;政府或保险公司发行的mosaics可以证明支付费用通过这种方式,multisig帐户代表了汽车本身和其他帐户与它的交易历史。

无论如何,这对NEM来说是足够的。接下来,Mijin。

Mijin

在较高层次上,Mijin是NEM的一个版本,其中有三个NEM核心的开发人员和一家名为Tech Bureau的公司开发了一个私有的区块链产品和任何私有区块链一样,和开源的NEM相反,Mijin区块链由中央机构(如公司)拥有和控制。

这不是关于私人区块链的实用性充分辩论的地方,但是,Mijin和Catapult作为NEM生态系统的重要组成部分,请允许我拖延一分钟。在我看来,一个私有的区块链变得越“私有”,它就越不实用。虽然我能看到一个案例为促进“联合”区块链,其中一小部分独立的组织没有必要的信任和去相互配合,以确保网络不被该组织的任何一个成员的滥用,我很难看到价值,在一个区块链由单一的权力控制时。在我看来,没有信任共识的块链基本上只是一个非常缓慢,效率极低的数据库。

我知道有很多人不同意我的观点,那么,对于这篇文章的其余部分我将假定私有区块链有价值和有市场,特别是在金融服务,这似乎是Tech Bureau 计划Mijin去服务的主要行业。

关于Mijin在互联网上的信息不像NEM那么多,但我确实了解了一些有趣的事实,暗示着它的潜力。一方面,虽然Mijin和NEM是完全独立的项目,但Mijin确实共享了NEM API(至少两个API有很大的重叠),这表明开发人员编写的应用程序在任何一平台上运行的将相对容易。通用的API也可以促进Mijin链和公共NEM链之间的交换,但是我没有发现关于这些交换的细节的任何信息。

此外,Mijin 网站指出,Mijin将支持智能合约,但是Catapult白皮书似乎与该声明略有矛盾,即说:“这样做的方法是使智能合约成为外部组件,无论是集中式的(即现状现有系统)或分散化。这些智能合约的产出将通过安全的交易过程进行分布式记账。“对我来说,这意味着合同本身既不存储在块上也不会由网络上的所有节点执行

说一下Catapult

Catapult

Catapult是对Mijin的重写,重点是提高交易的确认速度。从白皮书(链接如上)来看,Catapult的最前部署在银行和其他金融机构,笔者预计将取代现在普遍使用的“disjointed monolithic systems”补丁。最终,开发商还计划将 Catapult集成到NEM中,以便扩展公共区块链。

像Mijin一样,Catapult目前是闭源的,许多技术细节不公开,我能够在NEM博客上找到一些很好的信息,特别在其中一个开发人员的这个线索中

Catapult将网络的工作分为三种类型的节点:

  • P2P节点,向区块链添加新的区块,并对其状态保持一致;
  • REST节点,它提供了客户端应用程序的所有特性,它们可以从Catapult API中使用;
  • API节点,这就像P2P节点一样,存储区块链,并且可以直接从它读取(我想),但它并没有添加区块。这些节点向REST节点提供数据以满足客户端应用程序的请求。

这种故障大致相当于网络应用程序通常使用的三层架构,其中区块链(P2P节点)是数据库,REST节点是前端,而API节点处理解释和与数据库中的数据交互的业务逻辑。

如果这个比喻是正确的,那么大概这个架构的目标是允许每个层级独立地扩展。特别是对于私有区块链,用于建立共识的P2P节点的最佳数量可能要比,处理应用程序发送到网络的所有请求所需的REST API和节点数量要小得多。将这些职责委托给网络上的各个节点,应该允许每个类型的节点根据需要添加或删除,以优化性能。

除了这个新的架构,Catapult 还进行了一些其他优化来提高性能。然而Mijin 和NEM是用的Java编写的,使用HTTP来与完整的节点进行通信,而Catapult 是用C ++编写的,而至少API节点和REST节点之间的通信使用全双工套接字(通过ZeroMQ),潜在地允许比HTTP较低的延迟。

位于同一数据中心并配置为,从108万个帐户提供服务的三个Catapult节点的性能测试显示,该网络每秒处理的业务量只有3000多个。新闻稿还不完全清楚,但是这个测试中的三个节点听起来像是P2P,API和REST三个角色。令人困惑的是,附图似乎将API节点称为“区块链接数据摄取服务器”,并将REST节点称为“API网关”服务器。

与阿朵比较

那么NEM与的Ardour相比如何?

事实上,至少有两个独立的问题:NEM的特性与的Ardour的特性相比如何NEM的扩展方法与的Ardour的方法相比如何?

由于Ardor(平台,而不是父链)将支持Nxt目前的所有功能,因此我在NEM和Nxt之间所提到的比较同样适用于Ardor。

特别是,的Ardor的子链将拥有更大的内置交易类型,支持更丰富的功能。

例如,NEM本身并不支持mosaic的点对点交易,对mosaic 持有人的股息支付,mosaic 持有者(或者大部分NXT的分阶段交易类型)的条件的交易,帐户属性,分散的市场,或像NXT的混币和别名系统。

阿朵的父链/链子架构也。将增加一些额外的功能。

特别是,用户将能够直接地彼此交换不同的子链令牌,而不首先转换为阿朵。这对于挂钩子链非常有用,用户可以直挂钩美元链和比特币链进行交易(例如),然而在NEM上,持有美元挂钩的mosaic 的用户将不得不将其出售给XEM,然后买一个比特币挂钩的mosaic 。

尽管存在这些差异,NEM仍然提供了丰富的功能,应用程序开发人员可以使用有趣的方式。也许最好的例子是Apostille’s 创造性地使用了NEM独特的multisig帐户。我不确定在的Ardor上复制这种功能是多么容易。

[编辑]:Jelurida的核心开发人员兼联合创始人Lior Yaffe有以下评论:

使用NXT可以通过为每个许可证注册发布单一资产,并在帐户之间发送。

关于如何扩展的问题,两个平台的差异更大。

NEM最终将合并Catapult的方法有两个方面:一个新的三层架构,将网络的职责分配到三种不同类型的节点中;以及一系列应用层的优化,例如使用C ++而不是Java 。我们需要推迟对后一种方法的判断,直到有更多的基准测试可用,但我们仍然可以谨慎地推测新架构的含义。

最大的优势似乎是私有区块链,在这里,私有链所有者可以对三种节点的数量和网络的拓扑结构进行微调,以优化吞吐量。此外,在这样的背景下,区块链膨胀问题并不像公共区块链那样严重,因为公司可以轻松地在其服务器上分配TB级存储来存储块链。

另一方面,使用这种新架构,NEM的性能得到改善却难以预料。不清楚网络上的每个对等体是否必须运行所有三种服务(P2P,API,REST)或三者之一。在前一种情况下,新架构的扩展优势可能会失去。在后一种情况下,速度(更少的P2P节点,更多的API和REST节点)和安全性(P2P节点的更大部分)之间的经典权衡将保持不变。而且由于没有人能够控制公共网络上每种类型节点的数量,所以最佳平衡是什么呢?

相比之下,Ardor的设计并没有试图达到尽可能高的吞吐量,至少一开始是这样。相反,Ardor的主要扩展目标是大大降低区块链的生长规模和增长率。它使用唯一的父链/子链架构,网络上的所有节点都验证所有的交易,但只属于那些持有父链币(ARDR)锻造的帐户。由于子链硬币不能用于锻造,子链的交易历史与网络的安全性无关,可以被删除。

然而,值得注意的是,计算扩展是在Ardor 路线图上

具体来说,将来可能将子链事务处理委托给Ardor网络的单独子网,从而允许大多数节点忽略大多数事务。

结论

Ardor和NEM都提供丰富的、大量重叠的功能。

总的来说,我的印象是,开发人员大概可以轻松地在任何一个区块链上构建类似复杂的应用程序。在这个意义上,这两个平台是直接的竞争对手。

然而,在他们的扩展方法中,阿朵和NEM是完全不同的。

虽然Catapult 在私有区块链确认交易的速度上可能会获得显著提高,但我对NEM使用相同方法在公共块上获得的性能提升更加怀疑。

另一方面,Ardor并没有试图解决计算扩展的问题(目前),但是已经找到了一个非常有效的解决方案去处理区块链膨胀问题。

我想时间会告诉我们,计算扩展或区块链膨胀最终是否会给区块链技术带来最大的长期问题,时间也会告诉我们这两个平台是否找到了足够的解决方案。

 作者:Segfaultsteve

 翻译:fz1128

View this in: English Español

留下评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据