各种区块链建筑的横向比较

各种区块链建筑的横向比较

我经常听到人们谈论区块链。自2009年比特币诞生以来,基于区块链的各种区块链系统或应用不断被开发并应用于大量场景,区块链技术本身也在不断变化和完善。

区块链又称分布式账本,对应的是集中式账本,比如银行。与集中式账簿不同,分布式账簿依靠在所有参与节点冗余存储账簿数据来保证账簿的安全性。简单来说,区块链将使用三种底层技术:对等网络技术、密码技术和分布式一致性算法。通常,区块链系统还会“赠送”一个叫做智能合约的功能。虽然智能合同不是区块链系统的必要组成部分,但由于区块链的分散性质,它可以为智能合同提供可信的计算环境。

为了满足不同场景的需求,区块链系统在实际应用过程中往往需要进行改造,以满足特定业务的要求,如身份认证、认证机制、密钥管理、交易频率、响应时间、隐私保护和监管要求等。而实际应用区块链系统的公司往往没有能力进行这种改造,所以市场上逐渐出现了一些定制专用区块链系统的框架。有了这些框架,可以方便地定制适合企业自身业务的区块链系统。

本文将对目前市场上几种典型的区块链框架进行横向比较,看看它们各有什么特点,又有什么区别。为了保持比较的公正性,本文将只讨论开源的区块链框架。

各区块链建筑简介

1,比特币

比特币起源于一个名叫中本聪的人在2008年发表的一篇题为《比特币:一个点对点的电子现金系统》的论文,这篇论文描述了一种他称之为“比特币”的电子货币及其算法。随后几年,比特币不断发展成熟,其底层技术逐渐被认识和抽象,这就是区块链技术。比特币作为区块链的鼻祖,在区块链这个大家庭中举足轻重。基于比特币技术开发的altcoins数量就像天上的星星。

从论文中可以看出,中本聪设计比特币的目的是为了实现一个完全基于点对点网络的电子现金系统,使得在线支付可以由一方直接发起,支付给另一方,不需要任何中介。综上所述,他希望比特币的设计能够达到以下目标:

●没有中央机构也可以发行货币。

●无需中介即可支付。

●保持用户匿名。

●交易不可撤销。

从电子现金系统的角度来看,这些目标在比特币中已经基本实现,但仍有一些技术问题需要解决,如可扩展性攻击、块容量限制、块分叉和可扩展性等。

在应用场景方面,目前大量的数字货币项目都是基于比特币架构设计的,也有一些实际的应用案例,比如彩币、T?等等。

通过仔细追踪一些特定比特币的来龙去脉,可以将彩币与其他比特币区分开来。这些特定的比特币被称为有色币。它们有一些特殊的属性,所以它们有与比特币面值无关的价值。利用彩色硬币的这一特性,开发者可以在比特币网络上创建其他数字资产。彩币本身就是比特币,存储和转移不需要第三方,可以利用比特币的现有基础。

t?它是比特币区块链在金融领域的应用,是美国在线零售商Overstock推出的基于区块链的私人和公共股权交易平台。

2.以太坊

以太坊的目标是提供一个具有图灵完整语言的区块链。使用这种语言,可以创建契约来编写任意的状态转换函数。用户只需用几行代码实现逻辑,就可以创建一个基于区块链的应用,并将其应用于货币以外的场景。

以太坊的设计思想并不是直接“支持”任何应用,但图灵的完整编程语言意味着理论上可以创建任何契约逻辑和任何类型的应用。综上所述,除了比特币的设计目标,以太坊还需要实现以下目标:

图灵的完全契约语言

●内置持久状态存储

目前基于以太坊的签约项目有数百个,其中比较著名的有Augur、TheDAO、Digix、FirstBlood等。

Augur是一个基于以太坊区块链技术的分散式市场预测平台。用户可以使用数字货币进行预测和投注,依靠群众的智慧来预测事件的发展结局,可以有效消除交易对手的风险和服务器中心化的风险。

限于篇幅,基于以太坊智能合约平台的项目就不多介绍了。也有很多基于以太坊代码的区块链项目,但几乎都是闭源项目,只能通过一些公共特征来推断,本文就不讨论了。

3、面料

Fabric是IBM和DAH共同开发的区块链框架,是超级账本的项目成员之一。其功能类似以太坊,也是一个分布式智能合约平台。但与以太坊和比特币不同的是,它从一开始就是一个框架,而不是公链,也没有内置令牌。

Hyperledger是Linux基金会于2015发起的一个开源项目,旨在推广区块链技术和标准。其成员包括ABN·AMRO、埃森哲和十多个不同的利益相关者。目标是让会员* * *互相合作,* * *搭建开放平台,满足来自不同行业的各种用户案例,简化业务。

作为一个区块链框架,Fabric采用了松耦合的设计,将* * *认证机制和认证等组件模块化,这样在应用过程中就可以很容易地被用户自定义的模块替代。此外,Fabric还采用了容器技术,在docker中运行智能合约代码,使得智能合约几乎可以用任何高级语言编写。

以下是Fabric的一些设计目标:

●组件可更换的模块化设计。

docker中运行的智能合同

目前已经有很多用Fabric架构开发的概念证明(POC)项目在实施过程中,包括金融机构的一些尝试,但是由于项目刚刚起步,还没有成熟的应用。

4、DNA

