CN111581669B - 一种可变因子调节的区块链轻量级节点隐私保护方法 - Google Patents
一种可变因子调节的区块链轻量级节点隐私保护方法 Download PDFInfo
- Publication number
- CN111581669B CN111581669B CN202010427114.XA CN202010427114A CN111581669B CN 111581669 B CN111581669 B CN 111581669B CN 202010427114 A CN202010427114 A CN 202010427114A CN 111581669 B CN111581669 B CN 111581669B
- Authority
- CN
- China
- Prior art keywords
- bloom filter
- addresses
- block chain
- address
- hash
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000009191 jumping Effects 0.000 claims description 4
- 239000013598 vector Substances 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6263—Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及比特币区块链技术领域,尤其涉及一种可变因子调节的区块链轻量级节点隐私保护方法,该方法包括:在区块链轻量级节点初始化布隆过滤器参数,设定隐私度;根据初始化参数构造布隆过滤器,计算比特位数、哈希函数个数和可变因子值;插入查询地址,对布隆过滤器对应位置置1;隐私保护因子扰动,根据可变因子值对布隆过滤器置0的比特位随机置1;在区块链全节点根据布隆过滤器查询地址相关交易,将结果返回轻量级节点。该方法可有效减小区块链轻量级节点从全节点获取交易数据时引发的隐私泄露风险。
Description
技术领域
本发明涉及区块链技术领域,具体涉及一种可变因子调节的区块链轻量级节点隐私保护方法。
背景技术
区块链技术通过运用数据加密、时间戳、分布式共识和智能合约等手段, 在节点无需互相信任的分布式系统中实现基于去中心化信用的点对点交易、协调与协作。交易记录由所有节点共同维护。
随着交易的增加,区块链节点存储完整账本信息需要的磁盘空间也逐渐增大,例如,截止到2020年3月,比特币账本已超过266GB,同时,随着区块链使用规模的增长,验证网络中广播的区块和交易的正确性,也给节点带来了相当大的开销。当用户使用资源受限的设备,如移动终端、智能手机、传感器、嵌入式系统等时,完整下载账本几乎不可能完成。
通过简化的支付验证(SPV,Simplified Payment Verification)的方式可以使节点在不必存储完整区块链的情况下进行工作。这种类型的节点被称为SPV节点或轻量级节点。轻量级节点只需下载区块头,而不用下载包含在每个区块中的交易信息。由此产生的不含交易信息的区块链,大小只有完整区块链的1/1000。简易支付验证是通过参考交易在区块链中的深度,而不是高度,来验证它们。一个轻量级节点会验证所有区块的链(但不是所有的交易),并且把区块链和与自己有关的交易链接起来。通过请求merkle路径证明以及验证区块链中的工作量证明,来证实交易的存在性。
轻量级节点在与全节点的连接上设置过滤器,用以过滤从全节点发来的区块和交易数据流。由于SPV节点需要读取特定交易从而选择性地验证交易,对特定数据的请求可能无意中透露了钱包里的地址信息,因而产生隐私泄露风险。
布隆过滤器(Bloom Filters)允许轻量级节点通过使用模糊过滤机制接收交易的一个子集,无需精确地泄露他们感兴趣的地址。布隆过滤器通过一个由N个二进制数字(bit字段)的可变长度数组以及可变数量的M个哈希函数实现的。这些哈希函数的输出值始终在1和N之间,该数值与二进制位数组相对应。布隆过滤器数组里的每一个数的初始值为零。地址被加到布隆过滤器中之前,会依次通过每一个哈希函数运算一次。该输入经第一个哈希函数运算后得到了一个在1和N之间的数,它在该数组(编号依次为1至N)中所对应的位被置为1,从而把哈希函数的输出记录下来。接着再进行下一个哈希函数的运算,把另外一位置为1,以此类推。
布隆过滤器可以判断一个元素可能在集合中,不会出现漏报,但可能会有误报。而且随着插入的数据越多,误报的概率也越大。正是由于存在一定的误报率,布隆过滤器的使用使得攻击者无法直接获取用户钱包的地址信息,因而在一定程度上保护了用户隐私。然而,当布隆过滤器容量固定,且地址数较少时,攻击者如果能够收集足够的信息,仍有很高的概率猜测出轻量级客户端的钱包中的地址,造成用户隐私信息的泄露。
发明内容
为了解决区块链轻量级节点从全节点获取交易数据时引发的隐私泄露风险的问题,本发明提供一种可变因子调节的区块链轻量级节点隐私保护方法,通过该方法构造的布隆过滤器,能够在地址数偏少时仍保持一定的误报率,大幅降低攻击者的猜测成功的概率,从而保护用户隐私信息。
为了达到上述目的,本发明所采用的技术方案是:一种可变因子调节的区块链轻量级节点隐私保护方法,包含以下步骤:
步骤S1、初始化参数,在轻量级客户端上设置布隆过滤器的容量m、目标误报率Pt和隐私度P;
步骤S2、构建布隆过滤器,根据初始化参数,计算布隆过滤器的比特位数n、哈希函数个数k和可变因子值α;
步骤S3、插入查询地址,将需要查询的地址插入布隆过滤器,依次计算地址元素的k个哈希地址,并将布隆过滤器对应的k个位置置1;
步骤S4、隐私保护因子扰动,根据步骤S2得到的可变因子值α,将步骤S3中布隆过滤器中置0的比特位随机选择置1;
步骤S5、查询地址相关交易,将布隆过滤器发送至区块链全节点,区块链全节点计算待查交易中地址对应的k个哈希地址,核对布隆过滤器向量的k个对应位置,如果全部对应位均为1,则将其放于查询结果集合中,查询结束后将结果集合返回轻量级节点。
进一步的,所述的步骤S1,初始化参数的设置方法包括但不仅限于用户自行设定和由轻量级客户端根据自身资源情况自动生成。
进一步的,所述的步骤S2具体包括以下步骤:
S201、根据步骤S1所设定的容量m和目标误报率Pt计算布隆过滤器的比特位数n;
S202、根据步骤S1所设定的容量m和S201得到的布隆过滤器的比特位数n,计算布隆过滤器的哈希函数个数k;
S203、根据步骤S1所设定的容量m、目标误报率Pt和隐私度P计算可变因子值α。
进一步的,所述的步骤S3具体包括以下步骤:
S301、从需要查询的地址集合中,选取一个查询地址,依次计算地址元素的k个哈希地址;
S302、根据得到的k个哈希地址,将布隆过滤器对应位置置1;
S303、重复上述两步,直到所有需要查询的地址插入完毕。
进一步的,所述的步骤S5具体包括以下步骤:
S501、区块链全节点从待查交易中选取一个交易,依次计算该交易中地址的k个哈希地址;
S502、将计算出的k个哈希地址和布隆过滤器的对应位比较,如果有任意哈希地址的对应位为0,则跳转至步骤S504,否则跳转至步骤S503;
S503、将待查交易放入查询结果集合中;
S504、重复以上步骤,直到所有待查交易检查完毕。
与现有技术相比,本发明的有益效果是:本发明所构造的布隆过滤器,能够在地址数偏少时仍保持一定的误报率,大幅降低攻击者的猜测成功的概率,从而保护用户隐私信息。
附图说明
图1是基于布隆过滤器的区块链轻量级节点隐私保护模型图;
图2是本发明一种可变因子调节的区块链轻量级节点隐私保护方法的流程示意图;
图3是本发明实施例中可变因子调节的区块链轻量级节点隐私保护方法的插入查询地址示意图;
图4是本发明实施例可变因子调节的区块链轻量级节点隐私保护方法的隐私保护因子扰动示意图;
图5是本发明实施例可变因子调节的区块链轻量级节点隐私保护方法与未加保护方法在隐私保护性能方面的对比图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本实施例是在基于布隆过滤器的区块链轻量级节点隐私保护模型的基础上实现的。轻量级节点通过嵌入其使用过的所有交易地址来构造布隆过滤器,并将布隆过滤器外包给区域链全节点。当区域链全节点收到交易信息时,首先会检查其输入/输出地址是否与轻量级节点的布隆过滤器匹配,如果匹配,则全节点会将收到的交易转发给轻量级节点。
如图2所示,本发明所提供的一种可变因子调节的区块链轻量级节点隐私保护方法,包含以下步骤:
步骤S1、初始化参数,在轻量级客户端上设置布隆过滤器的容量m、目标误报率Pt和隐私度P,参数的设置方法包括但不仅限于由使用轻量级客户端的用户自行设定和由轻量级客户端根据自身资源情况自动生成。
步骤S2、构建布隆过滤器,根据步骤S1所设置的初始化参数,计算布隆过滤器的比特位数n、哈希函数个数k和可变因子值α,具体计算方法如下:
S201、根据公式 (1) 计算布隆过滤器的比特位数n:
S202、根据公式 (2) 计算布隆过滤器的哈希函数个数k:
S203、根据步骤1设定的容量m、目标误报率Pt和隐私度P计算可变因子值α,α的取值范围在(0.5, 1.0]之间;
步骤S3、插入查询地址,将需要查询的地址插入布隆过滤器,依次计算地址元素的k个哈希地址,并将布隆过滤器对应的k个位置置1,具体包括以下步骤:
S301、从需要查询的地址集合中,选取一个查询地址@ i ,依次计算地址元素的k个哈希地址;
S302、如图3所示,根据得到的k个哈希地址,将布隆过滤器对应位置置1;
S303、重复上述两步,直到将所有需要查询的地址插入完毕。
步骤S4、隐私保护因子扰动,根据步骤S2得到的可变因子值α,将步骤S3中布隆过滤器中置0的比特位随机选择置1,如图4所示;
步骤S4具体包括以下步骤:
S401、找到布隆过滤器中第一个置0的比特位;
S402、使用当前时间(精确到毫秒)作为随机函数种子,计算0到1之间的随机数r,若r>α,则将该比特位置1;
S403、找到布隆过滤器下一个置0的比特位,重复步骤S402,直到处理完毕所有置0的比特位。
步骤S5、查询地址相关交易,将布隆过滤器发送至区块链全节点,区块链全节点计算待查交易中地址对应的k个哈希地址,核对布隆过滤器向量的k个对应位置,如果全部对应位均为1,则将其放于查询结果集合中,查询结束后将结果集合返回轻量级节点,具体包括以下步骤:
S501、区块链全节点从待查交易中选取一个交易,依次计算该交易中地址的k个哈希地址;
S502、将计算出的k个哈希地址和布隆过滤器的对应位比较,如果有任意哈希地址的对应位为0,则跳转至步骤S504,否则跳转至步骤S503;
S503、将待查交易放入查询结果集合中;
S504、重复以上步骤,直到所有待查交易检查完毕。
图5给出了按本实施例构造的布隆过滤器,在容量为50、目标误报率为0.1%及扰动因子为0.51时,与未加保护方法的布隆过滤器在隐私保护性能方面的对比,图中,黑色圆点表示可变因子调节的区块链轻量级节点隐私保护方法,灰色加号表示未加保护方法,可以看出,在插入地址数较少时,攻击者猜测出用户地址的概率很高,甚至接近100%,而使用可变因子调节的区块链轻量级节点隐私保护方法后,猜测成功的概率趋近于0,由此可知,本发明所构造的布隆过滤器,能够在地址数偏少时仍保持一定的误报率,大幅降低攻击者的猜测成功的概率,从而保护用户隐私信息。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (5)
1.一种可变因子调节的区块链轻量级节点隐私保护方法,其特征在于,包含以下步骤:
步骤S1、初始化参数,在轻量级客户端上设置布隆过滤器的容量m、目标误报率Pt和隐私度P;
步骤S2、构建布隆过滤器,根据初始化参数,计算布隆过滤器的比特位数n、哈希函数个数k和可变因子值α;
步骤S3、插入查询地址,将需要查询的地址插入布隆过滤器,依次计算地址元素的k个哈希地址,并将布隆过滤器对应的k个位置置1;
步骤S4、隐私保护因子扰动,根据步骤S2得到的可变因子值α,将步骤S3中布隆过滤器中置0的比特位随机选择置1;
步骤S5、查询地址相关交易,将布隆过滤器发送至区块链全节点,区块链全节点计算待查交易中地址对应的k个哈希地址,核对布隆过滤器向量的k个对应位置,如果全部对应位均为1,则将其放于查询结果集合中,查询结束后将结果集合返回轻量级节点。
2.根据权利要求1所述的一种可变因子调节的区块链轻量级节点隐私保护方法,其特征在于:所述的步骤S1,初始化参数的设置方法包括但不仅限于用户自行设定和由轻量级客户端根据自身资源情况自动生成。
3.根据权利要求2所述的一种可变因子调节的区块链轻量级节点隐私保护方法,其特征在于,所述的步骤S2具体包括以下步骤:
S201、根据步骤S1所设定的容量m和目标误报率Pt计算布隆过滤器的比特位数n;
S202、根据步骤S1所设定的容量m和S201得到的布隆过滤器的比特位数n,计算布隆过滤器的哈希函数个数k;
S203、根据步骤S1所设定的容量m、目标误报率Pt和隐私度P计算可变因子值α。
4.根据权利要求3所述的一种可变因子调节的区块链轻量级节点隐私保护方法,其特征在于,所述的步骤S3具体包括以下步骤:
S301、从需要查询的地址集合中,选取一个查询地址,依次计算地址元素的k个哈希地址;
S302、根据得到的k个哈希地址,将布隆过滤器对应位置置1;
S303、重复上述两步,直到所有需要查询的地址插入完毕。
5.根据权利要求4所述的一种可变因子调节的区块链轻量级节点隐私保护方法,其特征在于,所述的步骤S5具体包括以下步骤:
S501、区块链全节点从待查交易中选取一个交易,依次计算该交易中地址的k个哈希地址;
S502、将计算出的k个哈希地址和布隆过滤器的对应位比较,如果有任意哈希地址的对应位为0,则跳转至步骤S504,否则跳转至步骤S503;
S503、将待查交易放入查询结果集合中;
S504、重复以上步骤,直到所有待查交易检查完毕。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010427114.XA CN111581669B (zh) | 2020-05-19 | 2020-05-19 | 一种可变因子调节的区块链轻量级节点隐私保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010427114.XA CN111581669B (zh) | 2020-05-19 | 2020-05-19 | 一种可变因子调节的区块链轻量级节点隐私保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111581669A CN111581669A (zh) | 2020-08-25 |
CN111581669B true CN111581669B (zh) | 2023-02-24 |
Family
ID=72125237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010427114.XA Active CN111581669B (zh) | 2020-05-19 | 2020-05-19 | 一种可变因子调节的区块链轻量级节点隐私保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111581669B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108390891A (zh) * | 2018-03-28 | 2018-08-10 | 电子科技大学天府协同创新中心 | 基于私有区块链的信息保护方法 |
CN110287262A (zh) * | 2019-06-28 | 2019-09-27 | 中国科学技术大学 | 有效保护用户隐私的比特币交易查询方法 |
CN110503558A (zh) * | 2019-08-29 | 2019-11-26 | 深圳前海微众银行股份有限公司 | 一种基于区块链系统的处理方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11487749B2 (en) * | 2018-05-30 | 2022-11-01 | Aenco Technologies Limited | Method and system for verifying and maintaining integrity of data transactions using distributed ledger |
-
2020
- 2020-05-19 CN CN202010427114.XA patent/CN111581669B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108390891A (zh) * | 2018-03-28 | 2018-08-10 | 电子科技大学天府协同创新中心 | 基于私有区块链的信息保护方法 |
CN110287262A (zh) * | 2019-06-28 | 2019-09-27 | 中国科学技术大学 | 有效保护用户隐私的比特币交易查询方法 |
CN110503558A (zh) * | 2019-08-29 | 2019-11-26 | 深圳前海微众银行股份有限公司 | 一种基于区块链系统的处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
不经意随机访问机研究综述;吴鹏飞等;《软件学报》(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111581669A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11888992B2 (en) | System and method for generating digital marks | |
CN111523133B (zh) | 一种区块链与云端数据协同共享方法 | |
EP3491605A1 (en) | Computer-implemented method and system of tamper-evident recording of a plurality of service data items | |
CN107657438A (zh) | 一种区块链生成方法、数据验证方法、节点及系统 | |
CN110427774A (zh) | 基于区块链的数据存证方法、数据校验方法及相关装置 | |
CN110602239A (zh) | 一种区块链信息存储方法及相关设备 | |
WO2016202952A1 (en) | Digital token exchange system | |
CN110827028A (zh) | 一种基于区块链的数据采集交易系统和方法 | |
US20210303553A1 (en) | Method and system for performing adaptive consensus in a distributed ledger network | |
WO2020015668A1 (zh) | 区块链的存储方法和区块链的节点 | |
Qin et al. | Applying private information retrieval to lightweight bitcoin clients | |
EP3869376B1 (en) | System and method for blockchain based decentralized storage with dynamic data operations | |
EP2913973A1 (en) | Trusted NFC smart poster tag | |
CN111630545B (zh) | 管理账本系统中的交易请求 | |
US10735204B2 (en) | System and method for generating digital marks | |
CN113961908B (zh) | 数据存证方法、装置、计算机设备和存储介质 | |
Yang et al. | Ubiquitous verification in centralized ledger database | |
KR102170031B1 (ko) | 위치정보를 이용한 블록체인 거래인증방법, 기록매체 및 블록체인 시스템 | |
US11983160B2 (en) | Apparatus and method for providing sensor data based on blockchain | |
CN111581669B (zh) | 一种可变因子调节的区块链轻量级节点隐私保护方法 | |
Wu et al. | Efficient and secure top-query processing on hybrid sensed data | |
Thakur et al. | Data integrity techniques in cloud computing: an analysis | |
CN109862564A (zh) | 加密的数据共享系统 | |
US20230350865A1 (en) | System and method using bloom filters to improve system reliability | |
WO2022161225A1 (en) | Method for storing data in blockchain, related payment management system and non-transitory computer-readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |