简单谈谈“和数区块链”技术架构及特点是什么?

区块链的分类、架构和技术

内容提要:本文简明扼要地介绍了区块链的分类、特征,三代区块链的架构,以及区块链的基本技术。

关键词:区块链 比特币 以太坊 密码学 电子货币

区块链起源于比特币(Bitcoin)。比特币和区块链都是中本聪首创的。

区块链有公共链、联盟链、私有链等多种类型。它们都有共同的特点。

区块链的架构与一般计算机网络的架构不同,也与互联网的架构不同。

区块链技术不是一种技术,而是多种技术的综合体。

区块链有两种分类方法:按照参与方式分类;按照链与链的关系分类。

(1)公共链(公有区块链)

公有区块链(Public Blockchain)对外公开,用户不必注册就可以匿名参与,无需授权就可以访问网络和区块链。公共链上的区块链可以被世界上的任何人查看。任何人都可以在公共链上发送交易,而且交易能够获得该区块链的有效确认;任何人都可以参与其共识过程。公共链是完全去中心化的区块链。

公有区块链是最早的区块链,也是应用最广泛的区块链。各大比特币系列的虚拟数字货币(电子货币)都基于公共链。对于每个特定的比特币的币种,全世界有而且仅有一条对应的公共区块链。

(2)联盟链(联合区块链)

联盟区块链(Consortium Blockchain)是某个群体创建的区块链,仅限于联盟成员参与。联盟成员需要获得注册许可,所以又称为许可链(Permission Blockchain)。区块链上的读写权限、记账权限按照联盟规则执行。

联盟链创建者指定多个预选的节点为记账人。每个块的生成由所有的预选节点共同决定。预选节点参与共识过程;其它接入节点可以参与交易,但不过问记账过程。因此,其本质是托管记账,只是变成分布式记账。其他任何人可以通过该区块链开放的API(区块链接口)进行被限定的查询。

世界上有两个著名的联盟链:

其一,2015年,由40多家银行和IT巨头组成了R3区块链联盟。联盟成员包括美国的摩根大通、高盛,瑞士的瑞信,英国的汇丰、巴克莱,美国IT巨头IBM、微软公司。

其二,操作系统Linux基金会支持的超级账本(Hyperledger)。

(3)私有链(私有区块链)

私有区块链(Private Blockchain)是供个人或者组织内部记账用的区块链。区块链上的读写权限、记账权限按照组织制定的规则执行。私有链一般是单位内部使用。私有链的成员也需要获得注册许可,所以也是许可链。

币科学(Coin Science)公司开发了一个“多链(Multichain)平台”,供企业建立私有链之用。

2.按照链与链的关系分类

特定领域应用的联盟链和特定组织的私有链可能会有互联互通的需求。这些区块链会通过某种互联互通的协议连接起来,组成大型的区块链网络,称为互联链。

区块链的基本特征如下:

由于区块链使用分布式核算和存储,不存在中心化的硬件或管理机构。对于公共链,任意节点的权利和义务都是均等的。区块链系统中的数据由具有维护功能的节点来共同维护。去中心化(无中心)是区块链最突出、最本质的特征。

区块链基础技术的计算机源程序是开源的。

除了交易各方的私有信息被加密外,公共链的区块链数据对所有人开放,任何人都可以通过公开的接口查询区块链数据和开发相关应用。因此,公共链的整个系统信息高度透明。

基于协商一致的规范、协议和公开的算法(比如比特币采用的哈希算法),各种区块链系统都不依赖第三方,所有节点能够在系统内自动安全地验证、交换数据,不需要任何人为的干预。

在区块链系统,对“人”的信任改成了对机器的信任,任何人为的干预不起作用。

一旦信息经过验证并添加到区块链,就会永久地存储起来。单个节点上对数区块链数据的修改是无效的。只要不能掌控全部数据节点的51%,就无法有效地修改网络数据。这使区块链本身变得相对安全,数据稳定性和可靠性很高。

但是,区块链存在安全隐患。对此,我们将在区块链序列文章的最后一篇《比特币和区块链是大阴谋吗》详细阐述。

除非有法律规范要求,单从技术上来讲,各区块节点的操作者的身份信息不需要公开或验证,信息传递可以匿名进行。

在“区块链系列”的第一篇文章《区块链的起源、定义和发展》中,我们已经说明,区块链的发展经历了三代:区块链1.0,区块链2.0,区块链3.0(刚开始)。每一代区块链有不同的架构。

