主页 > imtoken官方版 > 《迅雷链精品课程》第三课:区块链主流框架解析

《迅雷链精品课程》第三课:区块链主流框架解析

imtoken官方版 2023-07-04 05:13:56

上一课我们学习了区块链的技术架构,系统分析了区块链平台的6个层次:数据层、网络层、共识层、合约层、应用层、接口层。在本课中,我们将结合实际情况来了解一下当前主流区块链项目的技术架构;在思考具体的业务架构时,我们需要决定哪些业务应该上链,哪些业务应该由链下服务处理。一个简单实用的判断是基于回答以下3个问题:业务与信任或价值转移有关吗?业务上链能提高效率吗?业务上链能降低成本吗?

在学习课程的同时,还可以免费获得BaaS平台一个月的试用机会,免费使用高性能区块链服务(点击链接免费领取)。课程学习与实际操作相结合,让你快速成为区块链巨头!

*以下是第三课的内容~

第三课 区块链主流框架分析 部分公链项目技术架构概述

根据上一课介绍的分层架构,我们来分析一些公链项目的技术架构。部分主流公链项目的技术方案如下表所示:

在这里插入图片描述

图1.主流公链项目技术方案

在分析一个架构之前,我们首先要明白,无论是哪个区块链项目,无论采用什么具体的技术方案,其核心功能都是维护一个分布式账本:数据层要保证账本数据不丢失,不能被篡改 ; 网络层必须保证网络规模的可扩展性,可以方便地添加新节点,少数节点的断开不能影响系统的可用性;共识层必须保证账本数据的一致性;智能合约是修改账本数据的程序,所以合约层需要保证智能合约执行的确定性和终止性;应用层需要结合账本的性质,其业务应用应与信任、资产或价值转移相关。

由于篇幅所限,本文为概述性,重点介绍其创新技术及其影响,以便您对每个项目中架构变化的主线以及所有这些技术的细节有一个大致的了解。上表将在后续章节中详细分析。

比特币

比特币是第一个基于区块链技术的数字货币系统。比特币的技术架构是开创性的。后续很多数字货币项目直接使用比特币代码,其他区块链项目也继承了它。解释了比特币系统的大部分概念。

根据比特币白皮书,中本聪创立比特币系统的目的是提供一种完全通过点对点技术实现的去中心化电子现金系统,以取代目前的法定货币+权威中介机构进行支付的机制,所以——所谓的中介机构包括政府、银行或任何提供支付担保的服务提供商。中本聪为比特币设计了一系列技术机制,包括UTXO交易模型、P2P网络、PoW共识算法、验证交易的脚本语言等,解决了电子货币的发行、流通、所有权验证、防止双重问题开支。、防篡改、激励、安全信任等问题。

免费领比特币平台

UTXO(Unspent Transaction Output,未花费交易输出)是比特币首创的数据模型,是一种以资产为中心的记账方式。

我们日常熟悉的银行、信用卡、微信、支付宝、证券交易等都是基于账户设计的,账户中存储着个人信息、余额等信息。比如A的账户有100元,B的账户有200元;现在A向B转账10元,系统从A的账户余额中减去10元,B的账户余额加10元免费领比特币平台,最后A的账户余额变成90元,B的账户余额变成210元。

在UTXO模型的加密货币中,一个“账户”中的余额不是用数字来表示的,而是由当前区块链网络中与当前“账户”相关的所有UTXO组成。在比特币系统中,UTXO是由所有者(用户的钱包地址)锁定或记录在区块链中的一定数量的比特币。当用户进行转账交易时,系统修改的是UTXO的所有者,而不是用户的账户余额。

在这里插入图片描述

图 2. UTXO 交易图。A向B转账8.5 BTC,输入3个UTXO,总输入9 BTC,输出2个UTXO:B收到8.5 BTC,A收到0.4 BTC用作找零,总投入与总产出之差即为交易手续费。

一笔交易就像复式记账中的一个账户,分为源端和目的端两部分:每笔交易有一个或多个UTXO作为输入,另一端也有一个或多个UTXO作为输出;总产出加程序 费用等于总投入。每个用作输入的 UTXO 都是一个或多个先前交易的输出,因此每个 UTXO 都可以追溯到源头。原始来源是某位矿工的挖矿收益。

中本聪没有向外界解释他设计UTXO模型的原因,但普遍认为它有利于交易的并行处理,在去中心化架构下更容易追踪资产来源,但难以支持图灵完备的智能合约。

PoW(Proof-of-Work)的共识机制要求工作方对随机数进行一些耗时且难度适中的哈希函数计算,以找到满足要求的随机数(哈希值的前缀)。有一定数量的0),服务提供者可以快速查到答案,以消耗的时间、设备和能源作为保证成本,保证服务和资源被真实需求使用。

