CN110599181B - 基于区块链的数据处理方法、装置和设备及存储介质 - Google Patents
基于区块链的数据处理方法、装置和设备及存储介质 Download PDFInfo
- Publication number
- CN110599181B CN110599181B CN201910919054.0A CN201910919054A CN110599181B CN 110599181 B CN110599181 B CN 110599181B CN 201910919054 A CN201910919054 A CN 201910919054A CN 110599181 B CN110599181 B CN 110599181B
- Authority
- CN
- China
- Prior art keywords
- invited
- federation
- data set
- target
- members
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- 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
-
- 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
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于区块链的数据处理方法、装置和设备及存储介质,涉及区块链技术领域,用于通过锚节点实现跨通道的数据共享。该方法应用于区块链***包括的区块链服务器中,该方法包括:根据在目标通道上部署的智能合约中对目标数据集的共享组的成员设置,向共享组中受邀联盟成员发送数据集共享请求,以请求受邀联盟成员加入目标数据集的共享组;其中,仅位于共享组中的联盟成员的锚节点能够处理目标数据集涉及的数据;根据受邀联盟成员返回的确认消息更新智能合约中对目标数据集的共享组的成员设置;在获取到共享组中的联盟成员针对智能合约发起的提案时,将提案中涉及目标数据集的部分提交给共享组中的联盟成员的锚节点进行处理。
Description
技术领域
本申请涉及区块链技术领域,特别涉及一种基于区块链的数据处理方法、装置和设备及存储介质。
背景技术
区块链(Block chain)技术是一种多方共同维护、使用密码学保证可验证传输和访问安全、能够实现数据一致存储、无法篡改、无法抵赖的可编程的分布式账本技术,由于其去中心化以及无法篡改等一系列的优点,使得区块链在各个领域的应用逐渐被关注。
目前来说,根据不同的应用场景以及用户需求,区块链大致可以分为公有链(Public Block chain)、私有链(Private Block chain)以及联盟链(Consortium Blockchain)三大类,其中去中心化程度最高的是公有链,世界上所有的人都可读取链上的数据记录、参与交易以及竞争新区块的记账权等,而私有链则完全相反,该网络的写入权限由某个组织或者机构全权控制,数据读取权限受组织规定,要么对外开放、要么具有一定程度的访问限制,而联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”,链上各个节点通常有与之相对应的实体机构或者组织,参与者通过授权加入网络并组成利益相关联盟,共同维护区块链运行,联盟链更适用于不同实体间的交易、结算等B2B交易。
但是,目前主流的企业级联盟链的底层技术主要为联盟链上的交易提供了共识机制与背书策略,而对于联盟链的具体治理则未提供具体的限制方案,例如如何对跨通道间的联盟成员的隐私数据进行共享并未提供相应方案,从而使得联盟链在实践应用中产生一定的局限性。
发明内容
本申请实施例提供一种基于区块链的数据处理方法、装置和设备及存储介质,用于通过锚节点实现跨通道的数据共享。
一方面,提供一种基于区块链的数据处理方法,应用于区块链***包括的区块链服务器中,所述区块链***包括各联盟成员的客户端以及区块链服务器,所述方法包括:
根据在目标通道上部署的智能合约中对目标数据集的共享组的成员设置,向所述共享组中受邀联盟成员发送数据集共享请求,以请求受邀联盟成员加入所述目标数据集的共享组;其中,仅位于所述共享组中的联盟成员的锚节点能够处理所述目标数据集涉及的数据;
根据受邀联盟成员返回的确认消息中携带的锚节点信息以及指示确认加入所述共享组的指示信息,更新所述智能合约中对所述目标数据集的共享组的成员设置;
在获取到所述共享组中的联盟成员针对所述智能合约发起的提案时,将所述提案中涉及所述目标数据集的部分提交给所述共享组中的联盟成员的锚节点进行处理。
一方面,提供一种基于区块链的数据处理方法,应用于区块链***包括的客户端中,所述区块链***包括各联盟成员的客户端以及区块链服务器,所述方法包括:
响应于在目标通道上部署的智能合约触发的数据集共享请求,提示受邀联盟成员是否加入目标数据集的共享组;其中,所述智能合约包括所述目标数据集的共享组的成员设置,且仅位于所述共享组中的联盟成员的锚节点能够处理所述目标数据集涉及的数据;
根据受邀联盟成员的确认操作,向所述区块链服务器返回确认消息,所述确认消息携带受邀联盟成员的锚节点信息以及指示确认加入所述共享组的指示信息,以使得所述区块链服务器基于所述确认消息更新所述智能合约中对所述目标数据集的共享组的成员设置,并在获取到所述共享组中的联盟成员针对所述智能合约发起的提案时,将所述提案中涉及所述目标数据集的部分提交给所述共享组中的联盟成员的锚节点进行处理。
一方面,提供一种基于区块链的数据处理装置,应用于区块链***包括的区块链服务器中,所述区块链***包括各联盟成员的客户端以及区块链服务器,所述装置包括:
发送单元,用于根据在目标通道上部署的智能合约中对目标数据集的共享组的成员设置,向所述共享组中受邀联盟成员发送数据集共享请求,以请求受邀联盟成员加入所述目标数据集的共享组;其中,仅位于所述共享组中的联盟成员的锚节点能够处理所述目标数据集涉及的数据;
更新单元,用于根据受邀联盟成员返回的确认消息中携带的锚节点信息以及指示确认加入所述共享组的指示信息,更新所述智能合约中对所述目标数据集的共享组的成员设置;
提案分发单元,用于在获取到所述共享组中的联盟成员针对所述智能合约发起的提案时,将所述提案中涉及所述目标数据集的部分提交给所述共享组中的联盟成员的锚节点进行处理。
可选的,所述装置还包括设置单元;
所述发送单元,还用于在确定受邀联盟成员未设置锚节点时,向受邀联盟成员发送锚节点设置提示消息,以提示受邀联盟成员进行锚节点的设置;其中,未设置锚节点的联盟成员无法加入所述目标数据集的共享组;
所述设置单元,用于根据受邀联盟成员发送的锚节点设置请求,将所述锚节点设置请求指示的目标节点设置为受邀联盟成员的锚节点。
可选的,所述更新单元,用于:
基于所述锚节点信息以及所述指示信息生成区块,并将生成的区块更新至所述目标通道的状态数据库中。
可选的,
所述发送单元,还用于在获取到邀请联盟成员加入目标区块链网络的第一邀请请求时,向受邀联盟成员转发所述第一邀请请求,以请求受邀联盟成员加入所述目标区块链网络;
所述更新单元,还用于在确定受邀联盟成员确认加入所述目标区块链网络时,更新所述目标区块链网络包括的联盟成员信息。
可选的,所述装置还包括创建单元;
所述创建单元,用于在获取到在所述目标区块链网络中创建目标通道的通道创建请求时,根据所述通道创建请求中携带的通道配置信息创建目标通道;其中,所述通道配置信息包括受邀联盟成员在加入所述目标通道时需满足的投票通过率;
所述发送单元,还用于获取到邀请联盟成员加入所述目标通道的第二邀请请求时,向受邀联盟成员转发所述第二邀请请求,以请求受邀联盟成员加入目标通道;以及在确定受邀联盟成员确认加入所述目标通道时,向已加入所述目标通道中的联盟成员发起投票;以及基于各联盟成员的投票结果确定受邀联盟组织的支持率大于或者等于所述投票通过率时,通知被投票的受邀联盟成员加入所述目标通道成功。
可选的,
所述发送单元,还用于在获取到请求修改所述投票通过率的修改请求时,向已加入所述目标通道中的联盟成员发起投票;
所述更新单元,还用于基于各联盟成员的投票结果确定修改投票通过率的支持率大于或者等于修改前的投票通过率时,则根据所述修改请求对投票通过率的值进行修改;或者,基于各联盟成员的投票结果确定修改投票通过率的支持率小于修改前的投票通过率时,驳回所述修改请求。
可选的,所述更新单元,还用于根据获取的信息生成区块,并将生成的区块更新至所述目标通道的状态数据库中;
其中,所述获取的信息包括如下信息中的至少一种:
所述通道创建请求携带的信息;
所述第一邀请请求携带的信息;
所述第二邀请请求携带的信息;
各联盟成员的投票结果。
一方面,提供一种基于区块链的数据处理装置,应用于区块链***包括的客户端中,所述区块链***包括各联盟成员的客户端以及区块链服务器,所述装置包括:
提示单元,用于响应于在目标通道上部署的智能合约触发的数据集共享请求,提示受邀联盟成员是否加入目标数据集的共享组;其中,所述智能合约包括所述目标数据集的共享组的成员设置,且仅位于所述共享组中的联盟成员的锚节点能够处理所述目标数据集涉及的数据;
发送单元,用于根据受邀联盟成员的确认操作,向所述区块链服务器返回确认消息,所述确认消息携带受邀联盟成员的锚节点信息以及指示确认加入所述共享组的指示信息,以使得所述区块链服务器基于所述确认消息更新所述智能合约中对所述目标数据集的共享组的成员设置,并在获取到所述共享组中的联盟成员针对所述智能合约发起的提案时,将所述提案中涉及所述目标数据集的部分提交给所述共享组中的联盟成员的锚节点进行处理。
可选的,
所述提示单元,还用于在确认受邀联盟成员未设置锚节点时,提示受邀联盟成员进行锚节点的设置;
所述发送单元,还用于基于受邀联盟成员进行的节点选择操作选中的目标节点,向所述区块链服务器发送锚节点设置请求,以请求将所述目标节点设置为受邀联盟成员的锚节点。
一方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方面所述的方法。
一方面,提供一种计算机可读存储介质,存储有处理器可执行指令,所述处理器可执行指令用于执行上述方面所述的方法。
本申请实施例中,在部署智能合约时,关于该智能合约涉及的目标数据集,可以对共享组的成员进行设置,并邀请共享组成员加入共享组,受邀联盟成员在设置锚节点且确认加入共享组时,则可以对智能合约进行更新,并在获取到该智能合约的提案时,则可以将目标数据集涉及的部分提交给共享组成员的锚节点进行处理,且仅只能共享组中的联盟成员的锚节点才能够处理目标数据集涉及的数据,即联盟成员加入共享组之后,则可以感知目标数据集的数据,那么即使不是相同通道的联盟成员之间,均可以通过锚节点进行对目标数据集的数据进行处理,从而通过锚节点实现跨通道的数据共享,且各联盟成员的其他节点,即非锚节点则与目标数据集相互隔离,无法感知目标数据集的数据,从而保证数据隐私安全的基础上,提供了一种通道之间的隐私数据集的非通道打通,使得通道之间的隐私数据根据规则可以基于锚节点实现跨通道互访。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的区块结构的示意图;
图2为本申请实施例提供的应用场景示意图;
图3为本申请实施例提供的区块链平台的网络架构示意图;
图4为本申请实施例提供的创建联盟并邀请其他组织加入联盟的流程示意图;
图5A~图5C为本申请实施例提供的创建联盟并邀请其他组织加入联盟的操作示意图;
图6为本申请实施例提供的创建区块链网络并邀请其他组织加入网络的流程示意图;
图7A~图7C为本申请实施例提供的创建区块链网络并邀请其他组织加入网络的操作示意图;
图8为本申请实施例提供的创建通道并邀请其他联盟成员加入通道的流程示意图;
图9A~图9D为本申请实施例提供的创建通道并邀请其他联盟成员加入通道的操作示意图;
图10为本申请实施例提供的修改投票通过率的流程示意图;
图11为本申请实施例提供的在客户端上发起修改请求的操作示例图;
图12为本申请实施例提供的基于区块链的数据处理方法的流程示意图;
图13为本申请实施例提供的新建合约的操作示例图;
图14为本申请实施例提供的受邀联盟成员处理数据集共享请求的操作示例图;
图15为本申请实施例提供的联盟成员1邀请联盟成员4加入到隐私数据集A的共享组的流程示意图;
图16为本申请实施例提供的一种基于区块链的数据处理装置的一种结构示意图;
图17为本申请实施例提供的另一种基于区块链的数据处理装置的一种结构示意图;
图18为本申请实施例提供的计算机设备的一种结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
为便于理解本申请实施例提供的技术方案,这里先对本申请实施例使用的一些关键名词进行解释:
联盟:由若干联盟成员组成的区块链业务团体,联盟成员作为参与方共同参与到区块链网络的建设之中。联盟创建者指定联盟名称、参与成员是否需要实名认证等信息,联盟成员可以邀请其他机构、公司或者个人加入联盟。
区块链网络(Block chain Network):联盟链或者私有链实例,运行在区块链底层引擎如Fabric或者BCOS之上。一个联盟可以拥有多个区块链网络,每个网络可以承担不同的业务职能,当一个联盟中的所有联盟成员均属于同一个机构或者公司时,该机构或者公司的不同职能部分所构成的联盟链网络也可以视为私有链网络。
联盟成员:是指参与区块链网络的组织,可以是企业或部门,是区块链网络参与方的身份标识。组织通常包含若干个区块链节点和一系列身份证书,联盟链中按照访问和使用账本的网络节点,一个联盟(或者一个区块链网络)可以有多个联盟成员,一个组织内可以有多个节点(Peer),每个节点参与账本和世界状态维护。例如,基于Hyperledger Fabric的区块链技术中,组织即是一个参与方在区块链中的身份标识,组织可以独立管理属于自身的区块链节点以及成员证书等信息。
智能合约(Smart Contract):根据特定条件自动执行的合约程序,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子资产自动转移到商户的地址或者账户;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。智能合约是区块链的重要特征,是用户与区块链进行交互,利用区块链实现业务逻辑的重要途径。
链码(Chaincode):链码是对智能合约的一种实现方式,是运行于区块链网络之上一段应用程序代码,也是用户与区块链网络交互的唯一途径。
通道(Channel):或称为子链,构建在区块链网络上的私有区块链,各通道之间实现了数据的隔离和保密。通道中的链码和交易只有加入该通道的节点可见。一个节点可以加入多个通道,并为每个通道内容维护一个账本,每一个通道即为一条逻辑上的区块链。可以按照业务来划分通道,也可以按照行政职能和隐私策略来划分通道。
节点(Peer):区块链网络中实际负责网络互联、协议交换、账本维护、世界状态维护的信息处理设备,通常是一个进程或者一台运行了节点进程的计算设备。例如,基于Hyperledger Fabric的区块链技术中,节点按照其功能职责可以承担不同角色,例如节点可以分为背书节点、共识节点以及提交节点。
排序服务或共识服务(Order Services):提供排序服务或共识服务的网络节点,完成交易的排序和区块打包等工作。
锚节点(anchor peer):节点可划分为普通节点和锚节点,其中,指定的目标数据集,例如通道中涉及到的隐私数据,只能通过锚节点进行处理或者通信,普通节点与目标数据集则保持隔离。
链(Chain):一个链即是一个由若干区块通过特定指向链接、摘要算法或加密算法锚定组成的数据集合,新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链***中节点提交的记录数据。参见图1,图1是本申请实施例提供的区块结构(BlockStructure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。此外,对于本文中涉及的“第一”或者“第二”等仅用于区分类似的对象,而不是用于描述特定的顺序或者先后次序。
在目前的区块链技术中,通道之间的数据是完全相互隔离的,通道内的隐私数据集只能在通道内的联盟成员间进行传递,当需要与跨链的联盟成员进行数据互访时,例如,一条通道用于实现人力资源部门的财务流水记账,另一条通道用于实现后勤部门的财务流水记账,人力资源部门进行对账时,发现有部分的记账内容和后勤部门有所交集,那么则需要调用后勤部门的财务流水来做对账,在这种情况下就需要进行跨链的数据互访,而现有技术中就需要让对方联盟成员加入到本通道中,带来数据交互的不方便,并且对方联盟成员加入到本通道中,则可以感知本通道中的所有数据,给数据的安全也带来了安全隐患。并且针对于上述人力资源部门和后勤部门的财务流水记账的情况,若是无法实现跨链的互访,就须将对方的所有业务记账都记录下来单链内对账,数据存储成本也将大大提高。
本申请人对现有技术进行分析后发现,在现有技术中,正是因为各通道之间的数据完全相互隔离,虽然对于隐私数据的保护能够起到一定的作用,但是针对上述需要跨链互访的情况也带来了不方便,因此,需要在通道数据隔离的基础上,提供一种能够数据跨链互访的方式,因而,在本申请实施例中,引入锚节点标记通道和组织的方式来实现跨通道的隐私数据的可信互访。原本的两条通道之间的数据是完全隔离的,现在引入锚节点之后,指定的目标数据集,例如隐私数据集只可以通过锚节点进行通信,并且针对每个目标数据集,可以设置好可感知的联盟成员,且这些联盟成员也只可以通过锚节点处理隐私数据集的数据,这些联盟成员内的其他节点不可感知隐私数据集。
基于上述的分析和考虑,本申请实施例提供一种基于区块链的数据处理方法,该方法中在部署智能合约时,关于该智能合约涉及的目标数据集,可以对共享组的成员进行设置,并邀请共享组成员加入共享组,受邀联盟成员在设置锚节点且确认加入共享组时,则可以对智能合约进行更新,并在获取到该智能合约的提案时,则可以将目标数据集涉及的部分提交给共享组成员的锚节点进行处理,且仅只能共享组中的联盟成员的锚节点才能够处理目标数据集涉及的数据,即联盟成员加入共享组之后,则可以感知目标数据集的数据,那么即使不是相同通道的联盟成员之间,均可以通过锚节点进行对目标数据集的数据进行处理,从而通过锚节点实现跨通道的数据共享,且各联盟成员的其他节点,即非锚节点则与目标数据集相互隔离,无法感知目标数据集的数据,从而保证数据隐私安全的基础上,提供了一种通道之间的隐私数据集的非通道打通,使得通道之间的隐私数据根据规则可以基于锚节点实现跨通道互访。
此外,为了进一步对各通道中的联盟成员进行管理,在创建通道时,需要对该通道的准入率进行设置,即设置投票通过率,当联盟成员邀请新的组织加入通道时,需要发起投票,且只有投票的支持率大于或者等于设置的投票通过率时,才能够允许新的组织加入通道,以保护通道内的隐私数据。且在通道创建以及各联盟成员投票的整个准入过程都将记录上区块链,使得准入的过程记录不可篡改并可追溯,使得区块链网络达到了可信、灵活的治理目标。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施过程中,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
本申请实施例中的基于区块链的数据处理方法可以应用于涉及区块链技术的应用场景中。
如图2所示,为这些应用场景适用的场景示例图,该场景可以包括终端设备201以及区块链服务器,其中,区块链服务器可以包括接入服务器202以及构成区块链网络的各区块链节点203。
其中,终端设备201可以安装区块链服务器对应的客户端,通过该客户端用户可完成区块链网络管理相关的操作。终端设备201可以是手机、个人电脑(personal computer,PC)、平板电脑(PAD)、掌上电脑(Personal Digital Assistant,PDA)、笔记本电脑或者智能穿戴式设备(例如智能手表和智能手环)等终端设备。当然,实现区块链网络管理相关的操作,并不限于通过客户端的形式,例如还可以通过网页(Web)的形式进入区块链控制台,同样也可以实现区块链网络管理相关的操作。
区块链服务器为区块链服务提供商的服务器,为各用户提供区块链服务,区块链服务器可以包括接入子服务器202以及由各用户的区块链节点组成的区块链网络。其中,接入服务器202用于为各用户提供接入层的服务,例如联盟管理、区块链网络管理以及通道管理等功能,区块链节点203可以为用户从区块链服务提供商申请的云资源,各区块链节点203基于区块链底层技术进行部署,用于实现区块链网络的逻辑功能,其中,区块链底层技术例如可以包括Hyperledger Fabric、FISCO-BCOS、Corda以及EEA等区块链底层技术中一种或者多种。当然,区块链节点203也可以为用户自身的物理资源,本申请实施例对此不做限制。
终端设备201与区块链服务器之间可以通过一个或者多个网络进行通信连接,该网络可以是有线网络,也可以是无线网络,例如无线网络可以是移动蜂窝网络,或者可以是无线保真(WIreless-Fidelity,WIFI)网络,当然还可以是其他可能的网络,本申请实施例对此不做限制。
上述的用户既可以为一个组织,位于联盟中的组织即为联盟成员。示例性的,例如用户A通过在终端设备201的客户端上进行操作,以在自身所在的联盟链网络中创建通道1,在其创建通道1时,则可以设置通道1的投票通过率,区块链服务器响应与用户A的操作,在联盟链网络中进行通道1的创建。当用户A在客户端上进行操作,以邀请同处于联盟链网络中的用户B加入通道1时,则区块链服务器会向用户B发送邀请,以邀请用户B加入通道1,用户B在其客户端上进行确认加入操作之后,区块链服务器则会向通道1中已存在的所有用户进行投票,并收集各用户的投票结果,当投票的支持率大于投票通过率时,则通知用户B加入通道1成功,防止通道1中的用户随意邀请其他用户加入通道,从而保证通道1中隐私数据的安全。此外,对于上述的各个步骤,区块链服务器均将记录上链,防止用户抵赖以及篡改。
此外,当通道1上的用户A需要与通道2上的用户C针对通道1上的目标数据集A进行交互时,则用户A可以通过终端设备201的客户端重建或者更新智能合约,并在智能合约中将用户C添加至目标数据集A的共享组成员中,当智能合约在区块链服务器中的节点中执行时,则会发起对用户C的数据集共享请求,邀请用户C加入目标数据集A的共享组,用户C在客户端中确认加入后,区块链服务器则会更新智能合约状态,并且在后续在获取到针对目标数据集A的数据时,则还会提交给用户C的锚节点进行处理,或者目标数据集A的数据还会同步给用户C的锚节点,使得用户C可以通过锚节点访问目标数据集A的数据。
图2所示的应用场景例如可以应用于金融或者保险理赔等场景中。在金融场景中,上述的各用户则可以为各金融机构,通过区块链技术公开以及不可篡改的特性,使得各金融机构的金融资产,如股权、债券、票据以及保单等均可以整合到区块链上,成为链上数字资产,在区块链上进行存储、转移以及交易;在保险理赔场景中,上述的各用户则可以为投保人以及保险公司,区块链技术所提供的智能合约的应用,无需投保人申请,也无需保险公司批准,只需要按照智能合约所规定的理赔条件,实现自动核保,当投保人满足智能合约中约定的条件时,则会自动从保险公司的账户中划拨相应金额进行理赔,有效简化保单理赔流程。
如图3所示,对应于图2所示的应用场景,本申请实施例提供一种区块链平台的网络架构示意图,其包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
其中,区块链底层平台和平台产品服务层可以部署于区块链服务器,应用服务层可以部署于用户的终端设备中,例如可以为终端设备中安装的客户端或者通过网页的形式进入的区块链控制台。
当然,本申请实施例提供的方法并不限用于图1所示的应用场景或者图2所示的网络架构中,还可以用于其他可能的应用场景或者网络架构,本申请实施例并不进行限制。
本申请实施例中,在进行通道的创建之前,首先需要联盟成员位于一个联盟链网络中。因此,下面首先对联盟的创建进行介绍。如图4所示,为创建联盟并邀请其他组织加入联盟的流程示意图。
步骤401:组织1通过客户端发起联盟创建请求,区块链服务器接收联盟创建请求。
本申请实施例中,组织可以为企业或者企业中的部门等,当组织为企业时,则所创建的联盟为各企业共同作为参与方的联盟,且在该联盟中创建的区块链网络为由各企业共同维护建设的联盟链网络,当组织为企业中的部门,则所创建的联盟为企业内部构建的联盟,那么在该联盟中创建的区块链网络为企业所私有的区块链网络,即可以理解为私有链网络。
如图5A所示,为组织1在客户端上发起联盟创建请求的操作示例图。在组织1为加入任何联盟时,组织1可以在联盟详情页面上选择新建联盟,或者组织1已加入联盟时,联盟详情页面上可以显示组织1加入的联盟的信息,且组织1也可以在联盟详情页面上选择新建联盟,并在跳转的创建联盟页面中填写新建联盟的信息,如图5A中所示的联盟名称、联盟目标以及成员限制等信息,联盟名称例如为联盟A,联盟目标为联盟的目标描述,例如该联盟可以用于各企业合作开发某项目;成员限制用于对加入的组织进行限制,例如可以限制加入的组织必须符合实名认证,或者可以根据联盟目标相应进行设置,例如当目标做供应链金融的动产质押融资业务,那么可以只允许某一区域的企业加入,或符合某些资质条件的企业加入联盟。
当信息填写完毕后,组织1可以对确认创建按钮进行操作,以向区块链服务器发起联盟创建请求。
步骤402:区块链服务器向组织1返回联盟创建响应。
响应于该联盟创建请求,区块链服务器可以创建一个新的联盟A,并向组织1返回联盟创建响应,如图5A所示的提示组织1联盟A创建成功。
步骤403:组织1向区块链服务器发送组织邀请请求。
联盟创建成功后,组织1可以在如图5A所示的提示页面上进行邀请组织操作,或者在联盟A的详情页面上进行邀请组织操作,并在跳转至的如图5B所示的组织邀请页面上输入符合成员限制要求的受邀组织的信息,例如组织标识,组织标识例如可以为组织电子邮箱地址或者组织名称等,并确认邀请之后,则可以向区块链服务器发送组织邀请请求。
步骤404:区块链服务器向受邀组织转发组织邀请请求。
步骤405:受邀组织通过客户端向区块链服务器返回组织邀请响应。
区块链服务器向受邀组织转发组织邀请请求之后,受邀组织可以在事件中心查看并处理组织邀请请求。如图5C所示,为受邀组织处理事件中心的组织邀请请求的示例图,受邀组织可以选择接受或者拒绝加入联盟A,图5C中具体以受邀组织接受接入联盟A为例。当然,为受邀组织获知联盟A的信息,还可以在图5C所示的处理界面上增加联盟A相关信息,例如创建者、联盟目标、联盟成员以及受邀组织等信息。
步骤406:区块链服务器根据受邀组织的组织邀请响应更新联盟A信息。
区块链服务器可以根据受邀组织返回的组织邀请响应,更新联盟A的相关信息。例如当受邀组织接受加入联盟A时,则可以更新联盟A的成员信息,将受邀组织添加至联盟A中;而当受邀组织拒绝加入联盟A时,则记录受邀组织的拒绝事件信息。
区块链服务器还可以向组织1返回邀请结果提示,以通知组织1邀请其他组织加入联盟A的结果,相应的,组织1通过客户端中的事件中心可以查看邀请进度以及邀请结果,如图5B所示,组织1可以查看邀请进度,当然进度为组织2还未处理组织邀请请求,在受邀组织处理消息之后,则可以相应的查看到邀请结果;当然,区块链服务器也可以向受邀组织发送提示加入联盟A成功的提示消息,如图5C所示,当受邀组织接受加入联盟A时,则提示加入联盟A成功。
本申请实施例中,创建联盟与邀请组织加入的过程可以是同时进行的,例如在创建联盟时,则选择好需要邀请的组织,即联盟创建请求携带受邀组织信息,那么区块链服务器则可以直接向受邀组织发起邀请,以邀请受邀组织加入联盟。
本申请实施例中,上述涉及到的每一个步骤的内容可以作为一个事件存储至区块链上,例如组织1创建联盟A可以作为一个事件,或者受邀组织接受加入联盟A也可以作为一个事件存储至区块链上,从而通过区块链不可篡改且可追溯的特点,防止各组织反悔,使得联盟达到可信治理。
区块链服务器与各组织之间的交互,或者各组织之间的交互可以通过内网通信(如站内信)或者电子邮件(email)的方式来进行。
本申请实施例中,在创建联盟或者已加入联盟之后,各组织即成为联盟成员,可在创建的联盟或者已加入的联盟中创建区块链网络,并邀请联盟内成员加入区块链网络。如图6所示,为创建区块链网络并邀请其他组织加入网络的流程示意图。
步骤601:联盟成员1通过客户端发起区块链网络创建请求,区块链服务器接收区块链网络创建请求。
在一个联盟内,可以有多个区块链网络,各区块链网络可用于实现不同的功能或者实现不同的业务合作,各联盟成员可参与一个或者多个区块链网络。
如图7A所示,为联盟成员1在客户端上发起创建请求的操作示例图。联盟成员1可以在联盟详情页面上选择新建区块链网络,或者联盟成员1还可以在区块链网络的管理页面上选择新建区块链网络,并在跳转的创建区块链页面中选择需要创建的区块链网络的类型,如私有链或者联盟链。选择类型之后,则可以填写待创建的区块链网络的相关参数,并在确认创建之后,则会向区块链服务器发送区块链网络创建请求,以请求创建新的区块链网络。参数例如可以包括选择待创建的区块链网络所属的联盟、区块链网络名称以及区块链网络的组织配置等。
步骤602:区块链服务器向联盟成员1返回区块链网络创建响应。
响应于该区块链网络创建请求,区块链服务器可以创建一个新的区块链网络,如区块链网络B,并向联盟成员1返回区块链网络创建响应,如图7A所示的提示联盟成员1区块链网络创建成功。
步骤603:联盟成员1向区块链服务器发送第一邀请请求。
区块链网络创建成功后,联盟成员1可以在如图7A所示的提示页面上进行邀请组织操作,或者在能够展示区块链网络的信息页面上进行邀请组织操作,如图7A中的联盟详情页面和区块链网络的管理页面上均可以进行邀请组织操作,以邀请其他组织加入自己创建或者自己所在的区块链网络。
如图7B所示,为邀请其他组织加入区块链网络的操作示例图,图7B中具体以区块链网络的管理页面上进行邀请组织操作为例。联盟成员1在区块链网络的管理页面上进行邀请组织操作后,如图7B联盟成员1对区块链网络B进行邀请组织操作后,在跳转至的成员邀请页面上输入符合要求的受邀联盟成员的信息,例如组织标识,组织标识例如可以为组织电子邮箱地址或者组织名称等,并确认邀请之后,则可以向区块链服务器发送第一邀请请求。
区块链服务器还可以向联盟成员1返回邀请结果提示,以通知联盟成员1邀请其他联盟成员加入区块链网络的结果,相应的,联盟成员1通过客户端中的事件中心可以查看邀请进度以及邀请结果,如图7B所示,联盟成员1邀请位于同一联盟A的组织2加入区块链网络B之后,联盟成员1可以查看邀请进度,当前进度为组织2还未处理邀请请求,在受邀组织处理邀请请求之后,则可以查看到相应的邀请结果。
步骤604:区块链服务器向受邀联盟成员转发第一邀请请求。
区块链服务器获取到邀请联盟成员加入目标区块链网络的第一邀请请求时,则会向受邀联盟成员转发第一邀请请求,以请求受邀联盟成员加入目标区块链网络。
步骤605:受邀联盟成员通过客户端向区块链服务器返回第一邀请响应。
区块链服务器向受邀联盟成员转发第一邀请请求之后,受邀联盟成员可以在事件中心查看并处理第一邀请请求。如图7C所示,为受邀联盟成员处理事件中心的第一邀请请求的示例图,受邀联盟成员可以选择接受或者拒绝加入目标区块链网络,图7C中具体以目标区块链网络为区块链网络B为例。当然,为受邀联盟成员获知区块链网络B的信息,还可以在图7C所示的处理界面上增加区块链网络B相关信息,例如创建者、成员信息以及受邀联盟成员等信息。
步骤606:区块链服务器根据受邀联盟成员的第一邀请响应更新目标区块链网络信息。
区块链服务器可以根据受邀联盟成员返回的第一邀请响应,更新目标区块链网络的相关信息。例如当受邀联盟成员接受加入目标区块链网络时,则可以更新目标区块链网络的成员信息,将受邀联盟成员添加至目标区块链网络中;而当受邀联盟成员拒绝加入目标区块链网络时,则记录受邀联盟成员的拒绝事件信息。
区块链服务器也可以向受邀联盟成员发送提示加入目标区块链网络成功的提示消息,如图7C所示,当受邀联盟成员接受加入目标区块链网络时,则提示加入目标区块链网络成功。
本申请实施例中,创建区块链网络与邀请成员加入的过程可以是同时进行的,例如在创建区块链网络时,则选择好需要邀请的联盟成员,即区块链网络创建请求携带受邀成员信息,那么区块链服务器则可以直接向受邀联盟成员发起邀请,以邀请受邀联盟成员加入区块链网络。
本申请实施例中,上述涉及到的每一个步骤的内容可以作为一个事件存储至区块链上,例如联盟成员1创建目标区块链网络可以作为一个事件,或者受邀联盟成员接受加入目标区块链网络也可以作为一个事件存储至区块链上,从而利用区块链不可篡改且可追溯的特点,防止各联盟成员反悔,且防止事件记录被篡改,使得联盟达到可信治理。
本申请实施例中,在创建的区块链网络或者已加入的区块链网络中,可以创建通道,或称通道,并邀请区块链网络中的联盟成员加入通道。如图8所示,为创建通道并邀请其他联盟成员加入通道的流程示意图。
步骤801:联盟成员1通过客户端发起通道创建请求,区块链服务器接收通道创建请求。
一般而言,一个区块链网络有一个统一的目标,比如做区块链存证业务的区块链网络,但存证业务还可以针对不同行业进行细分,例如针对金融银行做贷后存证的话,需要存证的内容需要拆分成敏感信息与非敏感信息;或者存证业务按照流程可以细分成不同的业务模块,例如细分为拆分成贷前存证、贷中存证以及贷后存证等,因而可以由不同通道来做不同的细分的存证业务。
如图9A所示,为联盟成员1在客户端上发起通道创建请求的操作示例图。联盟成员1可以在区块链网络的详情页面中对该网络包括的通道进行管理,并可在通道管理页面上进行新建通道操作,并在跳转至的创建通道页面上填写待创建的通道的基本信息,例如通道名称以及需要邀请的联盟成员等,当然需要邀请的成员也可以后续进行邀请,在基本信息中可以暂时不选择,基本信息填写完毕之后,则可以对该通道的准入条件进行设置,例如设置成员加入时的投票通过率,即在有新的联盟成员加入该通道时,会发起投票,并在投票的支持率大于设置的投票通过率时,才允许新的联盟成员加入该通道。在通道的准入条件设置完成之后,用户则可以进行确认创建操作,相应的,客户端则可以向区块链服务器发送通道创建请求,该通道创建请求用于请求在目标联盟链网络中创建目标通道,如图9A所示的在区块链网络B中创建channel 3。
步骤802:区块链服务器向联盟成员1返回通道创建响应。
响应于接收到的通道创建请求,区块链服务器可以根据通道创建请求中携带的通道配置信息创建一个新的通道,通道配置信息例如可以包括即图9A中通道创建页面上填写的基本信息以及通道准入条件等。创建通道成功后,则会向联盟成员1返回通道创建响应,相应的,如图9A所示,客户端则会提示联盟成员1通道创建成功。
步骤803:联盟成员1向区块链服务器发送第二邀请请求。
通道创建成功后,联盟成员1可以在如图9B所示的通道管理页面上进行邀请成员操作,以邀请其他联盟成员加入自己创建或者自己所在的通道。
如图9B所示,为邀请其他联盟成员加入通道的操作示例图。联盟成员1在通道管理页面上进行邀请组织操作后,在跳转至的成员邀请页面上选择或者输入符合要求的受邀联盟成员的信息,例如组织标识,组织标识例如可以为组织电子邮箱地址或者组织名称等,并确认邀请之后,客户端则可以向区块链服务器发送第二邀请请求,第二邀请请求用于邀请受邀联盟成员加入目标通道,图9B中则具体以邀请组织2加入channel 3为例。
在发起第二邀请请求之后,联盟成员1可以通过客户端中的事件中心可以查看邀请进度以及邀请结果,如图9B所示,联盟成员1邀请位于同一区块链网络的组织2加入channel 3之后,联盟成员1可以查看邀请进度,当前进度为组织2还未处理邀请请求,在受邀组织处理邀请请求之后,则可以查看到相应的邀请结果。
步骤804:区块链服务器向受邀联盟成员转发第二邀请请求。
区块链服务器获取到邀请受邀联盟成员加入目标通道的第二邀请请求时,则会向受邀联盟成员转发第二邀请请求,以请求受邀联盟成员加入目标通道。
步骤805:受邀联盟成员通过客户端向区块链服务器返回第二邀请响应。
区块链服务器向受邀联盟成员转发第二邀请请求之后,受邀联盟成员可以在事件中心查看并处理第二邀请请求。如图9C所示,为受邀联盟成员处理事件中心的第二邀请请求的示例图,受邀联盟成员可以选择接受或者拒绝加入目标通道,图9C中具体以目标通道为channel 3为例。
步骤806:区块链服务器根据受邀联盟成员的第二邀请响应确定受邀联盟成员是否接受加入目标通道。
步骤807:若步骤807的确定结果为是,则区块链服务器向已加入目标通道中的联盟成员发起投票。
本申请实施例中,联盟成员邀请新的组织加入通道时,需要发起投票,且只有投票的支持率大于或者等于设置的投票通过率时,才能够允许新的组织加入通道,以保护通道内的隐私数据,因此,受邀联盟成员同意加入通道之后,则会触发该通道的投票机制,向已加入目标通道中的联盟成员发起投票。
若步骤807的确定结果为否,则流程结束,区块链服务器可以记录受邀联盟成员拒绝加入目标通道的事件信息。
步骤808:已加入目标通道中的联盟成员向区块链服务器返回投票结果。
已加入目标通道中的联盟成员在事件中心中可以查看到针对受邀联盟成员加入目标通道的投票事件,并可对该投票事件进行处理。如图9D所示,为事件中心中投票事件的显示示例图,已加入目标通道中的联盟成员可以选择同意或者拒绝受邀联盟成员加入目标通道,并向区块链服务器返回投票结果,如图9D中所示同意或者拒绝组织2加入channel 3。
其中,对于邀请人,例如这里的联盟成员1邀请组织2加入目标通道时,联盟成员1即为邀请人,则可以默认其同意组织2加入目标通道,因而可以不想联盟成员1发起投票,而仅向目标通道中的其他联盟成员发起投票,从而节省投票流程,降低等待时间。
步骤809:区块链服务器基于各联盟成员的投票结果,确定受邀联盟组织的支持率大于或者等于投票通过率。
区块链服务器可以收集各联盟成员的投票结果,并整理投票结果,以确定受邀联盟组织的支持率大于或者等于投票通过率。其中,支持率为同意受邀联盟成员加入目标通道的联盟成员占所有已加入目标通道中的联盟成员的比例。
在实际应用中,已加入目标通道中的联盟成员是变动的,例如在联盟成员1初始创建通道时,通道中仅包括联盟成员1,那么也可以默认不发起投票,直接允许其邀请的成员加入通道,而在后续通道的运行过程中,比如通道中已有的成员包括联盟成员1、联盟成员2和联盟成员3时,对于新邀请加入的联盟成员,则会请求联盟成员1、联盟成员2和联盟成员3对其投票,并根据联盟成员1、联盟成员2和联盟成员3确定是否允许新的联盟成员加入。
步骤810:若步骤809的确定结果为是,则区块链服务器更新目标通道的成员信息。
若步骤809的确定结果为是,即基于各联盟成员的投票结果确定受邀联盟组织的支持率大于或者等于投票通过率时,也就是允许受邀联盟组织加入目标通道,则区块链服务器可以更新目标通道的成员信息,将受邀联盟成员添加至目标通道的成员中;而若是步骤809的确定结果为否,则区块链服务器可以记录受邀联盟成员的加入目标通道失败的事件信息。
此外,区块链服务器还可以向受邀联盟成员通知其加入目标通道成功,受邀联盟成员则可以对该目标通道进行配置,例如在目标通道中部署智能合约以及在目标通道中部署节点等。
本申请实施例中,上述涉及到的每一个步骤的内容可以作为一个事件存储至区块链上,例如联盟成员1创建目标通道可以作为一个事件,或者各联盟成员对受邀联盟成员进行投票也可以作为一个事件存储至区块链上,从而利用区块链不可篡改且可追溯的特点,防止各联盟成员对投票过程抵赖和篡改,并且避免出现线下修改票数的情况发生,使得联盟治理的可信度更高。
本申请实施例中,主要以基于Hyperledger Fabric技术为例进行描述,但是,在实际应用时,还可以采用其他可能的区块链底层技术,本申请实施例对此不做限制。
本申请实施例中,基于云平台的区块链服务器,在大规模组织准入场景下还可支持高并发投票,提高处理效率。
本申请实施例中,通道中已设置投票通过率也可以修改,但为了避免联盟成员随意进行修改,修改投票通过率依然需要加入通道的联盟成员进行投票。如图10所示,为修改投票通过率的流程示意图。
步骤1001:联盟成员1通过客户端发起修改请求,区块链服务器接收修改请求。
如图11所示,为联盟成员1在客户端上发起修改请求的操作示例图。联盟成员1可以在目标通道的详情页面中选择对投票通过率进行修改操作,以及在跳转至的修改投票通过率页面上输入修改后的投票通过率,并进行确认修改操作,相应的,客户端则可以向区块链服务器发送修改请求,该修改请求用于请求修改目标通道的投票通过率,如图11所示的将channel 3的投票通过率从51%修改为80%。
步骤1002:区块链服务器向已加入目标通道中的联盟成员发起投票。
本申请实施例中,修改投票通过率需要加入通道的联盟成员进行投票时,需要发起投票,且只有投票的支持率大于或者等于设置的投票通过率时,才能够允许修改投票通过率,以避免联盟成员随意进行修改,因此,区块链服务器接收修改请求之后,则会触发该通道的投票机制,向已加入目标通道中的联盟成员发起投票。
步骤1003:已加入目标通道中的联盟成员向区块链服务器返回投票结果。
已加入目标通道中的联盟成员在事件中心中可以查看到针对修改投票通过率的投票事件,并可对该投票事件进行处理。已加入目标通道中的联盟成员可以选择同意或者拒绝受邀联盟成员加入目标通道,并向区块链服务器返回投票结果。
其中,对于邀请人,例如这里的联盟成员1发起修改投票通过率时,联盟成员1即为邀请人,则可以默认联盟成员1同意修改投票通过率,因而可以不向联盟成员1发起投票,而仅向目标通道中的其他联盟成员发起投票,从而节省投票流程,降低等待时间。
步骤1004:区块链服务器基于各联盟成员的投票结果,确定修改投票通过率的支持率大于或者等于投票通过率。
区块链服务器可以收集各联盟成员的投票结果,并整理投票结果,以确定修改投票通过率的支持率大于或者等于投票通过率。
步骤1005:若步骤1004的确定结果为是,则区块链服务器根据修改请求对投票通过率的值进行修改。
若步骤1004的确定结果为是,即基于各联盟成员的投票结果确定修改投票通过率的支持率大于或者等于投票通过率(修改前的投票通过率)时,则区块链服务器可以更新投票通过率的值,将投票通过率的值修改为修改请求中携带的值,如图11中,请求将channel3的投票通过率从51%修改为80%时,则区块链服务器会将channel 3的投票通过率修改为80%;而若是步骤1004的确定结果为否,则区块链服务器可以驳回修改请求,即通知联盟成员1修改投票通过率失败,并记录联盟成员1修改投票通过率失败的事件信息。
本申请实施例中,上述涉及到的每一个步骤的内容可以作为一个事件存储至区块链上,例如各联盟成员对修改投票通过率进行投票可以作为一个事件存储至区块链上,从而利用区块链不可篡改且可追溯的特点,防止各联盟成员对投票过程抵赖和篡改,并且避免出现线下修改票数的情况发生,使得联盟治理的可信度更高。
本申请实施例中,区块链服务器将上述的每一个步骤的内容作为事件存储至区块链上时,其过程为,区块链服务器根据从各步骤中获取的信息生成区块,并将生成的区块更新至目标通道的状态数据库中。
其中,获取的信息包括如下信息中的至少一种:
通道创建请求携带的信息;
第一邀请请求携带的信息;
第二邀请请求携带的信息;
各联盟成员的投票结果。
其中,区块链服务器根据从各步骤中获取的信息生成区块,具体过程为:区块链服务器将需要存储的信息进行打包提交给底层区块链平台中的背书节点,背书节点进行背书,并通过共识节点达成共识生成区块之后,则提交给提交节点,将区块存储至状态数据库中。其中,提交给底层区块链平台中的背书节点可以为目标通道内各联盟成员的背书节点,而不会提交给目标通道之外的联盟成员的背书节点。
如图12所示,为本申请实施例提供的基于区块链的数据处理方法的流程示意图。
步骤1201:联盟成员1通过客户端发起新建合约请求,区块链服务器接收新建合约请求。
本申请实施例中,通道创建之后,或者联盟成员加入一个通道之后,则可以在通道中部署自己的智能合约,并邀请通道内的其他成员共同执行该智能合约。如图13所示,为新建合约的操作示例图,联盟成员1可以在区块链网络对应的合约管理页面中进行新建合约操作,以及在跳转至的创建合约页面上输入待创建的合约信息,例如合约名称、部署通道、合约链码以及使用合约的联盟成员,并进行确认创建操作,相应的,客户端则可以向区块链服务器发送新建合约请求,该新建合约请求用于请求在目标通道上部署新的智能合约,目标通道即为用户选择需要部署的通道。
步骤1202:区块链服务器向联盟成员1返回新建合约响应。
响应于新建合约请求,区块链服务器可以在目标通道上部署新的智能合约,如图13中所示的合约4,并向联盟成员1返回新建合约响应,以通知联盟成员1合约部署情况。
步骤1203:区块链服务器向受邀联盟成员发送数据集共享请求。
合约创建之后,联盟成员1还需要为新创建的智能合约添加自己的节点并进行实例化,实例化之后则智能合约可以开始执行,例如可以调用只能合约中的接口来实现合约内的诸如转账交易或查询交易。在智能合约初次执行时,通常智能合约需要进行初始化,在初始化时区块链服务器则可以根据在目标通道上部署的智能合约中对目标数据集的共享组的成员设置,向共享组中受邀联盟成员发送数据集共享请求,以请求受邀联盟成员加入目标数据集的共享组。
其中,智能合约中可以对应一个或者多个数据集,目标数据集可以为多个数据集中的其中一个,通常来讲,针对普通数据而言,可以不进行共享组的设置,默认目标通道内的所有联盟成员均可查看,那么就可以针对通道内的隐私数据进行共享组的设置,仅限制共享组内的联盟成员查看隐私数据。当然,普通数据也可以设置共享组,例如共享组的成员包括通道内的所有联盟成员。
就每个数据集,合约创建者可以在智能合约中设置每个数据集的属性,属性可以包括每个数据集的共享组的成员设置。例如智能合约包括数据集A和数据集B,数据集A和数据集B的共享组则可以不同,例如数据集A的共享组成员包括联盟成员1和联盟成员2,那么数据集A涉及的数据则可以能够被联盟成员1和联盟成员2的锚节点所处理、查看以及传递,数据集B的共享组成员可以包括联盟成员1和联盟成员3,那么数据集B涉及的数据则可以能够被联盟成员1和联盟成员3的锚节点所处理、查看以及传递。
示例性的,如目标数据集为隐私数据集A时,联盟成员1设置了隐私数据集A的共享组成员包括联盟成员2和联盟成员3,那么受邀联盟成员为联盟成员2和联盟成员3,那么在该智能合约执行时,则区块链服务器则会向联盟成员2和联盟成员3发送数据集共享请求,以请求联盟成员2和联盟成员3加入隐私数据集A的共享组。其中,联盟成员1、联盟成员2和联盟成员3并不被限制于位于同一通道,例如联盟成员1和联盟成员2可以位于channel 1,而联盟成员3可以位于channel 2。
步骤1204:受邀联盟成员进行锚节点的设置。
同样的,区块链服务器向受邀联盟成员发送数据集共享请求之后,受邀联盟成员的事件中心中也会存在待处理事件,即确认是否加入目标数据集的共享组。
如图14所示,为受邀联盟成员处理数据集共享请求的操作示例图。其中,受邀联盟成员在如图14所示的处理数据集共享请求的界面中,可以选择接受联盟成员1的邀请,同意加入隐私数据集A的共享组,或者拒绝联盟成员1的邀请,拒绝加入隐私数据集A的共享组,并向区块链服务器返回数据集共享响应。这里具体以受邀联盟成员同意加入隐私数据集A的共享组为例,当受邀联盟成员拒绝加入隐私数据集A的共享组时,则区块链服务器。
这里具体以受邀联盟成员同意加入隐私数据集A的共享组为例。
本申请实施例中,目标数据集只能够通过锚节点进行处理以及传递等操作,因此受邀联盟成员设置锚节点是加入共享组的前提条件,因此,当受邀联盟成员同意加入隐私数据集A的共享组时,还会检测受邀联盟成员是否已设置锚节点,即是否满足加入共享组的条件,若是受邀联盟成员未设置锚节点,则会提示受邀联盟成员进行锚节点的设置。如图14所示,则会弹出弹窗,提示受邀联盟成员未设置锚节点,无法加入共享组,是否去设置锚节点,受邀联盟成员则可以对“是”按钮进行操作,从而跳转至如图14所示的设置锚节点页面。其中,受邀联盟成员可以从中选择想要设置为锚节点的节点,并对其进行操作,并进行确认操作后,则会向区块链服务器发送锚节点设置请求,以请求将选中的节点设置为锚节点。
当然,在具体应用时,受邀联盟成员设置锚节点的时机并不限于步骤1204所在的时机,例如在受邀联盟成员成功加入某一通道时,此时区块链服务器确定受邀联盟成员未设置锚节点时,则区块链服务器可以向受邀联盟成员发送锚节点设置提示消息,以提示受邀联盟成员进行锚节点的设置;或者,还可以在向受邀联盟成员发送数据集共享请求之前,检测受邀联盟成员是否已设置锚节点,当未设置时,则可以在向受邀联盟成员发送数据集共享请求之前,向受邀联盟成员发送锚节点设置提示消息,以提示受邀联盟成员进行锚节点的设置。相应的,受邀联盟成员的客户端可以基于锚节点设置提示消息确认受邀联盟成员未设置锚节点时,提示受邀联盟成员进行锚节点的设置,如图14中进行提示,那么受邀联盟成员则可以在设置锚节点页面中进行节点选择操作,选中想要设为锚节点的目标节点,则客户端可以基于受邀联盟成员进行的节点选择操作选中的目标节点,向区块链服务器发送锚节点设置请求,以请求将目标节点设置为受邀联盟成员的锚节点。
或者,在数据集共享请求中携带设置锚节点的信息,当受邀联盟成员处理数据集共享请求时,则可以一并设置锚节点。
其中,在上述页面跳转过程中,受邀联盟成员的客户端始终保持与区块链服务器的连接,即上述过程中为避免冗长,省略了受邀联盟成员的客户端与区块链服务器的部分交互过程。
步骤1205:受邀联盟成员向区块链服务器返回确认消息。
如图14所示,受邀联盟成员成功设置锚节点之后,则可以跳转至处理数据集共享请求的界面中,继续处理数据集共享请求,并在受邀联盟成员在此确认接受加入共享组之后,向区块链服务器返回确认消息,该确认消息中可以携带受邀联盟成员的锚节点信息以及指示确认加入所述共享组的指示信息。
当然,由于受邀联盟成员之前已经接收了共享请求,那么则可以默认受邀联盟成员同意加入目标数据集的共享组,即在受邀联盟成员成功设置锚节点之后,则向区块链服务器返回确认消息。
当受邀联盟成员拒绝加入隐私数据集A的共享组时,则区块链服务器记录受邀联盟成员拒绝加入隐私数据集A的共享组的事件信息,并更新至区块链上。
步骤1206:区块链服务器根据确认消息更新目标数据集的共享组的成员设置。
区块链服务器获取确认消息之后,则会根据确认消息更新目标数据集的属性设置,其中属性中可以包括共享组的成员设置。例如,将目标数据集的属性标记为channel3上部署的智能合约4中共享组内的联盟成员(这里就具体共享组成员而定)共享的隐私数据。
例如,联盟成员1设置隐私数据A的共享组成员包括联盟成员2和联盟成员3时,则联盟成员2返回确认消息之后,则区块链服务器可以基于联盟成员2返回的确认消息更新智能合约的设置,即智能合约中目标数据集的共享组的成员设置,比如在初始时,智能合约中目标数据集的共享组的成员设置中联盟成员2的状态为未确认状态,收到确认消息之后,则可以更新为已确认状态,联盟成员3亦如此,因此不再赘述。
其中,对于目标数据集的共享组的成员设置的更新实质上也是一次上链过程,即区块链服务器可以根据基于确认消息中携带的锚节点信息以及指示信息生成区块,并将生成的区块更新至目标通道的状态数据库中。
步骤1207:区块链服务器获取共享组中的联盟成员发起的涉及目标数据集的提案。
图12中具体以联盟成员1发起提案为例。
在实际应用中,涉及到目标数据集的数据处理并不仅限于提案处理,还可以包括其他可能的数据处理,例如锚节点之间的数据同步以及数据通信等等,本申请实施例对此不做限制。
步骤1208:区块链服务器将提案中涉及目标数据集的部分提交给共享组中的联盟成员的锚节点进行处理。
在智能合约生效的期限内,使用该智能合约的各联盟成员可以通过客户端就该智能合约发起提案,相应的,区块链服务器可以接收到联盟成员发起的提案。其中,这里以目标数据集为例,目标数据集的共享组内的联盟成员则可以发起涉及到目标数据集的提案,由于仅位于共享组中的联盟成员的锚节点才能够处理目标数据集涉及的数据,因此,区块链服务器则会将该提案中涉及目标数据集的部分提交给共享组中的联盟成员的锚节点进行处理。
示例性的,当目标数据集为隐私数据集A时,联盟成员1设置了隐私数据集A的共享组成员包括联盟成员1、联盟成员2和联盟成员3,其中,联盟成员1和联盟成员2可以位于channel 1,而联盟成员3可以位于channel 2。那么当联盟成员1发起的提案涉及隐私数据集A时,那么区块链服务器则会将提案中涉及目标数据集的部分提交给联盟成员1、联盟成员2和联盟成员3的锚节点进行处理。可见,即使联盟成员3可以位于channel 2,对于channel 1内的联盟成员1发起的提案的数据,联盟成员3依然可以获取到,从而提供一种数据的跨通道打通,实现了数据的跨通道访问。
本申请实施例中,在智能合约部署之后,还可以对合约进行升级。例如channel 1内的联盟成员1需要与channel 3内的联盟成员4进行转账交易,转账交易涉及隐私数据集A的隐私数据,那么联盟成员1则可以对隐私数据集A所在的智能合约进行升级,将联盟成员4加入到隐私数据集A的共享组中。如图15所示,为联盟成员1邀请联盟成员4加入到隐私数据集A的共享组的流程示意图。
步骤1501:联盟成员1向区块链服务器发起合约升级请求。
具体的,联盟成员1可以合约管理界面中对合约进行升级操作,并输入或者上传升级后的合约,并进行确认升级操作,相应的,客户端则会向区块链服务器发起合约升级请求。其中,合约升级内容具体为对隐私数据集A的属性设置进行了修改,将联盟成员4加入到隐私数据集A的共享组中。
步骤1502:区块链服务器向联盟成员1返回合约升级响应。
响应于合约升级请求,区块链服务器可以对智能合约进行升级,并向联盟成员1返回合约升级响应,以通知联盟成员1合约升级情况。
步骤1503:区块链服务器向联盟成员4发送数据集共享请求。
对于共享组中的原有成员,已经发送过数据集共享请求,因此可以仅向新增加的联盟成员4发送数据集共享请求。
步骤1504:联盟成员4进行锚节点的设置。
在联盟成员4未设置锚节点时,则会引导联盟成员4进行锚节点的设置,并提示联盟成员4确认是否加入共享组;若是联盟成员4已设置锚节点,则联盟成员4可以直接确认是否加入共享组。
步骤1505:受邀联盟成员向区块链服务器返回确认消息。
联盟成员4同意加入共享组之后,则客户端向区块链服务器返回确认消息。
步骤1506:区块链服务器根据确认消息更新隐私数据集A的属性设置。
区块链服务器获取确认消息之后,则会根据确认消息更新隐私数据集A的属性设置,将隐私数据集A的属性标记为联盟成员4的锚节点可见的隐私数据。
步骤1507:区块链服务器获取联盟成员1发起的转账交易请求。
其中,该转账交易请求为联盟成员1向联盟成员4转账的交易请求,涉及隐私数据集A的数据。
步骤1508:区块链服务器将转账交易请求提交给共享组中的联盟成员的锚节点进行处理。
对于该转账交易请求,区块链服务器则会提交给联盟成员1和联盟成员4的锚节点进行处理,当然,共享组中包括其他联盟成员时,也可以发送给其他联盟成员的锚节点进行处理。或者,联盟成员1向联盟成员4转账时,可以提交给联盟成员1的锚节点进行记账,再将记账结果同步给联盟成员4的锚节点;或者,可以提交给联盟成员1的锚节点进行记账,联盟成员1的锚节点可以将转账数据发送给联盟成员4的锚节点进行记账。
也就是说,对于设置了共享组的目标数据集,只能通过锚节点进行数据的处理,比如数据传递以及数据存储等处理,从而使得非锚节点与目标数据集隔离,所请求隐私数据交易信息会标记范围内通道与组织,那么进行跨通道的数据交互也能够保证仅能够通过锚节点进行通信,最终实现隐私数据跨通道可信互访。
请参见图16,基于同一发明构思,本申请实施例还提供了一种基于区块链的数据处理装置160,应用于区块链***包括的区块链服务器中,区块链***包括各联盟成员的客户端以及区块链服务器,该装置包括:
发送单元1601,用于根据在目标通道上部署的智能合约中对目标数据集的共享组的成员设置,向共享组中受邀联盟成员发送数据集共享请求,以请求受邀联盟成员加入目标数据集的共享组;其中,仅位于共享组中的联盟成员的锚节点能够处理目标数据集涉及的数据;
更新单元1602,用于根据受邀联盟成员返回的确认消息中携带的锚节点信息以及指示确认加入共享组的指示信息,更新智能合约中对目标数据集的共享组的成员设置;
提案分发单元1603,用于在获取到共享组中的联盟成员针对智能合约发起的提案时,将提案中涉及目标数据集的部分提交给共享组中的联盟成员的锚节点进行处理。
可选的,装置还包括设置单元1604;
发送单元1601,还用于在确定受邀联盟成员未设置锚节点时,向受邀联盟成员发送锚节点设置提示消息,以提示受邀联盟成员进行锚节点的设置;其中,未设置锚节点的联盟成员无法加入目标数据集的共享组;
设置单元1604,用于根据受邀联盟成员发送的锚节点设置请求,将锚节点设置请求指示的目标节点设置为受邀联盟成员的锚节点。
可选的,更新单元1602,用于:
基于锚节点信息以及指示信息生成区块,并将生成的区块更新至目标通道的状态数据库中。
可选的,
发送单元1601,还用于在获取到邀请联盟成员加入目标区块链网络的第一邀请请求时,向受邀联盟成员转发第一邀请请求,以请求受邀联盟成员加入目标区块链网络;
更新单元1602,还用于在确定受邀联盟成员确认加入目标区块链网络时,更新目标区块链网络包括的联盟成员信息。
可选的,装置还包括创建单元1605;
创建单元1605,用于在获取到在目标区块链网络中创建目标通道的通道创建请求时,根据通道创建请求中携带的通道配置信息创建目标通道;其中,通道配置信息包括受邀联盟成员在加入目标通道时需满足的投票通过率;
发送单元1601,还用于获取到邀请联盟成员加入目标通道的第二邀请请求时,向受邀联盟成员转发第二邀请请求,以请求受邀联盟成员加入目标通道;以及在确定受邀联盟成员确认加入目标通道时,向已加入目标通道中的联盟成员发起投票;以及基于各联盟成员的投票结果确定受邀联盟组织的支持率大于或者等于投票通过率时,通知被投票的受邀联盟成员加入目标通道成功。
可选的,
发送单元1601,还用于在获取到请求修改投票通过率的修改请求时,向已加入目标通道中的联盟成员发起投票;
更新单元1602,还用于基于各联盟成员的投票结果确定修改投票通过率的支持率大于或者等于修改前的投票通过率时,则根据修改请求对投票通过率的值进行修改;或者,基于各联盟成员的投票结果确定修改投票通过率的支持率小于修改前的投票通过率时,驳回修改请求。
可选的,更新单元1602,还用于根据获取的信息生成区块,并将生成的区块更新至目标通道的状态数据库中;
其中,获取的信息包括如下信息中的至少一种:
通道创建请求携带的信息;
第一邀请请求携带的信息;
第二邀请请求携带的信息;
各联盟成员的投票结果。
该装置可以用于执行图4~图15所示的实施例中区块链服务器侧涉及的方法,因此,对于该装置的各功能模块所能够实现的功能等可参考图4~图15所示的实施例的描述,不多赘述。其中,设置单元1604和创建单元1605并非必选的功能单元,因此在图16中以虚线示出。
请参见图17,基于同一发明构思,本申请实施例还提供了提供一种基于区块链的数据处理装置170,应用于区块链***包括的客户端中,区块链***包括各联盟成员的客户端以及区块链服务器,装置包括:
提示单元1701,用于响应于在目标通道上部署的智能合约触发的数据集共享请求,提示受邀联盟成员是否加入目标数据集的共享组;其中,智能合约包括目标数据集的共享组的成员设置,且仅位于共享组中的联盟成员的锚节点能够处理目标数据集涉及的数据;
发送单元1702,用于根据受邀联盟成员的确认操作,向区块链服务器返回确认消息,确认消息携带受邀联盟成员的锚节点信息以及指示确认加入共享组的指示信息,以使得区块链服务器基于确认消息更新智能合约中对目标数据集的共享组的成员设置,并在获取到共享组中的联盟成员针对智能合约发起的提案时,将提案中涉及目标数据集的部分提交给共享组中的联盟成员的锚节点进行处理。
可选的,
提示单元1701,还用于在确认受邀联盟成员未设置锚节点时,提示受邀联盟成员进行锚节点的设置;
发送单元1702,还用于基于受邀联盟成员进行的节点选择操作选中的目标节点,向区块链服务器发送锚节点设置请求,以请求将目标节点设置为受邀联盟成员的锚节点。
该装置可以用于执行图4~图15所示的实施例中终端设备(或者客户端)侧涉及的方法,因此,对于该装置的各功能模块所能够实现的功能等可参考图4~图15所示的实施例的描述,不多赘述。
请参见图18,基于同一技术构思,本申请实施例还提供了一种计算机设备180,可以包括存储器1801和处理器1802。
所述存储器1801,用于存储处理器1802执行的计算机程序。存储器1801可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据计算机设备的使用所创建的数据等。处理器1802,可以是一个中央处理单元(central processing unit,CPU),或者为数字处理单元等等。本申请实施例中不限定上述存储器1801和处理器1802之间的具体连接介质。本申请实施例在图18中以存储器1801和处理器1802之间通过总线1803连接,总线1803在图18中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线1803可以分为地址总线、数据总线、控制总线等。为便于表示,图18中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1801可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1801也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器1801是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1801可以是上述存储器的组合。
处理器1802,用于调用所述存储器1801中存储的计算机程序时执行如图4~图15中所示的实施例中区块链服务器侧或者客户端侧涉及的方法。
在一些可能的实施方式中,本申请提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行如图4~图15中所示的实施例中区块链服务器侧或者客户端侧涉及的方法。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (13)
1.一种基于区块链的数据处理方法,其特征在于,应用于区块链***包括的区块链服务器中,所述区块链***包括各联盟成员的客户端以及区块链服务器,所述方法包括:
根据在目标通道上部署的智能合约中对目标数据集的共享组的成员设置,向所述共享组中受邀联盟成员发送数据集共享请求,以请求受邀联盟成员加入所述目标数据集的共享组;其中,所述受邀联盟成员包括未加入所述目标通道的联盟成员,且仅位于所述共享组中的联盟成员的锚节点能够处理所述目标数据集涉及的数据;
根据受邀联盟成员返回的确认消息中携带的锚节点信息以及指示确认加入所述共享组的指示信息,更新所述智能合约中对所述目标数据集的共享组的成员设置;
在获取到所述共享组中的联盟成员针对所述智能合约发起的提案时,将所述提案中涉及所述目标数据集的部分提交给所述共享组中的联盟成员的锚节点进行处理。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
在确定受邀联盟成员未设置锚节点时,向受邀联盟成员发送锚节点设置请求,以请求受邀联盟成员进行锚节点的设置;其中,未设置锚节点的联盟成员无法加入所述目标数据集的共享组;
根据受邀联盟成员发送的锚节点设置请求,将所述锚节点设置请求指示的目标节点设置为受邀联盟成员的锚节点。
3.如权利要求1所述的方法,其特征在于,所述根据受邀联盟成员返回的确认消息中携带的锚节点信息以及指示确认加入所述共享组的指示信息,更新所述智能合约中对所述目标数据集的共享组的成员设置,包括:
基于所述锚节点信息以及所述指示信息生成区块,并将生成的区块更新至所述目标通道的状态数据库中。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
在获取到邀请联盟成员加入目标区块链网络的第一邀请请求时,向受邀联盟成员转发所述第一邀请请求,以请求受邀联盟成员加入所述目标区块链网络;
在确定受邀联盟成员确认加入所述目标区块链网络时,更新所述目标区块链网络包括的联盟成员信息。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
在获取到在所述目标区块链网络中创建目标通道的通道创建请求时,根据所述通道创建请求中携带的通道配置信息创建目标通道;其中,所述通道配置信息包括受邀联盟成员在加入所述目标通道时需满足的投票通过率;
获取到邀请联盟成员加入所述目标通道的第二邀请请求时,向受邀联盟成员转发所述第二邀请请求,以请求受邀联盟成员加入目标通道;
在确定受邀联盟成员确认加入所述目标通道时,向已加入所述目标通道中的联盟成员发起投票;
基于各联盟成员的投票结果确定受邀联盟组织的支持率大于或者等于所述投票通过率时,通知被投票的受邀联盟成员加入所述目标通道成功。
6.如权利要求5所述的方法,其特征在于,在所述根据所述通道创建请求中携带的通道配置信息创建目标通道之后,所述方法还包括:
在获取到请求修改所述投票通过率的修改请求时,向已加入所述目标通道中的联盟成员发起投票;
基于各联盟成员的投票结果确定修改投票通过率的支持率大于或者等于修改前的投票通过率时,则根据所述修改请求对投票通过率的值进行修改;或者,
基于各联盟成员的投票结果确定修改投票通过率的支持率小于修改前的投票通过率时,驳回所述修改请求。
7.如权利要求5或6所述的方法,其特征在于,所述方法还包括:
根据获取的信息生成区块,并将生成的区块更新至所述目标通道的状态数据库中;
其中,所述获取的信息包括如下信息中的至少一种:
所述通道创建请求携带的信息;
所述第一邀请请求携带的信息;
所述第二邀请请求携带的信息;
各联盟成员的投票结果。
8.一种基于区块链的数据处理方法,其特征在于,应用于区块链***包括的客户端中,所述区块链***包括各联盟成员的客户端以及区块链服务器,所述方法包括:
响应于在目标通道上部署的智能合约触发的数据集共享请求,提示受邀联盟成员是否加入目标数据集的共享组;其中,所述受邀联盟成员为未加入所述目标通道的联盟成员,所述智能合约包括所述目标数据集的共享组的成员设置,且仅位于所述共享组中的联盟成员的锚节点能够处理所述目标数据集涉及的数据;
根据受邀联盟成员的确认操作,向所述区块链服务器返回确认消息,所述确认消息携带受邀联盟成员的锚节点信息以及指示确认加入所述共享组的指示信息,以使得所述区块链服务器基于所述确认消息更新所述智能合约中对所述目标数据集的共享组的成员设置,并在获取到所述共享组中的联盟成员针对所述智能合约发起的提案时,将所述提案中涉及所述目标数据集的部分提交给所述共享组中的联盟成员的锚节点进行处理。
9.如权利要求8所述的方法,其特征在于,所述方法还包括:
在确认受邀联盟成员未设置锚节点时,提示受邀联盟成员进行锚节点的设置;
基于受邀联盟成员进行的节点选择操作选中的目标节点,向所述区块链服务器发送锚节点设置请求,以请求将所述目标节点设置为受邀联盟成员的锚节点。
10.一种基于区块链的数据处理装置,其特征在于,应用于区块链***包括的区块链服务器中,所述区块链***包括各联盟成员的客户端以及区块链服务器,所述装置包括:
发送单元,用于根据在目标通道上部署的智能合约中对目标数据集的共享组的成员设置,向所述共享组中受邀联盟成员发送数据集共享请求,以请求受邀联盟成员加入所述目标数据集的共享组;其中,所述受邀联盟成员包括未加入所述目标通道的联盟成员,且仅位于所述共享组中的联盟成员的锚节点能够处理所述目标数据集涉及的数据;
更新单元,用于根据受邀联盟成员返回的确认消息中携带的锚节点信息以及指示确认加入所述共享组的指示信息,更新所述智能合约中对所述目标数据集的共享组的成员设置;
提案分发单元,用于在获取到所述共享组中的联盟成员针对所述智能合约发起的提案时,将所述提案中涉及所述目标数据集的部分提交给所述共享组中的联盟成员的锚节点进行处理。
11.一种基于区块链的数据处理装置,其特征在于,应用于区块链***包括的客户端中,所述区块链***包括各联盟成员的客户端以及区块链服务器,所述装置包括:
提示单元,用于响应于在目标通道上部署的智能合约触发的数据集共享请求,提示受邀联盟成员是否加入目标数据集的共享组;其中,所述受邀联盟成员为未加入所述目标通道的联盟成员,所述智能合约包括所述目标数据集的共享组的成员设置,且仅位于所述共享组中的联盟成员的锚节点能够处理所述目标数据集涉及的数据;
发送单元,用于根据受邀联盟成员的确认操作,向所述区块链服务器返回确认消息,所述确认消息携带受邀联盟成员的锚节点信息以及指示确认加入所述共享组的指示信息,以使得所述区块链服务器基于所述确认消息更新所述智能合约中对所述目标数据集的共享组的成员设置,并在获取到所述共享组中的联盟成员针对所述智能合约发起的提案时,将所述提案中涉及所述目标数据集的部分提交给所述共享组中的联盟成员的锚节点进行处理。
12.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,
所述处理器执行所述程序时实现如权利要求1~7或者8~9任一所述的方法。
13.一种计算机可读存储介质,其特征在于,存储有处理器可执行指令,
所述处理器可执行指令被处理器执行时用于实现如权利要求1~7或者8~9任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910919054.0A CN110599181B (zh) | 2019-09-26 | 2019-09-26 | 基于区块链的数据处理方法、装置和设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910919054.0A CN110599181B (zh) | 2019-09-26 | 2019-09-26 | 基于区块链的数据处理方法、装置和设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110599181A CN110599181A (zh) | 2019-12-20 |
CN110599181B true CN110599181B (zh) | 2021-05-11 |
Family
ID=68864007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910919054.0A Active CN110599181B (zh) | 2019-09-26 | 2019-09-26 | 基于区块链的数据处理方法、装置和设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110599181B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111010450B (zh) * | 2019-12-25 | 2022-01-28 | 安徽兆尹信息科技股份有限公司 | 一种用于fisco bcos平台的客户端链上数据下载方法 |
CN111159764A (zh) * | 2019-12-26 | 2020-05-15 | 杭州趣链科技有限公司 | 基于投票选举的链上与链下相结合实现联盟链自治的方法 |
CN111294356B (zh) * | 2020-02-11 | 2022-09-06 | 深圳壹账通智能科技有限公司 | 基于区块链的组织节点上链方法和*** |
CN111478881A (zh) * | 2020-03-04 | 2020-07-31 | 深圳壹账通智能科技有限公司 | 组织与联盟的双向推荐方法、装置、设备及存储介质 |
CN111383017A (zh) * | 2020-03-06 | 2020-07-07 | 中国科学院合肥物质科学研究院 | 一种基于智能合约的锚定方法及基于该方法的商业方法 |
CN111507714B (zh) * | 2020-04-10 | 2021-04-02 | 成都质数斯达克科技有限公司 | 一种验证方法、装置、服务器及存储介质 |
CN111539706A (zh) * | 2020-04-14 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 一种基于联盟链的账单运营方法和*** |
CN111797160B (zh) * | 2020-06-16 | 2023-05-02 | 苏宁金融科技(南京)有限公司 | 共享智能合约的方法、***及电子设备 |
CN113824674B (zh) * | 2020-06-19 | 2023-06-30 | 株式会社理光 | 联盟链式数据结构网络管理方法、管理节点及介质 |
CN111709751B (zh) * | 2020-06-20 | 2023-03-17 | 山西警察学院 | 一种区块链中锚节点的拓展化方法 |
CN111951074A (zh) * | 2020-08-05 | 2020-11-17 | 珠海格力电器股份有限公司 | 基于联盟链的共享设备*** |
CN111949733B (zh) * | 2020-08-21 | 2023-12-22 | 交通银行股份有限公司 | 一种基于区块链的资产证券化管理***及方法 |
CN112383604A (zh) * | 2020-11-06 | 2021-02-19 | 中国石油大学(华东) | 一种基于区块链的军事化应用*** |
CN112910982B (zh) * | 2021-01-27 | 2023-06-16 | 网易(杭州)网络有限公司 | 一种联盟链的节点准入方法、装置、电子设备及存储介质 |
CN113486082B (zh) * | 2021-06-28 | 2023-03-28 | 电子科技大学 | 一种基于区块链的外包数据访问控制*** |
CN113852662B (zh) * | 2021-08-06 | 2023-09-26 | 华数云科技有限公司 | 一种基于联盟链的边缘云分布式存储***及方法 |
CN113938495B (zh) * | 2021-12-17 | 2022-03-18 | 深圳市名竹科技有限公司 | 联盟链搭建方法、装置、计算机设备和存储介质 |
CN114362957B (zh) * | 2021-12-24 | 2023-05-16 | 杭州溪塔科技有限公司 | 使用邀请码的联盟链共建方法和*** |
CN116094720A (zh) * | 2022-11-28 | 2023-05-09 | 中国联合网络通信集团有限公司 | 区块链多平台治理方法、装置、服务器及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108256864A (zh) * | 2018-02-13 | 2018-07-06 | 中链科技有限公司 | 一种区块链之间的跨链联盟的建立及通信方法、*** |
CN109087104A (zh) * | 2018-08-29 | 2018-12-25 | 北京京东尚科信息技术有限公司 | 区块链智能合约管理方法和***、计算机可读存储介质 |
CN109246179A (zh) * | 2018-06-30 | 2019-01-18 | 华为技术有限公司 | 维护区块链的方法和装置、服务器和计算机可读存储介质 |
CN109784882A (zh) * | 2018-12-14 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 联盟链信息发布控制方法及终端设备 |
CN109858259A (zh) * | 2018-12-29 | 2019-06-07 | 中国科学院合肥物质科学研究院 | 基于HyperLedger Fabric的社区健康服务联盟数据保护和共享方法 |
CN109886695A (zh) * | 2019-03-26 | 2019-06-14 | 阿里巴巴集团控股有限公司 | 不同区块链之间的信息共享方法及装置和电子设备 |
CN110060168A (zh) * | 2019-04-18 | 2019-07-26 | 广东粤财金融云科技股份有限公司 | 一种基于联盟链技术进行投标电子保函业务管理***及方法 |
CN110135186A (zh) * | 2019-04-11 | 2019-08-16 | 浙江工业大学 | 基于区块链技术的医疗数据交易与共享方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10924466B2 (en) * | 2017-07-28 | 2021-02-16 | SmartAxiom, Inc. | System and method for IOT security |
US10958628B2 (en) * | 2017-12-18 | 2021-03-23 | International Business Machines Corporation | Protecting sensitive data in a distributed ledger system using a blockchain channel hierarchy |
US10896418B2 (en) * | 2017-12-29 | 2021-01-19 | Ebay Inc. | Secure management of data files using a blockchain |
KR101925147B1 (ko) * | 2018-03-30 | 2018-12-04 | 옥타코 주식회사 | 생체인증형 리모콘을 이용한 블록체인 기반의 홈쇼핑 정보처리 시스템 |
CN108632292B (zh) * | 2018-05-16 | 2020-11-17 | 苏宁易购集团股份有限公司 | 基于联盟链的数据共享方法和*** |
CN108717443B (zh) * | 2018-05-17 | 2020-06-05 | 京东数字科技控股有限公司 | 数据共享方法、区块链***和计算机可读存储介质 |
CN109242681B (zh) * | 2018-08-21 | 2020-11-20 | 京东数字科技控股有限公司 | 资产数据的存储方法、装置、设备及*** |
KR102009160B1 (ko) * | 2018-10-19 | 2019-08-09 | 빅픽처랩 주식회사 | 블록체인 기반 정보 트러스트 엔진 시스템 |
CN110266817B (zh) * | 2019-07-15 | 2022-02-25 | 武汉天喻信息产业股份有限公司 | 基于区块链的跨通道数据分享模型、分享方法和装置 |
-
2019
- 2019-09-26 CN CN201910919054.0A patent/CN110599181B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108256864A (zh) * | 2018-02-13 | 2018-07-06 | 中链科技有限公司 | 一种区块链之间的跨链联盟的建立及通信方法、*** |
CN109246179A (zh) * | 2018-06-30 | 2019-01-18 | 华为技术有限公司 | 维护区块链的方法和装置、服务器和计算机可读存储介质 |
CN109087104A (zh) * | 2018-08-29 | 2018-12-25 | 北京京东尚科信息技术有限公司 | 区块链智能合约管理方法和***、计算机可读存储介质 |
CN109784882A (zh) * | 2018-12-14 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 联盟链信息发布控制方法及终端设备 |
CN109858259A (zh) * | 2018-12-29 | 2019-06-07 | 中国科学院合肥物质科学研究院 | 基于HyperLedger Fabric的社区健康服务联盟数据保护和共享方法 |
CN109886695A (zh) * | 2019-03-26 | 2019-06-14 | 阿里巴巴集团控股有限公司 | 不同区块链之间的信息共享方法及装置和电子设备 |
CN110135186A (zh) * | 2019-04-11 | 2019-08-16 | 浙江工业大学 | 基于区块链技术的医疗数据交易与共享方法 |
CN110060168A (zh) * | 2019-04-18 | 2019-07-26 | 广东粤财金融云科技股份有限公司 | 一种基于联盟链技术进行投标电子保函业务管理***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110599181A (zh) | 2019-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110599181B (zh) | 基于区块链的数据处理方法、装置和设备及存储介质 | |
CN106485167B (zh) | 基于区块链的信用记录***及方法 | |
US11223474B2 (en) | Digital asset management | |
CN108961030A (zh) | 关于电子票据的数据处理方法、装置、***、介质和设备 | |
US11790363B2 (en) | Cryptocurrency storage distribution | |
US20190164150A1 (en) | Using Blockchain Ledger for Selectively Allocating Transactions to User Accounts | |
CN114445010B (zh) | 一种基于区块链的多式联运***和方法 | |
US20220156837A1 (en) | Distributed ledger implementation for entity formation and monitoring system | |
AU2019380381A1 (en) | Smart logistics management using blockchain | |
CN110599348B (zh) | 股权激励的方法、装置、设备及存储介质 | |
CN110728494A (zh) | 不动产业务的办理方法、不动产权信息***及装置 | |
CN114363327A (zh) | 区块链网络中的合规机制 | |
CN111402033A (zh) | 基于区块链的资产信息管理方法和装置 | |
CN111507851A (zh) | 基于区块链的医保理赔处理方法、装置、***和存储介质 | |
CN114219342A (zh) | 一种基于非同质化通证的碳资产管理方法及装置 | |
Dash et al. | Artificial intelligence models for blockchain-based intelligent networks systems: Concepts, methodologies, tools, and applications | |
Mansoor et al. | A review of blockchain approaches for kyc | |
WALES | Using blockchain to enable untrusted business process monitoring and execution | |
CN113469852A (zh) | 区块链捐赠平台 | |
WO2019106768A1 (ja) | 保険システム及び保険方法 | |
CN110727735B (zh) | 基于区块链技术协作完成任务事件的方法、装置及设备 | |
CN113037827A (zh) | 基于区块链的投票方法、自组织管理方法及计算机设备 | |
CN114981773A (zh) | 无冲突版本控制 | |
CN112884374A (zh) | 基于区块链的数据处理方法以及分布式的数据处理*** | |
Lisi et al. | Automated responsible disclosure of security vulnerabilities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40015567 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |