请选择 进(jìn)入手(shǒu)机版 | 继续(xù)访(fǎng)问电脑(nǎo)版
首(shǒu)页 百科 查(chá)看内容(róng)
  • 12977
  • 0
  • 分享到

一文看懂迅雷链技术栈和架构设计(jì)思路

2018-6-4 23:39

来(lái)源: 区块链风云榜

迅雷链的技术栈(zhàn)与重点模(mó)块介绍(shào)


下(xià)图为迅雷区块(kuài)链的技术栈,可以直观的看出各模块的分工(gōng)和(hé)协作。

首页_JDB(中国)电子_官方网站


 最上层(céng)的应用层,是 C端(duān)用(yòng)户直(zhí)接接触(chù)到(dào)产品和服务,包括账户(hù)客户端、第三方客户(hù)端和合约(yuē)应用(yòng)。

其中,合约应用是指基于迅(xùn)雷链开发(fā)的 DAPP。应用中使(shǐ)用的合约通过(guò)服务层的“合约部署”服务部署(shǔ)到区块链上。DAPP中的合(hé)约调用通过服务层(céng)的“合(hé)约(yuē)调(diào)用”模块进行校验,合法(fǎ)的(de)才会转到链上处理。

 中间的服务层作为(wéi)应用和链之间(jiān)的桥梁(liáng),提供应(yīng)用(yòng)层需要的接口和服(fú)务。包(bāo)括安全控制、合约部署、合约(yuē)请求和数(shù)据请(qǐng)求服务。

其中,合约(yuē)部署的触(chù)发主(zhǔ)要是迅雷链内部的审(shěn)核系(xì)统触发,只有企业(yè)资质(zhì)审核(hé)通过并(bìng)且产品内容合法合规,才(cái)会被部署到迅雷链(liàn)上。同时,迅雷链是(shì)同构(gòu)多链框架(下文会详细(xì)介绍),合约(yuē)会有(yǒu)自己所属的链,并在该链(liàn)上完成合约创建。而普通链(liàn)上的用户发起合约调用时,用(yòng)户所(suǒ)在链请(qǐng)求入块后,需要(yào)知(zhī)道将该请求和区(qū)块路由(yóu)到哪(nǎ)个(gè)链(liàn)上,所(suǒ)以合约(yuē)部(bù)署时还需将合约的路由信息通知到所有链。

而(ér)数据(jù)请求服务模块,包含链克相关的所有(yǒu)请求,包括查询余额、查询(xún)兑换记录、执行兑换等。对于余额、兑换记录(lù)这类请(qǐng)求(qiú)量很大的模块,会在所有接入节点上(shàng)做缓存(cún),每个节点通过(guò)基础(chǔ)层的“订(dìng)阅(yuè)及通知(zhī)服务”订阅区块信息(xī)。当(dāng)收到区(qū)块产(chǎn)生的通(tōng)知(zhī)后,可以立即解析区(qū)块内信息,并修改缓(huǎn)存中的余额和兑换记录。对于执行(háng)兑换的请求先校验合法性,再(zài)将合法请求转到基础(chǔ)层(céng)。
 最底(dǐ)层也(yě)叫基础(chǔ)层,是(shì)构成迅(xùn)雷(léi)链(liàn)最核心的(de)组成(chéng)部分(fèn),由(yóu) 11个模块(kuài)组(zǔ)成(chéng)。

其中,共识模块包括共识算法和校(xiào)验。这是(shì)区块链(liàn)与分布式存储服务(wù)共同的核心模(mó)块(kuài),区(qū)块(kuài)链的共(gòng)识比普通(tōng)的分布(bù)式存储服务多了一些安全上的校验(yàn),比如日志(zhì)。所(suǒ)有参与共识的节点(diǎn)需要对(duì)区(qū)块(kuài)校验其内部数据的合法性(xìng)。至于如何(hé)达成(chéng)共识就跟共(gòng)识算法有关了,迅雷链采用的共识算法是 pbft,具体算法的(de)原(yuán)理和选择理由下一次分享会(huì)继续介(jiè)绍。

智能合约模(mó)块:迅(xùn)雷链上有(yǒu)越来越多的应用在(zài)接(jiē)入,这些应(yīng)用的业务逻辑代码(mǎ)其实(shí)就是智能合约。而智能合约代码是独立于区块链程序的,所以需要在区块链程序中运行虚拟机来解(jiě)释和(hé)执行。再者,智能合约里面(miàn)需要读取和(hé)修改区(qū)块(kuài)链(liàn)上(shàng)的数据,所(suǒ)以虚拟机还要提供方法来与区块链交互。

数据存储部分:包括区块、原始请(qǐng)求和用户数据。相比于以比特币(bì)为代表的 UTXO模型,迅雷链(liàn)选择了基于账户模(mó)型,方便支持智能合约。迅雷(léi)链的本地(dì)存储系统选择的(de)是 leveldb,在数据存储的结构上借(jiè)鉴了以太坊(fāng)的精(jīng)髓,包括交易树、账(zhàng)户树、事件树。每种树都是一个 merkletree,在区块(kuài)头部只存储树的(de) root的 hash。

密码学模块:包括(kuò)签名和加密。这也是区块链非常核心和独(dú)特的模块,区块链的不可篡(cuàn)改、隐私保护(hù)等特点都是源于此,涉及(jí)签名、摘要计算、公私钥对的生成(chéng)等。

网络通信模块:包括 P2P和(hé) RPC。区(qū)块链中所有参(cān)与的记账节点都是(shì)对等的(de),记账节(jiē)点(diǎn)之间包(bāo)括(kuò)请求、区(qū)块等(děng)信息都需(xū)要网络送达,当(dāng)然要做(zuò)一个健(jiàn)壮的(de)区(qū)块链网络,在网络通信模块还需要不断优化。

通用模(mó)块:包括压缩(suō)和事件机制。因为账户模型里要存储的(de)数据信息相对较多(duō),而且随着时(shí)间推移,链的长度(dù)也越来越大,所以数据落盘前需(xū)要压缩。事件机制主要是(shì)为(wéi)外围系(xì)统提供链上执(zhí)行(háng)合约、链(liàn)上区块产生等底层支持。

首页_JDB(中国)电子_官方网站
版权(quán)申明:本内容来自于互联网(wǎng),属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不(bú)代表链门户(hù)的观点,链门户(hù)不(bú)承担任(rèn)何(hé)法(fǎ)律责(zé)任。如有侵(qīn)权请联系QQ:3341927519进行反馈。
相关(guān)新闻
发(fā)表评论(lùn)

请先(xiān) 注册/登录 后参与评论(lùn)

    回顶(dǐng)部

    首页_JDB(中国)电子_官方网站

    首页_JDB(中国)电子_官方网站