比特币系统的智能合约不是图灵完备的。它不支持循环语句或递归调用,也不能保存中间状态。相反,它只有一个简单的指令来执行签名验证等操作。

中本聪将UTXO的设计与区块链、PoW共识算法、智能合约和密码学相结合,将技术创新与制度设计相结合,首次打造出完整严谨的加密货币体系和可信协议,为人们开辟了新的可能。通往区块链创新的门户。

以太坊

免费领比特币平台

以太坊最大的创新是引入了 Solidity,一种图灵完备的智能合约语言和执行环境 EVM,它为在加密货币以外的领域使用区块链技术打开了大门。

图灵完备的智能合约意味着支持循环语句和跨多个阶段保存中间结果的全局状态。

在以太坊系统中,状态由称为“账户”的对象(每个账户由一个 20 字节的地址组成)和在两个账户之间转移价值和信息的状态转换组成。一个以太坊账户由四部分组成:

1) 随机数,用于确定每笔交易只能被处理一次的计数器(nonce);
2) 账户目前的以太币余额(balance);
3) 账户的合约代码,如果有的话(code);
4) 账户的存储(storage);

以太坊有两种类型的账户:外部拥有的账户(由私钥控制)和合约账户(由合约代码控制)。外部拥有的帐户没有代码,人们可以通过创建和签署交易从外部帐户发送消息。每当合约账户收到消息时,合约内的代码就会被激活,允许它读取和写入内部存储,并发送其他消息或创建合约。

合约以账户形式存在的解决方案,是指智能合约在部署后,成为一个独立的实体,拥有自己的账户余额和自己的存储空间,让普通用户账户可以与合约账户进行通信。对于交易,普通用户可以将以太币转入合约账户,合约账户也可以将以太币转给普通用户,其所有交易记录均可独立追溯。

超级账本结构

Hyperledger Fabric 项目是面向企业应用场景的区块链项目。它是第一个专注于联盟链和私有链的开源项目。Fabric 与其他公链项目的思路大相径庭。为了满足企业的应用,Fabric 考虑的主要需求包括参与者认证、网络权限控制、交易隐私保护、监管、审计等。因此,除了区块链服务,Fabric 架构的核心,包括账本(LEDGER)、交易(TRANSACTIONS)、智能合约(SMART CONTRACT)、身份认证服务(IDENTITY),其架构图如下:

在这里插入图片描述

图3. Hyperledger Fabric 架构图

PKI(Public Key Infrastructure)系统是一个框架和规范,它集成了多种加密手段,以实现安全可靠的消息传递和身份确认。Hyperledger Fabric 的身份认证服务基于 PKI 系统,为整个区块链网络提供身份管理、密码证书管理、认证、隐私、保密和审计服务。公链项目的节点是匿名且不可信任的,而Fabric网络中的节点需要先授权,节点之间相互认识。

免费领比特币平台

Hyperledger Fabric 支持可插拔的共识协议,可以针对特定的应用场景和信任模型轻松配置合适的共识算法。在单个企业或可信认证的情况下,拜占庭容错共识算法不是必须的,会影响性能;而在多方参与场景下,需要使用拜占庭容错共识算法。目前,Fabric 支持拜占庭容错 PBFT 共识算法和容错 kafka 共识算法。其中,PBFT是Fabric1.0版本之前的默认共识算法,支持3f+1个节点集群(f为恶意节点数);kafka共识机制是Fabric1.0版本实现的共识算法,它基于 Kafka 消息队列集群对 orderer 节点提交的事务进行去重和排序操作。Kafka集群使用zookeeper(Paxos算法)进行选举,支持2f+1个节点集群(f为故障节点数)。

Hyperledger Fabric的智能合约称为chaincode,可以用Java、go、Node.js等通用编程语言编写,运行在docker容器中。该解决方案由 Fabric 首创。优点是开发人员没有额外的学习和培训成本。与以太坊相比,Fabric 链码和底层账本是分开的。升级链码时,无需将账本数据迁移到新链上。在代码中,真正实现了逻辑和数据的分离。

Hyperledger Fabric 底层不发行加密货币,但凭借其完备的身份认证服务、可插拔的共识协议、易于管理的 docker 容器化智能合约,可以在企业中广泛的业务场景中使用,因此它被认为是一个典型的区块链项目结构3.0。

EOS

针对比特币、以太坊等公链平台性能低、交易费用高的问题,EOS推出了高性能、免交易的解决方案。

EOS 的性能提升来自两个方面:共识算法改进和并发处理。共识算法方面,采用DPoS+aBFT共识算法,选举21个超级节点作为投票节点,实现每块0.5秒的出块速度;并发处理是一种多线程并发处理方案。方法是使用静态分析将交易按账户(Shards)进行划分,保证没有两个线程包含同一个账户下的交易,这样一个区块就可以并行运行多个线程。经过这些优化,EOS的实测性能可以接近4000TPS,远高于比特币、以太坊等项目的性能。

