CN113592639A - 一种区块链交易删除方法及系统 - Google Patents
一种区块链交易删除方法及系统 Download PDFInfo
- Publication number
- CN113592639A CN113592639A CN202110558844.8A CN202110558844A CN113592639A CN 113592639 A CN113592639 A CN 113592639A CN 202110558844 A CN202110558844 A CN 202110558844A CN 113592639 A CN113592639 A CN 113592639A
- Authority
- CN
- China
- Prior art keywords
- transaction
- deletion
- deleted
- blockchain
- account
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Finance (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Medical Informatics (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种区块链交易删除方法及系统,该方法包括以下步骤:S1:接收用户私钥签名的删除交易,删除交易为包括删除操作码和交易编号区间的交易请求;S2:验证删除交易的用户私钥,验证通过之后根据删除操作码和交易编号区间识别交易账户及对应的待删除交易列表;S3:根据交易账户和待删除交易列表删除交易池中未打包的对应交易。本发明仅需一条删除交易就能实现区块链全网的批量删除,相比现有技术,减小对区块链网络的影响,提升了删除效率,大幅减轻存储空间,操作简单成本低。
Description
技术领域
本发明属于区块链技术领域,尤其涉及一种区块链交易删除方法及系统。
背景技术
区块链技术基于其不可伪造、全程留痕、可以追溯、公开透明、集体维护等特征,在现实生活中实现了各种各样的功能,不仅得到了安全、可靠的保障,而且极大地方便了现实生活的方方面面。目前主流区块链的交易内容由from,to,nonce,gas,gas price,value,data组成,其中,from是交易源地址,to是交易目的地址,nonce是针对from账户发出交易编号而递增的,每一个编号代表唯一的区块链交易,gas是每笔交易所花费的燃料数量,gasprice 是燃料的单价,value是from向to转账的金额,data是交易相关数据。
而主流区块链删除交易的做法是,通过提高gas price,nonce不变,value 和data清空,创建新的交易,新的交易不执行任何业务逻辑,进而广播区块链全网以替换原有相同nonce的交易,这实际上并不是删除交易,而是用空交易替换旧交易,这样的区块链删除交易的做法,存在以下缺点:
1)现有区块链交易删除方法造成区块链网络拥堵:用户因发出错误交易,在区块链网络中长久未被打包,用户会连续发出多笔交易,此时nonce值递增,进而导致更多无效交易,现有方案需要针对每条无效交易再对应发出取消交易,造成网络成倍拥堵;
2)现有区块链交易删除方法删除效率低:现有方案无法批量删除交易,需要针对每笔区块链交易用相同nonce的交易分别对应覆盖,整个过程不仅耗时多而且需要用户反复操作,效率非常低;
3)现有区块链交易删除方法并没有真实删除交易:由于区块链入门门槛较高,初级用户普遍存在错发交易,如转账目的地址填写错误,金额填写错误,现有方案采用新交易覆盖旧交易,随着时间积累造成大量存储资源浪费。
发明内容
本发明为解决上述技术问题,提供了一种区块链交易删除方法及系统,其技术方案为:
一种区块链交易删除方法,包括以下步骤:
S1:接收用户私钥签名的删除交易,删除交易为包括删除操作码和交易编号区间的交易请求;
S2:验证删除交易的用户私钥,验证通过之后根据删除操作码和交易编号区间识别交易账户及对应的待删除交易列表;
S3:根据交易账户和待删除交易列表删除交易池中未打包的对应交易。
在其中一个实施例中,交易编号区间包括删除交易本身的交易编号。
在其中一个实施例中,步骤S3之后,还包括以下步骤:
S4:广播删除交易至区块链中的邻节点,邻节点通过步骤S1至S3删除其交易池中交易账户和待删除交易列表所对应未打包的交易,并再次广播删除交易至其邻节点以重复执行步骤S4,从而实现区块链全网删除。
在其中一个实施例中,区块链节点预先部署有交易删除合约,其中,步骤S2进一步包括:
通过调用交易删除合约,验证删除交易的用户私钥,验证通过之后根据删除操作码和交易编号区间识别交易账户及对应的待删除交易列表,并提交至区块链节点交易池。
在其中一个实施例中,删除操作码和交易编号区间位于交易请求的data 区。
一种区块链交易删除系统,包括:
接收模块,用于接收用户私钥签名的删除交易,删除交易为包括删除操作码和交易编号区间的交易请求;
验证识别模块,用于验证删除交易的用户私钥,验证通过之后根据删除操作码和交易编号区间识别交易账户及对应的待删除交易列表;
删除模块,用于根据交易账户和待删除交易列表删除交易池中未打包的对应交易。
在其中一个实施例中,交易编号区间包括删除交易本身的交易编号。
在其中一个实施例中,还包括广播模块,用于广播删除交易至区块链中的邻节点,以实现邻节点删除其交易池中交易账户和待删除交易列表所对应未打包的交易,并再次广播删除交易至其邻节点,从而实现区块链全网删除。
在其中一个实施例中,删除操作码和交易编号区间位于交易请求的data 区。
一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述区块链交易删除方法。
一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述区块链交易删除方法。
本发明与现有技术相比具有以下的优点和积极效果:
1)本发明通过一笔删除交易,在验证通过之后识别删除交易中的删除操作码和交易编号区间,确认需要删除的交易账户对应的待删除交易列表,并在交易池中进行未打包交易的删除,如此,一笔删除交易就实现了区块链交易的批量删除,提升了效率,同时,相比于现有技术中一笔笔交易的覆盖方式,现仅需一笔删除交易即可完成,大大减轻了对区块链网络的影响,节约了区块链网络资源,由于交易是真正意义上被删除,也大幅节约了存储空间;
2)本发明的删除交易以交易请求的方式进行区块链交易删除,这样使得删除交易本身就是一笔交易,通过交易编号区间中包括删除交易本身的交易编号,如此,在删除交易池中未打包的对应交易同时,删除交易本身也被删除,不会产生新的无效交易请求,以占用存储资源,实现了真正意义上的删除,节约了存储资源;
3)本发明通过广播删除交易,使得区块链节点的邻节点同样删除其交易池中交易账户和待删除交易列表所对应未打包的交易,如此,达到区块链全网删除的目的,实现了区块链交易的彻底删除。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。
图1为本发明一个实施例中区块链交易删除方法的整体流程图;
图2为本发明一个实施例中区块链交易删除系统的结构框图。
附图标记说明:
1-接收模块;2-验证识别模块;3-删除模块;4-广播模块。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
区块链简单地说就是一种去中心化的分布式账本数据库,区块链技术本质上是一种数据库技术,每个区块就像一个硬盘,把信息全部保存下来,再通过密码学技术进行加密,这些被保存的信息就无法被篡改。区块链具有去中心化、开放性、独立性、安全性、匿名性的特征,可以应用到生活的众多方面,其中,在众多应用中,交易是区块链的重要应用之一,但是由于区块链入门门槛较高,用户难免存在错发交易的情况,例如转账目的地址填写错误,金额填写错误等等,这就需要对这些交易进行真正有效的删除,以避免这些错发交易被执行或长期占用区块链的存储资源。
第一实施例
为解决上述问题,参看图1,本实施例提出一种区块链交易删除方法,包括以下步骤:
S1:接收用户私钥签名的删除交易,删除交易为包括删除操作码和交易编号区间的交易请求;
S2:验证删除交易的用户私钥,验证通过之后根据删除操作码和交易编号区间识别交易账户及对应的待删除交易列表;
S3:根据交易账户和待删除交易列表删除交易池中未打包的对应交易。
现对本实施例进行详细说明,但不仅限于此。
本实施例适用于区块链节点以执行批量删除多笔交易,尤其适用于对交易池中未打包的多笔交易进行删除,其中,多笔交易可以是正常待打包的交易、也可以是错发待打包的交易、还可以是无法打包出错的交易等等,节点指的是区块链网络中的负责维护网络运行的终端,可以为手机、服务器、计算机等等。通过本实施例的方法不仅可以真正删除区块链交易,节约存储空间,而且批量删除处理,执行简单效率高,占用网络资源少。
1)具体介绍步骤S1
本实施例用户私钥签名的删除交易,基于交易请求的格式进行构建,该删除交易为包括删除操作码和交易编号区间的交易请求,其中,区块链交易内容一般包括from、to、nonce、gas、gas price、value、data,具体而言,from 是交易源地址,to是交易目的地址,nonce是针对from账户发出交易编号而递增的,每一个编号代表唯一的区块链交易,gas是每笔交易所花费的燃料数量,gas price是燃料的单价,value是from向to转账的金额,data是交易相关数据。较优地,本实施例的删除交易的删除操作码和交易编号区间位于交易请求的data区,其中,nonce值递增,形成代表该删除交易的唯一交易编号。
具体举一例子,但不仅限于此:删除操作码可以为2个字节,例如用 0x0001表示,主要用于被识别,以标识该笔交易为用于删除交易的交易请求,其具体格式和内容在此不作限定;交易编号区间可以由30个字节表示,例如前15字节表示删除交易起始位,后15字节表示删除交易的结束位置,以标识需要删除的交易,若删除交易起始位和结束位置相同,则标识仅需删除一笔交易。这些信息统一记录在交易请求的data区,同时nonce值递增,假如账户前一笔交易的nonce值为2,则该删除交易的nonce值可以递增为3,该nonce值为3就表示该删除交易,如此以构成本实施例的删除交易。
具体地,本实施例的删除交易同正常区块链交易一样,经过用户私钥签名,以保证区块链交易删除的安全性和严谨性,防止区块链交易被其他用户误删或故意删除。其中,用户私钥签名具体可以为删除交易计算一个散列值,然后通过用户的私钥进行加密实现交易的签名,但不仅限于此。
较优地,本实施例交易编号区间包括删除交易本身的交易编号,其中,删除交易以交易请求的方式进行区块链交易删除,这样使得删除交易本身就是一笔交易,通过交易编号区间中包括删除交易本身的交易编号,如此,在删除交易池中未打包的对应交易同时,删除交易本身也被删除,不会产生新的无效交易请求,以占用存储资源,本实施例实现了真正意义上的删除,大大节约了存储资源。
2)具体介绍步骤S2
本实施例接收删除交易时,首先区块链节点验证该删除交易的用户私钥,具体而言,可以通过区块链上的用户公钥与删除交易签名中的用户私钥进行匹配,以验证该删除交易是否合法。其中,具体可以接收到删除交易后,利用区块链上用户公钥解密通过删除交易中的用户私钥加密后的散列值,将公钥解密的结果与最初散列值进行比较,若两者相符,验证通过则继续执行步骤,但不仅限于此。
较优地,在接收用户私钥签名的删除交易,还可以验证删除交易的nonce 值是否正确,即验证删除交易的交易编号是否正确,由于删除交易的nonce 值相比之前的一笔交易是递增的,通过验证删除交易的nonce值也可以进一步验证删除交易是否正确,若不正确则就可以丢弃该删除交易,以避免重复执行删除交易。
验证通过之后,区块链节点根据删除操作码和交易编号区间识别交易账户及对应的待删除交易列表,其中,根据删除操作码识别出该交易为本实施例的删除交易,则会根据交易编号区间识别出交易账户的待删除交易列表,该交易账户为删除交易的请求用户。例如,交易编号区间为[0,3],则表示需要删除交易账户nonce值为0、1、2、3对应的四笔交易,待删除交易列表即为该四笔交易。正如步骤S1中介绍的,本实施例交易编号区间优选包括删除交易本身的交易编号,即根据交易编号区间识别得到的交易列表包含了删除交易本身,以在删除一些不需要的交易外,对删除交易一并删除。
优选地,区块链节点预先部署有交易删除合约,其中,步骤S2进一步包括:通过调用交易删除合约,验证删除交易的用户私钥,验证通过之后根据删除操作码和交易编号区间识别交易账户及对应的待删除交易列表,并提交至区块链节点交易池。
具体而言,交易删除合约是一种智能合约,智能合约是一种特殊协议,旨在提供、验证及执行合约。具体来说,智能合约是区块链被称之为“去中心化的”重要原因,它允许我们在不需要第三方的情况下,执行可追溯、不可逆转和安全的交易。智能合约包含了有关交易的所有信息,只有在满足要求后才会执行结果操作。智能合约和传统纸质合约的区别在于智能合约是由计算机生成的。而智能合约根据功能的逻辑来编写和运作,区块链网络使用的智能合约,只要满足输入要求,也就是说只要代码编写的要求被满足,合约中的义务将在安全和信任的网络中得到执行。在本实施例中,本实施例的交易删除合约为预先部署在区块链上的智能合约,交易删除合约预先申明有本实施例方法对应的区块链交易删除的具体步骤的逻辑,调用交易删除合约即是调用交易删除合约中申明的步骤逻辑,以执行具体的交易删除。本实施例通过交易删除合约实现了区块链上交易删除协议的部署,实现了区块链上每一节点的交易删除功能,同时通过交易删除合约可根据实际的定制要求进行各种限定,可定制化程度高。
3)具体介绍步骤S3
区块链节点根据交易账户和待删除交易列表删除交易池中未打包的对应交易。其中,交易池也称作内容池,即用来暂存尚未被加入到区块的交易记录的存储空间,由于用户难免存在错发交易的情况,例如转账目的地址填写错误,金额填写错误等等,故在交易池中会存在错发待打包或无法打包出错的交易,这些交易占用着交易池的存储资源,而本实施例通过根据交易账户和待删除交易列表对交易池中未打包的对应交易进行查找确认并删除,以释放该部分的存储资源。
本实施例相对于现有的区块链交易删除方案,仅需一条交易就可以实现区块链全网真正删除,所需费用更低,网络影响更小。举个例子,用户存在 n笔等待的交易,若想删除该n笔交易,采用现有的方式则需要同样的n笔空交易进行覆盖,如此大大影响区块链网络,而且费用昂贵,而本实施例只有一笔删除交易即可完成,针对现有方案需要发出新的n笔,本实施例对网络造成的影响为缩小了n倍,同时也节省了大量的费用。进一步为防止交易粉尘攻击,保证区块链网络的安全,本实施例的删除交易再次发送时,其费用相对原有费用可以进一步提高。
进一步优选地,参看图1,本实施例还包括步骤S4:广播删除交易至区块链中的邻节点,邻节点通过步骤S1至S3删除其交易池中交易账户和待删除交易列表所对应未打包的交易,并再次广播删除交易至其邻节点以重复执行步骤S4,从而实现区块链全网删除。具体而言,区块链节点在接收到删除交易之后,进一步将删除交易广播至其区块链中临近的邻节点,邻节点进一步再次将删除交易广播至其区的邻节点,以此不断广播,使得区块链全网节点都能基于上述步骤删除其交易池中交易账户和待删除交易列表所对应未打包的交易,达到区块链全网删除的目的。
本实施例通过广播删除交易,使得区块链节点的邻节点同样删除其交易池中交易账户和待删除交易列表所对应未打包的交易,如此,达到区块链全网删除的目的,实现了区块链交易的彻底删除。
现通过一具体案例进一步对本实施例进行说明,但不仅限于此。
假设用户发起一笔交易,因手续费低,在区块链网上等待未被打包,此时交易nonce=0,用户又持续发起第二笔nonce=1的交易、第三笔nonce=2 的交易、第四笔nonce=3的交易,其中,该账户已在区块链网络中存在四笔 nonce不同,其他内容相同的重复交易,现需要对这四笔交易进行删除:
用户采用本实施例的方法对任意一区块链节点发送用户私钥签名的删除交易,删除交易的data区包括删除操作码与交易编号(nonce)区间,删除操作码为2个字节,用0x0010表示;nonce区间由30个字节表示,前15 字节表示删除交易起始位,后15字节表示删除交易的结束位置,这里考虑到对删除交易也进行删除,故交易编号区间取值为nonce[0,4],即删除所有等待的交易,其中,nonce值为4表示删除交易本身;
当区块链节点接收到该删除交易时,验证删除交易的用户私钥,验证通过后根据删除操作码与交易编号区间,能够识别需要删除的交易账户和对应的待删除交易列表,其中,待删除交易列表中包括nonce值为0、1、2、3、 4对应的五笔交易;
根据交易账户和对应的待删除交易列表,区块链节点删除其交易池中对应未打包的交易,其中,具体删除了交易账户nonce值为0、1、2、3、4对应的五笔交易;
区块链节点广播删除交易到临近区块链节点,即邻节点,邻节点通过上述同样的方法,对其交易池中对应未打包的交易进行删除,并再次广播删除交易,以达到区块链全网删除的目的。
本实施例通过一笔删除交易,在验证通过之后识别删除交易中的删除操作码和交易编号区间,确认需要删除的交易账户对应的待删除交易列表,并在交易池中进行未打包交易的删除,如此,一笔删除交易就实现了区块链交易的批量删除,提升了效率,同时,相比于现有技术中一笔笔交易的覆盖方式,现仅需一笔删除交易即可完成,大大减轻了对区块链网络的影响,节约了区块链网络资源,由于交易是真正意义上被删除,也大幅节约了存储空间。
第二实施例
参看图2,本发明提出了一种区块链交易删除系统,包括:
接收模块1,用于接收用户私钥签名的删除交易,删除交易为包括删除操作码和交易编号区间的交易请求;
验证识别模块2,用于验证删除交易的用户私钥,验证通过之后根据删除操作码和交易编号区间识别交易账户及对应的待删除交易列表;
删除模块3,用于根据交易账户和待删除交易列表删除交易池中未打包的对应交易。
现对本实施例进行详细说明,但不仅限于此。
本实施例适用于区块链节点以执行批量删除多笔交易,尤其适用于对交易池中未打包的多笔交易进行删除,其中,多笔交易可以是正常待打包的交易、也可以是错发待打包的交易、还可以是无法打包出错的交易等等,节点指的是区块链网络中的负责维护网络运行的终端,可以为手机、服务器、计算机等等。通过本实施例的方法不仅可以真正删除区块链交易,节约存储空间,而且批量删除处理,执行简单效率高,占用网络资源少。
1)具体介绍接收模块
本实施例接收模块中,用户私钥签名的删除交易,基于交易请求的格式进行构建,该删除交易为包括删除操作码和交易编号区间的交易请求,其中,区块链交易内容一般包括from、to、nonce、gas、gas price、value、data,具体而言,from是交易源地址,to是交易目的地址,nonce是针对from账户发出交易编号而递增的,每一个编号代表唯一的区块链交易,gas是每笔交易所花费的燃料数量,gas price是燃料的单价,value是from向to转账的金额, data是交易相关数据。较优地,本实施例的删除交易的删除操作码和交易编号区间位于交易请求的data区,其中,nonce值递增,形成代表该删除交易的唯一交易编号。
具体举一例子,但不仅限于此:删除操作码可以为2个字节,例如用 0x0001表示,主要用于被识别,以标识该笔交易为用于删除交易的交易请求,其具体格式和内容在此不作限定;交易编号区间可以由30个字节表示,例如前15字节表示删除交易起始位,后15字节表示删除交易的结束位置,以标识需要删除的交易,若删除交易起始位和结束位置相同,则标识仅需删除一笔交易。这些信息统一记录在交易请求的data区,同时nonce值递增,假如账户前一笔交易的nonce值为2,则该删除交易的nonce值可以递增为3,该nonce值为3就表示该删除交易,如此以构成本实施例的删除交易。
具体地,本实施例的删除交易同正常区块链交易一样,经过用户私钥签名,以保证区块链交易删除的安全性和严谨性,防止区块链交易被其他用户误删或故意删除。其中,用户私钥签名具体可以为删除交易计算一个散列值,然后通过用户的私钥进行加密实现交易的签名,但不仅限于此。
较优地,本实施例交易编号区间包括删除交易本身的交易编号,其中,删除交易以交易请求的方式进行区块链交易删除,这样使得删除交易本身就是一笔交易,通过交易编号区间中包括删除交易本身的交易编号,如此,在删除交易池中未打包的对应交易同时,删除交易本身也被删除,不会产生新的无效交易请求,以占用存储资源,本实施例实现了真正意义上的删除,大大节约了存储资源。
2)具体介绍验证识别模块
本实施例验证识别模块接收删除交易时,首先区块链节点验证该删除交易的用户私钥,具体而言,可以通过区块链上的用户公钥与删除交易签名中的用户私钥进行匹配,以验证该删除交易是否合法。其中,具体可以接收到删除交易后,利用区块链上用户公钥解密通过删除交易中的用户私钥加密后的散列值,将公钥解密的结果与最初散列值进行比较,若两者相符,验证通过则继续执行,但不仅限于此。
较优地,在接收用户私钥签名的删除交易,验证识别模块还可以验证删除交易的nonce值是否正确,即验证删除交易的交易编号是否正确,由于删除交易的nonce值相比之前的一笔交易是递增的,通过验证删除交易的nonce 值也可以进一步验证删除交易是否正确,若不正确则就可以丢弃该删除交易,以避免重复执行删除交易。
验证通过之后,验证识别模块根据删除操作码和交易编号区间识别交易账户及对应的待删除交易列表,其中,根据删除操作码识别出该交易为本实施例的删除交易,则会根据交易编号区间识别出交易账户的待删除交易列表,该交易账户为删除交易的请求用户。例如,交易编号区间为[0,3],则表示需要删除交易账户nonce值为0、1、2、3对应的四笔交易,待删除交易列表即为该四笔交易。正如上述中介绍的,本实施例交易编号区间优选包括删除交易本身的交易编号,即根据交易编号区间识别得到的交易列表包含了删除交易本身,以在删除一些不需要的交易外,对删除交易一并删除。
优选地,区块链节点预先部署有交易删除合约,其中,验证识别模块进一步通过调用交易删除合约,验证删除交易的用户私钥,验证通过之后根据删除操作码和交易编号区间识别交易账户及对应的待删除交易列表,并提交至区块链节点交易池。
具体而言,交易删除合约是一种智能合约,智能合约是一种特殊协议,旨在提供、验证及执行合约。具体来说,智能合约是区块链被称之为“去中心化的”重要原因,它允许我们在不需要第三方的情况下,执行可追溯、不可逆转和安全的交易。智能合约包含了有关交易的所有信息,只有在满足要求后才会执行结果操作。智能合约和传统纸质合约的区别在于智能合约是由计算机生成的。而智能合约根据功能的逻辑来编写和运作,区块链网络使用的智能合约,只要满足输入要求,也就是说只要代码编写的要求被满足,合约中的义务将在安全和信任的网络中得到执行。在本实施例中,本实施例的交易删除合约为预先部署在区块链上的智能合约,交易删除合约预先申明有本实施例方法对应的区块链交易删除的具体步骤的逻辑,调用交易删除合约即是调用交易删除合约中申明的步骤逻辑,以执行具体的交易删除。本实施例通过交易删除合约实现了区块链上交易删除协议的部署,实现了区块链上每一节点的交易删除功能,同时通过交易删除合约可根据实际的定制要求进行各种限定,可定制化程度高。
3)具体介绍删除模块
删除模块根据交易账户和待删除交易列表删除交易池中未打包的对应交易。其中,交易池也称作内容池,即用来暂存尚未被加入到区块的交易记录的存储空间,由于用户难免存在错发交易的情况,例如转账目的地址填写错误,金额填写错误等等,故在交易池中会存在错发待打包或无法打包出错的交易,这些交易占用着交易池的存储资源,而本实施例通过根据交易账户和待删除交易列表对交易池中未打包的对应交易进行查找确认并删除,以释放该部分的存储资源。
本实施例相对于现有的区块链交易删除方案,仅需一条交易就可以实现区块链全网真正删除,所需费用更低,网络影响更小。举个例子,用户存在 n笔等待的交易,若想删除该n笔交易,采用现有的方式则需要同样的n笔空交易进行覆盖,如此大大影响区块链网络,而且费用昂贵,而本实施例只有一笔删除交易即可完成,针对现有方案需要发出新的n笔,本实施例对网络造成的影响为缩小了n倍,同时也节省了大量的费用。进一步为防止交易粉尘攻击,保证区块链网络的安全,本实施例的删除交易再次发送时,其费用相对原有费用可以进一步提高。
进一步优选地,本实施例还包括广播模块,用于广播删除交易至区块链中的邻节点,以实现邻节点删除其交易池中交易账户和待删除交易列表所对应未打包的交易,并再次广播删除交易至其邻节点,从而实现区块链全网删除。具体而言,区块链节点在接收到删除交易之后,进一步将删除交易广播至其区块链中临近的邻节点,邻节点进一步再次将删除交易广播至其区的邻节点,以此不断广播,使得区块链全网节点都能删除其交易池中交易账户和待删除交易列表所对应未打包的交易,达到区块链全网删除的目的。
本实施例通过广播删除交易,使得区块链节点的邻节点同样删除其交易池中交易账户和待删除交易列表所对应未打包的交易,如此,达到区块链全网删除的目的,实现了区块链交易的彻底删除。
现通过一具体案例进一步对本实施例进行说明,但不仅限于此。
假设用户发起一笔交易,因手续费低,在区块链网上等待未被打包,此时交易nonce=0,用户又持续发起第二笔nonce=1的交易、第三笔nonce=2 的交易、第四笔nonce=3的交易,其中,该账户已在区块链网络中存在四笔 nonce不同,其他内容相同的重复交易,现需要对这四笔交易进行删除:
用户采用本实施例的方法对任意一区块链节点发送用户私钥签名的删除交易,删除交易的data区包括删除操作码与交易编号(nonce)区间,删除操作码为2个字节,用0x0010表示;nonce区间由30个字节表示,前15 字节表示删除交易起始位,后15字节表示删除交易的结束位置,这里考虑到对删除交易也进行删除,故交易编号区间取值为nonce[0,4],即删除所有等待的交易,其中,nonce值为4表示删除交易本身;
当区块链节点接收到该删除交易时,验证删除交易的用户私钥,验证通过后根据删除操作码与交易编号区间,能够识别需要删除的交易账户和对应的待删除交易列表,其中,待删除交易列表中包括nonce值为0、1、2、3、 4对应的五笔交易;
根据交易账户和对应的待删除交易列表,区块链节点删除其交易池中对应未打包的交易,其中,具体删除了交易账户nonce值为0、1、2、3、4对应的五笔交易;
区块链节点广播删除交易到临近区块链节点,即邻节点,邻节点通过上述同样的方法,对其交易池中对应未打包的交易进行删除,并再次广播删除交易,以达到区块链全网删除的目的。
本实施例通过一笔删除交易,在验证通过之后识别删除交易中的删除操作码和交易编号区间,确认需要删除的交易账户对应的待删除交易列表,并在交易池中进行未打包交易的删除,如此,一笔删除交易就实现了区块链交易的批量删除,提升了效率,同时,相比于现有技术中一笔笔交易的覆盖方式,现仅需一笔删除交易即可完成,大大减轻了对区块链网络的影响,节约了区块链网络资源,由于交易是真正意义上被删除,也大幅节约了存储空间。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
第三实施例
本发明还提出了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如上述第一实施例所提及的区块链交易删除方法。
第四实施例
本发明提出了一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述第一实施例中所提及的区块链交易删除方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器 (CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明一些示例性实施例,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (11)
1.一种区块链交易删除方法,其特征在于,包括以下步骤:
S1:接收用户私钥签名的删除交易,所述删除交易为包括删除操作码和交易编号区间的交易请求;
S2:验证所述删除交易的用户私钥,验证通过之后根据所述删除操作码和所述交易编号区间识别交易账户及对应的待删除交易列表;
S3:根据所述交易账户和所述待删除交易列表删除交易池中未打包的对应交易。
2.根据权利要求1所述的区块链交易删除方法,其特征在于,所述交易编号区间包括所述删除交易本身的交易编号。
3.根据权利要求1所述的区块链交易删除方法,其特征在于,所述步骤S3之后,还包括以下步骤:
S4:广播所述删除交易至区块链中的邻节点,所述邻节点通过所述步骤S1至S3删除其交易池中所述交易账户和所述待删除交易列表所对应未打包的交易,并再次广播所述删除交易至其邻节点以重复执行所述步骤S4,从而实现区块链全网删除。
4.根据权利要求1至3任意一项所述的区块链交易删除方法,其特征在于,区块链节点预先部署有交易删除合约,其中,所述步骤S2进一步包括:
通过调用所述交易删除合约,验证所述删除交易的用户私钥,验证通过之后根据所述删除操作码和所述交易编号区间识别交易账户及对应的待删除交易列表,并提交至区块链节点交易池。
5.根据权利要求1至3任意一项所述的区块链交易删除方法,其特征在于,所述删除操作码和所述交易编号区间位于所述交易请求的data区。
6.一种区块链交易删除系统,其特征在于,包括:
接收模块,用于接收用户私钥签名的删除交易,所述删除交易为包括删除操作码和交易编号区间的交易请求;
验证识别模块,用于验证所述删除交易的用户私钥,验证通过之后根据所述删除操作码和所述交易编号区间识别交易账户及对应的待删除交易列表;
删除模块,用于根据所述交易账户和所述待删除交易列表删除交易池中未打包的对应交易。
7.根据权利要求6所述的区块链交易删除系统,其特征在于,所述交易编号区间包括所述删除交易本身的交易编号。
8.根据权利要求6所述的区块链交易删除系统,其特征在于,还包括广播模块,用于广播所述删除交易至区块链中的邻节点,以实现所述邻节点删除其交易池中所述交易账户和所述待删除交易列表所对应未打包的交易,并再次广播所述删除交易至其邻节点,从而实现区块链全网删除。
9.根据权利要求6至8任意一项所述的区块链交易删除系统,其特征在于,所述删除操作码和所述交易编号区间位于所述交易请求的data区。
10.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至5中任一项所述的区块链交易删除方法。
11.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至5中任一项所述的区块链交易删除方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110558844.8A CN113592639B (zh) | 2021-05-21 | 2021-05-21 | 一种区块链交易删除方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110558844.8A CN113592639B (zh) | 2021-05-21 | 2021-05-21 | 一种区块链交易删除方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113592639A true CN113592639A (zh) | 2021-11-02 |
CN113592639B CN113592639B (zh) | 2023-10-13 |
Family
ID=78243196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110558844.8A Active CN113592639B (zh) | 2021-05-21 | 2021-05-21 | 一种区块链交易删除方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113592639B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116938965A (zh) * | 2022-04-21 | 2023-10-24 | 西门子股份公司 | 从分布式账本中删除交易 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108876377A (zh) * | 2018-07-06 | 2018-11-23 | 杭州复杂美科技有限公司 | 一种防止重复支付的方法和系统 |
WO2019024780A1 (zh) * | 2017-08-03 | 2019-02-07 | 中国移动通信有限公司研究院 | 区块链轻量化处理方法、区块链节点及存储介质 |
CN109586934A (zh) * | 2018-12-27 | 2019-04-05 | 链极智能科技(上海)有限公司 | 一种区块链底层网络交易同步优化方法 |
US20190251557A1 (en) * | 2018-11-27 | 2019-08-15 | Alibaba Group Holding Limited | Executing multi-party transactions using smart contracts |
CN110245117A (zh) * | 2019-06-13 | 2019-09-17 | 南开大学 | 一种基于区块链的云上数据可信删除方法与系统 |
CN110618859A (zh) * | 2019-09-10 | 2019-12-27 | 杭州秘猿科技有限公司 | 支持按顺序打包的交易池设计方法、电子设备 |
US20200044824A1 (en) * | 2019-03-28 | 2020-02-06 | Alibaba Group Holding Limited | System and method for parallel-processing blockchain transactions |
US20200117657A1 (en) * | 2019-09-05 | 2020-04-16 | Alibaba Group Holding Limited | System and method for deleting node in blockchain network |
US20200153626A1 (en) * | 2019-06-28 | 2020-05-14 | Alibaba Group Holding Limited | System and method for updating data in blockchain |
EP3709568A1 (en) * | 2019-03-14 | 2020-09-16 | Nokia Technologies Oy | Deleting user data from a blockchain |
KR20200126061A (ko) * | 2019-04-29 | 2020-11-06 | 현대페이(주) | 블록체인 네트워크에서의 트랜잭션의 삭제를 가능하게 하는 노드 장치 및 그 동작 방법 |
CN112015823A (zh) * | 2020-10-20 | 2020-12-01 | 支付宝(杭州)信息技术有限公司 | 一种区块链数据的删除方法和装置 |
CN112540998A (zh) * | 2020-12-21 | 2021-03-23 | 清华大学 | 一种区块链的链上内容清除方法及装置 |
CN112700240A (zh) * | 2021-03-24 | 2021-04-23 | 南京金宁汇科技有限公司 | 基于utxo架构的区块链中交易手续费提升方法及系统 |
-
2021
- 2021-05-21 CN CN202110558844.8A patent/CN113592639B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019024780A1 (zh) * | 2017-08-03 | 2019-02-07 | 中国移动通信有限公司研究院 | 区块链轻量化处理方法、区块链节点及存储介质 |
CN108876377A (zh) * | 2018-07-06 | 2018-11-23 | 杭州复杂美科技有限公司 | 一种防止重复支付的方法和系统 |
US20190251557A1 (en) * | 2018-11-27 | 2019-08-15 | Alibaba Group Holding Limited | Executing multi-party transactions using smart contracts |
CN109586934A (zh) * | 2018-12-27 | 2019-04-05 | 链极智能科技(上海)有限公司 | 一种区块链底层网络交易同步优化方法 |
EP3709568A1 (en) * | 2019-03-14 | 2020-09-16 | Nokia Technologies Oy | Deleting user data from a blockchain |
US20200044824A1 (en) * | 2019-03-28 | 2020-02-06 | Alibaba Group Holding Limited | System and method for parallel-processing blockchain transactions |
KR20200126061A (ko) * | 2019-04-29 | 2020-11-06 | 현대페이(주) | 블록체인 네트워크에서의 트랜잭션의 삭제를 가능하게 하는 노드 장치 및 그 동작 방법 |
CN110245117A (zh) * | 2019-06-13 | 2019-09-17 | 南开大学 | 一种基于区块链的云上数据可信删除方法与系统 |
US20200153626A1 (en) * | 2019-06-28 | 2020-05-14 | Alibaba Group Holding Limited | System and method for updating data in blockchain |
US20200117657A1 (en) * | 2019-09-05 | 2020-04-16 | Alibaba Group Holding Limited | System and method for deleting node in blockchain network |
CN110618859A (zh) * | 2019-09-10 | 2019-12-27 | 杭州秘猿科技有限公司 | 支持按顺序打包的交易池设计方法、电子设备 |
CN112015823A (zh) * | 2020-10-20 | 2020-12-01 | 支付宝(杭州)信息技术有限公司 | 一种区块链数据的删除方法和装置 |
CN112540998A (zh) * | 2020-12-21 | 2021-03-23 | 清华大学 | 一种区块链的链上内容清除方法及装置 |
CN112700240A (zh) * | 2021-03-24 | 2021-04-23 | 南京金宁汇科技有限公司 | 基于utxo架构的区块链中交易手续费提升方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116938965A (zh) * | 2022-04-21 | 2023-10-24 | 西门子股份公司 | 从分布式账本中删除交易 |
Also Published As
Publication number | Publication date |
---|---|
CN113592639B (zh) | 2023-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3591510B1 (en) | Method and device for writing service data in block chain system | |
US11321783B2 (en) | Method and device for data processing based on blockchain | |
EP3740923B1 (en) | Multi-approval system using m of n keys to generate a transaction address | |
US20210160082A1 (en) | Blockchain transaction method and apparatus | |
US11270388B2 (en) | Blockchain-based data processing method and apparatus | |
CN108256354B (zh) | 一种基于试验数据的存储方法及存储介质 | |
CN110597839A (zh) | 交易数据处理方法、装置、设备以及存储介质 | |
CN108550038A (zh) | 一种应用于区块链的数据传播系统及方法 | |
US11228446B2 (en) | Blockchain-based reconciliation method and apparatus and electronic device | |
CN109936620B (zh) | 基于区块链的存储方法及装置、系统与存储介质 | |
CN104937904A (zh) | 针对全异卸载提供器的复制卸载 | |
CN109840769B (zh) | 基于区块链的存证方法及装置、系统与存储介质 | |
CN104219198A (zh) | 一种WebApp的防篡改方法 | |
CN111552991A (zh) | 一种区块链交易方法及装置 | |
CN110505311A (zh) | 一种同构区块链跨链交互方法和系统 | |
CN111339201A (zh) | 基于区块链的测评方法及系统 | |
CN115134069A (zh) | 区块链编辑的方法和区块链节点 | |
CN113592639B (zh) | 一种区块链交易删除方法及系统 | |
CN113132459B (zh) | 分布式存储方法、系统、存储介质、信息数据处理终端 | |
CN107222453B (zh) | 一种文件传输方法及装置 | |
US11782883B1 (en) | Systems and methods for managing personalized life information | |
CN111737276B (zh) | 一种修改区块链数据的方法和系统 | |
CN111555870B (zh) | 一种密钥运算方法及装置 | |
CN113987574A (zh) | 一种区块链私密交易方法、装置、设备及可读存储介质 | |
CN117032998B (zh) | 一种基于区块链的数据处理方法、装置以及可读存储介质 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220804 Address after: 201702 room 235, area K, 2 / F, 158 Shuanglian Road, Qingpu District, Shanghai Applicant after: Shanghai Jiansu Network Technology Co.,Ltd. Address before: Room 4058, building 3, No. 495, Yuejin South Road, Xinhai Town, Chongming District, Shanghai 202172 Applicant before: Shanghai pelac Information Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |