CN112101945B - 一种区块链内容的监管方法及*** - Google Patents
一种区块链内容的监管方法及*** Download PDFInfo
- Publication number
- CN112101945B CN112101945B CN202011304887.5A CN202011304887A CN112101945B CN 112101945 B CN112101945 B CN 112101945B CN 202011304887 A CN202011304887 A CN 202011304887A CN 112101945 B CN112101945 B CN 112101945B
- Authority
- CN
- China
- Prior art keywords
- transaction
- supervision
- block
- hash
- conclusion
- 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
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
- 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/3825—Use of electronic signatures
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- 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
- 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/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种区块链内容的监管方法及***,其方法包括:S1:初始化配置区块链,包括:在被监管区块链的区块数据结构中增加选择性隐藏Hash序列和监管结论签名交易,在合约容器提供的访问接口中增加最近一次写入WorldState世界状态的交易id记录,在所述被监管区块链上部署监管合约及合约方法;S2:监管***审查被监管区块链中当前区块和历史区块的交易内容,生成监管结论,并根据监管结论构造监管结论签名交易;S3:所述监管结论签名交易出块后,所有组网节点执行所述监管结论签名交易,调用所述合约方法屏蔽区块中的违规内容。本发明实现了隐藏违规交易内容之后其他合规交易内容和区块内容完整性仍然可被验证,且实施代价低。
Description
技术领域
本发明涉及区块链的监管技术领域,具体涉及一种区块链内容的监管方法及***。
背景技术
区块链技术通过区块Hash之间的前后衔接,实现了可被验证的区块内容的不可篡改,作为交易参与各方验证并建立信任的基础。另一方面,一旦区块内容中包含了违规内容(例如包括且不限于以文字、图片、音视频或其链接为载体的敏感内容、私密信息、不良内容等)时,不可篡改特性则将导致此类违规内容的持久暴露和扩散,是区块链监管面临的难题之一。
对此,埃森哲公司应用变色龙哈希的特点,申请了可编辑区块链的专利。该方法是使用特殊的变色龙哈希作为区块或交易内容Hash生成方法,能够在保持区块内容的Hash不变的前提下,由少数“后门”掌握者可任意编辑区块内容,与公认安全的Sha256等哈希算法相比,采用变色龙哈希的区块数据难以被验证方采信。
对于采用非竞争性共识的区块链而言,其参与共识的节点数量较少,只需要阻断违规内容从拥有内容的共识节点向大量非共识组网节点的传播途径,就可以解决违规内容的持久暴露和扩散问题,但当参与共识的节点数量较大时,适用性较低。
发明内容
本发明提供一种区块链内容的监管方法及***,以解决上述提到的一种或多种技术问题。
本发明的目的之一是提供一种区块链内容的监管方法,包括,
S1:初始化配置区块链,包括:在被监管区块链的区块数据结构中增加选择性隐藏Hash序列和监管结论签名交易,在合约容器提供的访问接口中增加最近一次写入WorldState世界状态的交易id记录,在所述被监管区块链上部署监管合约及合约方法;
S2:监管***审查被监管区块链中当前区块和历史区块的交易内容,生成监管结论,并根据监管结论构造监管结论签名交易;
S3:所述监管结论签名交易出块后,所有组网节点执行所述监管结论签名交易,调用所述合约方法屏蔽区块中的违规内容。
进一步的,所述监管合约包括账户认证与证书管理合约、内容监管合约和违规内容访问授权合约。
进一步的,步骤S1中,所述选择性隐藏Hash序列通过以下步骤生成:
S10:将区块中的各个签名交易序列,根据Hash算法生成对应的交易Hash元素,将所述交易Hash元素组成交易Hash数组;
S11:将所述交易Hash元素首尾相接获得拼接的字节块,对所述字节块再次按照所述Hash算法生成选择性隐藏Hash元素;
S12:将所述选择性隐藏Hash元素增加至所述交易Hash数组的末尾,形成选择性隐藏Hash序列。
进一步的,步骤S2中还包括,监管***通过所述选择性隐藏Hash序列对隐藏的交易内容进行验证,具体包括以下步骤:
将未隐藏的交易内容按照所述Hash算法生成待验证的Hash数组,将待验证的Hash数组与所述选择性隐藏Hash序列中对应位置的Hash元素进行对比,以确认单条交易内容是否被篡改;
以及,将待验证的Hash数组中的元素拼接获得的字节块,再次按照所述Hash算法生成待验证的元素,将待验证的元素与所述选择性隐藏Hash序列中的选择性隐藏Hash元素进行对比,以确认区块中的全部交易内容是否被篡改。
进一步的,所述账户认证与证书管理合约包括账户禁用合约,所述账户禁用合约通过获取签名账户的禁用状态以确认是否接收所述签名账户的签名交易。
进一步的,所述内容监管合约用于依据违规交易id,通过调用外部状态访问API的接口针对签名交易设置违规代码,当组网节点提供区块数据同步时,通过判断交易id的违规代码内容决定是否隐藏交易内容。
进一步的,所述步骤S2包括:
S21:所述监管***启动区块内容巡查,同步被监管区块链中的历史数据;
S22:所述监管***对历史区块中的签名交易进行监管决策,形成监管结论;
S23:所述监管***对预出块提案的签名交易进行监管决策,形成监管结论;
S24:监管***基于所述步骤S22和S23中形成的监管结论,通过签名交易进行监管结论签名,将所述监管结论签名发送给被监管区块链的出块节点。
进一步的,所述步骤S23包括:
预出块节点通过区块提案上报接口主动向所述监管***实时上报预出块内容,由监管***进行事中监管。
进一步的,所述步骤S22包括:
所述监管***通过支持任意高度的区块数据获取的同步接口获取区块内容,进行区块内容巡查和事后监管。
本发明的另一目的是提供一种区块链内容的监管***,所述区块链的区块数据结构中包括选择性隐藏Hash序列和监管结论签名交易,在合约容器提供的访问接口中包括最近一次写入WorldState世界状态的交易id记录,所述区块链上还部署有监管合约及合约方法;其中,所述监管***包括:
内容获取模块,包括区块提案接收模块和区块内容巡查模块,
所述区块提案接收模块用于接收被监管区块链的预出块提案;
所述区块内容巡查模块用于同步被监管区块链的历史数据;
内容监管决策模块,用于对所述出块提案中的签名交易进行监管决策;
监管结论签名模块,用于针对巡查获得的签名交易和预出块的签名交易,形成监管结论,将所述监管结论通过签名交易构造监管结论签名交易,将所述监管结论签名交易发送给所述区块链的出块节点,使所有组网节点执行所述监管结论签名交易并调用所述合约方法屏蔽区块中的违规内容。
本发明具有的有益效果如下所示:
1.通过在区块数据结构中增加选择性隐藏Hash信息,实现了隐藏违规交易内容之后,其他合规交易内容和区块内容的完整性仍然可被验证;
2.通过在区块链部署账户认证与证书管理合约,引入监管方账户及其证书,在区块链上部署内容审查合约,由监管方通过签名交易调用该合约的方法对交易内容是否合规进行判定,使得监管结论来源可信,监管行为可追溯;
3.通过在区块数据结构中增加监管结论,使得监管结论无法被出块节点忽略;
4.采用区块链自带的合约机制,通过在WorldState世界状态中设置标志实现对违规内容的屏蔽,无需改动区块数据及重建区块数据索引,实施代价低;
5.通过采用两阶段共识,并在区块数据结构中增加监管结论信息,可以实现区块内容的事中监管,在第一时间实时地中断违规内容的暴露和传播;
6.通过区块链提供区块数据同步接口,监管方***可以对已出块的区块内容进行事后监管,中断已出块内容中违规内容的暴露和传播;
7.通过在区块链部署账户禁用合约,能够禁用频繁提交违规内容的恶意账户,避免恶意操作对区块链和监管***的算力资源浪费;
8.通过对隐藏的违规交易建立授权访问,验证方通过授权可获得隐藏的违规交易完整内容并对交易进行验证,在中断违规内容的暴露和传播的同时,保证了违规交易涉及的关联交易可被验证。
附图说明
图1为本发明的区块链内容的监管方法流程图;
图2为本发明的区块链内容的监管方法详细流程图;
图3为本发明的区块数据结构实体关系图;
图4为本发明的选择性隐藏Hash序列的生成方法流程图;
图5为本发明的区块链内容监管主流程图;
图6为本发明的区块链内容的监管***流程示意图。
具体实施方式
下面将结合附图及具体实施例对本发明做清楚完整的描述与说明,需要说明的是,本发明中的以下描述用于公开本发明以使本领域技术人员能够实现本发明。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变形。在以下描述中界定的本发明的基本原理可以应用于其他实施方案、变形方案、改进方案、等同方案以及没有背离本发明的精神和范围的其他技术方案。
在对本方法进行叙述之前,首先对本发明中的术语约定进行介绍:
标识:即唯一标识,用以区分和查找数字对象的索引,本文中Id即标识,本文中的Id可采取通用唯一识别码(uuid)方法生成。
合约:即智能合约,可以被区块链合约容器加载和执行的代码,合约拥有唯一标识、合约包含供签名交易调用的方法,合约方法通过合约容器提供的接口读写外部状态。
WorldState:即世界状态,由合约容器上下文提供给合约代码访问接口,支持持久化读写的Key-Value键值对。
签名:本文中的签名包含实体账户标识和数字签名两部分,其中数字签名是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法;账户标识用于从关联交易中提取签名者的数字证书,用以验证其数字签名。
签名交易:包含交易发起方签名的结构化数据,代表了签名者的授权行为,签名交易中指定了调用的合约方法及调用参数。
如图1所示,本发明提供一种区块链内容的监管方法,包括:
S1:初始化配置区块链,包括:在被监管区块链的区块数据结构中增加选择性隐藏Hash序列和监管结论签名交易,在合约容器提供的访问接口中增加最近一次写入WorldState世界状态的交易id记录,在所述被监管区块链上部署监管合约及合约方法;
S2:监管***审查被监管区块链中当前区块和历史区块的交易内容,生成监管结论,并根据监管结论构造监管结论签名交易;
S3:所述监管结论签名交易出块后,所有组网节点执行所述监管结论签名交易,调用所述合约方法屏蔽区块中的违规内容。
本方法通过在区块数据结构中增加选择性隐藏Hash信息,实现了隐藏违规交易内容之后,其他合规交易内容和区块内容的完整性仍然可被验证;并且,通过本发明中的监管方法可使得被监管区块链的违规内容避免持久暴露和传播。
下面将对本方法进一步进行细致清楚的描述。
如图2所示,图2中,所述被监管区块链包括接口层、合约层和数据层;在所述接口层设有区块数据同步接口和区块提案上报接口;在合约层设有账户认证与证书管理合约、内容监管合约和违规内容访问授权合约;数据层包括WorldState数据结构和区块数据结构,所述WorldState数据结构中包括访问控制信息、账户禁用标志、交易违规代码和账户信息等内容;在区块数据结构中设有监管结论签名交易和选择性隐藏Hash序列。图中所述监管***包括内容获取、内容监管决策和监管结论签名;所述内容获取还包括区块提案接收和区块内容巡查;所述内容监管决策可调用知识库中的内容对交易内容进行决策。
首先,在被监管区块链的区块数据结构中增加选择性隐藏Hash序列和监管结论签名交易。
其中,所述区块数据结构的实体关系如图3所示,所述区块数据结构包括Block区块、Transation签名交易和Signature签名。其中,所述Block区块中包括如下参数信息:
version:Byte——区块格式版本;
height:Long——区块高度;
hashOfBlock:Array[Byte]——本区块Hash;
previousBlockHash:Array[Byte]——前一区块Hash;
transactions:Array[Transaction]——区块包含的签名交易序列;
hideHash:Array[Array[Byte]]——选择性隐藏Hash序列;
txReg:Array[Transaction]——监管方对区块内容审查的签名交易;
signBlocker:Signature——出块节点对区块签名。
所述Transation签名交易中包括如下参数信息:
txId:String——签名交易id;
cId:String——调用的合约id;
method:String——调用的合约方法;
args:Array[String]——合约方法参数;
signCaller:Signature——调用者数字签名。
所述Signature签名中包括如下参数信息:
eId:String——账户证书id;
tm_local:Long——生成签名的本地时间;
signature:Array[Byte]——数字签名。
其中,Block定义中的previousBlockHash参数形成了区块之间的前后衔接,保证了区块链内容的完整性。Block定义中的hashOfBlock参数保证了当前区块的内容完整性,出块节点签名signBlocker参数保证了区块的合法性。Block定义中的transactions参数是区块包含的一系列待监管的交易序列,交易内容中包含了交易签名者指定调用的合约方法及参数。
如图4所示,为本发明的选择性隐藏Hash序列生成方法流程图。具体的,所述选择性隐藏Hash序列的生成方法如下:
S10:将区块中的各个签名交易序列,根据Hash算法生成对应的交易Hash元素,将所述交易Hash元素组成交易Hash数组;
S11:将所述交易Hash元素首尾相接获得拼接的字节块,对所述字节块再次按照所述Hash算法生成选择性隐藏Hash元素;
S12:将所述选择性隐藏Hash元素增加至所述交易Hash数组的末尾,形成选择性隐藏Hash序列。
例如图4所例举的实施例,首先按照transactions中的签名交易序列顺序tx_1~tx_m,按照区块链指定的安全Hash算法(例如SHA256)逐一生成对应的交易Hash数组,得到tx_1 hash~tx_m hash,将其首尾相连接获得拼接的字节块,然后对该字节块再按照区块指定的安全Hash算法生成选择性隐藏Hash元素hash_tx,将hash_tx增加到所述交易Hash数组的末尾,形成包含m+1个Hash的数组,即为选择性隐藏Hash序列。
当验证方需要对区块中的交易信息进行验证时,支持对如下两方面进行验证:
将未隐藏的交易内容按照所述Hash算法生成待验证的Hash数组,将待验证的Hash数组与所述选择性隐藏Hash序列中对应位置的Hash元素进行对比,以确认单条交易内容是否被篡改。
基于上述验证过程,可进一步进行另一种验证,即通过将上述待验证的Hash数组中的元素拼接获得的字节块,再次按照所述Hash算法生成待验证的元素,将待验证的元素与所述选择性隐藏Hash序列中的选择性隐藏Hash元素进行对比,以确认区块中的全部交易内容是否被篡改。
例如上述实施例中,当transactions中的部分交易由于包含违规内容被隐藏时,验证方可对未隐藏的交易内容按照区块链指定的Hash算法逐一生成待验证的Hash数组,并与选择性隐藏Hash序列中对应位置的Hash进行比对以确认单条交易内容是否被篡改。当想要确定区块中包含的全部交易是否被进行增加或删除篡改时,可进一步对选择性隐藏Hash序列的前m个元素拼接,然后按照区块链指定的Hash算法生成hash_tx,并与第m+1个元素进行对比,以确认区块中包含的全部交易内容是否被篡改。通过在被监管区块链的区块链数据结构中增加选择性隐藏Hash来实现隐藏违规交易后其他的合规交易和区块的内容完整性仍然可被验证,当同一区块内包含交易数量较大时,在验证交易和区块内容完整性方面,使得Hash的计算次数显著减少。
除了在区块数据结构中设置常规的签名交易之外,本发明还增加了监管结论签名交易。所述监管结论签名交易必选的包括对其所在区块交易内容的监管结论,可选的还包括对区块高度小于其所在区块的历史区块的监管结论。通过增加所述监管结论使得共识节点无法忽略监管结论要求,进而,监管方无需始终关注屏蔽隐藏要求是否被执行。
上述为在被监管区块链的区块数据结构中增加选择性隐藏Hash序列和监管结论签名交易的过程,然后,在合约容器提供的访问接口中增加最近一次写入WorldState世界状态的交易id记录。
其中,上述所说的WorldState的写入交易id记录方法如下:
def setWorldState(key:String,value:Any):Unit={
setState(PREFIX_KEY+key,ctx.tx.Id)
setState(key,serialise(value))
}
在合约容器提供的访问接口中,增加对WorldState最近一次写入的交易Id记录,合约容器提供给合约代码执行的上下文中包含读写WorldState的访问接口,对于上述的WorldState的写入操作是通过增加和保留关键字的前缀,记录写入WorldState的key值对应的交易Id实现的。在对区块内容进行巡查时,可通过WorldState的交易的key值获取交易Id,然后根据交易Id确认交易是否违规,以及违规内容是否获得访问授权从而确定是否屏蔽与隐藏WorldState中的交易内容。
然后,在所述被监管区块链上部署监管合约及合约方法,所述监管合约包括账户认证与证书管理合约、内容监管合约和违规内容访问授权合约。
通过在区块链上部署账户认证与证书管理合约引入监管方账户及其证书,提供禁用恶意账户的账户禁用合约方法;通过在区块链上部署内容监管合约,由监管方将监管结论作为调用所述合约方法的输入参数,为违规内容进行隐藏;通过在区块链上部署违规内容授权访问合约,使得经过授权的账户可以访问被屏蔽隐藏的违规内容。
其中,所述账户认证与证书管理合约方法如下:
signUpAccount(e_id:String,e_type:Int,cert_sign:Array[Byte])
所述e_id参数为被认证账户的id;所述e_type参数为参与方类型,以多位二进制0或1表示是否具备对应权限,从第0位起始,从低到高位依次代表:链管理员、组网节点、身份认证方和监管方,通过在相应位设置1,同一个实体可以同时具备多种角色和对应权限;所述cert_sign表示用于验证参与方签名的证书。
首先在初始配置中设置链管理员证书,然后由链管理员通过签名交易调用本合约方法对身份认证方进行认证和证书绑定,后续由身份认证方通过签名交易调用本合约方法完成对其他参与各方的身份认证和证书绑定。当账户需要更换cert_sign证书时,可由相同的身份认证方再次签名交易发起身份认证,对证书内容进行覆盖绑定,签名交易出块后,各参与方通过区块数据的订阅与推送能够第一时间获知被认证的参与方新的证书。
所述账户认证与证书管理合约方法还包括账户禁用合约方法,所述账户禁用合约通过获取签名账户的禁用状态以确认是否接收所述签名账户的签名交易,该账户禁用合约方法如下:
disableAccount(e_id:String,code:Byte)
其中,所述e_id参数为被禁用的账户id;所述code参数为禁用该账户的原因代码,非零非空。
上述账户禁用合约方法调用外部状态访问API的setWorldState(key,val)操作,以账户id作为key值,以code作为val值写入区块链Worldstate,组网节点在接收签名交易时,首先调用getWorldState(key)从区块链WorldState获取签名账户的禁用状态,如果该账户被禁用则拒绝接收由其签名的交易,避免恶意账户提交的签名交易在后续处理环节浪费区块链及监管***的算力资源(包括CPU、内存、磁盘、网络宽带等资源)。
所述内容监管合约是用于被区块结构中的txReg参数进行调用,通过调用内容监管合约方法的签名交易数组,从而对当前区块或历史区块的交易内容提交监管结论。所述内容监管合约方法如下:
regBlocks(conslusions:Array[Conclusion])
其中,所述conslusions参数的数据结构包括:height:为被审查的区块高度;hash_tx:为被审查区块的选择性隐藏Hash,用于验证内容;illegal_txIds:为违规交易Id数组;illegal_code:为违规交易id对应违规类型代码,非零非空,例如:1代表侵犯隐私,2代表不良内容等。
所述内容监管合约实现中,依据违规交易id,对调用外部状态访问API的接口设置违规代码,当在组网节点提供区块数据同步时,通过判断交易id的违规代码是否为空决定是否隐藏交易内容,即:若所述交易id的违规代码为空,则显示交易内容;若所述交易id的违规代码不为空,且访问者不具备访问授权,则隐藏交易内容。例如:依据illegal_txIds调用外部状态访问API的setWorldState(key,val)操作,将违规交易id作为key,将value设置为违规代码。在regBlock方法的逻辑中,包含对恶意账户行为的判断(例如账户的历史违规交易数目是否超出预设值),如果账户被判断为恶意账户,将调用disableAccount合约方法,对恶意账户进行禁用。在组网节点提供区块数据同步时,在向访问者提供交易内容之前,首先调用外部访问API的getWorldState(key)操作,如果获得该交易id的违规代码不为空,且访问者不具备对该违规交易的访问权限,则对交易内容予以隐藏。向访问者提供WorldState的value之前,根据该WorldState最近一次写入的交易违规代码是否为空,决定是否隐藏value的内容。
所述违规内容访问授权合约用于授予指定账户访问指定违规交易的完整内容。其合约方法如下:
showTransaction(e_id:String,txId:String,code:Byte,tm_from:Long,tm_to:Long,sign:Array[Byte])
其中,所述e_id参数为被授权的账户id,所述txId参数为被授权的违规交易id,值为空代表无限制,所述code参数为授权原因代码,非零非空,所述tm_from参数为授权访问的起始时刻,Unix时间戳,值为空代表无限制,所述tm_to参数为授权访问的结束时刻,Unix时间戳,值为空代表无限制,所述sign参数为被授权方账户对交易内容的签名。
所述违规内容访问授权合约方法用于授予指定账户访问指定违规交易的完整内容,拥有违规交易内容的组网节点依据监管结论,对非共识组网节点,以及除了监管方的区块链同步访问者隐藏违规内容。当其他账户需要违规交易内容以进行关联交易的验证时,对调用此方法的交易签名,并线下向有权限的授权方账户(如链管理员)申请代为提交,经担保账户核实后提交签名交易。当该交易共识出块后,被授权的账户在指定时间范围内获得授予的访问目标交易。
上述步骤采用了区块链自带的合约机制,通过在WorldState世界状态中设置标志实现对违规内容的屏蔽,所述屏蔽的违规内容包括保存在签名交易中的违规内容,也包括保存在WorldState世界状态中的违规内容(通过最后一次写入WorldState的交易是否违规判定),具有无需改动区块数据及重建区块数据索引,实施代价低的优点。
上述为步骤S1的具体方法内容,下面对步骤S2做具体说明:
S2:监管***审查被监管区块链中当前区块和历史区块的交易内容,生成监管结论,并根据监管结论构造监管交易。
具体的,上述步骤S4还包括如下子步骤:
S21:通过监管***启动区块内容巡查,同步被监管区块链中的历史数据;
S22:通过所述监管***对历史区块中的签名交易进行监管决策;
S23:通过所述监管***对被监管区块链中的预出块提案进行区块提案接收,对所述预出块提案的签名交易进行监管决策;
S24:监管***针对所述区块内容巡查获得的签名交易和预出块提案的签名交易,形成监管结论,将所述监管结论通过签名交易进行监管结论签名,将所述监管结论签名发送给被监管区块链的出块节点。
其中,通过区块提案上报接口主动向所述监管***实时上报待出块内容进行事中监管;通过区块数据同步接口获取任意高度的区块内容,被动接受所述监管***的区块内容巡查和事后监管。
通过对所述事中监管和事后监管进行监管决策,然后形成监管结论。对当前出块提案的事中监管是指被监管区块链采用两阶段共识,在提案阶段通过区块提案上报接口由出块节点将出块提案发送到监管***进行事中监管;对历史区块的事后监管是指监管***通过区块链提供的区块数据同步接口对已经出块的区块内容进行事后监管。所述监管决策是通过调用监管决策知识库自动判断,并结合人工举报与审核进行决策,对区块包含的签名交易(例如用于部署合约和调用各合约方法)逐条判定是否存在违规内容以及具体违规类型,生成针对每条签名交易的监管结论。由于监管***通过账户认证与证书管理合约登记了身份,所以双方接口可建立在基于身份识别的安全连接之上。
下面结合图5对本发明的区块链内容监管流程做详细说明,其中,出块节点本身也是组网节点,是依据两阶段共识算法被推举为当前区块的出块节点,监管主流程如下所述:
首先,当组网节点加入区块链组网之后加载创始区块,通过区块同步服务向其他节点同步最新的区块高度,同步区块数据的同时执行区块中包含的签名交易,签名交易的执行包括完成相关合约(比如账户认证与证书管理合约、内容监管合约和违规内容访问授权合约)的部署和调用,使得WorldState与区块链组网最新的状态保持一致,所述WorldState中包含了账户认证信息。
组网节点启动区块数据同步服务,向其他组网节点或者监管***提供区块数据同步操作,监管***在完成初始化并加载监管决策知识库后,启动区块内容巡查操作,同步被监管区块链的历史数据,并且针对历史区块中的签名交易的内容进行监管决策。
所述监管***对内容巡查和预出块提案中的签名交易形成监管结论,并且通过一系列签名交易调用regBlock内容监管合约方法,然后发送给出块节点。
出块节点验证监管***签名,将监管签名交易追加到区块数据中的txReg字段,然后形成正式出块,与此同时广播到区块链组网。
其他组网节点同步正式出块,并验证出块节点和监管方的签名,在本地执行监管签名交易,执行regBlock内容监管合约方法,对违规交易进行隐藏。在regBlock内容监管合约方法逻辑中,包括对恶意账户行为的判断,例如对账户的历史违规交易数目是否超出预设值进行判断,如果账户被判断为恶意账户,则将调用disableAccount账户禁用合约方法,对恶意账户进行禁用操作。
本发明中的优点在于:区块链内容的监管***采用了区块链中自带的合约机制,通过WorldState设置屏蔽标志,无需改动区块数据,且不影响正常检索,仅需要对检索增加访问控制,监管过程的实施代价小。
如图6所示,本发明还提供了一种区块链内容的监管***,所述区块链的区块数据结构中包括选择性隐藏Hash序列和监管结论签名交易,在合约容器提供的访问接口中包括最近一次写入WorldState世界状态的交易id记录,所述区块链上还部署有监管合约及合约方法;其中,所述监管***包括:
内容获取模块,包括区块提案接收模块和区块内容巡查模块,
所述区块提案接收模块用于接收被监管区块链的预出块提案;
所述区块内容巡查模块用于同步被监管区块链的历史数据;
内容监管决策模块,用于对所述出块提案中的签名交易进行监管决策;
监管结论签名模块,用于针对巡查获得的签名交易和预出块的签名交易,形成监管结论,将所述监管结论通过签名交易构造监管结论签名交易,将所述监管结论签名交易发送给所述区块链的出块节点,使所有组网节点执行所述监管结论签名交易并调用所述合约方法屏蔽区块中的违规内容。
本***适用于上述所说的区块链内容的监管方法,具体的流程已在上述方法中进行了详细地描述,故在此不再赘述。
最后,需要说明的是,本发明中所例举的实施例是为了更好的对本发明中的方法及***做说明解释,本发明还可有其他多种案例,在不背离本发明的精神及其实质的情况下,熟悉本领域的技术人员当可以根据本发明做出各种相应的改变和变形,但在这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (8)
1.一种区块链内容的监管方法,其特征在于,包括:
S1:初始化配置区块链,包括:在被监管区块链的区块数据结构中增加选择性隐藏Hash序列和监管结论签名交易,在合约容器提供的访问接口中增加最近一次写入WorldState世界状态的交易id记录,在所述被监管区块链上部署监管合约及合约方法;
其中,所述选择性隐藏Hash序列通过以下步骤生成:
S10:将区块中的各个签名交易序列,根据Hash算法生成对应的交易Hash元素,将所述交易Hash元素组成交易Hash数组;
S11:将所述交易Hash元素首尾相接获得拼接的字节块,对所述字节块再次按照所述Hash算法生成选择性隐藏Hash元素;
S12:将所述选择性隐藏Hash元素增加至所述交易Hash数组的末尾,形成选择性隐藏Hash序列;
S2:监管***审查被监管区块链中当前区块和历史区块的交易内容,生成监管结论,并根据监管结论构造监管结论签名交易;
其中,监管***通过所述选择性隐藏Hash序列对隐藏的交易内容进行验证,具体包括以下步骤:
将未隐藏的交易内容按照所述Hash算法生成待验证的Hash数组,将待验证的Hash数组与所述选择性隐藏Hash序列中对应位置的Hash元素进行对比,以确认单条交易内容是否被篡改;
以及,将待验证的Hash数组中的元素拼接获得的字节块,再次按照所述Hash算法生成待验证的元素,将待验证的元素与所述选择性隐藏Hash序列中的选择性隐藏Hash元素进行对比,以确认区块中的全部交易内容是否被篡改;
所述监管结论签名交易包括对其所在区块交易内容的监管结论;
S3:所述监管结论签名交易出块后,所有组网节点执行所述监管结论签名交易,调用所述合约方法屏蔽区块中的违规内容。
2.根据权利要求1所述的一种区块链内容的监管方法,其特征在于,所述监管合约包括账户认证与证书管理合约、内容监管合约和违规内容访问授权合约。
3.根据权利要求2所述的一种区块链内容的监管方法,其特征在于,所述账户认证与证书管理合约包括账户禁用合约,所述账户禁用合约通过获取签名账户的禁用状态以确认是否接收所述签名账户的签名交易。
4.根据权利要求2所述的一种区块链内容的监管方法,其特征在于,所述内容监管合约用于依据违规交易id,通过调用外部状态访问API的接口针对签名交易设置违规代码,当组网节点提供区块数据同步时,通过判断交易id的违规代码内容决定是否隐藏交易内容。
5.根据权利要求1所述的一种区块链内容的监管方法,其特征在于,步骤S2中包括:
S21:所述监管***启动区块内容巡查,同步被监管区块链中的历史数据;
S22:所述监管***对历史区块中的签名交易进行监管决策,形成监管结论;
S23:所述监管***对预出块提案的签名交易进行监管决策,形成监管结论;
S24:监管***基于步骤S22和步骤S23中形成的监管结论,通过签名交易进行监管结论签名,将所述监管结论签名发送给被监管区块链的出块节点。
6.根据权利要求5所述的一种区块链内容的监管方法,其特征在于,步骤S23中包括:
预出块节点通过区块提案上报接口主动向所述监管***实时上报预出块内容,由监管***进行事中监管。
7.根据权利要求5所述的一种区块链内容的监管方法,其特征在于,步骤S22中包括:
所述监管***通过支持任意高度的区块数据获取的同步接口获取区块内容,进行区块内容巡查和事后监管。
8.一种区块链内容的监管***,其特征在于,所述区块链的区块数据结构中包括选择性隐藏Hash序列和监管结论签名交易,在合约容器提供的访问接口中包括最近一次写入WorldState世界状态的交易id记录,所述区块链上还部署有监管合约及合约方法;其中,所述监管***包括:
内容获取模块,包括区块提案接收模块和区块内容巡查模块,
所述区块提案接收模块用于接收被监管区块链的预出块提案;
所述区块内容巡查模块用于同步被监管区块链的历史数据;
内容监管决策模块,用于对所述区块提案中的签名交易进行监管决策;
监管结论签名模块,用于针对巡查获得的签名交易和预出块的签名交易,形成监管结论,将所述监管结论通过签名交易构造监管结论签名交易,将所述监管结论签名交易发送给所述区块链的出块节点,使所有组网节点执行所述监管结论签名交易并调用所述合约方法屏蔽区块中的违规内容;
所述选择性隐藏Hash序列通过以下步骤生成:
S10:将区块中的各个签名交易序列,根据Hash算法生成对应的交易Hash元素,将所述交易Hash元素组成交易Hash数组;
S11:将所述交易Hash元素首尾相接获得拼接的字节块,对所述字节块再次按照所述Hash算法生成选择性隐藏Hash元素;
S12:将所述选择性隐藏Hash元素增加至所述交易Hash数组的末尾,形成选择性隐藏Hash序列;
所述监管***通过所述选择性隐藏Hash序列对隐藏的交易内容进行验证,具体包括以下步骤:
将未隐藏的交易内容按照所述Hash算法生成待验证的Hash数组,将待验证的Hash数组与所述选择性隐藏Hash序列中对应位置的Hash元素进行对比,以确认单条交易内容是否被篡改;
以及,将待验证的Hash数组中的元素拼接获得的字节块,再次按照所述Hash算法生成待验证的元素,将待验证的元素与所述选择性隐藏Hash序列中的选择性隐藏Hash元素进行对比,以确认区块中的全部交易内容是否被篡改;
所述监管结论签名交易包括对其所在区块交易内容的监管结论。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011304887.5A CN112101945B (zh) | 2020-11-20 | 2020-11-20 | 一种区块链内容的监管方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011304887.5A CN112101945B (zh) | 2020-11-20 | 2020-11-20 | 一种区块链内容的监管方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112101945A CN112101945A (zh) | 2020-12-18 |
CN112101945B true CN112101945B (zh) | 2021-03-23 |
Family
ID=73785897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011304887.5A Active CN112101945B (zh) | 2020-11-20 | 2020-11-20 | 一种区块链内容的监管方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112101945B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115134069A (zh) * | 2021-03-29 | 2022-09-30 | 华为技术有限公司 | 区块链编辑的方法和区块链节点 |
CN113761064B (zh) * | 2021-08-27 | 2023-06-30 | 成都质数斯达克科技有限公司 | 基于区块链的日切对账方法、装置、设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109697670A (zh) * | 2018-12-29 | 2019-04-30 | 杭州趣链科技有限公司 | 一种不影响可信度的公链信息屏蔽方法 |
CN110909032A (zh) * | 2019-11-28 | 2020-03-24 | 北京艾摩瑞策科技有限公司 | 区块链中数据的管理方法及装置 |
WO2020060868A1 (en) * | 2018-09-18 | 2020-03-26 | Myndshft Technologies, Inc. | Autonomous data exchange marketplace system and methods |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109040271B (zh) * | 2018-08-15 | 2020-12-29 | 深圳市引方科技有限公司 | 一种分布式环境下的网络设备完整性保护方法 |
CN109961287A (zh) * | 2019-02-12 | 2019-07-02 | 众安信息技术服务有限公司 | 一种区块链的监管方法及监管*** |
-
2020
- 2020-11-20 CN CN202011304887.5A patent/CN112101945B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020060868A1 (en) * | 2018-09-18 | 2020-03-26 | Myndshft Technologies, Inc. | Autonomous data exchange marketplace system and methods |
CN109697670A (zh) * | 2018-12-29 | 2019-04-30 | 杭州趣链科技有限公司 | 一种不影响可信度的公链信息屏蔽方法 |
CN110909032A (zh) * | 2019-11-28 | 2020-03-24 | 北京艾摩瑞策科技有限公司 | 区块链中数据的管理方法及装置 |
Non-Patent Citations (1)
Title |
---|
区块链数据分析:现状、趋势与挑战;陈伟利 等;《计算机研究与发展》;20180921;第55卷(第9期);第1853-1870页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112101945A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109190410B (zh) | 一种云存储环境下的基于区块链的日志行为审计方法 | |
CN107911373B (zh) | 一种区块链权限管理方法及*** | |
CN108898389B (zh) | 基于区块链的内容验证方法及装置、电子设备 | |
CN110915183B (zh) | 经由硬/软令牌验证的区块链认证 | |
CN110414268B (zh) | 访问控制方法、装置、设备及存储介质 | |
CN104104672B (zh) | 基于身份认证建立动态授权码的方法 | |
CN110083604B (zh) | 一种数据确权方法及装置 | |
CN108696356B (zh) | 一种基于区块链的数字证书删除方法、装置及*** | |
CN112101945B (zh) | 一种区块链内容的监管方法及*** | |
CN109388957B (zh) | 基于区块链的信息移转方法、装置、介质及电子设备 | |
CN108229144B (zh) | 一种应用程序的验证方法、终端设备及存储介质 | |
CN110908786A (zh) | 一种智能合约调用方法、装置及介质 | |
CN104363207A (zh) | 多因子安全增强授权与认证方法 | |
JP2015514269A (ja) | 組み込まれた許可属性を用いたオフライン認証 | |
CN112800404B (zh) | 一种跨链访问控制方法和装置 | |
CN111541542A (zh) | 请求的发送和验证方法、装置及设备 | |
WO2019178763A1 (zh) | 一种证书导入方法及终端 | |
CN111931209A (zh) | 基于零知识证明的合同信息验证方法及装置 | |
CN109302442B (zh) | 一种数据存储证明方法及相关设备 | |
US10862831B2 (en) | System, method, and computer program product providing end-to-end security of centrally accessible group membership information | |
CN111178896B (zh) | 乘车支付方法、装置及存储介质 | |
CN112667977A (zh) | 面向智慧城市的区块链身份认证和访问控制方法及*** | |
CN110555682A (zh) | 基于联盟链的多通道实现方法 | |
CN102426592A (zh) | 一种基于动态口令的数据库初始化方法 | |
CN113890751B (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 |