CN113722545A - 一种许可链环境下的数据编校方法 - Google Patents
一种许可链环境下的数据编校方法 Download PDFInfo
- Publication number
- CN113722545A CN113722545A CN202110737922.0A CN202110737922A CN113722545A CN 113722545 A CN113722545 A CN 113722545A CN 202110737922 A CN202110737922 A CN 202110737922A CN 113722545 A CN113722545 A CN 113722545A
- Authority
- CN
- China
- Prior art keywords
- block
- chain
- editing
- blocks
- data
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种许可链环境下的数据编校方法,包各记账节点所维护带有多个合法短分叉的树状区块链结构,其中最长链仍为主链,即各记账节点通过记录新产生的交易来延长主链;而对于其余短分叉链,从第二块开始的若干区块是对所在分叉链第一个区块的不同版本的编校区块,且每条分叉链上的最后一个区块称为有效区块,分叉链上其余区块称为无效区块,区块链中只有有效区块中的数据是可信的;本发明的编校行为在不改变区块链底层架构的基础上,有效地解决了不可篡改性在落地应用中产生的不良影响,此外安全性策略保证了区块链自身的安全与稳定。
Description
技术领域
本发明涉及到区块链技术,特别涉及对区块链数据进行编校操作的技术。
背景技术
区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。简单来讲,在区块链系统中,每过一段时间,各参与主体产生的交易数据会被打包成一个数据区块,数据区块按照时间顺序依次排列,形成数据区块的链条,各参与主体拥有同样的数据链条,且无法单方面篡改,任何信息的修改只有经过约定比例的主体同意方可进行,并且只能添加新的信息,无法删除或修改旧的信息,从而实现多主体间的信息共享和一致决策,确保各主体身份和主体间交易信息的不可篡改、公开透明。
区块链技术一经问世,因其去中心化和不可篡改的特性便在工业、物流、能源乃至军工等领域掀起了一场技术变革浪潮,一时间以区块链技术为底层支撑的大量应用落地,对人类生活和社会发展造成了深远的影响。区块链技术以一种安全高效的机制巧妙地化解了在分布式环境下面临的信任问题,这得益于分布式账本的不可篡改性。然而,区块链技术的不可篡改性是一柄双刃剑,其在为区块链数据奠定坚实的安全和信任基础的同时,也极大地限制了区块链技术的应用范围和前景。因此,目前区块链技术发展正呈现出从绝对的去中心化与不可篡改回归到由特定联盟掌握记账权以及允许针对链上数据编校行为的趋势。具体来说,这种趋势一方面体现在服务于现实场景的、自主可控的主权区块链应用繁荣发展,记账权重新回归少数人手中;另一方面,不可篡改性为各类虚假新闻和不良信息提供了更好的发布和传播渠道,对区块链信息内容安全乃至社会舆论环境带来负面影响,因而迫切需要安全、便捷、可控的技术手段来更新链上关键数据并清除有害数据。
2018年5月,欧盟出台《通用数据保护条例》(General Data ProtectionRegulation, GPDR),作为对1995年出台的《计算机技术保护法》的修订与完善,该条例的适用范围极为广泛,任何收集、传输、保留或处理涉及到欧盟所有成员国内的个人信息的机构组织均受该条例的约束。GDPR法规的一些条款与当前区块链技术的不可篡改特性(如Bitcoin、Ethereum等平台)并不兼容,因为即使链上存在一些有害数据,也不可能删除任何在此类区块链中处于稳定状态的数据,例如地址、交易值、时间戳信息等。由于非许可环境下的区块链是完全去中心化的,允许任何用户以少量费用向链上发布交易,恶意用户可以向系统发布包含非法或有害数据的交易。这种区块链上非法内容的存在最早是在2015年被国际刑警组织报道,对国际刑警等执法机构来说,这将是是一个巨大挑战。该机构在之后进行的几次定量分析表明,在将交易插入链之前,对所有传入交易的数据进行检查的方式并不具备可行性。
类似地,许可环境下的区块链应用也面临着同样的问题。一旦错误或失效数据被记录到链上,诚实的用户将面临把错误的数据广播给其他用户,还是完全拒绝转发数据的两难境地。第一种情况会导致相关区块链应用必须承受由错误或失效数据带来的不良后果,这种后果往往是不可估量的经济损失;而后一种情况会造成整个区块链系统的活性降低,甚至导致网络瘫痪的情况。所以,在许可环境下,亟需一种链上数据编校方案,对业务流程中产生的错误及失效信息进行合理的删除操作,来避免出现上文所描述的困境。
发明内容
本发明要解决的问题是,在许可链环境下,由于人为或时间原因导致区块链上某些数据错误或失效,如何在不改变区块链基础结构并保证事务一致性的前提下,对此区块链数据进行编校操作的方法。
本发明为解决上述技术问题所采用的技术方案是,一种许可链环境下的数据编校方法,包括以下步骤:
1)树状区块链结构设置
各记账节点所维护带有多个合法短分叉的树状区块链结构,其中最长链仍为主链,即各记账节点通过记录新产生的交易来延长主链;而对于其余短分叉链,从第二块开始的若干区块是对所在分叉链第一个区块的不同版本的编校区块,且每条分叉链上的最后一个区块称为有效区块,分叉链上其余区块称为无效区块,区块链中只有有效区块中的数据是可信的;
2)数据编校:
2-1)初始化:设置当前轮次round=1;设置区块候选池R为空null;
2-2)每个轮次开始,节点首先更新区块链;
2-3)从网络中搜索所有被提议的编校区块Bj-i,j代表编校行为处于区块Bj分叉链, i代表编校区块在分叉链上的位置;判断编校区块的合法性,符合条件则加入编校区块候选池R;
2-4)对于R中的编校区块的操作:若编校区块Bj-i被投票通过,则将该区块添加到Bj分叉链的末尾,即分叉链的第i个位置,同时将Bj-i从R中移除;若Bj-i投票没通过,则直接将Bj-i从R中移除;若正处于投票阶段,则不进行操作;编校行为在投票阶段是公开的,所有节点都能验证被提议的编校区块是否合法,以及被编校的数据是否错误或无效;不符合规范的编校行为或投票行为的节点将被禁止投票;
2-5)在当前轮次,记账节点创建新区块,同时需要包含轮次内产生的所以交易信息;若当前轮次有编校区块候选池中的编校区块Bj-i正处于投票阶段,则将编校区块哈希值H(Bj-i)写入新区块;新区块建立后,在本地判断新区块合法后广播该新区块并将该新区块上链至区块Bj分叉链的位置i,成为区块Bj分叉链上的有效区块。
本发明提供了一种较为合理的许可环境下数据编校方案,节点可以在任一轮次针对链上的错误或无效数据做出编校提议,同时在不影响主链延伸的情况下维护多个短分叉链。这样一种方案为许可环境下更改链上内容提供了一种全新的思路,使联盟链能够应用于对数据信息有更高要求的场景。
本发明的有益效果是,编校行为在不改变区块链底层架构的基础上,有效地解决了不可篡改性在落地应用中产生的不良影响,此外安全性策略保证了区块链自身的安全与稳定。
附图说明
图1是本发明的许可环境下区块链结构图。
图2是本发明的数据编校流程图。
具体实施方案
实施例应用于以JAVA语言开发的区块链平台上,涉及到用于处理链上错误及无效数据的区块底层结构,且以JVM为引擎进行开发。在Java虚拟机JVM环境下执行的,合约文件以Java中的Class文件打包而成的JAR文件形式部署在以JAVA为开发语言的区块链平台上,且智能合约以接口的形式被程序调用。
各记账节点所维护带有多个合法短分叉的树状区块链结构,其中最长链为主链,即各记账节点通过记录新产生的交易来延长主链,主链的更新与现有区块链的区块上链过程一致,保证了区块链底层架构的稳定。主链从第二区块开始,可以以某一个区块为基础产生短分叉链,短分叉链是本质上是对所在分叉链第一个区块的不同版本的编校区块,且每条分叉链上的最后一个区块称为有效区块,分叉链上其余区块称为无效区块,区块链中只有有效区块中的数据是可信的。
下面根据附图和实施例详细阐述。此处所选的实施例仅用于解释该发明,并不能够限定此发明。
一种许可条件下数据编校方法,执行引擎为JAVA虚拟机,该虚拟机接收以JAR 形式的合约文件部署在区块链平台上,通过自定义的类加载器加载合约文件并初始化合约实例,客户端可以通过接口的形式调用智能合约。
如图1所示,系统所维护的最长链C为主链,分叉链C1、C2、C3分别链接针对区块B1、B2、B3的由于编校行为产生的新区块;其中C1中B2-1是对B2中错误数据的编校;C2中B3-2是对B3-1中错误数据的编校。Bj-i中j代表编校行为处于区块Bj分叉链, i代表编校区块在分叉链上的位置。
三条分叉链中,B2-1、B3-2、B4-1是有效区块,B2、B3、B3-1、B4是无效区块。
编校区块候选池R中目前有4个被提议并且合法的编校区块,这些编校区块还未进入投票期或正处于投票期。
在进行编校行为先对参数及接口进行设置:
1)设置一致性参数k、数据编校的投票期长度参数l、选票阈值参数ρ,一致性参数k用于表示在区块B之后产生了k个新区块,则认为区块B有效;参数l用于表示每次编校行为在产生l个新区块后结束;参数ρ表示在投票期l内得到ρ张选票,该编校行为才能通过(投票期内,记账节点将编校区块哈希值H(Bj-i)写入新区块的行为视为赞成此次数据编校);本实施例设置k=0,l=4,ρ=3。
2)设置系统提供的接口:
UpdateChain():返回更长、分叉更多的合法链C,否则返回空null;
ValidateChain(C):对链C进行有效性检查,返回值为0或1;
ValidateBlock(B):对区块B进行有效性检查,返回值为0或1;
ValidateCand(Bj-i,C):对编校区块Bj-i进行有效性检查,返回值为0或1;
ProposeEdit(C,j,i,data*):返回一个带有数据data*的编校区块Bj-i;
如图2所示,当链上节点进行数据编校行为时,进行以下步骤:
S1:每个轮次开始,节点首先调用接口UpdateChain更新区块链;
S2:某一节点发现针对区块Bj的编校区块Bj-1中存在错误或无效数据,则调用ProposeEdit(C,j,2,data*)提议编校,同时产生Bj-2,data*为Bj-1编校后的数据。
S3:节点从网络中搜索到编校区块Bj-2,利用接口ValidateCand进行判断,符合条件则加入编校区块候选池R,Bj-2编校的数据是针对分叉链中上一区块的错误或无效数据,即Bj-1;
S4:编校区块Bj-2加入R后便进入投票期,可以看到投票期中编校区块获得3票,意味着该编校行为的通过;
S5:调用ValidateBlock(Bj-2),返回1则代表编校区块Bj-2成为新区块;
S6:将新区块Bj-2加入到分叉链上后,调用ValidateChain(C)进行链的合法性判断,随后Bj-2成为有效区块,Bj,Bj-1成为无效区块。
Claims (1)
1.一种许可链环境下的数据编校方法,其特征在于,包括以下步骤:
1)树状区块链结构设置步骤:
各记账节点所维护带有多个合法短分叉的树状区块链结构,其中最长链仍为主链,即各记账节点通过记录新产生的交易来延长主链;而对于其余短分叉链,从第二块开始的若干区块是对所在分叉链第一个区块的不同版本的编校区块,且每条分叉链上的最后一个区块称为有效区块,分叉链上其余区块称为无效区块,区块链中只有有效区块中的数据是可信的;
2)数据编校步骤:
2-1)每个轮次开始,节点首先更新区块链;
2-2)从网络中搜索所有被提议的编校区块Bj-i,j代表编校行为处于区块Bj分叉链,i代表编校区块在分叉链上的位置;判断编校区块的合法性,符合条件则加入编校区块候选池R;
2-3)对于R中的编校区块的操作:若编校区块Bj-i被投票通过,则将该区块添加到Bj分叉链的末尾,即分叉链的第i个位置,同时将Bj-i从R中移除;若Bj-i投票没通过,则直接将Bj-i从R中移除;若正处于投票阶段,则不进行操作;编校行为在投票阶段是公开的,所有节点都能验证被提议的编校区块是否合法,以及被编校的数据是否错误或无效;不符合规范的编校行为或投票行为的节点将被禁止投票;
2-4)在当前轮次,记账节点创建新区块,同时需要包含轮次内产生的所以交易信息;若当前轮次有编校区块候选池中的编校区块Bj-i正处于投票阶段,则将编校区块哈希值H(Bj-i)写入新区块;新区块建立后,在本地判断新区块合法后广播该新区块并将该新区块上链至区块Bj分叉链的位置i,成为区块Bj分叉链上的有效区块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110737922.0A CN113722545B (zh) | 2021-06-30 | 2021-06-30 | 一种许可链环境下的数据编校方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110737922.0A CN113722545B (zh) | 2021-06-30 | 2021-06-30 | 一种许可链环境下的数据编校方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113722545A true CN113722545A (zh) | 2021-11-30 |
CN113722545B CN113722545B (zh) | 2023-04-28 |
Family
ID=78672940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110737922.0A Active CN113722545B (zh) | 2021-06-30 | 2021-06-30 | 一种许可链环境下的数据编校方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113722545B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124403A (zh) * | 2017-04-14 | 2017-09-01 | 朱清明 | 区块链中共识区块的生成方法与计算设备 |
CN109522362A (zh) * | 2018-10-17 | 2019-03-26 | 北京瑞卓喜投科技发展有限公司 | 基于区块链数据的非完全数据同步方法、系统及设备 |
CN109886811A (zh) * | 2019-02-12 | 2019-06-14 | 重庆邮电大学 | 改进的基于声誉因子与社区化管理的区块链共识算法 |
CN110298754A (zh) * | 2019-06-21 | 2019-10-01 | 杭州云象网络技术有限公司 | 一种应用于区块链的共识方法 |
WO2019232789A1 (zh) * | 2018-06-08 | 2019-12-12 | 北京大学深圳研究生院 | 一种基于投票的共识方法 |
US10616324B1 (en) * | 2017-07-20 | 2020-04-07 | Architecture Technology Corporation | Decentralized ledger system and method for enterprises |
CN111191294A (zh) * | 2019-12-27 | 2020-05-22 | 诚镌科技(广州)有限公司 | 基于区块链的单节点记账方法、系统、设备和存储介质 |
CN111311414A (zh) * | 2020-02-27 | 2020-06-19 | 杭州云象网络技术有限公司 | 一种基于一致性哈希算法的区块链多方共识方法 |
US20200210451A1 (en) * | 2019-01-02 | 2020-07-02 | Jiaping Wang | Scale out blockchain with asynchronized consensus zones |
US20200252406A1 (en) * | 2019-01-31 | 2020-08-06 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing a declarative and metadata driven blockchain platform using distributed ledger technology (dlt) |
US20210004777A1 (en) * | 2018-03-23 | 2021-01-07 | Blockchain Labs Inc. | Blockchain system to which proof-of-transaction consensus algorithm is applied, and method therefor |
CN112396357A (zh) * | 2021-01-12 | 2021-02-23 | 电子科技大学 | 一种应用于基于区块链的人员考核系统的共识方法 |
US20210119778A1 (en) * | 2018-06-22 | 2021-04-22 | Wealedger Network Technologies Co., Ltd. | Method for preventing short-term bifurcation and double-spend attack on block chain network |
-
2021
- 2021-06-30 CN CN202110737922.0A patent/CN113722545B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124403A (zh) * | 2017-04-14 | 2017-09-01 | 朱清明 | 区块链中共识区块的生成方法与计算设备 |
US10616324B1 (en) * | 2017-07-20 | 2020-04-07 | Architecture Technology Corporation | Decentralized ledger system and method for enterprises |
US20210004777A1 (en) * | 2018-03-23 | 2021-01-07 | Blockchain Labs Inc. | Blockchain system to which proof-of-transaction consensus algorithm is applied, and method therefor |
WO2019232789A1 (zh) * | 2018-06-08 | 2019-12-12 | 北京大学深圳研究生院 | 一种基于投票的共识方法 |
US20210119778A1 (en) * | 2018-06-22 | 2021-04-22 | Wealedger Network Technologies Co., Ltd. | Method for preventing short-term bifurcation and double-spend attack on block chain network |
CN109522362A (zh) * | 2018-10-17 | 2019-03-26 | 北京瑞卓喜投科技发展有限公司 | 基于区块链数据的非完全数据同步方法、系统及设备 |
US20200210451A1 (en) * | 2019-01-02 | 2020-07-02 | Jiaping Wang | Scale out blockchain with asynchronized consensus zones |
US20200252406A1 (en) * | 2019-01-31 | 2020-08-06 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing a declarative and metadata driven blockchain platform using distributed ledger technology (dlt) |
CN109886811A (zh) * | 2019-02-12 | 2019-06-14 | 重庆邮电大学 | 改进的基于声誉因子与社区化管理的区块链共识算法 |
CN110298754A (zh) * | 2019-06-21 | 2019-10-01 | 杭州云象网络技术有限公司 | 一种应用于区块链的共识方法 |
CN111191294A (zh) * | 2019-12-27 | 2020-05-22 | 诚镌科技(广州)有限公司 | 基于区块链的单节点记账方法、系统、设备和存储介质 |
CN111311414A (zh) * | 2020-02-27 | 2020-06-19 | 杭州云象网络技术有限公司 | 一种基于一致性哈希算法的区块链多方共识方法 |
CN112396357A (zh) * | 2021-01-12 | 2021-02-23 | 电子科技大学 | 一种应用于基于区块链的人员考核系统的共识方法 |
Non-Patent Citations (4)
Title |
---|
DOMINIC DEUBER等: "Redactable blockchain in the permissionless setting" * |
JEAN BACON等: "Blockchain demystified" * |
王健;陈恭亮;: "比特币区块链分叉研究" * |
秦金磊;孙文强;李整;朱有产;: "适用于微电网区块链的信用共识机制" * |
Also Published As
Publication number | Publication date |
---|---|
CN113722545B (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Thin et al. | Formal analysis of a proof-of-stake blockchain | |
CN110870254B (zh) | 提供分布式私有子空间化数据结构的方法和系统 | |
EP4035050B1 (en) | Consensus protocol for blockchain dag structure | |
WO2021114929A1 (zh) | 基于区块链的模型联合训练方法及装置 | |
Hassanzadeh-Nazarabadi et al. | Lightchain: A dht-based blockchain for resource constrained environments | |
US20200394032A1 (en) | Permission-controlled smart contract upgrade method based on smart contract | |
US20220067730A1 (en) | Data processing method and device and computer-readable storage medium | |
CN110782251B (zh) | 一种基于智能合约自动化部署区块链网络的方法 | |
CN111061769A (zh) | 一种区块链系统的共识方法及相关设备 | |
EP3709568A1 (en) | Deleting user data from a blockchain | |
Li et al. | A survey of DeFi security: Challenges and opportunities | |
Innerbichler et al. | Federated byzantine agreement to ensure trustworthiness of digital manufacturing platforms | |
CN111444204B (zh) | 一种同步处理方法、装置、设备及介质 | |
CN114398686A (zh) | 基于区块链的文件存储方法、装置、设备和存储介质 | |
CN115134069A (zh) | 区块链编辑的方法和区块链节点 | |
CN116827957B (zh) | 基于多区块链的信息处理方法、装置、设备以及介质 | |
CN113722545A (zh) | 一种许可链环境下的数据编校方法 | |
Hassanzadeh-Nazarabadi et al. | A consensus protocol with deterministic finality | |
CN112118290B (zh) | 一种基于程序分析的数据资源的管控方法 | |
WO2023025394A1 (en) | Consensus method for blockchain | |
CN113810185A (zh) | 一种抗陷门泄露的链上数据修复系统及方法 | |
Panda et al. | Transaction fusion in the wake of information warfare | |
CN116760632B (zh) | 数据处理方法、装置、设备及可读存储介质 | |
CN115098518B (zh) | 一种四层智能合约的链上升级方法 | |
CN114331443B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |