掌桥专利:专业的专利平台
掌桥专利
首页

一种基于区块链的数据传输方法及系统

文献发布时间:2023-06-19 19:30:30


一种基于区块链的数据传输方法及系统

技术领域

本发明涉及区块链领域,尤其涉及到一种基于区块链的数据传输方法及系统。

背景技术

数据安全是指对于组织所拥有的数据进行保护和管理,以确保数据的完整性、可用性和保密性。数据安全对于组织的业务运营和发展至关重要,因为数据是组织的重要财产,包含了组织内部的各种业务数据以及客户的个人信息等。保护这些数据不受任何未经授权的访问、窃取、破坏和篡改是组织需要解决的重要问题之一。

现有的技术包括但不限于以下几种方式:使用加密协议,如TLS/SSL,保护数据在传输过程中的安全性;实施访问控制,只有经过身份验证的用户才能访问数据;采用数字签名技术,确保数据的完整性和真实性;实施数据备份和容灾措施,以确保数据的可用性;采用防火墙和入侵检测系统等技术,保护网络中的数据免受未经授权的访问和攻击;使用虚拟专用网络(VPN)建立安全的远程连接,使用数据加密软件对数据进行加密,使用安全套接字层(SSL)协议进行安全通信等等。

没错,现有技术都可以在一定程度上提升数据传输的安全性,但是注意,这种安全性不是绝对的。因为用户的任何网络行为都会留下痕迹,当用户的行为足够多,哪怕使用的是最完备的加密方法,其传输的任何数据都暴漏无疑。这是因为,除了数据本身之外,用户行为本身是可以被搜集到的,例如用户什么时间,什么地点,点击了什么内容都可以被内容提供者或者运营商甚至被普通人所知晓,用户在被收集行为数据的时候可能并不知道自己的行为数据已经被收集到,当用户的行为被收集足够多,其传输的任何数据几乎都可以被猜测出来。

例如张三在路过一家奶茶店的时候,买了一杯奶茶并且拍了一张照片,当他打开聊天软件的时候,如果他和李四所在的IP地址经常联络,他就很有可能将刚拍下的照片发送给李四,尽管其他人不知道张三是否是给李四发送了消息,也不知道他有没有发送他刚刚拍下的照片,但是现有技术已经可以猜得八九不离十。这仅仅是一个简单的例子,但这就是现实中已经发生的事情。

为了解决上面的问题,张三试图先将图片发送给王五,王五再将图片发送给赵六,赵六再将图片发送给孙七,…,经过一连串的人之后,最后将图片发送给了李四。通过转发的方式可以在一定程度增加数据传输的安全性,但却不是一个终极的方法,因为当张三可以被发现将某种数据发送给了王五,王五又将某种数据发送给了赵六,然而这些数据在传输的过程中都可以被跟踪,只要将每段数据连接起来,就可以轻易发现其中的端倪。

区块链是一种去中心化的分布式数据库技术,它通过将数据分布在多个节点上并使用密码学技术保证数据不可篡改,实现了对数据的安全性、透明性和可信度的提高。

尽管区块链可以实现数据的透明传输,发送者和接收者都以某个ID身份存在于区块链中,但是若链上ID被知晓,其ID和个人具有对应关系,也就是说知道了链上的ID,就可以知道传输对象。

为此,我们特意在区块链之中引入了转发节点,在转发节点进一步组装和加密,解决了中心化网络和传统区块链数据传输中都可能存在的数据跟踪安全问题。

发明内容

本发明提出了一种基于区块链的数据传输方法,其特征在于,具体包括如下步骤:

S1. 构建数据传输网络,所述数据传输网络为去中心化的区块链,所述区块链由多个节点组成,所述节点包括存储空间和同步时钟。

S2. 确定主发送节点和主接收节点,在主发送节点将主发送数据加密,得到加密后的主发送数据;确定多个从发送节点,在多个从发送节点将多个从发送数据加密,得到相应的多个加密后的从发送数据。

S3. 确定主发送节点的主随机因子f和每个从发送节点的从随机因子hi,其中i表示第i个从发送节点。

S4. 将所述加密后的主发送数据随机分为f个子数据,将每个加密后的从发送数据分别随机分为hi个子数据。

S5. 随机选定多个转发节点,在每个转发节点的转发周期T中,接收并组装来自主发送节点和多个从发送节点的子数据形成组装数据,若该转发节点为所述主接收节点,则接收并保留来自主发送节点的子数据,与已经保留的数据组装为已接收数据,将所述转发节点更新为新的主发送节点,并将所述组装数据更新为转发节点的主发送数据。

S6. 递归执行步骤S2-S5,直到主接收节点已接收数据的大小与原始的加密后的主发送数据大小一致,得到最终接收数据。

