CN113591122B - 区块链上事务的处理方法、装置、存储介质及服务器 - Google Patents
区块链上事务的处理方法、装置、存储介质及服务器 Download PDFInfo
- Publication number
- CN113591122B CN113591122B CN202110920081.7A CN202110920081A CN113591122B CN 113591122 B CN113591122 B CN 113591122B CN 202110920081 A CN202110920081 A CN 202110920081A CN 113591122 B CN113591122 B CN 113591122B
- Authority
- CN
- China
- Prior art keywords
- transaction
- instruction
- verification
- approval
- server
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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
-
- 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
-
- 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)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开了一种区块链上事务的处理方法、装置、存储介质及服务器,其中,所述方法包括:服务器接收指令并判断指令类型,若是事务创建指令且信息验证通过,则创建事务并针对所创建的事务生成事务唯一标识码,将事务唯一标识码返回给触发事务创建指令的客户端,记录事务唯一标识码并生成事务待推送数据;若是事务查询指令且信息验证通过,则将事务查询结果下发给触发事务查询指令的客户端;若是事务审批指令且信息验证通过,则判断当前审批通过结果是否满足智能合约预设的多方审批方式,若是,处理事务。采用本申请提供的方法,当所发起的事务累计获得的审批数量满足预设的多方审批方式后,事务才能被处理,安全性得到提升。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种区块链上事务的处理方法、装置、存储介质及服务器。
背景技术
区块链技术是基于密码学与数学形成的一种分布式算法。区块链中对于单签事务,只需指定单方签名验证通过,事务便可执行,该审批方式存在的弊端是:由指定的一方执行签名事务,安全性较差。
发明内容
本申请实施例提供了一种区块链上事务的处理方法及装置,所述方法能够解决由指定的一方执行签名事务,安全性较差的问题。所述技术方案如下:
第一方面,本申请实施例提供了一种区块链上事务的处理方法,所述方法包括:
步骤S1:服务器接收指令;
步骤S2:所述服务器判断指令类型,若是事务创建指令,则执行步骤S3,若是事务查询指令,则执行步骤S6,若是事务审批指令,则执行步骤S8;
步骤S3:所述服务器对所述事务创建指令进行信息验证,若验证通过,则执行步骤S4,否则,执行步骤S11;
步骤S4:所述服务器创建事务,并针对所创建的事务生成事务唯一标识码,将所述事务唯一标识码返回给触发所述事务创建指令的客户端;
步骤S5:所述服务器记录所述事务唯一标识码,并生成事务待推送数据,执行步骤S12;
步骤S6:所述服务器对所述事务查询指令进行信息验证,若验证通过,则执行步骤S7,否则,执行步骤S11;
步骤S7:所述服务器将事务查询结果下发给触发所述事务查询指令的客户端并执行步骤S12;
步骤S8:所述服务器对所述事务审批指令进行信息验证,若验证通过,则执行步骤S9,否则,执行步骤S11;
步骤S9:所述服务器判断当前审批通过结果是否满足智能合约预设的多方审批方式,若是,则执行步骤S10,否则,执行步骤S11;
步骤S10:处理事务并执行步骤S12;
步骤S11:记录日志并执行步骤S12;
步骤S12:所述服务器将事务的指令信息同步给同一区块链上的其他服务器并返回步骤S1。
第二方面,本申请实施例提供了一种区块链上事务的处理装置,所述装置包括:
指令接收模块,用于接收指令;
指令判断模块,用于判断指令类型,若是事务创建指令,则触发创建指令验证模块,若是事务查询指令,则触发事务查询指令验证模块,若是事务审批指令,则触发审批指令验证模块;
创建指令验证模块,用于对所述事务创建指令进行信息验证,若验证通过,则触发事务创建模块,否则,触发日志记录模块;
事务创建模块,用于创建事务,并针对所创建的事务生成事务唯一标识码,将所述事务唯一标识码返回给触发所述事务创建指令的客户端;
推送数据生成模块,用于记录所述事务唯一标识码,并生成事务待推送数据,触发信息同步模块;
事务查询指令验证模块,用于对所述事务查询指令进行信息验证,若验证通过,则触发事务结果下发模块,否则,触发日志记录模块;
事务查询结果下发模块,用于将事务查询结果下发给触发所述事务查询指令的客户端并触发信息同步模块;
审批指令验证模块,用于对所述事务审批指令进行信息验证,若验证通过,则触发审批判断模块,否则,触发日志记录模块;
审批判断模块,用于判断当前审批通过结果是否满足智能合约预设的多方审批方式,若是,则触发事务处理模块,否则,触发日志记录模块;
事务处理模块,用于处理事务并触发信息同步模块;
日志记录模块,用于记录日志并触发信息同步模块;
信息同步模块,用于将事务的指令信息同步给同一区块链上的其他服务器并触发指令接收模块。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项方法的步骤。
第四方面,本申请实施例提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项方法的步骤。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
提供了一种区块链上事务的处理方法,区块链上的智能合约规定了当所发起的事务累计获得的审批数量满足预设的多方审批方式后,事务才能被执行,该方法避免了现有技术中事务由指定的单方授权安全性不足的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种区块链上事务的处理方法的流程示意图;
图2是本申请实施例提供的一种区块链上事务的处理方法的流程示意图;
图3是本申请实施例提供的一种区块链上事务的处理装置结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
下面将结合附图1-附图2,对本申请实施例提供的区块链上事务的处理方法进行详细介绍。
请参见图1,为本申请实施例提供的一种区块链上事务的处理方法的流程示意图。
如图1所示,本申请实施例的所述方法可以包括以下步骤:
步骤S1:服务器接收指令。
智能合约是一项能够在区块链环境中自动谈判、履行和执行协议条款的技术,事务能否处理取决于合约中规定的审批方式,当条件满足时,合约将自动执行。智能合约运行于节点上,节点运行于服务器上。
不同事务拥有不同的网络架构,本申请提供的实施例是针对单签事务提出的。对于不具备多签条件的事务,采用本实施例,事务将在多方共同审批智能合约之后才能被处理,多个拥有者共同监管同一事务,提高了事务处理的安全性。
步骤S2:服务器判断指令类型,若是事务创建指令,则执行步骤S3,若是事务查询指令,则执行步骤S6,若是事务审批指令,则执行步骤S8。
步骤S3:服务器对事务创建指令进行信息验证,若验证通过,则执行步骤S4,否则,执行步骤S11。
本步骤中的信息验证包括:验证事务创建指令是否由事务拥有者发起、指令广播至服务器时信息是否被篡改、以及事务能否创建成功等。
步骤S4:服务器创建事务,并针对所创建的事务生成事务唯一标识码,将事务唯一标识码返回给触发事务创建指令的客户端。
通过事务唯一标识码,事务创建者可以查询到事务的详细信息及当前审批结果。
步骤S5:服务器记录事务唯一标识码,并生成事务待推送数据,执行步骤S12。
事务待推送数据包含了事务唯一标识码以及待审批事务的一些简要信息。
当事务订阅客户端登录时,服务器将所生成的事务待推送数据下发给该事务订阅客户端,拥有者通过事务待推送数据获得事务唯一标识码,再根据该事务唯一标识码从服务器上查询待审批事务的详细信息(事务的具体内容以及当前审批结果)。
可选实施例中,事务唯一标识码还可以由触发事务创建指令的客户端线下告知给事务订阅客户端。
步骤S6:服务器对事务查询指令进行信息验证,若验证通过,则执行步骤S7,否则,执行步骤S11。
对查询指令的信息验证包括:验证事务查询指令是否由具有审批资格的拥有者发起、指令广播至服务器时信息是否被篡改。当验证通过时,服务器将事务的详细信息以及当前审批结果下发给触发事务查询指令的客户端进行审批确认。
其中,事务的详细信息包括:事务发起人、事务发起时间以及事务接收人等。
步骤S7:服务器将事务查询结果下发给触发事务查询指令的客户端并执行步骤S12。
步骤S8:服务器对事务审批指令进行信息验证,若验证通过,则执行步骤S9,否则,执行步骤S11。
本实施例中所提的事务审批指令均指审批通过。当具备审批资格的拥有者不审批或者拒绝审批创建者发起的事务时,其所在客户端不对服务器作信息反馈。
步骤S9:服务器判断当前审批通过结果是否满足智能合约预设的多方审批方式,若是,则执行步骤S10,否则,执行步骤S11。
实施本实施例之前,智能合约已经过初始化设置。
初始化项目包括:增加具备审批资格的拥有者公钥以及处理事务需要满足的多方审批方式等。
其中,多方审批方式预先设置了多个具备审批资格的拥有者,以实现多方审批智能合约对事务进行处理。
具体的,多方审批方式例如可以是,所加入的多个具备审批资格的拥有者中只要有一个拥有者通过了审批,事务便可执行;或者,多个拥有者中只要存在一方未通过审批时,事务都不可执行,即一票否决制;或者,当审批通过概率达到预设阈值时(例如,多个拥有者中有超一半的人员通过事务审批),事务便可执行;又或者,为防止通过审批的其中一方造假,可以将审批方式设置为当多个拥有者中的至少三方通过审批时,事务才可执行等。
基于所下发的查询结果,订阅事务的拥有者确认通过审批,并将审批结果反馈给服务器,服务器调用合约中的审批方式对当前审批通过结果进行判断。其中,当前审批通过结果是指截止当前时刻累计已通过审批的人员数量。
步骤S10:处理事务并执行步骤S12。
更进一步地,服务器可以将事务处理结果同步给所有相关审批人员。
多方审批智能合约对事务进行处理,当存入该智能合约中的资源在进行相关事务时,需经过具备审批资格的多个拥有者中的至少一方签名事务才能被处理,该方式提高了事务处理的可靠性。
步骤S11:记录日志并执行步骤S12。
上述过程中,当事务创建指令/查询指令/审批指令由不具有审批资格的拥有者发起、事务创建指令/查询指令/审批指令在广播过程中信息被篡改、事务创建失败以及当前审批通过结果未能满足智能合约预设的多方审批方式时,服务器均会对所述情况一一进行记录,方便后续溯源。
步骤S12:服务器将事务的指令信息同步给同一区块链上的其他服务器并返回步骤S1。
同一区块链中各服务器上的信息保持同步。当其中一个服务器上的信息发生改变时,其余服务器也将同步更新。
事务的指令信息是指各个指令流程中生成的所有信息。
本服务器上不同指令产生的所有信息均要同步给同一区块链上的其他服务器。
例如,对于事务创建指令流程,需要向其他服务器同步的信息包括:事务创建指令的信息验证过程与验证结果、事务的创建、唯一标识码的生成/下发/记录、事务待推送数据的生成。
此外,当各个指令的信息验证不成功时,本服务器也会将验证不通过的过程与结果同步给同一区块链上的其他服务器。
本申请实施例提供的区块链上事务的处理方法,区块链上的智能合约规定了当所发起的事务累计获得的审批数量满足预设的多方审批方式后,事务才能被执行,该方法避免了现有技术中事务由指定的单方授权安全性不足的问题。
请参见图2,为本申请实施例提供的一种区块链上事务的处理方法的流程示意图。
如图2所示,本申请实施例的所述方法可以包括以下步骤:
步骤S1:服务器接收指令。
步骤S2:服务器判断指令类型,若是智能合约创建指令,则执行步骤Sa1,若是初始化设置指令,则执行步骤Sb11,若是事务创建指令,则执行步骤S31,若是事务订阅客户端触发的登录指令,则执行步骤Sq1,若是事务查询指令,则执行步骤S61,若是事务审批指令,则执行步骤S81。
步骤Sa1:服务器通过智能合约创建指令的签名数据计算出触发智能合约创建指令的拥有者公钥,基于触发智能合约创建指令的拥有者公钥对智能合约创建指令进行签名验证,若验证通过,则执行步骤Sa2,否则,返回步骤S1。
步骤Sa2:服务器创建智能合约,并生成智能合约地址。
步骤Sa3:服务器将所生成的智能合约地址下发给触发智能合约创建指令的客户端,并执行步骤S12。
假设拥有者0xc8418e75c5e0c18c36c11eaec44d2bf68da60375要创建智能合约,签名事务如下:
其中:
"from":"0xc8418e75c5e0c18c36c11eaec44d2bf68da60375",表示事务发起者的地址/公钥为0xc8418e75c5e0c18c36c11eaec44d2bf68da60375;
"gas":8000000,表示事务发起者提供的gas为8000000;
"gasPrice":"1000000000",表示事务发起者配置的gas价格为1000000000;
"hash":"0x1e322fdc3ef7102bf27c9192b00d463b5af25be2449b2d66c7feb78ccb4e6508",表示事务的哈希值为0x1e322fdc3ef7102bf27c9192b00d463b5af25be2449b2d66c7feb78ccb4e6508;
"input":"0x60806040523480156200001157600080fd5b5060405162001fc438038062001fc4833981810160405260408110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82518660208202830111640100000000821117156200008c57600080fd5b82525081516020918201928201910280838360005b83811015620000bb578181015183820152602001620000a1565b505050509190910160405250602001518351909250905081600f8211801590620000e55750818111155b8015620000f157508015155b8015620000fd57508115155b6200013a5760405162461bcd60e51b815260040180806020018281038252603681526020018062001f8e6036913960400191505060405180910390fd5b600680546001600160a01b0319163317905560005b84518110156200026657600260008683815181106200016a57fe5b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff16158015620001c6575060006001600160a01b0316858281518110620001b257fe5b60200260200101516001600160a01b031614155b62000218576040805162461bcd60e51b815260206004820152601c60248201527f4f776e657273206164647265737365732061726520696e76616c696400000000604482015290519081900360640190fd5b6001600260008784815181106200022b57fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790556001016200014f565b5083516200027c90600390602087019062000289565b505050600455506200031d565b828054828255906000526020600020908101928215620002e1579160200282015b82811115620002e157825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620002aa565b50620002ef929150620002f3565b5090565b6200031a91905b80821115620002ef5780546001600160a01b0319168155600101620002fa565b90565b611c61806200032d6000396000f3fe6080604052600436106101405760003560e01c8063a0e67e2b116100b6578063c64274741161006f578063c642747414610589578063d74f8edd14610651578063d7aa827314610666578063dc8452cd146106b3578063e20056e6146106c8578063ee22610b1461070357610140565b8063a0e67e2b14610451578063a8abe69a146104b6578063b5dc40c3146104f6578063b77bf60014610520578063ba51a6df14610535578063c01a8c841461055f57610140565b8063547415251161010857806354741525146102a25780637065cb48146102e8578063784547a71461031b5780638b51d13f146103455780638da5cb5b1461036f5780639ace38c21461038457610140565b8063025e7c271461017f578063173825d9146101c557806320ea8d86146101f85780632f54bf6e146102225780633411c81c14610269575b341561017d5760408051348152905133917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a25b005b34801561018b57600080fd5b506101a9600480360360208110156101a257600080fd5b503561072d565b604080516001600160a01b039092168252519081900360200190f35b3480156101d157600080fd5b5061017d600480360360208110156101e857600080fd5b50356001600160a01b0316610754565b34801561020457600080fd5b5061017d6004803603602081101561021b57600080fd5b503561093f565b34801561022e57600080fd5b506102556004803603602081101561024557600080fd5b50356001600160a01b0316610aa5565b604080519115158252519081900360200190f35b34801561027557600080fd5b506102556004803603604081101561028c57600080fd5b50803590602001356001600160a01b0316610aba565b3480156102ae57600080fd5b506102d6600480360360408110156102c557600080fd5b508035151590602001351515610ada565b60408051918252519081900360200190f35b3480156102f457600080fd5b5061017d6004803603602081101561030b57600080fd5b50356001600160a01b0316610b46565b34801561032757600080fd5b506102556004803603602081101561033e57600080fd5b5035610d5a565b34801561035157600080fd5b506102d66004803603602081101561036857600080fd5b5035610de1565b34801561037b57600080fd5b506101a9610e50565b34801561039057600080fd5b506103ae600480360360208110156103a757600080fd5b5035610e5f565b60405180856001600160a01b03166001600160a01b031681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b838110156104135781810151838201526020016103fb565b50505050905090810190601f1680156104405780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561045d57600080fd5b50610466610f1d565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104a257818101518382015260200161048a565b505050509050019250505060405180910390f35b3480156104c257600080fd5b50610466600480360360808110156104d957600080fd5b508035906020810135906040810135151590606001351515610f80565b34801561050257600080fd5b506104666004803603602081101561051957600080fd5b50356110ab565b34801561052c57600080fd5b506102d6611222565b34801561054157600080fd5b5061017d6004803603602081101561055857600080fd5b5035611228565b34801561056b57600080fd5b5061017d6004803603602081101561058257600080fd5b5035611320565b34801561059557600080fd5b506102d6600480360360608110156105ac57600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156105dc57600080fd5b8201836020820111156105ee57600080fd5b803590602001918460018302840111640100000000831117156106…",表示事务附带的数据;
"nonce":0,表示事务的发起者在之前进行过的事务数量;
"to":null,表示事务接收者的地址;
"value":"0",表示事务附带的资源值。
"r"、"s"、"v"均表示事务的签名数据,基于"r"、"s"、"v"可计算出公钥。
可能的实施例中,对于初始化设置指令,服务器执行以下步骤:
步骤Sb1:服务器对初始化设置指令进行信息验证,若验证通过,则执行步骤Sb2,否则,执行步骤S11。
步骤Sb2:服务器基于初始化设置指令对所创建的智能合约进行初始化设置,执行步骤S12。
特别指出的是,服务器执行各指令与创建智能合约在顺序上无先后关系,服务器基于某一智能合约执行指令时,同时可参与其他智能合约的创建/初始化设置,即,同一服务器上,执行指令与合约创建/初始化过程不构成干扰。
本实施例中,上述步骤Sb1更为具体,包括:
步骤Sb11:服务器接收初始化设置指令,并通过初始化设置指令的签名数据计算出触发初始化设置指令的拥有者公钥,基于触发初始化设置指令的拥有者公钥对初始化设置指令进行签名验证,若验证通过,则执行步骤Sb12,否则,返回步骤S1。
步骤Sb12:服务器根据所获取的智能合约地址查询智能合约信息。
步骤Sb13:服务器基于所查询的智能合约信息,对触发初始化设置指令的拥有者进行身份验证,若验证通过,则执行步骤Sb2,否则,执行步骤S11。
创建者在创建智能合约时,其公钥信息已存入智能合约中的事务拥有者列表中,当服务器接收到客户端发送过来的初始化设置指令时,需进行签名验证以及身份验证。若验签过程中计算出的公钥存在于事务拥有者列表内,则初始化设置可进行,否则,无法对智能合约进行初始化设置。
更进一步,对于智能合约的初始化过程,服务器还可能接收到变更拥有者指令与多方审批方式设置指令。
当所接收的指令为变更拥有者指令时,执行以下步骤:
步骤SW1:服务器接收变更拥有者指令,并通过变更拥有者指令的签名数据计算出触发变更拥有者指令的拥有者公钥,基于触发变更拥有者指令的拥有者公钥对变更拥有者指令进行签名验证,若验证通过,则执行步骤SW2,否则,返回步骤S1。
本申请提供的多方审批方式,对事务进行审批的人员并非固定、一成不变的,而是在多个具有审批资格的人员中,各审批人员可自由选择是否要对事务进行审批。采用本方法,对于事务的审批,多个审批人员之间可以形成不同的组合,审批灵活度更高。
智能合约中的拥有者可根据实际需要做不同调整,对拥有者的变更操作具体包括:增加、删减及替换等。
一些实施例中,本步骤中的变更拥有者指令可被替换为拥有者增加指令、拥有者删减指令或者拥有者替换指令等。
步骤SW2:服务器基于所获取的智能合约地址查询智能合约信息。
步骤SW3:服务器基于所查询的智能合约信息,对触发变更拥有者指令的拥有者进行身份验证,若验证通过,则执行步骤SW4,否则,执行步骤S11。
步骤SW4:服务器对事务拥有者列表中的拥有者进行变更,更新事务拥有者列表并执行步骤S12。
事务拥有者列表例如可以采用如下形式:
进一步地,每变更一次拥有者,创建者(触发智能合约创建指令的拥有者即为创建者)便可查询一次更新后的事务拥有者列表,以确定当前是否已有足够数量的拥有者。当创建者向服务器发送事务拥有者列表查询指令时,执行以下步骤:
步骤SU1:服务器通过事务拥有者列表查询指令的签名数据计算出触发事务拥有者列表查询指令的拥有者公钥,基于触发事务拥有者列表查询指令的拥有者公钥对事务拥有者列表查询指令进行签名验证,若验证通过,则执行步骤SU2,否则,返回步骤S1。
步骤SU2:服务器根据所获取的智能合约地址查询智能合约信息。
步骤SU3:服务器基于所查询的智能合约信息,对触发事务拥有者列表查询指令的拥有者进行身份验证,若验证通过,则执行步骤SU4,否则,执行步骤S11。
步骤SU4:服务器将更新后的事务拥有者列表下发给触发事务拥有者列表查询指令的客户端。
针对所下发的事务拥有者列表,创建者还可能继续变更列表中的拥有者,此时,重复执行步骤SW1至步骤SU4。
步骤SU5:服务器接收针对事务拥有者列表返回的拥有者变更完成指令,结束变更操作,执行步骤S12。
以增加拥有者为例,一种可能的实现方式中,假设对合约进行初始化的拥有者0xc8418e75c5e0c18c36c11eaec44d2bf68da60375要依次添加3个审核人员:
拥有者1:0x1af094282ec4d4e71668d81a17afd47b7657d3e3
拥有者2:0xb530870a393dee9f8d0b15160cffbaf1f50cdebb
拥有者3:0xbd7d54f1f00ac59788a446bd50d09068719a96cb
那么,签名事务如下:
/>
/>
当服务器所接收的指令为多方审批方式设置指令时,执行以下步骤:
步骤SV1:服务器通过多方审批方式设置指令的签名数据计算出触发多方审批方式设置指令的拥有者公钥,基于触发多方审批方式设置指令的拥有者公钥对多方审批方式设置指令进行签名验证,若验证通过,则执行步骤SV2,否则,返回步骤S1。
步骤SV2:服务器根据所获取的智能合约地址查询智能合约信息。
步骤SV3:服务器基于所查询的智能合约信息,对触发多方审批方式设置指令的拥有者进行身份验证,若验证通过,则执行步骤SV4,否则,执行步骤S11。
步骤SV4:基于多方审批方式设置指令,服务器完成对智能合约多方审批方式的预设置,并将合约设置为可用状态,执行步骤S12。
创建者在合约中预设的多方审批方式例如可以是,当5个拥有者全员通过审批时,事务可执行;或者,3个拥有者中只要其中的两方通过审批时,事务便可执行。
假设多方审批方式规定3个拥有者中的两方通过审批,事务才可被处理时,签名事务如下:
{
"from":"0xc8418e75c5e0c18c36c11eaec44d2bf68da60375",
"gas":8000000,
"gasPrice":"1000000000",
"hash":"0x161fa62fd4cd6a04f1bd7c2023de08a44ae27a6075bcd2443721018c9d5d616b",
"input":"0xba51a6df0000000000000000000000000000000000000000000000000000000000000002",
"nonce":4,
"r":"0x7b4f8172e4d451536ac5fd48f9ce59c1b4be58ea9f55165ad4e9dafde816762b",
"s":"0x7d5bc0cf6aab7f0a8d856c5741a49934c71eddeeb65305e887b4945013cc56b7",
"to":"0x94dc403ba9359efb99c3b4574274a6b053a85e29",
"v":"0x2b",
"value":"0"
}
其中:
"from":"0xc8418e75c5e0c18c36c11eaec44d2bf68da60375",表示事务发起者的地址/公钥为0xc8418e75c5e0c18c36c11eaec44d2bf68da60375;
"gas":8000000,表示事务发起者提供的gas为8000000;
"gasPrice":"1000000000",表示事务发起者配置的gas价格为1000000000;
"hash":"0x161fa62fd4cd6a04f1bd7c2023de08a44ae27a6075bcd2443721018c9d5d616b",表示事务的哈希值为0x161fa62fd4cd6a04f1bd7c2023de08a44ae27a6075bcd2443721018c9d5d616b;
"input":"0xba51a6df0000000000000000000000000000000000000000000000000000000000000002",表示事务附带的数据是0xba51a6df0000000000000000000000000000000000000000000000000000000000000002;
"nonce":4,表示事务的发起者在之前进行过的事务数量;
"to":"0x94dc403ba9359efb99c3b4574274a6b053a85e29",表示事务接收者的地址是0x94dc403ba9359efb99c3b4574274a6b053a85e29;
"value":"0",表示事务附带的资源值。
"r"、"s"、"v"均表示事务的签名数据,基于"r"、"s"、"v"可计算出公钥。
合约中预设的多方审批方式可根据实际需要灵活设置。更改审批方式的程序代码如下:
当需要更改合约中的审批方式时,调用智能合约内部的changeRequirement方法进行更改。
例如,将审批方式更改为:具备审批资格的多个拥有者中的任意一方审批通过时,事务即可被处理,则调用changeRequirement(1),将智能合约审批方式设置为required=1;再如,将审批方式更改为:具备审批资格的多个拥有者中的至少两方审批通过时,事务即可被处理,则调用changeRequirement(2),将智能合约审批方式设置为required=2。
步骤S31:服务器通过事务创建指令的签名数据计算出触发事务创建指令的拥有者公钥,并基于触发事务创建指令的拥有者公钥对事务创建指令进行签名验证,若验证通过,则执行步骤S32,否则,返回步骤S1。
拥有者使用私钥对事务创建指令进行签名,并通过客户端将已签名的事务创建指令发送给服务器,服务器接收该指令并通过事务的签名数据"r"、"s"、"v"计算出公钥,再利用所计算出的公钥对签名进行验签。验签过程具体为:服务器利用所计算出的公钥对签名进行解密,得到一个哈希值,服务器再对所要创建的事务进行哈希计算,获得另一个哈希值,比较两个哈希值,若值相同,则验签通过。签名合法,表明待创建的事务是由具备审批资格的拥有者发起,且指令在广播过程中信息未被篡改过,执行步骤S32。若值不同,则验签失败,返回步骤S1。
本步骤前,服务器中的智能合约已完成了初始化设置。已初始化的智能合约规定了处理事务需要满足的条件。该条件包括:审批人数应满足合约中规定的数目、审批事务的人员应具备审批资格等。
一种可能的实现方式中,当拥有者0xc8418e75c5e0c18c36c11eaec44d2bf68da60375新创建一项事务时,签名事务如下:
步骤S32:服务器根据所获取的智能合约地址查询智能合约信息。
所查询的智能合约信息包括:拥有者的公钥、审批权限、多方审批方式等。
步骤S33:基于所查询的合约信息,对触发事务创建指令的拥有者进行身份验证,若验证通过,则执行步骤S34,否则,执行步骤S11。
智能合约中的事务拥有者列表内存有多个具备审批资格的拥有者的公钥信息,当服务器接收到客户端发送过来的事务创建指令时,对其进行签名验证,验签通过后,确认验签过程中计算出的公钥存在于事务拥有者列表内时,表明触发事务创建指令的拥有者具备事务创建资格,执行下一步骤,否则,服务器对身份验证结果进行记录。
步骤S34:服务器判断事务能否创建成功,若能,执行步骤S4,否则,执行步骤S11。
在签名以及身份验证均通过的情况下,事务能否创建成功还取决于智能合约中的剩余资源值。即,当智能合约中的剩余资源值大于或者等于创建事务所需的资源值时,事务才能创建成功。
更为具体的,可选实施例中,上述步骤S34还可能包括:
步骤S34-A:服务器查询创建事务所需的资源值。
步骤S34-B:服务器查询合约中的剩余资源值。
步骤S34-C:服务器判断合约中的剩余资源值能否满足创建事务所需的资源值,若能满足,则执行步骤S4,否则,执行步骤S11。
步骤S4:服务器创建事务,并针对所创建的事务生成事务唯一标识码,将事务唯一标识码返回给触发事务创建指令的客户端。
步骤Sq1:服务器向事务订阅客户端发送事务更新提醒。
具备审批资格的拥有者通过相应应用对事务进行订阅,拥有者所持终端即为事务订阅客户端。当拥有者成功登录相应应用后,事务订阅客户端向服务器发送登录指令,示意拥有者已登录,服务器再向该事务订阅客户端下发事务更新提醒,提醒拥有者当前存在新的事务动态。
步骤Sq2:服务器接收事务订阅客户端基于事务更新提醒发送的事务更新详情获取请求。
步骤Sq3:服务器将事务待推送数据推送给事务订阅客户端,并执行步骤S12。
事务订阅客户端接收到的推送数据具体可以是:当前有事务A待审批,待审批事务A的哈希值为γ。
步骤S61:服务器通过事务查询指令的签名数据计算出触发事务查询指令的拥有者公钥,并基于触发事务查询指令的拥有者公钥对事务查询指令进行签名验证,若验证通过,则执行步骤S62,否则,返回步骤S1。
步骤S62:服务器根据所获取的智能合约地址查询智能合约信息。
步骤S63:基于所查询的智能合约信息,对触发事务查询指令的拥有者进行身份验证,若验证通过,则执行步骤S7,否则,执行步骤S11。
若事务查询指令验签过程中计算出的公钥存在于事务拥有者列表内时,则表明查询者具备事务查询资格,执行下一步骤。
步骤S7:服务器将事务查询结果下发给触发事务查询指令的客户端并执行步骤S12。
查询结果包括事务的详细信息(事务内容、事务发起时间与发起人)以及当前审批结果。
步骤S81:服务器通过事务审批指令的签名数据计算出触发事务审批指令的拥有者公钥,并基于触发事务审批指令的拥有者公钥对事务审批指令进行签名验证,若验证通过,则执行步骤S82,否则,返回步骤S1。
步骤S82:服务器根据所获取的智能合约地址查询智能合约信息。
步骤S83:服务器基于所查询的智能合约信息,对触发事务审批指令的拥有者进行身份验证,若验证通过,则执行步骤S91,否则,执行步骤S11。
若事务审批指令验签过程中计算出的公钥存在于事务拥有者列表内时,则表明触发事务审批指令的拥有者具备审批资格,将该拥有者的审批信息录入事务审批列表中。
步骤S91:服务器更新智能合约中的事务审批列表,并从已更新的事务审批列表中获取当前审批通过结果。
事务审批列表包含审批人、审批人公钥、审批时间以及事务的当前审批通过结果等项目。事务审批列表例如可以采用如下形式:
一种可能的实现方式中,当拥有者0x1af094282ec4d4e71668d81a17afd47b7657d3e3通过审批时,签名事务如下:
可选实施例中,针对所下发的查询结果,具备审批资格的订阅者还可以拒绝审批,服务器对该结果进行记录。
步骤S92:服务器判断当前审批通过结果是否满足智能合约预设的多方审批方式,若是,则执行步骤S10,否则,执行步骤S11。
智能合约判断事务能否处理的程序代码如下:
审批时,调用智能合约内部的isConfirmed方法来判断当前审批通过结果是否满足智能合约预设的多方审批方式。
例如,判断事务A能否处理,则先确认事务A当前已通过审批的总数count,每增加一个拥有者的审批,count加1,当总数count等于预设的多方审批方式required时,事务直接调用智能合约内部相关的自动处理方法,自动处理事务A。
具体的,服务器通过事务审批列表获取当前已通过审批的人员数量,再根据合约中的多方审批方式,判断当前已通过审批的人员数量是否已满足规定。若是,执行步骤S10。
步骤S10:处理事务并执行步骤S12。
可选实施例中,事务的处理结果还将同步下发给所有相关审批人员。
步骤S11:记录日志并执行步骤S12。
上述过程中,若拥有者的身份验证不成功、合约中的剩余资源值不能够满足事务所需的资源值以及当前审批结果不满足预设的多方审批方式时,服务器均对所述事件一一进行记录,方便后续溯源。
可选实施例中还可能存在:当前通过审批的人数已满足智能合约规定的数目时,服务器接收到了事务订阅客户端发送的针对事务的撤销审批指令,此时,撤销审批指令无效,事务将继续被处理,服务器记录该事件。
可选实施例中还可能存在:当前通过审批的人数未满足合约规定的数目时,服务器接收到了具备撤销资格的任意客户端发送的针对事务的撤销审批指令,此时,撤销触发撤销审批指令的拥有者通过的审批,并更新智能合约中的事务审批结果列表。也就是,在当前通过审批的人数还未满足合约规定的数目时,拥有者α可以撤销自身通过的审批,事务审批列表中将删除拥有者α的审批信息。
针对上述所列撤销情景,当服务器接收到的指令是撤销审批指令时,执行以下步骤:
步骤St1:服务器对撤销审批指令进行信息验证,若验证通过,则执行步骤St2,否则,执行步骤S11。
基于所下发的事务查询结果,拥有者可对自身通过的审批进行撤销,事务订阅客户端将撤销审批指令发送给服务器,服务器接收该请求并执行信息验证操作。
步骤St2:服务器判断撤销审批指令是否可执行,若是,则执行步骤St3,否则,执行步骤S11。
更具体的,服务器判断当前审批通过结果是否满足智能合约预设的多方审批方式,若不满足,则撤销审批指令可执行,执行步骤St3,否则,撤销审批指令不可执行,执行步骤S11。
步骤St3:服务器撤销触发撤销审批指令的拥有者通过的审批,并更新事务审批列表,执行步骤S12。
更为具体的,所述步骤St1包括:
步骤St11:服务器通过撤销审批指令的签名数据计算出触发撤销审批指令的拥有者公钥,基于触发撤销审批指令的拥有者公钥对撤销审批指令进行签名验证,若验证通过,则执行步骤St12,否则,返回步骤S1。
步骤St12:服务器根据所获取的智能合约地址查询智能合约信息。
步骤St13:服务器基于所查询的智能合约信息,对触发撤销审批指令的拥有者进行身份验证,若验证通过,则执行步骤St2,否则,执行步骤S11。
可选实施例中,所述步骤St3之后还包括:
步骤St4:服务器将已更新的事务审批列表下发给事务订阅客户端。
实际应用中,拥有者通过审批后,撤销操作可发生于审批之后的任意时刻。
一种可能的实现方式中,当拥有者0xc8418e75c5e0c18c36c11eaec44d2bf68da60375撤销其通过的审批时,签名事务如下:
/>
本实施例中拥有者仅能撤销自身通过的审批,而无权撤销他人通过的审批。
步骤S12:服务器将事务的指令信息同步给同一区块链上的其他服务器并返回步骤S1。
区块链中各服务器上的信息保持同步,当其中一个服务器上的信息发生改变时,其余服务器将同步更新。
可选实施例中,所述方法还可能存在以下步骤:
服务器接收信息同步指令;
服务器基于信息同步指令同步同一区块链上其他服务器的事务指令信息,返回步骤S1。
本申请实施例提供的区块链上事务的处理方法,区块链上的智能合约规定了当所发起的事务累计获得的审批数量满足预设的多方审批方式后,事务才能被执行,该方法避免了现有技术中事务由指定的单方授权安全性不足的问题。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参见图3,为本申请一个示例性实施例提供的区块链上事务的处理装置的结构示意图。本申请实施例中的区块链上事务的处理装置应用于服务器,所述装置包括:
指令接收模块11,用于接收指令;
指令判断模块12,用于判断指令类型,若是事务创建指令,则触发创建指令验证模块13,若是事务查询指令,则触发事务查询指令验证模块16,若是事务审批指令,则触发审批指令验证模块18;
创建指令验证模块13,用于对事务创建指令进行信息验证,若验证通过,则触发事务创建模块14,否则,触发日志记录模块21;
事务创建模块14,用于创建事务,并针对所创建的事务生成事务唯一标识码,将事务唯一标识码返回给触发事务创建指令的客户端;
推送数据生成模块15,用于记录所述事务唯一标识码,并生成事务待推送数据,触发信息同步模块22;
事务查询指令验证模块16,用于对事务查询指令进行信息验证,若验证通过,则触发事务结果下发模块17,否则,触发日志记录模块21;
事务查询结果下发模块17,用于将事务查询结果下发给触发事务查询指令的客户端并触发信息同步模块22;
审批指令验证模块18,用于对事务审批指令进行信息验证,若验证通过,则触发审批判断模块19,否则,触发日志记录模块21;
审批判断模块19,用于判断当前审批通过结果是否满足智能合约预设的多方审批方式,若是,则触发事务处理模块20,否则,触发日志记录模块21;
事务处理模块20,用于处理事务并触发信息同步模块22;
日志记录模块21,用于记录日志并触发信息同步模块22;
信息同步模块22,用于将事务的指令信息同步给同一区块链上的其他服务器并触发指令接收模块11。
可选实施例中,所述装置中的创建指令验证模块13包括:
创建指令验签单元,用于通过事务创建指令的签名数据计算出触发事务创建指令的拥有者公钥,并基于触发事务创建指令的拥有者公钥对事务创建指令进行签名验证,若验证通过,则触发合约信息查询单元,否则,触发指令接收模块;
合约信息查询单元,用于根据所获取的智能合约地址查询智能合约信息;
创建指令验证单元,用于基于所查询的智能合约信息,对触发事务创建指令的拥有者进行身份验证,若验证通过,则触发事务创建判断单元,否则,触发指令接收模块;
事务创建判断单元,用于判断事务能否创建成功,若能创建成功,则触发事务创建模块,否则,触发日志记录模块。
可选实施例中,所述事务创建判断单元包括:
事务资源值确定子单元,用于查询创建所述事务所需的资源值;
剩余资源值查询子单元,用于查询智能合约中的剩余资源值;
事务创建判断子单元,用于判断智能合约中的剩余资源值能否满足创建事务所需的资源值,若能满足,则触发事务创建模块,否则,触发日志记录模块。
可选实施例中,所述推送数据生成模块15包括:
事务更新提醒单元,用于向事务订阅客户端发送事务更新提醒;
更新详情获取单元,用于接收事务订阅客户端基于事务更新提醒发送的事务更新详情获取请求;
数据推送单元,用于将事务待推送数据推送给事务订阅客户端,并触发信息同步模块。
可选实施例中,所述装置中的事务查询指令验证模块16包括:
事务查询指令验签单元,用于通过事务查询指令的签名数据计算出触发事务查询指令的拥有者公钥,并基于触发事务查询指令的拥有者公钥对事务查询指令进行签名验证,若验证通过,则触发合约信息查询单元,否则,触发指令接收模块;
合约信息查询单元,用于根据所获取的智能合约地址查询智能合约信息;
事务查询指令验证单元,用于基于所查询的智能合约信息,对触发事务查询指令的拥有者进行身份验证,若验证通过,则触发结果下发模块,否则,触发日志记录模块。
可选实施例中,所述审批指令验证模块18包括:
审批指令验签单元,用于通过事务审批指令的签名数据计算出触发事务审批指令的拥有者公钥,并基于触发事务审批指令的拥有者公钥对事务审批指令进行签名验证,若验证通过,则触发合约信息查询单元,否则,触发日志记录模块;
合约信息查询单元,用于根据所获取的智能合约地址查询智能合约信息;
审批指令验证单元,用于基于所查询的智能合约信息,对触发事务审批指令的拥有者进行身份验证,若验证通过,则触发审批判断模块,否则,触发日志记录模块。
可选实施例中,所述审批判断模块19包括:
审批结果获取单元,用于服务器更新智能合约中的事务审批列表并从事务审批列表中获取当前审批通过结果;
审批判断单元,用于判断当前审批通过结果是否满足智能合约预设的多方审批方式,若是,则触发事务处理模块,否则,触发日志记录模块。
可选实施例中,所述装置还包括:
撤销指令验证模块,用于对撤销审批指令进行信息验证,若验证通过,则触发撤销指令判断模块,否则,触发日志记录模块;
撤销指令判断模块,用于判断所述撤销审批指令是否可执行,若是,触发撤销执行模块,否则,触发日志记录模块;
撤销执行模块,用于撤销触发所述撤销审批指令的拥有者通过的审批,并更新所述事务审批列表,触发信息同步模块。
可选实施例中,所述装置还包括撤销指令验证模块,具体包括:
撤销指令验签单元,用于接收撤销审批指令,并通过撤销审批指令的签名数据计算出触发撤销审批指令的拥有者公钥,基于触发撤销审批指令的拥有者公钥对撤销审批指令进行签名验证,若验证通过,则触发合约信息查询单元,否则,触发指令接收模块;
合约信息查询单元,用于根据所获取的智能合约地址查询智能合约信息;
撤销指令验证单元,用于基于所查询的智能合约信息,对触发撤销审批指令的拥有者进行身份验证,若验证通过,则触发撤销指令判断单元,否则,触发日志记录模块;
撤销指令判断单元,用于判断撤销审批指令是否可执行,若是,则触发撤销执行单元,否则,触发日志记录模块;
撤销执行单元,用于撤销触发撤销审批指令的拥有者通过的审批,并更新事务审批列表,触发信息同步模块。
可选实施例中,所述撤销指令判断模块具体用于:
判断当前审批通过结果是否满足智能合约预设的多方审批方式,若不满足,则撤销审批指令可执行,触发撤销执行单元,否则,撤销审批指令不可执行,触发日志记录模块。
所述装置还包括:
审批列表下发模块,用于将已更新的事务审批列表下发给事务订阅客户端。
所述装置还包括:
合约验签模块,用于接收智能合约创建指令,并通过智能合约创建指令的签名数据计算出触发智能合约创建指令的拥有者公钥,基于触发智能合约创建指令的拥有者公钥对智能合约创建指令进行签名验证,若验证通过,则触发地址生成模块,否则,触发指令接收模块;
地址生成模块,用于创建智能合约,并生成智能合约地址;
地址下发模块,用于将所生成的合约地址下发给触发智能合约创建指令的客户端,触发信息同步模块。
所述装置还包括:
初始化验证模块,用于对初始化设置指令进行信息验证,若验证通过,则触发初始化设置模块,否则,触发日志记录模块;
初始化设置模块,用于基于初始化设置指令对所创建的智能合约进行初始化设置,触发信息同步模块。
所述初始化设置模块包括:
初始化验签单元,用于接收初始化设置指令,并通过初始化设置指令的签名数据计算出触发初始化设置指令的拥有者公钥,基于触发初始化设置指令的拥有者公钥对初始化设置指令进行签名验证,若验证通过,则触发合约信息查询单元,否则,触发指令接收模块;
合约信息查询单元,用于根据所获取的智能合约地址查询智能合约信息;
初始化验证单元,用于基于所查询的智能合约信息,对触发初始化设置指令的拥有者进行身份验证,若验证通过,则触发初始化设置模块,否则,触发日志记录模块。
可选实施例中,所述装置还包括:
变更指令验签模块,用于接收变更拥有者指令,并通过变更拥有者指令的签名数据计算出触发变更拥有者指令的拥有者公钥,基于触发变更拥有者指令的拥有者公钥对变更拥有者指令进行签名验证,若验证通过,则触发合约信息查询模块,否则,触发指令接收模块;
合约信息查询模块,用于根据所获取的智能合约地址查询智能合约信息;
变更指令验证模块,用于基于所查询的智能合约信息,对触发变更拥有者指令的拥有者进行身份验证,若验证通过,则触发增加指令判断模块,否则,触发日志记录模块;
拥有者变更模块,用于对事务拥有者列表中的拥有者进行变更,更新事务拥有者列表并触发信息同步模块。
可选实施例中,所述装置还包括:
方式指令验签模块,用于接收多方审批方式设置指令,并通过多方审批方式设置指令的签名数据计算出触发多方审批方式设置指令的拥有者公钥,基于触发多方审批方式设置指令的拥有者公钥对多方审批方式设置指令进行签名验证,若验证通过,则触发合约信息查询模块,否则,触发指令接收模块;
合约信息查询模块,用于根据所获取的智能合约地址查询智能合约信息;
方式指令验证模块,用于基于所查询的智能合约信息,对触发多方审批方式设置指令的拥有者进行身份验证,若验证通过,则触发方式设置模块,否则,执触发日志记录模块;
方式设置模块,用于基于多方审批方式设置指令,服务器完成对智能合约的初始化设置,并将智能合约设置为可用状态,触发信息同步模块。
可选实施例中,所述装置还包括:
列表查询指令验签模块,用于接收事务拥有者列表查询指令,并通过事务拥有者列表查询指令的签名数据计算出触发事务拥有者列表查询指令的拥有者公钥,基于触发事务拥有者列表查询指令的拥有者公钥对事务拥有者列表查询指令进行签名验证,若验证通过,则触发合约信息查询模块,否则,触发指令接收模块;
合约信息查询模块,用于根据所获取的智能合约地址查询智能合约信息;
列表查询指令验证模块,用于基于所查询的智能合约信息,对触发事务拥有者列表查询指令的拥有者进行身份验证,若验证通过,则触发拥有者列表下发模块,否则,触发日志记录模块;
拥有者列表下发模块,用于将更新后的事务拥有者列表下发给触发事务拥有者列表查询指令的客户端;
结束变更模块,用于接收针对事务拥有者列表返回的拥有者变更完成指令,结束变更操作,触发信息同步模块。
需要说明的是,上述实施例提供的区块链上事务的处理装置在执行区块链上事务的处理方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的区块链上事务的处理装置与区块链上事务的处理方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请实施例提供的区块链上事务的处理装置,区块链上的智能合约规定了当所发起的事务累计获得的审批数量满足预设的多方审批方式后,事务才能被执行,该方法避免了现有技术中事务由指定的单方授权安全性不足的问题。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一实施例方法的步骤。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微型驱动器以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器IC),或适合于存储指令和/或数据的任何类型的媒介或设备。
本申请实施例还提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述任一实施例方法的步骤。
本申请实施例提供了一种服务器包括:处理器和存储器。
本申请实施例中,处理器为计算机系统的控制中心,可以是实体机的处理器,也可以是虚拟机的处理器。处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable GateArray,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。
存储器可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在本申请的一些实施例中,存储器中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器所执行以实现本申请实施例中的方法。
一些实施例中,服务器还包括有:外围设备接口和至少一个外围设备。处理器、存储器和外围设备接口之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口相连。具体地,外围设备包括:显示屏、摄像头和音频电路中的至少一种。
外围设备接口可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器和存储器。在本申请的一些实施例中,处理器、存储器和外围设备接口被集成在同一芯片或电路板上;在本申请的一些其他实施例中,处理器、存储器和外围设备接口中的任意一个或两个可以在单独的芯片或电路板上实现。本申请实施例对此不作具体限定。
显示屏用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏是触摸显示屏时,显示屏还具有采集在显示屏的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器进行处理。此时,显示屏还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在本申请的一些实施例中,显示屏可以为一个,设置于服务器的前面板;在本申请的另一些实施例中,显示屏可以为至少两个,分别设置在服务器的不同表面或呈折叠设计;在本申请的再一些实施例中,显示屏可以是柔性显示屏,设置在服务器的弯曲表面上或折叠面上。甚至,显示屏还可以设置成非矩形的不规则图形,也即异形屏。显示屏可以采用LCD(Liquid CrystalDisplay,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头用于采集图像或视频。可选地,摄像头包括前置摄像头和后置摄像头。通常,前置摄像头设置在客户端的前面板,后置摄像头设置在客户端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在本申请的一些实施例中,摄像头还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器进行处理。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在服务器的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。
电源用于为服务器中的各个组件进行供电。电源可以是交流电、直流电、一次性电池或可充电电池。当电源包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
本申请实施例中示出的客户端结构框图并不构成对服务器的限定,服务器可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在本申请中,术语“第一”、“第二”等仅用于描述的目的,而不能理解为指示或暗示相对重要性或顺序;术语“多个”则指两个或两个以上,除非另有明确的限定。术语“安装”、“相连”、“连接”、“固定”等术语均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;“相连”可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
本申请的描述中,需要理解的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或单元必须具有特定的方向、以特定的方位构造和操作,因此,不能理解为对本申请的限制。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (20)
1.一种区块链上事务的处理方法,其特征在于,所述方法包括:
步骤S1:服务器接收指令;
步骤S2:所述服务器判断指令类型,若是事务创建指令,则执行步骤S3,若是事务查询指令,则执行步骤S6,若是事务审批指令,则执行步骤S8;
步骤S3:所述服务器对所述事务创建指令进行信息验证,若验证通过,则执行步骤S4,否则,执行步骤S11;
步骤S4:所述服务器创建事务,并针对所创建的事务生成事务唯一标识码,将所述事务唯一标识码返回给触发所述事务创建指令的客户端;
步骤S5:所述服务器记录所述事务唯一标识码,并生成事务待推送数据,执行步骤S12;
步骤S6:所述服务器对所述事务查询指令进行信息验证,若验证通过,则执行步骤S7,否则,执行步骤S11;
步骤S7:所述服务器将事务查询结果下发给触发所述事务查询指令的客户端并执行步骤S12;
步骤S8:所述服务器对所述事务审批指令进行信息验证,若验证通过,则执行步骤S9,否则,执行步骤S11;
步骤S9:所述服务器判断当前审批通过结果是否满足智能合约预设的多方审批方式,若是,则执行步骤S10,否则,执行步骤S11;
步骤S10:处理事务并执行步骤S12;
步骤S11:记录日志并执行步骤S12;
步骤S12:所述服务器将事务的指令信息同步给同一区块链上的其他服务器并返回步骤S1。
2.根据权利要求1所述的方法,其特征在于,所述步骤S3包括:
步骤S31:所述服务器通过所述事务创建指令的签名数据计算出触发所述事务创建指令的拥有者公钥,并基于触发所述事务创建指令的拥有者公钥对所述事务创建指令进行签名验证,若验证通过,则执行步骤S32,否则,返回步骤S1;
步骤S32:所述服务器根据所获取的智能合约地址查询智能合约信息;
步骤S33:所述服务器基于所查询的智能合约信息,对触发所述事务创建指令的拥有者进行身份验证,若验证通过,则执行步骤S34,否则,执行步骤S11;
步骤S34:所述服务器判断所述事务能否创建成功,若能,则执行步骤S4,否则,执行步骤S11。
3.根据权利要求2所述的方法,其特征在于,所述步骤S34包括:
步骤S34-A:所述服务器查询创建所述事务所需的资源值;
步骤S34-B:所述服务器查询所述智能合约中的剩余资源值;
步骤S34-C:所述服务器判断所述智能合约中的剩余资源值能否满足创建所述事务所需的资源值,若能满足,则执行步骤S4,否则,执行步骤S11。
4.根据权利要求1所述的方法,其特征在于,所述步骤S2还包括:若判断出所接收的指令是事务订阅客户端触发的登录指令,则执行:
步骤Sq1:所述服务器向所述事务订阅客户端发送事务更新提醒;
步骤Sq2:所述服务器接收所述事务订阅客户端基于事务更新提醒发送的事务更新详情获取请求;
步骤Sq3:所述服务器将所述事务待推送数据推送给所述事务订阅客户端,并执行步骤S12。
5.根据权利要求1所述的方法,其特征在于,所述步骤S6包括:
步骤S61:所述服务器通过所述事务查询指令的签名数据计算出触发所述事务查询指令的拥有者公钥,并基于触发所述事务查询指令的拥有者公钥对所述事务查询指令进行签名验证,若验证通过,则执行步骤S62,否则,返回步骤S1;
步骤S62:所述服务器根据所获取的智能合约地址查询所述智能合约信息;
步骤S63:所述服务器基于所查询的智能合约信息,对触发所述事务查询指令的拥有者进行身份验证,若验证通过,则执行步骤S7,否则,执行步骤S11。
6.根据权利要求1所述的方法,其特征在于,所述步骤S8包括:
步骤S81:所述服务器通过所述事务审批指令的签名数据计算出触发所述事务审批指令的拥有者公钥,并基于触发所述事务审批指令的拥有者公钥对所述事务审批指令进行签名验证,若验证通过,则执行步骤S82,否则,返回步骤S1;
步骤S82:所述服务器根据所获取的智能合约地址查询所述智能合约信息;
步骤S83:所述服务器基于所查询的智能合约信息,对触发所述事务审批指令的拥有者进行身份验证,若验证通过,则执行步骤S9,否则,执行步骤S11。
7.根据权利要求1所述的方法,其特征在于,所述步骤S9包括:
步骤S91:所述服务器更新所述智能合约中的事务审批列表,并从所述已更新的事务审批列表中获取当前审批通过结果;
步骤S92:所述服务器判断所述当前审批通过结果是否满足所述智能合约预设的多方审批方式,若是,则执行步骤S10,否则,执行步骤S11。
8.根据权利要求1所述的方法,其特征在于,所述步骤S2还包括:若判断出所接收的指令是撤销审批指令,则执行:
步骤St1:所述服务器对所述撤销审批指令进行信息验证,若验证通过,则执行步骤St2,否则,执行步骤S11;
步骤St2:所述服务器判断所述撤销审批指令是否可执行,若是,则执行步骤St3,否则,执行步骤S11;
步骤St3:所述服务器撤销触发所述撤销审批指令的拥有者通过的审批,并更新所述事务审批列表,执行步骤S12。
9.根据权利要求8所述的方法,其特征在于,所述步骤St1包括:
步骤St11:所述服务器通过所述撤销审批指令的签名数据计算出触发所述撤销审批指令的拥有者公钥,基于触发所述撤销审批指令的拥有者公钥对所述撤销审批指令进行签名验证,若验证通过,则执行步骤St12,否则,返回步骤S1;
步骤St12:所述服务器根据所获取的智能合约地址查询所述智能合约信息;
步骤St13:所述服务器基于所查询的智能合约信息,对触发所述撤销审批指令的拥有者进行身份验证,若验证通过,则执行步骤St2,否则,执行步骤S11。
10.根据权利要求9所述的方法,其特征在于,所述步骤St2包括:
所述服务器判断当前审批通过结果是否满足所述智能合约预设的多方审批方式,若不满足,则所述撤销审批指令可执行,执行步骤St3,否则,所述撤销审批指令不可执行,执行步骤S11。
11.根据权利要求10所述的方法,其特征在于,所述步骤St3之后,还包括:
步骤St4:所述服务器将所述已更新的事务审批列表下发给所述事务订阅客户端。
12.根据权利要求1所述的方法,其特征在于,所述步骤S2还包括:若判断出所接收的指令是智能合约创建指令,则执行:
步骤Sa1:所述服务器通过所述智能合约创建指令的签名数据计算出触发所述智能合约创建指令的拥有者公钥,基于触发所述智能合约创建指令的拥有者公钥对所述智能合约创建指令进行签名验证,若验证通过,则执行步骤Sa2,否则,返回步骤S1;
步骤Sa2:所述服务器创建智能合约,并生成智能合约地址;
步骤Sa3:所述服务器将所述智能合约地址下发给触发所述智能合约创建指令的客户端,并执行步骤S12。
13.根据权利要求1所述的方法,其特征在于,所述步骤S2还包括:若判断出所接收的指令是初始化设置指令,则执行:
步骤Sb1:所述服务器对所述初始化设置指令进行信息验证,若验证通过,则执行步骤Sb2,否则,执行步骤S11;
步骤Sb2:所述服务器基于所述初始化设置指令对所创建的智能合约进行初始化设置,执行步骤S12。
14.根据权利要求13所述的方法,其特征在于,所述步骤Sb1包括:
步骤Sb11:所述服务器通过所述初始化设置指令的签名数据计算出触发所述初始化设置指令的拥有者公钥,基于触发所述初始化设置指令的拥有者公钥对所述初始化设置指令进行签名验证,若验证通过,则执行步骤Sb12,否则,返回步骤S1;
步骤Sb12:所述服务器根据所获取的智能合约地址查询所述智能合约信息;
步骤Sb13:所述服务器基于所查询的智能合约信息,对触发所述初始化设置指令的拥有者进行身份验证,若验证通过,则执行步骤Sb2,否则,执行步骤S11。
15.根据权利要求1所述的方法,其特征在于,所述步骤S2还包括:若判断出所接收的指令是变更拥有者指令,则执行:
步骤SW1:所述服务器通过所述变更拥有者指令的签名数据计算出触发所述变更拥有者指令的拥有者公钥,基于触发所述变更拥有者指令的拥有者公钥对所述变更拥有者指令进行签名验证,若验证通过,则执行步骤SW2,否则,返回步骤S1;
步骤SW2:所述服务器根据所获取的智能合约地址查询所述智能合约信息;
步骤SW3:所述服务器基于所查询的智能合约信息,对触发所述变更拥有者指令的拥有者进行身份验证,若验证通过,则执行步骤SW4,否则,执行步骤S11;
步骤SW4:所述服务器对所述事务拥有者列表中的拥有者进行变更,更新所述事务拥有者列表并执行步骤S12。
16.根据权利要求1所述的方法,其特征在于,所述步骤S2还包括:若判断出所接收的指令是多方审批方式设置指令,则执行:
步骤SV1:所述服务器通过所述多方审批方式设置指令的签名数据计算出触发所述多方审批方式设置指令的拥有者公钥,基于触发所述多方审批方式设置指令的拥有者公钥对所述多方审批方式设置指令进行签名验证,若验证通过,则执行步骤SV2,否则,返回步骤S1;
步骤SV2:所述服务器根据所获取的智能合约地址查询所述智能合约信息;
步骤SV3:所述服务器基于所查询的智能合约信息,对触发所述多方审批方式设置指令的拥有者进行身份验证,若验证通过,则执行步骤SV4,否则,执行步骤S11;
步骤SV4:基于所述多方审批方式设置指令,所述服务器完成对所述智能合约多方审批方式的预设置,并将所述智能合约设置为可用状态,执行步骤S12。
17.根据权利要求1所述的方法,其特征在于,所述步骤S2还包括:若判断出所接收的指令是事务拥有者列表查询指令,则执行:
步骤SU1:所述服务器通过所述事务拥有者列表查询指令的签名数据计算出触发所述事务拥有者列表查询指令的拥有者公钥,基于触发所述事务拥有者列表查询指令的拥有者公钥对所述事务拥有者列表查询指令进行签名验证,若验证通过,则执行步骤SU2,否则,返回步骤S1;
步骤SU2:所述服务器根据所获取的智能合约地址查询所述智能合约信息;
步骤SU3:所述服务器基于所查询的智能合约信息,对触发所述事务拥有者列表查询指令的拥有者进行身份验证,若验证通过,则执行步骤SU4,否则,执行步骤S11;
步骤SU4:所述服务器将更新后的事务拥有者列表下发给触发所述事务拥有者列表查询指令的客户端;
步骤SU5:所述服务器接收针对所述事务拥有者列表返回的拥有者变更完成指令,结束变更操作,执行步骤S12。
18.一种区块链上事务的处理装置,其特征在于,所述装置包括:
指令接收模块,用于接收指令;
指令判断模块,用于判断指令类型,若是事务创建指令,则触发创建指令验证模块,若是事务查询指令,则触发事务查询指令验证模块,若是事务审批指令,则触发审批指令验证模块;
创建指令验证模块,用于对所述事务创建指令进行信息验证,若验证通过,则触发事务创建模块,否则,触发日志记录模块;
事务创建模块,用于创建事务,并针对所创建的事务生成事务唯一标识码,将所述事务唯一标识码返回给触发所述事务创建指令的客户端;
推送数据生成模块,用于记录所述事务唯一标识码,并生成事务待推送数据,触发信息同步模块;
事务查询指令验证模块,用于对所述事务查询指令进行信息验证,若验证通过,则触发事务结果下发模块,否则,触发日志记录模块;
事务查询结果下发模块,用于将事务查询结果下发给触发所述事务查询指令的客户端并触发信息同步模块;
审批指令验证模块,用于对所述事务审批指令进行信息验证,若验证通过,则触发审批判断模块,否则,触发日志记录模块;
审批判断模块,用于判断当前审批通过结果是否满足智能合约预设的多方审批方式,若是,则触发事务处理模块,否则,触发日志记录模块;
事务处理模块,用于处理事务并触发信息同步模块;
日志记录模块,用于记录日志并触发信息同步模块;
信息同步模块,用于将事务的指令信息同步给同一区块链上的其他服务器并触发指令接收模块。
19.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现所述权利要求1-17中任一项所述方法的步骤。
20.一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现所述权利要求1-17中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110920081.7A CN113591122B (zh) | 2021-08-11 | 2021-08-11 | 区块链上事务的处理方法、装置、存储介质及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110920081.7A CN113591122B (zh) | 2021-08-11 | 2021-08-11 | 区块链上事务的处理方法、装置、存储介质及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113591122A CN113591122A (zh) | 2021-11-02 |
CN113591122B true CN113591122B (zh) | 2023-08-08 |
Family
ID=78257243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110920081.7A Active CN113591122B (zh) | 2021-08-11 | 2021-08-11 | 区块链上事务的处理方法、装置、存储介质及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113591122B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110020526A (zh) * | 2019-04-02 | 2019-07-16 | 深圳智乾区块链科技有限公司 | 基于区块链身份认证的审批方法、装置及存储介质 |
CN111160803A (zh) * | 2019-12-31 | 2020-05-15 | 上海分布信息科技有限公司 | 基于区块链的业务流程安全和管理方法及系统 |
WO2021114406A1 (zh) * | 2019-12-12 | 2021-06-17 | 深圳大学 | 基于区块链的疫苗信息监控方法、装置及计算机设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107370730B (zh) * | 2017-07-14 | 2020-06-02 | 创新先进技术有限公司 | 一种登录信息处理方法及设备 |
-
2021
- 2021-08-11 CN CN202110920081.7A patent/CN113591122B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110020526A (zh) * | 2019-04-02 | 2019-07-16 | 深圳智乾区块链科技有限公司 | 基于区块链身份认证的审批方法、装置及存储介质 |
WO2021114406A1 (zh) * | 2019-12-12 | 2021-06-17 | 深圳大学 | 基于区块链的疫苗信息监控方法、装置及计算机设备 |
CN111160803A (zh) * | 2019-12-31 | 2020-05-15 | 上海分布信息科技有限公司 | 基于区块链的业务流程安全和管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113591122A (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111008839B (zh) | 资源转移数据管理方法、装置及存储介质 | |
CN110598482B (zh) | 基于区块链的数字证书管理方法、装置、设备及存储介质 | |
CN108614878B (zh) | 协议数据管理方法、装置、存储介质及系统 | |
CN111245745A (zh) | 消息发送方法、装置、节点设备及存储介质 | |
TW201836322A (zh) | 憑證管理方法及系統 | |
CN111340482B (zh) | 冲突检测方法、装置、节点设备及存储介质 | |
CN111080443B (zh) | 基于区块链的业务处理方法、装置、设备及存储介质 | |
CN110598879B (zh) | 基于区块链的垃圾回收方法、装置、设备及存储介质 | |
CN110601858B (zh) | 证书管理方法及装置 | |
CN110826103B (zh) | 基于区块链的文档权限处理方法、装置、设备及存储介质 | |
CN110602201A (zh) | 基于区块链的履历管理方法、装置及系统、存储介质 | |
CN111339086A (zh) | 区块处理方法、基于区块链的数据查询方法及装置 | |
CN110826043A (zh) | 一种数字身份申请系统及方法、身份认证系统及方法 | |
CN110298936A (zh) | 车辆钥匙配置方法、系统及其设备 | |
CN111738893A (zh) | 一种基于区块链的身份认证方法、装置、设备和介质 | |
CN110909259A (zh) | 基于区块链的用户推荐方法、装置、设备及存储介质 | |
CN111241115A (zh) | 数据同步方法、装置、设备及存储介质 | |
CN111339181B (zh) | 区块存储方法、装置、节点设备及存储介质 | |
JP2005190447A5 (zh) | ||
CN113591122B (zh) | 区块链上事务的处理方法、装置、存储介质及服务器 | |
CN102882684A (zh) | 一种多密钥动态令牌的实现方法及装置 | |
CN110597868B (zh) | 基于区块链的信息查询方法、装置、终端及存储介质 | |
CN111694892B (zh) | 资源转移方法、装置、终端、服务器及存储介质 | |
CN110532324A (zh) | 基于区块链的公告信息展示方法、装置、设备及存储介质 | |
CN114328538A (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 |