历史上的今天
返回首页

历史上的今天

今天是:2024年10月10日(星期四)

正在发生

2020年10月10日 | 华为区块链账本技术 让你资金更为安全

2020-10-10 来源:爱集微

区块链是一种将各自包含有若干条交易记录的多个数据区块按照时间顺序组合而成的分布式账本,是一种在网络成员之间共享、复制和同步的数据库,分布式账本记录网络参与者之间的交易,比如资产或数据的交换。

在多个数据区中,后一个数据区块均包含前一个数据区块的验证信息,如哈希值,从而将多个数据区块组成一个难以被篡改的链式数据结构,且多个分布式节点上均保存有相同的区块链副本以便相互验证,可以在交易双方直接交易,也就是没有第三方信任机构参与的情况下,确保交易的安全性。

目前,每个分布式节点均需要保存完整的区块链副本,因此,当区块链的数据量较大时,占用的存储空间也较大,成本较高。并且,不同分布式节点的存储能力可能存在差异,一旦某些分布式节点存储空间不足,则无法保存完整的区块链副本,从而降低区块链的安全性。

基于目前分布式账本具有的这些难点,华为在19年1月17日申请了一项名为“区块链账本的存储方法及装置”的发明专利(申请号:201910045742.9),申请人为华为技术有限公司。

根据目前该专利公布的资料,让我们一起来看看华为的这项区块链账本的存储方法吧。

如上图,为用于存储区块链账本的分布式系统的结构示意图,该分布式系统包括6个节点,节点中可为传感器、监控设备、转发设备等。有的节点之间存在直接的通信连接,如节点1与节点2、节点3与节点6。当然,也有的节点之间不存在直接的通信连接,如节点4与节点6、节点2与节点5。

下面将会以该分布式系统为例,先介绍现有的区块链账本的存储方法。

如上图,为区块链账本的存储方法的流程示意图,首先,节点3接收并存储区块链账本副本,区块链账本副本包含头区块和数据区块,头区块包含区块链的验证信息,数据区块存储有多条交易记录。

节点3可以根据新数据更新其存储的区块链账本的副本,新数据包括节点3在完成新交易的过程中产生的新增交易记录,也可以是从上游相邻节点接收的新增交易记录。

最后,节点3向其下游相邻节点转发上述新数据,以便其下游相邻节点更新区块链账本副本。需要说明的是,上述上游相邻节点和下游相邻节点是以某一个新数据的传输方向为参考的,例如,假定新数据A是由节点2生成的,节点2需要将新数据A发送给节点1、节点3和节点6,则节点2为节点1、节点3和节点6的上游相邻节点。

但是该方法中部分节点的存储能力有限,随着区块链账本的数据量的增大,部分节点可能没有足够存储空间存储一个完整的区块链账本副本。此外,还可能存在部分节点可用存储空间不足,同时另一部分节点存在大量存储空间闲置的情况,会导致物联网中实际存储的区块链账本副本的数量下降,从而导致现有物联网中基于区块链的交易的安全性和可靠性下降。

如上图,为该专利中发明的区块链账本的存储方法所适用的分布式系统的结构示意图,该分布式通信系统包括多个节点簇。其中,每个节点簇包括一个簇头节点,以及一个或多个普通节点。

簇头节点用于与分布式通信系统中的其他节点簇通信,如接收一个区块链账本,以及存储区块链账本中的头区块,普通节点用于存储区块链账本中的数据区块。

头区块用于存储区块链账本的验证消息,以及每个数据区块的存储信息。数据区块用于前一个数据区块的验证消息以及交易记录,具体的存储方法如下图所示。

如上图,为区块链账本的存储方法的流程示意图,首先,接收第一副本和普通节点上报的可用存储空间大小,第一副本可以是主控设备下发的区块链账本副本,也可以是与第一节点簇相邻的其他节点簇。

其次,根据普通节点上报的可用存储空间大小和第一副本的数据量,确定普通节点中每个普通节点需要存储的数据区块,例如可以根据不同普通节点的可用存储空间大小,为不同的普通节点分配不同数量的数据区块。

假定第一副本共计包括4个数据区块:数据区块1-数据区块4,普通节点1和普通节点3分别可以存储1个数据区块,普通节点4可以存储2个数据区块,而普通节点2可用存储空间不足,不能存储数据区块,则如下图所示:

可以按照采用如下方式为每个普通节点分配需要存储的数据区块:普通节点1存储数据区块1,普通节点2不存储数据区块,普通节点3存储数据区块2,普通节点4存储数据区块3和数据区块4。

当然,除此之外,也可以采用其他的数据区块分配方式,如普通节点4存储数据区块1和数据区块2,而数据区块3和数据区块4分别由普通节点1和普通节点3存储。

最后,系统需要存储头区块以及数据区块的存储信息,存储信息用于指示每个数据区块与其所在的普通节点的对应关系。例如上图中,簇头节点用于存储头区块,如区块0,头区块包括第一副本的账本验证信息,如区块链账本的主哈希值。

以上就是华为发明的区块链账本的存储方法,区块链账本技术在生活中也有很多的应用场景,这种技术在通过共识性验证并写入账本后,就不能再更改,这样就可以给企业以及组织节省时间和成本,同时还可以减少风险,使得企业可以构建新收入流来与客户交互。


推荐阅读

史海拾趣

Hong Kong X'Tals Ltd公司的发展小趣事
在必要时,可以加入保护电路(如过流保护、过压保护等),以提高电路的可靠性和安全性。
Fischer Connectors公司的发展小趣事
选择合适的电阻和电容,以确保定时精度和电路稳定性。同时,注意元件的温漂和老化对定时时间的影响。
Cantherm公司的发展小趣事

随着环保意识的日益增强,Cantherm公司积极响应国家号召,将环保理念融入产品设计和生产过程中。公司研发出一系列环保型电子产品,采用可降解材料和节能技术,有效降低了产品对环境的影响。这一举措不仅提升了公司的社会形象,还为公司带来了更多的环保项目合作机会。

Greenlee公司的发展小趣事

GREEGOO公司深知品牌建设对于企业发展的重要性。因此,公司投入大量资源用于品牌宣传和推广,通过赞助行业活动、举办产品发布会、开展公益活动等方式,不断提升品牌知名度和美誉度。同时,GREEGOO还注重产品质量的提升和售后服务的完善,以优质的产品和服务赢得消费者的信任和忠诚。这些努力使得GREEGOO在电子行业中树立了良好的品牌形象,品牌价值不断提升。

City_Technology公司的发展小趣事

1977年,伦敦大学内,四个富有远见的科学家怀揣着梦想,创立了City Technology公司。他们利用Wolfson研究所开发的电化学技术,着手研发新型氧气感应技术。这一创新技术的诞生,标志着City Technology在气体传感领域的初步尝试,并为其日后的腾飞奠定了坚实的基础。在接下来的几年里,公司不断突破技术瓶颈,其铁罐氧气传感器技术于1982年获得了英国皇后奖技术成就奖,这一荣誉不仅肯定了公司的技术实力,也为其在市场上赢得了良好的声誉。

Capar Components Corp公司的发展小趣事

随着国内市场的饱和,Capar Components Corp开始将目光投向国际市场。公司积极参加国际电子展会,与海外客户建立联系,拓展销售渠道。同时,公司还根据不同国家和地区的市场需求,调整产品结构和营销策略,逐步打开了国际市场的大门。如今,公司的产品已经远销欧美、东南亚等多个国家和地区,成为了国际电子市场上的一支重要力量。

问答坊 | AI 解惑

大家一起818 arm技术方面实用的网址吧

专业arm技术论坛 http://www.armjishu.com 嵌入式开源社区 http://www.oschina.net/project/tag/41 arm9开发社区   http://www.arm9bbs.com/ arm开发者论坛  http://www.armforum.cn/ FPGA/CPLD综合  http://www ...…

查看全部问答>

一种新型螺旋滤波器

一种新型螺旋滤波器…

查看全部问答>

求个 .NET Compact Framework 2.0 for CE5.0 的下载地址

求个 .NET Compact Framework 2.0 for CE5.0 的下载地址就是能放到 CE 系统里。然后能安装的那个。我只下到WM5版的。。下不到CE版的 …

查看全部问答>

有人做过6410的板子吗?

1.引脚如何引出,需要多层板吗? 2.部高频信号线时需要注意什么? 3.需要和驱动工程师沟通吗?要注意哪些方面。…

查看全部问答>

新手咨询关于WinCE如何从存储卡上读取excel文件?

新手咨询关于WinCE如何从存储卡上读取并打开excel文件?能给一个用C语言或者java语言的示例代码吗?谢谢了。…

查看全部问答>

新手问个关于用手机定位的问题?

    打听下关于手机定位,看到类似谷歌纵横的应用软件,想问下是如何实现定位的(不是用GPS),用GPS的一般好象容易点,软件好象可以根据基站来确定经纬度,原理是不是这样的:手机里的软件根据收到的基站数据(是不是类似GPS定位的原理 ...…

查看全部问答>

共同学习TMS320F28027

最近刚开始学习TMS320F28027,不过它的中文学习资料不多! 希望大家多多在论坛里交流啊 发个自己做的TMS320F28027代码生成器,不过只是GPIO部分,不知道有没有问题,请大家口下留情啊…

查看全部问答>

STM32F103VCFSMC驱动ILI9325问题

求STM32F103VC FSMC驱动ILI9325的代码 自己弄了下没成功 PD0-15 --->D0-15 NOE ------>RD NWE ------>WR NE1 ------>CS A23 ------>RS PC12 ----->RESET #define RST_PIN (*((volatile unsigned int *) 0x422201B ...…

查看全部问答>

关于C6711的电源模块

在开发板上1.8v和3.3v的电源模块比较复杂。请问有没有简单一点就能够实现的方法?并且tps56100等芯片比较难买。我手头只有TPS75833KTTT。有没有方法就用这个芯片实现电源呢?谢谢大家啊…

查看全部问答>

关于C语言地址指针的问题

比如C51可作如下定义:  code uchar x[4]={ //x定义在代码区 0x01,0x02, 0x03,0x04, }; uchar xdata *p   ...…

查看全部问答>