区块链信息服务包括哪些业务内容:今日区块链信息服务资质更新-寅森企服

区块链信息服务包括哪些业务内容


更新时间:2025-04-28 10:30
发布:2023-08-30 编辑:庞然伊 浏览:9342
摘要:大家好,由投稿人庞然伊来为大家解答区块链信息服务包括哪些业务内容,这个热门资讯。区块链信息服务包括哪些业务内容,很多人还不知道,现在让我们一起来看看吧!

区块链信息服务包括哪些业务内容,

大家好,由投稿人庞然伊来为大家解答区块链信息服务包括哪些业务内容,这个热门资讯。区块链信息服务包括哪些业务内容,很多人还不知道,现在让我们一起来看看吧!

区块链信息服务包括哪些业务内容

本期作者

廖璐琪

上海海事法院审监庭调研科副科长、一级法官助理


什么是区块链?


区块链是一种通过块链式的数据结构实现的分布式账本。


图片源自网络


具体而言,区块链技术将账本数据打包为区块,并采用密码学技术组织成链状数据结构、在全网进行确认和验证。通过这种手段,实现防伪造、防篡改和可追溯等特性,使得平台生成和存储的电子数据被篡改或灭失的可能性趋近于零,从而建立起一种去中心化的信任结构。


近年来,国内外各行业的技术力量纷纷涉足区块链领域,在司法存证、政务管理、金融贸易等场景的应用得到迅速拓展。以区块链技术存储或生成的电子数据也开始作为证据出现在诉讼活动中。


海事审判涉及的

区块链技术应用场景


在海事司法中,可能涉及区块链电子数据作为证据的场景主要包括两类。


一、司法存证应用场景


电子文件、即时通讯记录、网页信息等电子数据可以通过存证平台加以固定,并在诉讼中作为证据提交。


通常,在存证平台存储的文件数据,可以生成存证证书,载明文件名称、存证时间、文件哈希值等内容。


在向法院提交相关证据材料时,需一并提供文件数据和证书,通过存证平台的验证入口对文件数据和哈希值加以验证,若显示验证一致的,可认为文件数据未经篡改,与上链存储时一致。


以易保全存证平台为例,可提供网页、视频、文件等不同类型的存证服务。


平台出具的电子数据存证证书可用于验证文件是否未经篡改。根据客户需求,还可以出具平台实体证书或联合公证机构出具公证书。


二、航运业务经营管理应用场景


例如中远海运集团等国内外航运企业开发的区块链提单平台应用、上港集团开发的港口区块链无纸化换单平台等,为航运各个环节的参与者提供安全、高效、公平的交易服务,已基本实现了业务的广泛覆盖。


在诉讼中,相关平台生成和存储的数据可以作为认定案件事实的重要依据之一。与司法存证应用相比,这些应用平台数量更庞大、功能更丰富、数据信息来源也更为多样,相关的区块链证据审查将会更为复杂。


以上港区块链无纸化换单平台为例,可提供办理提箱计划、查验计划、进港预录、预约取票等服务,还能直接查收海关、国检、理货、放箱、换单等信息。


区块链证据审查的三个层次


面对技术应用迅速席卷而来的发展趋势,建立相应的区块链证据审查规则势在必行。


《最高人民法院关于互联网法院审理案件若干问题的规定》首次以司法解释的形式规定了以电子签名、可信时间戳、哈希值校验、区块链等技术手段固定的电子数据的证据地位及真实性审查标准。


此后,《人民法院在线诉讼规则》进一步明确了区块链存储的电子数据核验一致可推定未经篡改,以及出现相反证据时的判断标准。


由于上述的规则相对较为原则,还需要在此基础上提供一套符合区块链证据特性的证据真实性审查认定指南,为法官采信区块链证据认定事实提供指引。


上海海事法院结合海事审判领域中的区块链证据审查需求,制定的《区块链证据审查指南》,吸收现有规则和司法实践做法,提炼出审查思路和要点提示,把区块链证据真实性审查细化为“平台技术——电子数据——证据内容”三个层次。审查流程可以用下图的简要概括:


点击查看大图


第一层:区块链平台技术可靠性审查


即判断平台是否采用区块链技术存储或生成数据、平台是否能够有效防止数据被篡改。


这一步骤实际包含两项内容,第一项是核实平台是否基于区块链技术搭建,第二项是区块链平台能否达到安全性要求,有效避免数据被篡改,从而确保实现“技术自证”。


在当事人就相关问题存在不同意见时,可参考下列要点综合判断。


➤ 第一项对于区块链平台的识别,能够初步排除因当事人对区块链概念理解偏差而将其他证据归入此类的情形。在目前区块链应用的基础认识尚未普及的情况下,这种情况并不罕见。


应注意识别区块链技术的核心技术特征与辅助技术手段,如去中心化、链式存储以及非对称加密属于区块链平台的核心特性,而哈希值验证、时间戳等技术虽然也属于区块链平台应用的技术手段,但也会被应用于其他平台,仅凭借这些技术应用不能作为识别区块链技术应用的标志。


比如常见的存证平台的网站页面,会突出显示平台采用区块链技术提供服务。下图为杭州互联网法院开发的区块链平台页面,列明了采用区块链技术的特性和平台规模等信息。



审判实践中,曾有当事人提交一份电子文档作为证据,并称其已在某一境外区块链平台存证。文档所附的网站声明称,文档已于某日某时上传至平台,可登录网址或扫描二维码查询文档信息,还附有验证文件数字签名和时间戳的哈希值。


经核实,该网站提供的哈希值仅用于提供非对称加密的验证功能,而未显示平台采用区块链技术搭建或具有相关特性。


该证据未能体现平台采用区块链技术固定电子数据,故应作为普通电子证据而非区块链证据进行审查。


➤ 第二项关于区块链平台安全性的审查,不同类型的平台审查要求也有一定的区别。


为便于实践操作、提高审查认定的效率,可分为司法区块链平台、第三方区块链存证平台、区块链应用平台三种类型,对照相关的审查要点。


其中,“区块链应用平台”可以作为航运领域的区块链提单、无纸化换单等应用平台对应的“规则接口”。


相应的要点如下表所示:



在各类平台中,司法区块链平台通常由法院、公证处等机构共同搭建,通常认为平台提供的存证服务较为可靠;又如许多第三方存证平台在知产和互联网审判实践中得到广泛应用,这些平台的技术可靠性通常不存在争议,已经在大量生效裁判中得到认可。


需要谨慎审查的主要是新开发的应用平台和应用较少的存证平台,当事人可能会对平台资质和可靠性提出不同意见,在必要时可借助专业技术鉴定、专家辅助人参与等手段确认技术可靠,排除数据被篡改等情形发生的可能性。


第二层:电子数据真实性审查


即确认电子数据是否存储或生成于区块链平台,且被完整、规范地提取或保存。


《关于互联网法院审理案件若干问题的规定》和《人民法院在线诉讼规则》均认可了区块链技术能够确保数据可靠性、真实性的特性,确立了上链后的电子数据核验一致可推定未经篡改的规则,免除了另行办理公证等手续的要求。


例如在区块链存证平台,可凭借存证证书载明的存证编码等信息,通过平台的验证渠道,核验当事人提交的电子数据是否完整且与存证时保持一致。



区块链提单、区块链无纸化换单等应用平台,可由法官和当事人登录平台账户、进行存储或生成电子数据的在线核验。



需要注意区分的是,区块链技术的特性可以保证上链后的电子证据不易被篡改,但却不能当然保证上链前电子数据的真实性。


因此,对于上链前后的电子数据真实性,需要以上链为分界点区别处理。


➤ 对于上链前数据的真实性仍需要加以证明,目的在于防止区块链证据的“原始失真”和“原始恶意”,进而从源头阻止虚假证据的链上存储。


若当事人主张电子数据上链前已不具备真实性,并提供证据证明或者说明理由的,应当予以审查。根据案件情况,可以要求提交区块链证据的一方当事人,提供证据证明上链存储前电子数据的真实性,并结合上链存储前数据的来源、生成机制、存储过程、公证机构公证、第三方见证、关联印证数据等情况作出综合判断。


若当事人不能提供证据证明或者作出合理说明的,且该电子数据也无法与其他证据相互印证的,可不予确认其真实性。


➤ 对于上链后的电子数据,包括区块链存证平台存储的数据和区块链应用平台生成并存储的电子数据,经技术核验一致的,可以推定该电子数据上链后未经篡改,但有相反证据足以推翻的除外。


当事人对上链后的电子数据真实性提出异议,并有合理理由的,在确认平台可靠性的基础上,可以结合下列因素综合判断:


1电子数据的上链主体和时间是否明确;

2电子数据的提取、传输和固定的主体、工具和方式是否可靠,提取过程是否可以重现;

3电子数据经与上链前原始数据比对,是否存在增加、删除、修改及不完整等情形;

4电子数据是否在平台正常的运行中自动产生并存储;

5影响电子数据完整性和可靠性的其他因素。


在这些因素之外,上链的电子数据在提取和存储时的规范性也会影响对电子证据真实性的判断,属于区块链证据应用的潜在要求。可参考电子数据取证的相关国家标准、行业标准和司法鉴定技术规范等进行电子数据的采集、存储和提交操作,避免因操作流程不规范,削弱证据的可信度。


第三层:证据内容真实性审查


即核实电子数据体现的内容是否真实。


在完成前两层审查之后,符合要求的电子数据可以被推定为真实可信。此处的“真实”代表平台存储的数据代码未被篡改,并不直接等同于数据代码所代表的内容与实际情况一致,还需要审查核实二者是否相符。


比如提单中对货物情况的记载数据与系统原始记载状况一致,这一数据与现实货物状况是否吻合、是否能够与其他证据相互印证,还有待进一步审查。


第三层的证据内容真实性审查,目的就是确认数据体现的案件事实是否能够与其他证据加以印证、能否形成内心确信并得到采信


最后

要提醒诉讼活动的参与者

既要认识到区块链技术不易篡改的特性

增强了电子证据的可信度

充分利用技术带来的便利

同时也应充分认识技术应用的局限性

避免过度夸大区块链证据的效力


在今后的发展中

区块链证据的审查规则

有待在司法实践中不断打磨完善

使技术应用和配套规则设计

实现良性互动、共同发展

并最终赋能审判


作者简介


廖璐琪,法学硕士,曾执笔撰写《区块链+航运:技术应用的影响与司法应对问题研究》等多项上海高院党组重点调研课题。撰写的调研成果先后在全国海事审判研讨会、中国法学会审判理论研究会海事海商审判理论专业委员会、上海高院优秀司法统计分析成果等评选活动中获奖。多次获评上海高院调研标兵、上海海事法院调研能手称号。


来源丨上海市高级人民法院、上海海事法院

文字丨廖璐琪

责任编辑丨张巧雨

声明丨转载请注明来自“上海高院”

区块链信息服务包括哪些业务范围

Blockchain xinchi外语

blockchain英 [blɒktˈʃeɪn] 美 [ˈblɑːktʃeɪn]

区块链

短语

Blockchain Technology 区块链技术

Consortium Blockchain 联盟链

Public Blockchain 公有链

Private Blockchain 私有链 ; 私有区块链

Blockchain as a Service 区块链即服务 ; 区块链服务

Long Blockchain Corp 长区块链公司 ; 长区块链

Realizing the Potential of Blockchain 实现区块链的潜力

JD Blockchain Open Platform 智臻链

Blockchain Nodes 区块链节点

双语例句权威例句

Webb believes blockchain will disrupt the middle men in the banking, escrow, insurance and mortgage sectors.

韦伯认为“区域链”会在银行业务、第三方托管、保险和抵押业务方面撼动经纪人的地位。 。

The proposal suggests the taskforce should build expertise in the underlying blockchain technology of virtual currencies.

该提案建议此专责小组应对虚拟货币核心的区块链(blockchain)技术有专业的理解。

Blockchain, Bitcoin's computer program, is able to automatically process transactions and create a perfect, reliable digital record.

“区域链”是比特币的电脑程序,它可以自动处理交易并且创立一份完善可靠的数字记录。

每天分享外语知识,请点击 【关注】,不漏掉任何一期,助你提高外语水平。

【讯驰外语】可乐老师 编辑。

转载《有道词典》,如有侵权请通知删除。

码字不易,敬请【点赞】!

My email:ilikework_cz@126.com

区块链及服务

1什么是区块链

区块链是一个账本。账本有很多区块构成,每个区块里面包含交易的信息。具有不可篡改的特征。

2什么是比特币

比特币是基于区块链技术上的一种原始的应用。在2009年由中本聪提出。初期是满足少数用户间的交易信息,这个结构没有类似我们现在交易中像集中性的数据平台。简单说就是没有中介的一种基于信息传输的运作模式,后来就发展越来越成熟。

3什么是以太坊

如果把比特币看做是比较晦涩难懂的代码平台,那么以太坊就是将这些复杂的代码转变成可编辑强且更容易的平台。供开发者开发各种应用。而且以太坊具备合约机制。

4分布式账本

一种在网络成员之间共享、复制和同步的数据库。区块链就是一种分布式账本。在区块链上的用户都有记账功能,且内容一致

5什么是准匿名性

我们现实生活中的钱包数字化,然后这个钱包其实就是一个地址(一串代码和数字)。交易中只能看到地址。

6什么是不可篡改

区块链的主要特征之一。背后是基于Hash算法。简单理解就是一个函数,函数的特征在于信息的每次变动都会hash变动,且不能从结果倒推变动的原因

7公有链、联盟链、私有链

公有链类似普通公路,车流量 (信息数据) 大,谁都能参与上路。

联盟链类似城际高速,车流量较小(信息数据) 中,只有一些跑跨城的人才用的到 (只允许联盟成员参与记账和查询)

私有链就是直通高速,流量小,但是传输速度快,且数据写入和查看只在一个组织手里

8共识层数据层等

区块链的整体结构划分为6个层: 数据层、网络层、共识层、激励层、合约层和应用层。

数据层:底层的技术,记录数据的。

网络层:把技术织网,技术之间、用户之间连接起来

共识层:协议,技术之间共通、用户之间交流要遵循的一些规定。

激励层:忽悠大家参与。会设置一些激励方式,让更多用户参与进来。

合约层:自动化程序。按照协议的规定,达到要求,自动执行。

应用层:类似APP。区块链上的应用程序。

9时间戳

前面讲到每个区块都会包含信息,区分不同区块除了hash值,还有时间戳,表明生产区块的时间。

10区块/区块头/区块体

区块是区块链的构成单位。区块包括区块头和区块体。然后区块头里记录hash值和时间戳等,理解为信息摘要。区块体就是信息的具体内容和数据

11Merkel树

这是一种数据结构。N个信息对应n个Hash值,然后往上两个信息的Hash值再组成一个新的Hash值,一直到上面就一个Hash值这样就能储存大量数据,还能够按照逻辑树寻找。

12扩容

比特币的一个区块大小是1M,可以保存4000个信息,太少了。扩容就是将区块变大,可以保存更多的信息。

13什么是链

每个区块也会包含上一个区块的Hash,这样区块直接就有了关系,这个关系就是链,通过这个链把区块交易信息和状态变化数据储存起来。

14分叉

同一个时间产生了2个区块,两个区块的信息一样,只是Hash值不同,然后这个两个区块又分叉出来两条链。这两个链谁先生成6个区块,谁就是主链。

15幽灵协议

算力高的矿池计算函数 (hash值) 的速度快,一些算力低的矿机产生的区块就会作废。幽灵协议就是使得算力低矿机产生的区块也能够短暂的留在链上,作为工作证明的一部分。

16块

前面说的被废的区块,没形成链的就是孤块

17什么是挖矿

挖矿的过程可以理解为解函数的过程,这个过程中会产生一个随机数。这个随机数会满足一个条件: 经过哈希运算后的值,会满足这个函数。然后节点去周边去广播,其他节点去进行验证,超过51%节点验证成功,就算挖矿成功了,然后这个节点就会把这个区块放在前一个区块后面,然后重复过程

18矿机和矿场是什么

矿机就算各种配置的计算机,区别在于计算的速度不停,矿机集中在一个地的地方就算矿场。

19矿池

挖矿的人叫做旷工,这些人起来组成一个团队,这个计算机群就算矿池。

20验证

验证是区块链对交易正 确的一种确认,判断节点之间的信息是否合适。

21交易广播

节点给其他节点发送消息。

22旷工费

有了旷工,才能够一直产生区块,因此要给旷工好处费。

23双重交易

举个例子,我有10块钱,然后我用这10块钱买了个东西,然后瞬间动作用这还没到付的10块钱又买了另外一个东西,所以要验证这10块钱是否已经花费。

24UTX0

未花费的交易输出,可以理解为存在但尚未消费的数字货币。

25每秒交易数量TPS

所谓的吞吐量,tps指系统每秒能处理的交易数量。

26钱包

虚拟世界放资产的地方。类比现实世界的支付宝。用来储存数字货币

27冷钱包和热钱包

前者是不联网的,储存在本地的,后者是在线的,通过密码加密后存储在服务器上。使用时再下载下来。

28软件钱和硬件钱

前者是一种计算机程序,可以让用户接收、存储和发送数字货币。后者是专门处理数字货币 的设备。

29空投

项目方把数字货币发送给各个用户钱包地址。目的是为了宣传自己给的吸引。

30映射

可以理解为一开始用别人的,后面再用回自己的。举个例子,一些区块链公司,前期链开发没有完成,然后就在依托以太 坊发行自己的货币。后面自己开发出来了,再将以太坊上自己弄的信息对应到自己链上。这个过程叫映射。

区块链信息服务管理规定是哪个单位发布的

引言:

从广义上讲,区块链技术就是一种分布式数据库技术,在传统的分布式数据库中,一般存在两种类型的节点,一个是中心化的管理节点,剩下的是用于存储数据的数据节点。

传统的分布式数据库将数据进行分片处理,然后将它们分别存储在不同的数据节点上,并且在中心化的管理节点上记录数据的不同分片所在的节点位置,为了增加系统的容错性,传统的分布式数据库还会将每个数据分片在不同的数据节点额外备份存储,当存储数据分片的第一个数据节点出现故障并且宕机后,管理节点可以将该数据分片的位置信息修改为备用的节点,从而避免了单点故障问题,增加了系统

的容错性。

与传统的分布式数据库相同的是,区块链技术也是通过对数据进行额外备份存储来增加系统的容错性,不同的是区块链系统中所有的数据节点都保存了完整的数据副本,而且没有中心化管理节点,即为去中心化特性。

区块链数据存储架构

存储节点主要保存了两份数据,一份是从创世区块到最新区块的所有区块数据,被序列化以后保存在节点的磁盘中;另一份是节点的状态数据,即是区块链中数据的最新版本数据,它以键值对的形式缓存在节点内存的状态数据库LevelDB中,LevelDB是Google开源的高性能KV数据库,它没有独立的进程,而是以第三方库的形式依附于区块链平台进程中。

状态数据是从区块链的创世区块到最新区块迭代更新而来,因此状态数据是区块链最新状态的快照。除了区块链数据和状态数据,还在节点的本地维护了磁盘中的区块链数据的索引信息,通过这些索引信息可以快速定位区块和区块中的数据。

(图1区块链数据存储架构)

如图1所示,上述磁盘中的区块链由四个区块通过哈希值连接而成,因为区块是以无结构的字节流的形式存储在磁盘中,所以为了加快定位区块在磁盘中的位置信息,将每个区块的在磁盘中的位置信息作为索引保存在区块链索引中,后续查找区块的时候,可以通过区块高度直接从内存中查找该区块的位置信息,从而提高了获取区块数据的速度。

综上所述,区块链技术是一种广义上的分布式数据库技术,区块链用户调用智能合约对区块链中的数据读写实际上是对状态数据库中的数据进行读写,区块链系统中的共识节点会将过程中产生的数据记录在新区块里面,然后将新区块广播给存储节点,之后存储节点利用新区块的数据更新状态数据库,再将新区块追加到区块链末尾。

与现有的区块链平台存储模型对比

如图2,我们采用了“区块链数据+状态数据”存储模型,区块链数据由N个通过哈希值而串联的区块组成,每个区块都有自己的编号;区块中的数据除了键和值以外,还增加一个字段用于说明键的上一个版本所在区块的编号,所以在本文的数据存储模型中,通过键的新版本数据快速定位到旧版本在区块链中的位置信息。

而最新版本的键和值在状态数据中还保存了一个副本,状态数据中

同样有指代位置信息的字段,它表示为键的最新版本在区块链中所在区块的编号。

状态数据以跳表的形式保存在存储节点内存中,而跳表的查询时间复杂度为O(logN),因此访问状态数据是一个高效的过程,从状态数据中找到了键的最新版本后,对键的历史版本数据就都可以通过键的指代位置的字段在O(1)的时间复杂度下定位到前一个版本的位置。

(图2包含隐形数据链的数据存储模型)

如图2显示,键k1在状态数据中为(k1,v13,3),说明键k1的最新版本的值为v13,并且位于编号为3的区块block_3中;然后就可以直接从block_3中找到键k的最新版本数据(k1,v13,1),这个数据说明键k1的上一个版本位于编号为1的区块block_1中。

在HyperledgerFabric等区块链平台中,通过专用的数据库保存数据的历史版本,通过这种方式也能够实现对数据的溯源操作,但是其保存的历史数据粒度是每一个交易而不是每一个键,此外随着区块链平台中数据量的增加,维护大量的历史数据仍然会产生不可忽视的系统开销。

所有的数据存储节点都保存了完整的数据副本,因此它们都能对外提供完整的区块链平台的服务,但是其缺点就是当区块链平台的系统集群规模变得很庞大时,区块链平台中的冗余数据量也相应变得很庞大。

(图3全节点与轻节点保存的区块链数据)

与HyperledgerFabric等区块链平台不同,本文区块链平台对存储节点采用轻重分离的策略,轻节点和全节点都还是采用了“区块链数据+状态数据”的存储模型,因此轻节点和全节点具有相同的状态数据以及不同的区块链数据;存储节点轻重分离策略可保证有数量足够的节点来处理客户端的请求,同时会因为舍弃区块体只保留区块头而节省系统大量的存储资源。

如图3,全节点保存了完整的区块,而轻节点只保存了区块头,当区块数量较多时,全节点中保存的数据量将大于轻节点中保存的数据量。

区块结构

如下图4所示,区块的头部主要包含:区块高度、前一个区块的哈希值,当前区块的哈希值。

其中区块高度从创世区块为编号0开始递增,后一个区块高度在前一个区块高度上加1得到,前一个区块的哈希值就是区块高度比当前区块小1的区块的哈希值,区块链中就是通过区块头部的这一字段连接而成。