DNA(Distributed Network Architecture)是由总部位于上海的区块链初创公司“分布式技术”开发的区块链架构,可同时支持公链、联盟链、私链等不同应用类型和场景,并与业务系统快速集成。

与以太坊和Fabric不同,DNA支持系统底层的多种数字资产。用户可以直接在链上创建自己的资产类型,并用智能合约控制其分配逻辑。对于大多数区块链应用场景来说,数字资产是必不可少的,为每个数字资产开发一套基于智能合约的转移和分发逻辑是非常浪费和低效的。因此,有必要从区块链的底部提供直接的数字资产功能。对于那些完全不需要数字资产的应用场景,也可以基于DNA提供的智能合约架构,编写任意自定义逻辑。

DNA的设计目标主要包括以下几点:

●各种数字资产的底层支持。

●图灵的完全智能契约和状态持久性

●跨链互操作性

●交易的终结

目前,许多金融机构已经采用DNA架构开发区块链概念验证产品。此外,还有一些已经落地的区块链项目,如小蚁区块链、法律链等。

Antshares是一个位于资产数字化的公链,它将物理世界的资产和权利数字化,并通过对等网络进行注册、发行、转让交易、清算和交付等金融服务的去中心化网络协议。它采用了与DNA在架构上一致的社区开发模式,从而可以与任何基于DNA的区块链系统互操作。

法律链是世界上第一个大型商业法律存款区块链,这是一个基于DNA区块链技术的证据记录和保存系统,由多家机构建立和运营。系统无中心控制点,数据一旦录入,单个机构或节点无法篡改,满足司法存管要求。

5、科达

Corda由总部位于纽约的区块链初创公司R3CEV开发,由其发起的R3区块链联盟吸引了数十家巨头银行的参与,包括富国银行、美国银行、纽约梅隆银行、花旗银行、德国商业银行、德意志银行、汇丰银行、三菱UFJ金融集团、摩根士丹利、澳洲国民银行、加拿大皇家银行、SEB和SEB。

从R3成员的构成也可以看出,Corda是一个致力于同业业务的区块链架构。虽然R3声称Corda不是区块链,但从各种特征来看,它具有区块链的一些特征。

技术比较

1,数字资产

接下来将对上一篇文章中提到的这些区块链框架进行一系列的技术比较,从多个维度介绍它们的异同。

区块链的内置代币通常是一种经济激励模式,也是防止垃圾交易的一种手段。比特币天生只有一个内置令牌,所以比特币系统中的所有“交易”本质上都是转账行为,除非通过外部协议层给比特币添加额外的数字资产。

以太坊和DNA内置了代币,不仅提供了经济激励和防止上面提到的垃圾交易,还为系统内置的功能提供了收费的渠道。比如以太坊的智能契约操作需要消耗气体,DNA的数字资产的创造也需要消耗一定的令牌。

以太坊和Fabric没有内置的数字资产支持,而是通过智能合约实现相应的功能。这种方法的优点是系统设计可以非常简单,资产的行为可以任意指定,自由度很高。但是这种设计也会带来一系列的负面影响,比如所有的资产创建者都要自己编写重复的业务逻辑,用户也没有办法统一操作自己的资产。

相比之下,DNA和Corda在底层支持多种数字资产,因此资产创建者可以轻松创建自己的资产类型,用户也可以在同一个客户端管理所有资产。对于逻辑更复杂的业务场景,他们也可以使用智能合约来增强资产的功能,或者创建一个与资产无关的业务逻辑。

2.帐户系统

UTXO(未花交易输出)是一种机制:每一种数字货币都会登记在一个账户的所有权下,一种数字货币有两种状态,即未花或已花。当需要使用某个数字货币时,会将其标记为已花,并创建一个相同金额的新数字货币,其所有权会登记在新账户下。在这个过程中,标记为已花的数字货币称为交易的输入,新产生的数字货币称为交易的输出。在一个事务中,它可以包含多个输入和多个输出,但输入的总和与输出的总和必须相等。要计算一个账户的余额,只需将该账户下注册的所有数字货币的面额相加即可。

比特币和Corda采用的是UTXO之类的账户机制,而以太坊采用的是更直观的余额机制:每个账户都有一个状态,在状态中直接记录账户的当前余额。转账的逻辑是从一个账户中减去一部分余额,将相应的余额加到另一个账户中。减去的部分和加上的部分必须相等。DNA在账户机制上兼容这两种模式。

那么UTXO模型和balance模型各有什么优缺点呢?UTXO最大的优势是基于UTXO的事务可以并行验证,任意排序,因为所有的UTXO都是不相关的,这对区块链未来的可扩展性很有帮助,而基于余额的设计没有这个优势;反过来,平衡设计的好处是设计思路非常简洁直观,便于程序实现,尤其是在智能合约中,处理UTXO的状态非常困难。这也是以智能合约为主要功能的以太坊选择平衡设计,而以数字资产为基础的比特币、OnchainDNA、Corda更倾向于UTXO设计的原因。

关于身份认证,比特币和以太坊基本都没有身份认证的设计,原因很简单,两者的设计思路都是强调私密性和匿名性,反对监管和集权,而身份认证必然会引入一些中央或弱化的中央机构。Fabric、DNA和Corda都选择使用数字证书来认证用户的身份,因为它们都有应用于现有金融系统的设计目标,金融系统必须考虑合规性并接受监管。此外,现有的金融系统已大规模采用数字证书,因此可以迅速与区块链系统整合。