S7. 主接收节点解密在步骤S6中的最终接收数据,得到原始主发送数据。

此外,为了实现上述方法,我们还提出一种基于区块链的数据传输系统,其特征在于,该系统包括:

主发送节点,用以将主发送数据加密,得到加密后的主发送数据,确定主随机因子f,将所述加密后的主发送数据随机分为f个子数据,将每个子数据发送到转发节点;

从发送节点,用以将从发送数据加密,得到加密后的从发送数据,确定从随机因子hi,将所述加密后的从发送数据随机分为hi个子数据,将每个子数据发送到转发节点。

转发节点:在转发周期T中,接收并组装来自主发送节点和多个从发送节点的子数据形成组装数据,将自身更新为新的主发送节点,并将组装数据转发到下一个转发节点,若该转发节点本身为主接收节点,将来自主发送节点的子数据保留在此节点,并与已经保留的数据组装为已接收数据。

主接收节点:接收来自主发送节点的数据,并解密还原成原主发送数据。

从接收节点:接收来自从发送节点的数据,并解密还原成原从发送数据。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面对实施例中所要使用的附图进行说明。

图1是本发明提供的一种基于区块链的数据传输方法的流程图。

图2是本发明提供的一种基于区块链的数据传输方法中转发节点对来自不同发送节点数据的转发示意图,其中的110a为加密后的主发送数据,110b和110c为加密后的从发送数据,110d为经过转发节点组装之后的数据。

具体实施方式

下面结合本实施例中的附图,对本发明进行进一步说明,需要说明的是,在此提供的实施例仅是本发明的一部分实施例。基于发明内容,本领域的普通技术人员可以从发明内容中获得其他可以实施本发明的方法或产品,任何根据本发明实施例提出的实施例或对其进一步的本领域技术人员容易想到的改进都属于本申请保护的范围。

实施例1,图1提供了一种基于区块链的数据传输方法的流程图,其包括如下步骤:S1. 构建数据传输网络,所述数据传输网络为去中心化的区块链,所述区块链由多个节点组成,所述节点包括存储空间和同步时钟。

S2. 确定主发送节点和主接收节点,在主发送节点将主发送数据加密,得到加密后的主发送数据,如图2中110a所表示的数据所示;确定多个从发送节点,在多个从发送节点将多个从发送数据加密,得到相应的多个加密后的从发送数据,如图2中的110b和110c所表示的数据。

在步骤S2中,所述的主发送节点和从发送节点仅仅是逻辑上的主从关系,在区块链中他们的地位相等,互为主从。例如对于用户甲来说,其使用节点A为主发送节点,区块链中的其他节点均视为节点A的从发送节点,但是在某一时刻,其他用户在发送数据的时候,其他节点就为相应的主发送节点,而节点A就是该主发送节点的从发送节点。

S3. 确定主发送节点的主随机因子f和每个从发送节点的从随机因子hi,其中i表示第i个从发送节点。

S4. 将所述加密后的主发送数据随机分为f个子数据,一个子数据如图2中110a的一个五角星,将每个加密后的从发送数据分别随机分为hi个子数据,图2中展示了两组从加密数据,其中一组为110b所示的数据,另一组为110c所示的数据。

S5. 随机选定多个转发节点,在每个转发节点的转发周期T中,接收并组装来自主发送节点和多个从发送节点的子数据形成组装数据,若该转发节点为所述主接收节点,则接收并保留来自主发送节点的子数据,与已经保留的数据组装为已接收数据,将所述转发节点更新为新的主发送节点,并将所述组装数据更新为转发节点的主发送数据。

如图2所示,转发节点P_A接收了来自主发送节点的加密后的主发送数据110a和两个来自从发送节点的加密后的从发送数据110b和110c,其子数据在转发节点P_A中被重新组装成了多组数据,其中的一个组装数据如110d所示。

在步骤S5中,所述转发周期T为一固定的时间,每个节点的转发周期相同,并且所述转发周期的起始时刻也相同,其周期和起始时刻根据节点内的同步时钟进行同步;在转发节点处,由于来自主发送节点的数据和来自多个从发送节点的数据被二次组装,然后以新的数据的形式被发送出去,而并非将接收到的来自某个节点的数据直接转发出去,因此,转发节点的作用除了可以转发数据之外,还相当于对来自不同节点的数据进行了新的加密。

S6. 递归执行步骤S2-S5,直到主接收节点已接收数据的大小与原始的加密后的主发送数据大小一致,得到最终接收数据。

S7. 主接收节点解密在步骤S6中的最终接收数据,得到原始主发送数据。

技术分类

06120115933359