一.区块链1.0的架构

区块链1.0.的典型应用是比特币。因此,比特币的区块链架构就是区块链1.0.的典型架构。

比特币架构由两部分组成:前端和后端。

前端是用户和开发者的图形化界面,包括钱包(Wallet)。

后端是运行在每个节点的后台程序,包括“挖矿”、区块链管理、网络管理等。

二.区块链2.0的架构

通常,我们所说的“区块链架构”是指区块链2.0的架构。区块链2.0架构有多种,典型的区块链2.0架构是以太坊架构。

区块链2.0的架构分成六层,从底层到顶层依次是:数据层,网络层,共识层,激励层,合约层,应用层,如下图所示:

数据层是区块链的底层,是一切的基础。

数据层主要有两个功能:一个是相关数据的存储;另一个是账户和交易的实现与安全。

数据存储主要基于Merkle树,通过区块的方式和链式结构实现。

帐号和交易的实现基于数字签名、哈希函数和非对称加密技术等多种密码学算法和技术。这样就保证了交易在去中心化的情况下能够安全地进行。

网络层主要实现网络节点的连接和通讯。

网络层使用的技术称为点对点技术。这是没有中心服务器、依靠用户群交换信息的互联网体系。与有中心服务器的中央网络系统不同,对等(P2P)网络的每个用户端既是一个节点,也有服务器的功能。

共识层的功能主要是:实现全网所有节点对交易和数据达成一致,保障交易的安全。在共识层,能够防范拜占庭攻击、女巫攻击、51%攻击等共识攻击。

共识层的算法称为共识机制。因为其应用场景不同,区块链2.0出现了四种不同的共识机制: PoS,DPoS,PoW,PBFT。

激励层主要实现区块链代币的发行和分配。

以太坊中的以太币,可以通过“挖矿”获得,每挖到一个区块固定奖励5个以太币。

合约层赋予账本可编程的特性。区块链通过虚拟机(例如以太坊的EVM)的方式运行代码实现智能合约的功能。

同时,合约层通过在智能合约上添加能够与用户交互的前台界面,形成去中心化的应用(DAPP)。

区块链2.0的应用层封装了区块链的各种应用场景和案例,例如电子货币。

下面所述区块链3.0的应用也归结到应用层。

三.区块链3.0的架构

美国梅兰妮·斯万(Melanie Swan)的著作《区块链:新经济蓝图》把超越货币、金融范围的区块链应用归结为区块链3.0。

至今,区块链行业界还没有成熟的区块链3.0平台,所以也没有公认的区块链3.0的架构。

所谓“区块链技术”不是一种技术,而是多种技术的综合体。区块链基本技术包括:分布式账本,非对称加密,共识机制,智能合约,以及密码学技术。

分布式账本指的是交易记账由分布在不同地方的多个独立节点共同完成,而且每一个节点记录的是完整的账目。因此,各个节点都可以参与监督交易合法性,同时也可以共同为其作证。

除了个人私有的账本外,没有任何一个节点可以排他性地单独记录账本数据,从而避免了单一记账人被控制或者被贿赂而记假账的可能性。

存储在区块链上的交易信息是公开的,但是账户身份信息是高度加密的。区块链采用非对称加密算法保障账户身份信息的安全。

非对称加密算法需要两个密钥:公开密钥(public key)和私有密钥(private key)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

共识机制就是所有记账节点之间怎么达成共识,去认定一个记录的有效性。这既是认定的手段,也是防止篡改的手段。

区块链的共识机制具备“少数服从多数”以及“人人平等”的特点,其中“少数服从多数”并不完全指节点个数,也可以是计算能力、股权数或者其他的计算机可以比较的特征量。“人人平等”是当节点满足条件时,所有节点都有权优先提出共识结果,被其他节点认同后成为最终共识结果。

智能合约是基于可信的不可篡改的数据,可以自动化地执行一些预先定义好的规则和条款。

密码学技术是区块链技术的核心。

区块链使用的技术涉及到的密码学技术包括:hash算法、对称加密与非对称加密、数字签名等。

本篇论文发表于2016年11月《网络与信息安全学报》,作者:沈鑫,裴庆祺,刘雪峰。为了保存随时查阅,将文章在博客上转载备份,望作者谅解。


沈鑫1,裴庆祺1,刘雪峰2

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由思创斯整理,转载请注明出处:

我要回帖

更多关于 区块链开发 的文章

 

随机推荐