EOS 使用 WASM 作为智能合约的虚拟机,支持用 C++ 编写智能合约代码。WASM 是一种新的字节码格式,以其精简、快速的加载时间和高速执行模型而著称。

雷链

迅雷链根据实际情况和业务需求,结合DPoA+PBFT的共识机制免费领比特币平台,提出了独特的同构多链架构。同构多链架构,即系统由相对独立(独立的共识)链组成,每条链有多个节点,每个节点分配给其中一条链,不同的账户数据锚定在不同的接入层路由交易到发送方链进行区块打包和共识,每条链运行独立的DPoA+PBFT共识机制。Thunder Chain 对 PBFT 算法做了一些优化,以减少网络消耗,提高算法的可用性;DPoA 共识机制基于存储容量、网络稳定性、带宽、延迟、每个验证者节点的 CPU 使用率等指标作为衡量标准,选择合格的验证者节点,并从每轮投票中动态选择部分节点作为投票节点,以获得更好的公平性和网络效率。在这样的多链架构下,迅雷链的交易TPS性能可以达到百万级,交易秒级确认。

在这里插入图片描述

图5.Thunder Chain同构多链示意图

免费领比特币平台

在智能合约方面,迅雷链同时支持EVM和WASM虚拟机,用户可以根据自己的实际情况选择使用solidity或者C/C++编写智能合约。

区块链3.0是超越货币和金融的应用领域,可为各行各业提供解决方案,全面服务实体经济。应用领域的扩大也意味着业务模型会更大更复杂,架构中需要考虑的因素也更多,比如:

用户体验。良好的用户体验需要更快的响应速度、更安全的通信和更稳定的网络连接。因此,迅雷链引入了接入层服务,负责客户端接入、鉴权、负载均衡、协议转换等。在此基础上搭建迅雷链开放平台,帮助开发者快速开发和部署智能合约。企业或个人可以轻松地将自己的产品和服务上链,更便捷地开发区块链应用。

海量数据存储。迅雷链提供高可靠安全的TCFS(迅雷链文件系统),支持用户存储大量文件数据。

数据分析。负责交易数据的统计分析、数据挖掘等处理,并输出统计报表。

监控服务。负责对节点及各业务模块进行实时监控,发现异常及时触发告警,以便研发、运维人员及时排查故障,保障业务稳定运行。

综合考虑以上因素,迅雷链架构如下(同构多链架构是对Layer 1层的改进,即每个子链都有独立的Layer 1层):

在这里插入图片描述

图5.迅雷链架构图

区块链应用的混合架构

在更具体的实际业务中,有些部分是组织的内部逻辑,实际上还会有更多的链下服务,比如用户在商城注册、用户个人信息、商品展示、运营管理、交易所订单撮合、私人数据等都是链下服务,需要与链上业务对接。

免费领比特币平台

在这里插入图片描述

图6.基于区块链的业务混合架构图

上图是基于区块链技术的典型应用业务架构图:

应用服务包括所有链下业务逻辑,可能非常庞大,如供应链、客户数据管理、订单管理、商品展示等,采用LAMP、微服务等成熟技术开发;

业务数据库可以包括MySQL、键值数据库等各种数据库实例,用于存储应用服务的业务数据;

区块链网络负责交易的清算和结算,例如下单成功后的支付、资产转移等,具体的应用服务向区块链发起交易请求;

对账服务负责检查需要上传到链上的数据是否被区块链网络正确处理,丢失、超时或未成功处理的数据应重新发送或错误控制到确保服务质量;

区块数据分析服务用于构建区块链数据分析服务,可以支持用SQL语句查询和分析数据,支持复杂的数据检索。

结语

本文分析了一些具体区块链项目的技术架构,从区块链1.0的比特币网络,到区块链2.0的以太坊和EOS,再到区块链2.0 @3.0 的 Hyperledger Fabric 和 Thunder Chain。从上述区块链架构的发展路径可以看出,随着区块链应用范围的扩大,技术架构也越来越复杂,尤其是链上链下的混合架构,这是一个区块链3.0,充分服务于实体经济的基本要求和重要特征。在设计具体的业务架构时,我们需要决定哪些业务应该上链,哪些业务应该由链下服务处理。一个简单实用的判断依据是回答以下三个问题:业务是与信任有关还是与价值转移有关?业务上链能提高效率吗?业务上链能降低成本吗?

归根结底,区块链提供机器信任,并在此基础上实现资产维护、价值转移等服务,都是为了提高效率,降低成本。与信任关系无关的业务,以及上链后不能提高效率和降低成本的业务,都可以认为是不适用于区块链。

*恭喜您完成第三课。第四课我们将深入了解区块链的技术发展趋势,探讨共识机制、隐私保护、数据存储与查询分析、混合架构探索与互操作性、标准化与规范化等技术内容。