区块头部第三个字段是由区块的数据部分和区块头部中的区块高度,以及前一个区块的哈希值结合起来共同进行计算得来。

(图4区块结构)

区块中的交易结构

区块中保存的并不是从客户端提交的交易请求,而是交易执行结果的数据集,一个交易执行结果包含四个部分,分别是:唯一性的ID,读取的数据集合,写入的数据集合和参与的存储节点的签名信息集合。

如图5所示,交易的唯一性ID的作用就是用来从存储节点本地找出与这个交易对应的客户端节点的身份信息。

(图5交易结构)

(图6区块中的键值对)

交易的读取集合和写入集合中的键值对除了包含键的值,还包含键的版本信息以及上一个版本所在区块的区块高度。

如图6显示,键的值对应了三个字段的信息,第一个字段value保存的是键的值,第二个字段保存的是键的上一个版本所在的区块的高度,区块链平台可以通过键当前值的第二个字段在O(1)的时间复杂度下定位键的上一个版本的所在的区块,从而极大的加快了对键溯源的速度。

区块中交易的验证流程

存储节点接收到新区块以后,除了验证共识节点的对区块的签名信息之外,还要对区块中包含的每一笔交易执行结果数据集进行验证。

如图7所示,存储节点接收到共识节点生成的新区块后,首先会验证区块尾部共识节点的签名信息,如果验证不通过,说明区块不是由共识节点生成的,存储节点会直接丢弃该区块。

(图7区块中交易的验证流程)

6、区块存储

只要区块是由合法共识节点生成的,存储节点都会将区块保存在区块链中,区块是以无结构的字节流的形式保存在磁盘中的,存储节点将区块持久化存储本地的文件系统中。

(图8新区块存储流程)

如图8所示,新区块通过Gossip模块发送到存储节点并经过验证后,就被持久化追加到区块链末尾,在进行区块持久化存储之前,如果当前存储节点是轻节点,那么会先舍弃区块的其他部分而只保留区块头部。

在将新区块追加到区块链文件的末尾之前会计算区块链文件原来的

大小加上标识区块大小的四个字节和区块的大小后的新大小,如果这个值没有超过区块链文件大小的阈值,那么就直接将新区块追加到区块链文件中。

反之如果这个新大小的值超出了区块链文件设定的大小阈值,存储节点会新启动一个后台线程用于将驻留在内存中的原区块链文件转储到磁盘上,并且会新创建一个驻留在内存中的空的区块链文件,然后将新区块链写入到这个新区块链文件中。

状态数据的更新流程

状态数据库中的键值对可以用四元组(key,value,num_of_block,exist)来表示。

(图9状态数据库中的键值对)

如图9所示,状态数据库中的键值对的num_of_block字段表示的键key的最新版本所在的区块编号,exist字段表示当前键值对是否存在于状态数据中。

(图10新区块更新状态数据库流程)

如10图所示,对于区块中验证通过的交易,存储节点会用交易的写入集合更新状态数据库,具体的方式就是提取区块中键值对的键,值和版本信息这三个字段,然后再加上当前区块的高度组成四元组保存在状态数据库中,因此状态数据库中的键实质上是区块中的键一个副本,他们只在最后一个字段不同,状态数据库中的最后一个字段指向了区块链中的区块。

读写状态数据的复杂度分析

在存储节点的状态数据库中,键和值可以为任意字符串,并且是按照键的字典序存储的,它提供了对单个键和多个键修改的原子化操作。状态数据库保存数据的底层数据结构是跳表。

(图11跳表结构)

跳表一共有N个节点,层数最高的节点有h层,最下一层是前向指针,用于指向前一个节点,节点0到7按序排列在跳表中;因为跳表元素有序排列在跳表中,所以跳表的查询方式为二分查找法,当层高为i时,对节点进行二分查找的时间复杂度如以下公式:

公式(7.1)

公式(7.2)

因此从跳表中查询数据的时间复杂度为O(logN),反之如果直接从区块链中查询键的最新版本,需要按照区块由新到旧的方式遍历区块中的键值对,其中遍历键值对的时间复杂度为O(N),此外还要加上耗时更长的磁盘访问操作,区块链平台中执行交易的效率将非常低下。

区块链数据索引

因为区块是以无结构的字节流的形式保存在存储节点的文件系统中的,为了能够快速找到区块,区块链平台分别根据每个区块的编号在内存中建立了索引信息,索引信息主要是区块所在的区块链文件编号和文件内的偏移量,因此可以通过区块的编号找到区块在文件系统中的位置信息。根据索引信息从文件系统中查找区块是一个查询三级索引的过程。

(图12索引结构)

区块的查找过程如图12所示,图中区块索引信息的区块链文件编号字段的值为0,说明目标区块保存在编号为0的区块链文件中,下一步从索引信息中读出区块在区块链文件中的位置偏移量为offset,因此在存储节点打开了编号0的区块链文件后将文件指针移动到偏移量offset处,然后再读出后续的四个字节的数据,并将其解析为一个32bit的整型数字length,其代表了目标区块的数据占据了从区块链文件当前位置开始的length个字节。

状态数据恢复

在一个规模庞大的分布式系统集群里面,从单个节点的角度来看,它出现故障的概率很小,但是从整个集群的角度来看,集群中节点出现故障的概率就变得非常大。

在本区块链平台中,部分节点因故障而宕机后,并不会影响整个平台的运转,但是对于出现故障的节点,在它修复故障并重新上线后,位于节点内存中的状态数据和区块链索引信息都会丢失,因此故障节点重新上线后首先执行的就是节点状态数据恢复流程,存储节点的状态恢复流程如图13所示:

图13状态数据库恢复流程

存储节点在出现故障而下线的这个时间段里面,区块链平台可能已经生成了新区块,故障节点就会因为下线而缺失这些区块,此时故障节点就向其他正常节点请求缺失的区块,如果区块链平台中存在与故障节点同一组织的正常存储节点,那么故障节点就向同一组织中的存储节点请求缺失的区块;如图14所示:

(图14同组织存储节点状态恢复)

如果区块链平台中没有其他与故障节点属于相同组织的存储节点,那么故障节点会向其他所有组织都请求缺失区块,只有超过半数的组织返回的区块在签名信息验证通过后并且数据相同的情况下,故障节点才会判定接收到的区块为合法有效区块。

如图15,故障节点1恢复并且重新上线以后,区块链平台中不存在与它属于同一组织的存储节点,因此节点向组织1、2、3都发送了自己的状态信息。

(图15不同组织存储节点状态恢复)

通过节点的状态数据恢复功能,即使节点出现故障,只要之后修复了故障并重新上线,仍然能够保证区块链平台的数据一致性。

总结:

本问介绍了区块链平台的数据存储部分。区块链平台中的数据分为两部分存储,一部分是持久化存储的区块数据,另一部分是临时存储的区块链中的最新版本数据。本章通过对两部分数据的存储结构,数据写入流程,区块链索引信息的介绍,阐述了区块链平台在提高数据查询和溯源效率等方面做的工作,然后阐述了通过区块链平台中数据存储的轻重分离的策略,保证了区块链平台既能提供高效的请求处理能力,又能在整个过程中保持轻量化的特性。

本文到此结束,希望本文区块链信息服务包括哪些业务内容,对您有所帮助,欢迎收藏本网站。

特别声明:本文来自网络或网友投稿,部分图片和文字来源于网络收集整理,仅供学习交流,版权归原作者所有,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除;邮箱:1091218940@qq.com


Tag:

本页标题:区块链信息服务包括哪些业务内容


本页链接:http://cn.dfyuhang.com/qkl/137933.html

寅森508网
QQ在线咨询
客服咨询
微信号
1091218940
请您留言

留言通道

在线咨询

Online Consulting