CN115131029A - 基于区块链的数字文件签署方法及装置 - Google Patents

基于区块链的数字文件签署方法及装置 Download PDF

Info

Publication number
CN115131029A
CN115131029A CN202210752070.7A CN202210752070A CN115131029A CN 115131029 A CN115131029 A CN 115131029A CN 202210752070 A CN202210752070 A CN 202210752070A CN 115131029 A CN115131029 A CN 115131029A
Authority
CN
China
Prior art keywords
signing
digital file
target digital
target
intelligent contract
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.)
Pending
Application number
CN202210752070.7A
Other languages
English (en)
Inventor
栗志果
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ant Blockchain Technology Shanghai Co Ltd
Original Assignee
Ant Blockchain Technology Shanghai Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ant Blockchain Technology Shanghai Co Ltd filed Critical Ant Blockchain Technology Shanghai Co Ltd
Priority to CN202210752070.7A priority Critical patent/CN115131029A/zh
Publication of CN115131029A publication Critical patent/CN115131029A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Abstract

本说明书一个或多个实施例提供一种基于区块链的数字文件签署方法及装置,应用于所述区块链中的节点设备;签署次数表示完成对目标数字文件的签署处理的签署参与方的数量;该方法包括:获取签署参与方发起的签署交易;响应于所述签署交易,调用智能合约包含的签署逻辑,基于所述签署参与方的身份信息,对所述目标数字文件进行签署处理;响应于所述目标数字文件签署处理完成,进一步调用所述智能合约包含的签署管理逻辑,将所述签署参与方针对所述目标数字文件的签署记录在所述区块链中进行加密存储,并更新所述智能合约中维护的所述签署次数;其中,所述智能合约中维护的所述签署次数被设置了仅由所述签署参与方访问的访问权限。

Description

基于区块链的数字文件签署方法及装置
技术领域
本说明书一个或多个实施例涉及区块链技术领域,尤其涉及一种基于区块链的数字文件签署方法及装置。
背景技术
对于机构、企业、事业单位,甚至是个人等而言,通常都需要对与其相关的某些文件进行签署处理,例如在文件上签名,并使用其印章在文件上加盖印章图样,以通过文件上的签章表示其认可文件的正确性、真实性。
随着无纸化办公的应用越来越广泛,对数字文件进行签署处理,通常需要通过不同用户之间的数据交互来实现。在这种情况下,如何保证数字文件在签署处理的过程中的数据安全性,也就成为了亟待解决的问题。
发明内容
本说明书一个或多个实施例提供技术方案如下:
本说明书提供一种基于区块链的数字文件签署方法,应用于所述区块链中的节点设备;所述区块链上部署了用于对待签署的目标数字文件进行签署管理的智能合约;所述智能合约中维护了与所述目标数字文件对应的签署次数;所述签署次数表示完成对所述目标数字文件的签署处理的签署参与方的数量;所述方法包括:
获取所述签署参与方发起的用于对所述目标数字文件进行签署处理的签署交易;
响应于所述签署交易,调用所述智能合约包含的签署逻辑,基于所述签署参与方的身份信息,对所述目标数字文件进行签署处理;
响应于所述目标数字文件签署处理完成,进一步调用所述智能合约包含的签署管理逻辑,将所述签署参与方针对所述目标数字文件的签署记录在所述区块链中进行加密存储,并更新所述智能合约中维护的所述签署次数;其中,所述智能合约中维护的所述签署次数被设置了仅由所述签署参与方访问的访问权限。
本说明书还提供一种基于区块链的数字文件签署装置,应用于所述区块链中的节点设备;所述区块链上部署了用于对待签署的目标数字文件进行签署管理的智能合约;所述智能合约中维护了与所述目标数字文件对应的签署次数;所述签署次数表示所述目标数字文件的多个签署参与方中,完成对所述目标数字文件的签署处理的签署参与方的数量;所述装置包括:
获取模块,获取所述签署参与方发起的用于对所述目标数字文件进行签署处理的签署交易;
签署模块,响应于所述签署交易,调用所述智能合约包含的签署逻辑,基于所述签署参与方的身份信息,对所述目标数字文件进行签署处理;
存储模块,响应于所述目标数字文件签署处理完成,进一步调用所述智能合约包含的签署管理逻辑,将所述签署参与方针对所述目标数字文件的签署记录在所述区块链中进行加密存储,并更新所述智能合约中维护的所述签署次数;其中,所述智能合约中维护的所述签署次数被设置了仅由所述签署参与方访问的访问权限。
本说明书还提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如上述任一项所述方法的步骤。
本说明书还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述任一项所述方法的步骤。
在上述技术方案中,可以由部署在区块链上的用于对待签署的目标数字文件进行签署管理的智能合约维护与该目标数字文件对应的签署次数,该签署次数可以表示完成对该目标数字文件的签署处理的签署参与方的数量,并且该签署次数被设置了仅由该签署参与方访问的访问权限,相应地可以响应于签署参与方发起的用于对该目标数字文件进行签署处理的签署交易,调用该智能合约包含的签署逻辑,基于该签署参与方的身份信息,对该目标数字文件进行签署处理,进一步调用该智能合约包含的签署管理逻辑,将该签署参与方针对该目标数字文件的签署记录在该区块链中进行加密存储,并更新该智能合约中维护的该签署次数。
通过上述方式,第一方面,可以将签署参与方针对数字文件的签署记录在区块链中进行加密存储,从而可以在记录对数字文件的签署处理的同时,保证签署记录的数据安全性;第二方面,可以由部署在区块链上的智能合约,维护表示完成对数字文件的签署处理的签署参与方的数量的签署次数,并为该签署次数设置仅由该签署参与方访问的访问权限,从而可以在维护对数字文件的签署处理的完成次数的同时,保证所维护的签署次数的数据安全性。
附图说明
图1是本说明书一示例性实施例示出的一种与区块链相关的网络环境的示意图。
图2是本说明书一示例性实施例示出的一种基于区块链的数字文件签署方法的流程图。
图3是本说明书一示例性实施例示出的一种用户界面的示意图。
图4是本说明书一示例性实施例示出的另一种用户界面的示意图。
图5是本说明书一示例性实施例示出的一种基于区块链的数字文件签署装置所在电子设备的硬件结构图。
图6是本说明书一示例性实施例示出的一种基于区块链的数字文件签署装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
区块链一般被划分为三种类型:公有链(Public Blockchain)、私有链(PrivateBlockchain)和联盟链(Consortium Blockchain)。此外,还可以有上述多种类型的结合,比如私有链与联盟链的结合、联盟链与公有链的结合等。
在上述三种类型的区块链中,去中心化程度最高的是公有链。加入公有链的参与方(也可以称为区块链中的节点)可以读取链上的数据记录、参与交易、竞争新区块的记账权等。而且,各节点可自由加入或退出网络,并进行相关操作。
私有链则相反,网络的写入权限由某个组织或机构控制,数据读取权限受组织规定。也即,私有链可以视为一个弱中心化系统,其对节点具有严格限制且节点数量较少。这种类型的区块链更适合于特定机构内部使用。
联盟链则介于公有链以及私有链之间,可以实现“部分去中心化”。联盟链中的各节点通常有与之对应的实体机构或组织;节点通过授权加入网络并组成利益相关联盟,共同维护区块链的运行。
在区块链网络中,区块链节点是逻辑上的通信实体;不同类型的多个区块链节点可以运行在同一个物理服务器上,也可以运行在不同的物理服务器上。
请参考图1,图1是本说明书一示例性实施例示出的一种与区块链相关的网络环境的示意图。
在如图1所示的网络环境中,可以包括用户侧计算设备101、服务器端102,以及至少一个区块链系统;例如,区块链系统103、区块链系统104和区块链系统105。
在示出的一种实施方式中,用户侧计算设备101,可以包括各种不同类型的用户侧计算设备;例如,用户侧计算设备可以包括诸如PC计算设备、移动计算设备、物联网设备,以及其它形式的具有一定的计算能力的智能设备,等等。
需要说明的是,用户侧计算设备101并不表示其中的所有用户侧计算设备在同一个通信网络中,而仅仅是对这些用户侧计算设备的统称。
在示出的一种实施方式中,用户侧计算设备101中的部分计算设备,可以通过各种通信网络耦接到服务器端102;例如,设备3耦接到了服务器端102。
用户侧计算设备101中的部分计算设备,也可以不与服务器端102进行耦接,而是作为区块链节点直接耦接到区块链系统;例如,设备4可以作为区块链节点直接耦接到区块链系统103。
在示出的一种实施方式中,用户侧计算设备101,还可以包括一个或多个用户侧服务器;例如,设备5和设备6。用户侧计算设备101中的部分计算设备,可以耦接到该用户侧服务器;例如,设备1耦接到了设备5,设备2耦接到了设备6。而该用户侧服务器可以进一步作为区块链节点直接耦接到区块链系统,也可以进一步通过各种通信网络耦接到服务器端102;例如,设备5可以进一步作为区块链节点直接耦接到区块链系统,设备6进一步耦接到了服务器端102。
在示出的一种实施方式中,上述用户侧服务器可以由搭建了用户账户体系的服务实体来实现;上述服务实体可以包括面向用户提供各种线上和/或线下服务的服务载体的运营实体。相应地,上述运营实体可以包括上述服务载体对应的运营方;例如,上述运营实体可以包括对上述服务载体进行运营和管理的个人、机构、组织等。
在示出的一种实施方式中,服务器端102也可以通过各种通信网络耦接到一个或多个区块链系统;例如,服务器端102分别耦接到了区块链系统103,区块链系统104和区块链系统105,等等。
在示出的一种实施方式中,上述通信网络可以包括有线和/或无线通信网络;例如,可以是基于运营商提供的有线接入网络或无线接入网络(比如移动蜂窝网络)实现的局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、因特网或其组合。
在示出的一种实施方式中,每个区块链系统都可以维护一个或多个区块链(例如:公有区块链、私有区块链、联盟区块链等),并包括用于承载上述一个或多个区块链的多个区块链节点;例如,如图1中示出的区块链节点1、区块链节点2、区块链节点3、区块链节点4、区块链节点i等可以共同承载一个或多个区块链。各区块链系统包含的区块链之间,以及各区块链系统之间,还可以进行跨链的数据访问。
在示出的一种实施方式中,区块链节点可以是物理设备,也可以是在服务器或服务器集群中实现的虚拟设备;例如,区块链节点可以是服务器集群中的一台物理主机,也可以是基于虚拟化技术对服务器或服务器集群搭载的硬件资源进行虚拟化后,创建的虚拟机。每个区块链节点之间,可以通过各种类型的通信方法(例如:TCP/IP等)耦接在一起形成网络,来承载一个或多个区块链。
在示出的一种实施方式中,服务器端102可以包括用于提供区块链服务(BaaS,Blockchain as a Service)的BaaS平台(也称为BaaS云)。
BaaS平台可以通过为区块链上发生的活动(诸如订阅和通知、用户验证、数据库管理和远程更新),提供预先编写的软件的方式,面向与BaaS平台耦接的用户侧计算设备,提供区块链服务。
例如,与BaaS平台可以提供诸如MQ(Message Queue,消息队列)服务之类的软件;与BaaS平台耦接的用户侧计算设备,可以订阅BaaS平台耦接到的区块链系统中某一区块链上部署的智能合约,在触发执行后在区块链上产生的合约事件;而BaaS平台可以监听该智能合约在触发执行后在区块链上产生的事件,再基于MQ服务相关的软件,将该合约事件以通知消息的形式添加到消息队列中,使得订阅该消息队列的用户侧计算设备,能够得到与上述合约事件相关的通知。
对于区块链外产生的数据而言,可以将其构建成区块链所支持的标准的交易(transaction)格式,然后发布至区块链,由区块链网络中的所有节点对该交易进行共识。在达成共识后,可以由区块链网络中作为记账节点的节点,将这笔交易在区块链中进行持久化存证。
在可编程的区块链中,可以通过面向用户提供智能合约(smart contract)的功能,来支持用户在区块链网络中创建并调用一些复杂的逻辑。智能合约是在区块链上可以被交易触发执行的程序。智能合约可以通过代码的形式定义。
在创建智能合约后,区块链上出现一个与该智能合约对应的合约账户,并拥有一个特定的地址。智能合约的行为由合约账户中的合约代码(code)控制,而合约账户中的账户存储(storage)则保存了智能合约的状态。
用于调用智能合约的交易可以包含发起调用智能合约的账户的地址、被调用的智能合约的地址,以及调用智能合约的方法和参数。在调用智能合约后,智能合约的状态可能改变;可以通过与区块链节点进行通信,来查看智能合约的状态。
智能合约可以以规定的方式被区块链网络中的各节点独立执行,所有执行记录和相关数据都可以被保存在区块链上,因此当这样的交易执行完毕后,区块链上就保存了无法篡改、不会丢失的交易凭证。
区块链上部署的智能合约,通常只能访问区块链上存储的数据内容;而在实际应用中,对于一些基于智能合约技术实现的复杂的业务场景,智能合约可能还需要访问链外的数据实体上存储的外部数据。
在这种场景下,区块链上部署的智能合约,可以通过预言机程序访问链外的数据实体上的数据,进而实现智能合约与真实世界的数据实体之间的数据交互。其中,链外的数据实体,可以包括诸如部署在链外的中心化的服务器或数据中心等。
在实际应用中,在为区块链上的智能合约部署预言机程序时,可以先在区块链上部署一个与预言机程序对应的预言机智能合约;其中,该预言机智能合约用于维护预言机程序发给区块链上的智能合约的外部数据;例如,预言机程序发给区块链上的智能合约的外部数据,可以存储在预言机智能合约的账户存储空间(storage字段)中。
当区块链上的目标智能合约被调用时,可以从该预言机智能合约的账户存储空间中,来读取该目标智能合约所需的外部数据,来完成智能合约的调用过程。
需要说明的是,预言机程序在向区块链上的智能合约发送外部数据时,可以采用主动发送的方式,也可以采用被动发送的方式。
在一种实现方式中,链外的数据实体可以将需要提供给目标智能合约的外部数据,利用预言机程序的私钥进行签名后,发送给上述预言机智能合约;例如,可以采用周期性发送的方式,将签名后的上述外部数据发送给上述预言机智能合约;
而在上述预言机智能合约可以维护预言机程序的CA证书,在收到链外的数据实体发送的外部数据后,可以使用该CA证书中维护的该预言机程序的公钥,对该外部数据的签名进行验证,并在验证通过后,将链外的数据实体发送的外部数据在该预言机智能合约的账户存储空间中进行存储。
在另一种实现方式中,当区块链上的目标智能合约被调用时,如果从该预言机智能合约的账户存储空间中,并未读取到该目标智能合约所需的外部数据,此时该预言机智能合约,可以利用智能合约的事件机制,与上述预言机程序进行交互,并由上述预言机程序将该目标智能合约所需的外部数据,发送至该预言机智能合约的账户存储空间中。
例如,当区块链上的目标智能合约被调用时,如果从该预言机智能合约的账户存储空间中,并未读取到该目标智能合约所需的外部数据,此时该预言机智能合约,可以生成一个外部数据获取事件,并将该外部数据获取事件记录到调用该智能合约的那笔交易的交易日志中,并将该交易日志存储到节点设备的存储空间;而上述预言机程序可以监听节点设备的存储空间中存储的该预言机智能合约产生的交易日志,并在监听到交易日志中的外部数据获取事件后,响应监听到的该外部数据获取事件,将上述目标智能合约所需的外部数据,发送给上述预言机智能合约。
智能合约的事件机制,是智能合约与链外实体进行交互的一种方式。对于区块链上部署的智能合约来说,通常无法直接与链外实体进行交互;例如,智能合约在调用完成后,通常无法将智能合约的调用结果,点对点地发送给智能合约的调用发起方。
智能合约在调用的过程中产生的调用结果(包括中间结果和最终的调用结果),通常都会以事件(event)的形式,记录到调用该智能合约的那笔交易的交易日志(transaction logs),在区块链节点的存储空间中进行存储。而需要与智能合约进行交互的链外实体,则可以通过监听区块链节点的存储空间中存储的上述交易日志的方式,来获取智能合约的调用结果。
本说明书提供一种基于区块链的数字文件签署的技术方案,可以由部署在区块链上的用于对待签署的目标数字文件进行签署管理的智能合约维护与该目标数字文件对应的签署次数,该签署次数可以表示完成对该目标数字文件的签署处理的签署参与方的数量,并且该签署次数被设置了仅由该签署参与方访问的访问权限,相应地可以响应于签署参与方发起的用于对该目标数字文件进行签署处理的签署交易,调用该智能合约包含的签署逻辑,基于该签署参与方的身份信息,对该目标数字文件进行签署处理,进一步调用该智能合约包含的签署管理逻辑,将该签署参与方针对该目标数字文件的签署记录在该区块链中进行加密存储,并更新该智能合约中维护的该签署次数。
在具体实现时,可以在上述区块链上部署用于对该目标数字文件进行签署管理的智能合约。相应地,该智能合约中可以维护与该目标数字文件对应的签署次数。其中,与该目标数字文件对应的签署次数可以表示完成对该目标数字文件的签署处理的签署参与方的数量。
对于上述目标数字文件而言,上述区块链中的节点设备可以获取到签署参与方通过与该签署参与方对应的客户端,发起的用于对上述目标数字文件进行签署处理的签署交易。
上述区块链中的节点设备在获取到上述签署交易的情况下,可以对该签署交易进行响应,调用上述智能合约包含的签署逻辑,基于所述签署参与方的身份信息,对所述目标数字文件进行签署处理。
在通过调用上述智能合约包含的签署逻辑,完成对上述目标数字文件的签署处理的情况下,可以进一步调用上述智能合约包含的签署管理逻辑,将上述签署参与方针对该目标数字文件的签署记录在上述区块链中进行加密存储,并更新该智能合约中维护的上述签署次数。
其中,上述智能合约中维护的上述签署次数可以被设置仅由上述签署参与方访问的访问权限。也即,对于上述目标数字文件而言,仅允许该目标数字文件的签署参与方访问该目标数字文件的签署次数。
通过上述方式,第一方面,可以将签署参与方针对数字文件的签署记录在区块链中进行加密存储,从而可以在记录对数字文件的签署处理的同时,保证签署记录的数据安全性;第二方面,可以由部署在区块链上的智能合约,维护表示完成对数字文件的签署处理的签署参与方的数量的签署次数,并为该签署次数设置仅由该签署参与方访问的访问权限,从而可以在维护对数字文件的签署处理的完成次数的同时,保证所维护的签署次数的数据安全性。
请参考图2,图2是本说明书一示例性实施例示出的一种基于区块链的数字文件签署方法的流程图。
在本实施例中,上述基于区块链的数字文件签署方法可以应用于该区块链中的节点设备。
在一种实现方式中,与签署参与方对应的客户端可以与上述区块链进行数据交互,由此完成对上述数字文件的签署处理。其中,签署参与方可以是参与签署数字文件的用户。
结合如图1所示的网络环境,该客户端可以运行在用户侧计算设备101中的设备4上。该区块链可以是提供智能合约功能的任一类型的区块链。
在另一种实现方式中,与签署参与方对应的客户端可以与区块链服务平台进行数据交互,该区块链服务平台可以进一步与上述区块链进行数据交互,由此完成对上述数字文件进行签署处理。其中,签署参与方可以是参与签署数字文件的用户。
结合如图1所示的网络环境,该客户端可以运行在用户侧计算设备101中的设备3上;该区块链服务平台可以运行在服务器端102上。该区块链可以是提供智能合约功能的任一类型的区块链。
对于任一待签署的数字文件(下称为目标数字文件)而言,上述区块链上可以部署有用于对该目标数字文件进行签署管理的智能合约。相应地,该智能合约中可以维护与该目标数字文件对应的签署次数。其中,与该目标数字文件对应的签署次数可以表示完成对该目标数字文件的签署处理的签署参与方的数量;该签署次数具体可以被存储在该智能合约的账户存储空间中。
在示出的一种实施方式中,上述目标数字文件可以是电子合同。电子合同通常存在需要由多方共同签署的情况;也即,对于电子合同而言,签署参与方可以有多个。其中,用户可以指代个人,也可以指代机构、组织等,本说明书对此不作限制。
上述基于区块链的数字文件签署方法可以包括以下步骤:
步骤202:获取所述签署参与方发起的用于对所述目标数字文件进行签署处理的签署交易。
在本实施例中,对于上述目标数字文件而言,签署参与方可以通过上述客户端,发起针对该目标数字文件的签署处理操作。
具体地,上述客户端可以向上述签署参与方输出如图3所示的用于对数字文件进行签署处理的用户界面。该签署参与方可以在该用户界面中,先上传上述目标数字文件,并从该签署参与方可以使用的所有数字印章中选择所需的数字印章(下称为目标数字印章),后续可以在该目标数字文件的上传和该目标数字印章的选择完成后,点击“确认”按钮,以触发基于该目标数字印章对该目标数字文件进行签章处理,从而完成对该目标数字文件的签署处理。在这种情况下,该客户端可以将该签署参与方对该“确认”按钮的点击操作,确定为该签署参与方发起的针对该目标数字文件的签章处理操作。
在一种实现方式中,上述客户端在检测到上述签署处理操作的情况下,可以对该签署处理操作进行响应,将用于调用上述智能合约的调用数据,构建成上述区块链所支持的标准的交易格式,作为合约调用交易(下称为签署交易)。此时,该签署交易具体可以用于通过调用该智能合约,对上述目标数字文件进行签署处理。该客户端可以进一步将该签署交易发布至该区块链,使得该区块链中的区块链节点可以获取到该签署交易。
在另一种实现方式中,上述客户端在检测到上述签署处理操作的情况下,可以对该签署处理操作进行响应,构建签署请求,并将该签署请求发送给上述区块链服务平台。该区块链服务平台在接收到该签署请求的情况下,可以对该签署请求进行响应,将用于调用上述智能合约的调用数据,构建成上述区块链所支持的标准的交易格式,作为合约调用交易(下称为签署交易)。此时,该签署交易具体可以用于通过调用该智能合约,对上述目标数字文件进行签署处理。该客户端可以进一步将该签署交易发布至该区块链,使得该区块链中的区块链节点可以获取到该签署交易。
在实际应用中,也可以由签署发起方通过与该签署发起方对应的客户端,发起针对上述目标数字文件的签署处理操作。
其中,签署发起方可以是发起对数字文件的签署处理的用户。上述目标数字文件的签署发起方,可以是该目标数字文件的多个签署参与方中的任意一个;或者,也可以不属于该目标数字文件的多个签署参与方,而是这多个签署参与方之外的其他用户;本说明书对此不作限制。
具体地,与上述签署发起方对应的客户端可以向该签署发起方输出如图4所示的用于对数字文件进行签署处理的用户界面。该签署发起方可以在该用户界面中,先上传上述目标数字文件,并从所有用户中选择所需的签署参与方,后续可以在该目标数字文件的上传和所需的签署参与方的选择完成后,点击“确认”按钮,以触发由所需的签署参与方对该目标数字文件进行签署处理。在这种情况下,该客户端可以将该用户对该“确认”按钮的点击操作,确定为该签署发起方发起的针对该目标数字文件的签署处理操作。
在一种实现方式中,与上述签署发起方对应的客户端在检测到上述签署处理操作的情况下,可以对该签署处理操作进行响应,确定参与签署上述目标数字文件的其他签署参与方。
如前述内容所述,可以由上述签署发起方通过用于对数字文件进行签署处理的用户界面,从所有用户中选择所需的签署参与方,以将所需的签署参与方确定为参与签署上述目标数字文件的其他签署参与方。
或者,可以根据上述目标数字文件的文件内容,从所有用户中确定出所需的签署参与方;此时,这些签署参与方即为在实际情况下需要对该目标数字文件进行签署处理的用户。后续,可以将这些签署参与方确定为参与签署该目标数字文件的其他签署参与方。
在这种情况下,可以由与上述签署发起方对应的客户端向上述目标数字文件的其他签署参与方发送对该目标数字文件进行签署处理的通知消息。以上述其他签署参与方中的任一签署参与方(下称为目标签署参与方)为例,与该目标签署参与方对应的客户端在接收到该通知消息时,可以对该通知消息进行响应,构建上述签署交易,并将该签署交易发布至上述区块链,使得该区块链中的区块链节点可以获取到该签署交易;或者构建签署请求,并将该签署请求发送给上述区块链服务平台,由该区块链服务平台构建上述签署交易,并将该签署交易发布至上述区块链,使得该区块链中的区块链节点可以获取到该签署交易。
在另一种实现方式中,与上述签署发起方对应的客户端在检测到上述签署处理操作的情况下,可以对该签署处理操作进行响应,构建签署请求,并将该签署请求发送给上述区块链服务平台。该区块链服务平台在接收到该
签署请求的情况下,可以对该签署请求进行响应,确定参与签署上述目标数字文件的其他签署参与方。
在这种情况下,可以由上述区块链服务平台向上述目标数字文件的其他签署参与方发送对该目标数字文件进行签署处理的通知消息。以上述其他签署参与方中的任一签署参与方(下称为目标签署参与方)为例,与该目标签署参与方对应的客户端在接收到该通知消息时,可以对该通知消息进行响应,构建上述签署交易,并将该签署交易发布至上述区块链,使得该区块链中的区块链节点可以获取到该签署交易;或者构建签署请求,并将该签署请求发送给上述区块链服务平台,由该区块链服务平台构建上述签署交易,并将该签署交易发布至上述区块链,使得该区块链中的区块链节点可以获取到该签署交易。
步骤204:响应于所述签署交易,调用所述智能合约包含的签署逻辑,基于所述签署参与方的身份信息,对所述目标数字文件进行签署处理。
在本实施例中,上述区块链中的节点设备在获取到上述签署交易的情况下,可以对该签署交易进行响应,调用上述智能合约。
在实际应用中,上述区块链中的所有区块链节点可以对上述签署交易进行共识。在达成共识后,可以由该区块链中作为记账节点的区块链节点,将该签署交易打包进区块。对于打包进区块的该签署交易而言,该区块链中的各区块链节点可以对该签署交易进行响应,调用上述智能合约。
具体地,可以由上述区块链节点调用上述智能合约包含的签署逻辑,基于所述签署参与方的身份信息,对所述目标数字文件进行签署处理。
步骤206:响应于所述目标数字文件签署处理完成,进一步调用所述智能合约包含的签署管理逻辑,将所述签署参与方针对所述目标数字文件的签署记录在所述区块链中进行加密存储,并更新所述智能合约中维护的所述签署次数;其中,所述智能合约中维护的所述签署次数被设置了仅由所述签署参与方访问的访问权限。
在本实施例中,在通过调用上述智能合约包含的签署逻辑,完成对上述目标数字文件的签署处理的情况下,可以进一步调用上述智能合约包含的签署管理逻辑,将上述签署参与方针对该目标数字文件的签署记录在上述区块链中进行加密存储,并更新该智能合约中维护的上述签署次数。
也即,对于上述目标数字文件的任一签署参与方(下称为目标签署参与方)而言,在该目标签署参与方完成对该目标数字文件的签署处理的情况下,一方面,可以对该目标签署参与方针对该目标数字文件的签署记录进行加密,并将加密后的该签署记录在上述区块链中进行存储,例如存储在上述智能合约的账户存储空间中;另一方面,由于上述签署次数可以表示完成对该目标数字文件的签署处理的签署参与方的数量,在这种情况下,即可更新该智能合约中维护的该签署次数。
其中,上述智能合约中维护的上述签署次数可以被设置仅由上述签署参与方访问的访问权限。也即,对于上述目标数字文件而言,仅允许该目标数字文件的签署参与方访问该目标数字文件的签署次数。
需要说明的是,本说明书中的签署参与方也可以指代与签署参与方对应的客户端。
下面对从对上述目标数字文件进行签署处理、更新上述签署次数、访问上述签署次数、访问上述签署记录的方面,对如图2所示的实施例进行详细说明。
(1)对上述目标数字文件进行签署处理
在示出的一种实施方式中,上述签署方的身份信息可以是上述签署参与方持有的一对非对称密钥,包括该签署参与方的私钥和该签署参与方的公钥。
在这种情况下,上述签署交易可以包括基于上述签署参与方的数字印章对上述目标数字文件进行签章处理的授权信息。其中,可以基于该签署参与方的私钥对该授权信息进行签名处理,即该签署交易中的该授权信息可以是基于该签署参与方的私钥签名后的该授权信息。
相应地,在基于上述签署参与方的身份信息,对上述目标数字文件进行签署处理时,具体可以基于该签署参与方的公钥对上述授权信息的签名进行验证,并在验证通过后基于该签署参与方的数字印章对该目标数字文件进行签章处理,以完成对该目标数字文件的签署处理。
在实际应用中,上述签署参与方可以自行保管其非对称密钥对;或者,该签署参与方可以将其非对称密钥对托管存储至存储系统,使得后续在对数字文件进行签署处理时可以直接从该存储系统中获取到该签署参与方的非对称密钥对,而无需再由该签署参与方提供其非对称密钥对,在保证非对称密钥对的数据安全性的同时为该签署参与方提供便利。
需要说明的是,如果上述签署参与方将其私钥托管存储至存储系统,则可以由被托管方基于该签署参与方的私钥对上述授权信息进行签名处理。
在实际应用中,可以预先将上述签署参与方的数字印章存储在上述区块链中,使得后续在需要使用该签署参与方的数字印章时,可以直接从该区块链中获取到该签署参与方的数字印章。
(2)更新上述签署次数
在示出的一种实施方式中,在更新上述智能合约中维护的上述签署次数时,具体可以先更新该智能合约中维护的该签署次数,再在完成对该签署次数的更新的情况下,生成与更新后的该签署次数对应的混淆值,并将该混淆值在上述区块链中进行存储,例如存储在该智能合约的账户存储空间中。
需要说明的是,一方面,可以为上述签署次数设置仅由上述签署参与方访问的访问权限,即仅允许该签署参与方访问该签署次数;另一方面,可以不为上述混淆值设置特定的访问权限,即该签署参与方之外的其他用户也可以公开访问该混淆值。在这种情况下,对于上述目标数字文件而言,该目标数字文件的签署参与方之外的其他用户仅能访问该目标数字文件的混淆值。
在示出的一种实施方式中,上述混淆值可以是随机数,也可以是不具有特定规律的其他数据,使得无法根据混淆值破解出签署次数。
(3)访问上述签署次数
在示出的一种实施方式中,用户可以通过与其对应的客户端,发起针对上述签署次数的访问交易。
上述区块链中的节点设备在获取到上述访问交易的情况下,可以调用上述智能合约。
在实际应用中,上述区块链中的所有区块链节点可以对上述访问交易进行共识。在达成共识后,可以由该区块链中作为记账节点的区块链节点,将该访问交易打包进区块。对于打包进区块的该访问交易而言,该区块链中的各区块链节点可以对该访问交易进行响应,调用上述智能合约。
具体地,可以由上述区块链节点调用上述智能合约包含的签署次数管理逻辑,校验上述用户是否为与上述目标数字文件对应的签署参与方,如果是,则允许该用户访问上述签署次数。
为了保证数据交互过程中的数据安全性,在上述用户访问上述签署次数的过程中,具体可以基于该用户的公钥对该签署次数进行加密处理。
在通过调用上述智能合约包含的签署次数管理逻辑,完成基于上述用户的公钥对上述签署次数的加密处理的情况下,由于加密后的该签署次数即为该智能合约的调用结果,在这种情况下,可以生成包含加密后的该签署次数的事件,并将该事件记录到上述访问交易的交易日志,在上述区块链中进行存储。
上述用户可以通过监听上述区块链中存储的该交易日志的方式,获取到上述事件,从而获取到该事件中包含的加密后的该签署次数。或者,该用户可以向部署在该区块链中的区块链节点上的、作为事件通知中心的SDK(Software Development Kit,软件开发工具包)订阅该事件,以由该SDK在检测到生成了该事件时,将该事件发送给该用户,使得该用户可以获取到该事件,从而获取到该事件中包含的加密后的该签署次数。
后续,上述用户可以响应于获取到的加密后的上述签署次数,基于该用户的私钥对加密后的该签署次数进行解密处理,即可得到未经加密的、原始的该签署次数。
需要说明的是,本说明书中的签用户也可以指代与用户对应的客户端。
在示出的一种实施方式中,为了进一步提高数据安全性,上述区块链中的节点设备上可以搭载TEE(Trusted Execution Environment,可信执行环境),并将上述智能合约部署在该TEE中。相应地,可以将与该智能合约对应的对称密钥存储在该TEE中。
具体地,可以先基于与上述智能合约对应的对称密钥对该智能合约的代码进行加密处理,并将加密后的该智能合约部署在上述区块链中,后续可以将该区块链中存储的加密后的该智能合约加载到该TEE中,由该TEE基于该对称密钥对加密后的该智能合约进行解密处理,并执行解密处理得到的该智能合约的代码,以实现对该智能合约的调用。
在这种情况下,可以将上述签署次数存储在上述TEE中。也即,上述智能合约可以从该TEE中获取到该签署次数。
(4)访问上述签署记录
在示出的一种实施方式中,用户可以通过与其对应的客户端,发起针对上述目标数字文件的任一签署记录(下称为目标签署记录)的访问交易。
上述区块链中的节点设备在获取到上述访问交易的情况下,可以调用上述智能合约。
在实际应用中,上述区块链中的所有区块链节点可以对上述访问交易进行共识。在达成共识后,可以由该区块链中作为记账节点的区块链节点,将该访问交易打包进区块。对于打包进区块的该访问交易而言,该区块链中的各区块链节点可以对该访问交易进行响应,调用上述智能合约。
具体地,可以由上述区块链节点调用上述智能合约包含的签署记录管理逻辑,对上述用户进行校验;由于签署记录是与签署参与方针对上述目标数字文件的签署处理对应的记录,在这种情况下,可以校验上述用户是否为与上述目标签署记录对应的签署参与方;如果是,则允许该用户访问该目标签署记录。
为了保证数据交互过程中的数据安全性,在上述用户访问上述目标签署记录的过程中,具体可以基于该用户的公钥对该目标签署记录进行加密处理。
在通过调用上述智能合约包含的签署记录管理逻辑,完成基于上述用户的公钥对上述目标签署记录的加密处理的情况下,由于加密后的该目标签署记录即为该智能合约的调用结果,在这种情况下,可以生成包含加密后的该目标签署记录的事件,并将该事件记录到上述访问交易的交易日志,在上述区块链中进行存储。
上述用户可以通过监听上述区块链中存储的该交易日志的方式,获取到上述事件,从而获取到该事件中包含的加密后的该目标签署记录。或者,该用户可以向部署在该区块链中的区块链节点上的、作为事件通知中心的SDK订阅该事件,以由该SDK在检测到生成了该事件时,将该事件发送给该用户,使得该用户可以获取到该事件,从而获取到该事件中包含的加密后的该目标签署记录。
后续,上述用户可以响应于获取到的加密后的上述目标签署记录,基于该用户的私钥对加密后的该目标签署记录进行解密处理,即可得到未经加密的、原始的该目标签署记录。
需要说明的是,本说明书中的签用户也可以指代与用户对应的客户端。
在示出的一种实施方式中,为了进一步提高数据安全性,上述区块链中的节点设备上可以搭载TEE,并将上述智能合约部署在该TEE中。相应地,可以将与该智能合约对应的对称密钥存储在该TEE中。
具体地,可以先基于与上述智能合约对应的对称密钥对该智能合约的代码进行加密处理,并将加密后的该智能合约部署在上述区块链中,后续可以将该区块链中存储的加密后的该智能合约加载到该TEE中,由该TEE基于该对称密钥对加密后的该智能合约进行解密处理,并执行解密处理得到的该智能合约的代码,以实现对该智能合约的调用。
在这种情况下,在将上述签署参与方针对上述目标数字文件的签署记录在上述区块链中进行加密存储时,具体可以基于上述TEE中维护的与上述智能合约对应的对称密钥,对该签署记录进行加密处理,并将加密后的该签署次数存储在上述区块链中。
相应地,在基于上述用户的公钥对上述目标签署记录进行加密处理时,具体可以在该TEE中,先基于该TEE中维护的与上述智能合约对应的对称密钥,对该区块链中存储的加密后的该目标签署记录进行解密处理,再基于该用户的公钥对解密出的该目标签署记录重新进行加密处理。
在上述技术方案中,可以由部署在区块链上的用于对待签署的目标数字文件进行签署管理的智能合约维护与该目标数字文件对应的签署次数,该签署次数可以表示完成对该目标数字文件的签署处理的签署参与方的数量,并且该签署次数被设置了仅由该签署参与方访问的访问权限,相应地可以响应于签署参与方发起的用于对该目标数字文件进行签署处理的签署交易,调用该智能合约包含的签署逻辑,基于该签署参与方的身份信息,对该目标数字文件进行签署处理,进一步调用该智能合约包含的签署管理逻辑,将该签署参与方针对该目标数字文件的签署记录在该区块链中进行加密存储,并更新该智能合约中维护的该签署次数。
通过上述方式,第一方面,可以将签署参与方针对数字文件的签署记录在区块链中进行加密存储,从而可以在记录对数字文件的签署处理的同时,保证签署记录的数据安全性;第二方面,可以由部署在区块链上的智能合约,维护表示完成对数字文件的签署处理的签署参与方的数量的签署次数,并为该签署次数设置仅由该签署参与方访问的访问权限,从而可以在维护对数字文件的签署处理的完成次数的同时,保证所维护的签署次数的数据安全性。
与前述基于区块链的数字文件签署方法的实施例相对应,本说明书还提供了基于区块链的数字文件签署装置的实施例。
本说明书基于区块链的数字文件签署装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本说明书基于区块链的数字文件签署装置所在电子设备的一种硬件结构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该基于区块链的数字文件签署的实际功能,还可以包括其他硬件,对此不再赘述。
请参考图6,图6是本说明书一示例性实施例示出的一种基于区块链的数字文件签署装置的框图。
上述基于区块链的数字文件签署装置可以应用于运行在如图5所示的电子设备,该电子设备可以作为所述区块链中的节点设备;所述区块链上部署了用于对待签署的目标数字文件进行签署管理的智能合约;所述智能合约中维护了与所述目标数字文件对应的签署次数;所述签署次数表示所述目标数字文件的多个签署参与方中,完成对所述目标数字文件的签署处理的签署参与方的数量。
上述基于区块链的数字文件签署装置可以包括:
获取模块601,获取所述签署参与方发起的用于对所述目标数字文件进行签署处理的签署交易;
签署模块602,响应于所述签署交易,调用所述智能合约包含的签署逻辑,基于所述签署参与方的身份信息,对所述目标数字文件进行签署处理;
存储模块603,响应于所述目标数字文件签署处理完成,进一步调用所述智能合约包含的签署管理逻辑,将所述签署参与方针对所述目标数字文件的签署记录在所述区块链中进行加密存储,并更新所述智能合约中维护的所述签署次数;其中,所述智能合约中维护的所述签署次数被设置了仅由所述签署参与方访问的访问权限。
对于装置实施例而言,其基本对应于方法实施例,因此相关之处参见方法实施例的部分说明即可。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书的技术方案的目的。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

Claims (12)

1.一种基于区块链的数字文件签署方法,应用于所述区块链中的节点设备;所述区块链上部署了用于对待签署的目标数字文件进行签署管理的智能合约;所述智能合约中维护了与所述目标数字文件对应的签署次数;所述签署次数表示完成对所述目标数字文件的签署处理的签署参与方的数量;所述方法包括:
获取所述签署参与方发起的用于对所述目标数字文件进行签署处理的签署交易;
响应于所述签署交易,调用所述智能合约包含的签署逻辑,基于所述签署参与方的身份信息,对所述目标数字文件进行签署处理;
响应于所述目标数字文件签署处理完成,进一步调用所述智能合约包含的签署管理逻辑,将所述签署参与方针对所述目标数字文件的签署记录在所述区块链中进行加密存储,并更新所述智能合约中维护的所述签署次数;其中,所述智能合约中维护的所述签署次数被设置了仅由所述签署参与方访问的访问权限。
2.根据权利要求1所述的方法,所述签署交易包括基于所述签署参与方的数字印章对所述目标数字文件进行签章处理的授权信息;所述授权信息基于所述签署参与方的私钥进行了签名处理;
所述基于所述签署参与方的身份信息,对所述目标数字文件进行签署处理,包括:
基于所述签署参与方的公钥对所述授权信息的签名进行验证,并在验证通过后基于所述签署参与方的数字印章对所述目标数字文件进行签章处理,以完成对所述目标数字文件的签署处理。
3.根据权利要求1所述的方法,所述更新所述智能合约中维护的所述签署次数,包括:
更新所述智能合约中维护的所述签署次数;以及,
响应于所述签署次数更新完成,生成与更新后的所述签署次数对应的混淆值,并将所述混淆值在所述区块链中进行存储,以使所述目标数字文件的签署参与方之外的其他用户对所述混淆值进行公开访问。
4.根据权利要求3所述的方法,所述混淆值包括随机数。
5.根据权利要求1所述的方法,所述方法还包括:
获取用户发起的针对所述签署次数的访问交易;
响应于所述访问交易,调用所述智能合约包含的签署次数管理逻辑,校验所述用户是否为与所述目标数字文件对应的签署参与方,如果是,基于所述用户的公钥对所述签署次数进行加密处理,以使所述用户响应于获取到的加密后的所述签署次数,基于所述用户的私钥对加密后的所述签署次数进行解密处理,得到所述签署次数。
6.根据权利要求1所述的方法,所述方法还包括:
获取用户发起的针对所述目标数字文件的任一目标签署记录的访问交易;
响应于所述访问交易,调用所述智能合约包含的签署记录管理逻辑,校验所述用户是否为与所述目标签署记录对应的签署参与方,如果是,基于所述用户的公钥对所述目标签署记录进行加密处理,以使所述用户响应于获取到的加密后的所述目标签署记录,基于所述用户的私钥对加密后的所述目标签署记录进行解密处理,得到所述目标签署记录。
7.根据权利要求6所述的方法,所述智能合约部署在所述区块链中的节点设备上搭载的TEE中;所述TEE中维护了与所述智能合约对应的对称密钥;
所述将所述签署参与方针对所述目标数字文件的签署记录在所述区块链中进行加密存储,包括:
在所述TEE中基于所述TEE中维护的与所述智能合约对应的对称密钥,对所述签署参与方针对所述目标数字文件的签署记录进行加密处理,并将加密后的所述签署记录在所述区块链中进行存储;
所述基于所述用户的公钥对所述目标签署记录进行加密处理,包括:
在所述TEE中基于所述TEE中维护的与所述智能合约对应的对称密钥,对所述区块链中存储的加密后的所述目标签署记录进行解密处理,并基于所述用户的公钥对解密出的所述目标签署记录进行加密处理。
8.根据权利要求1所述的方法,参与签署所述目标数字文件的签署参与方包括多个签署参与方。
9.根据权利要求1所述的方法,所述目标数字文件包括电子合同。
10.一种基于区块链的数字文件签署装置,应用于所述区块链中的节点设备;所述区块链上部署了用于对待签署的目标数字文件进行签署管理的智能合约;所述智能合约中维护了与所述目标数字文件对应的签署次数;所述签署次数表示所述目标数字文件的多个签署参与方中,完成对所述目标数字文件的签署处理的签署参与方的数量;所述装置包括:
获取模块,获取所述签署参与方发起的用于对所述目标数字文件进行签署处理的签署交易;
签署模块,响应于所述签署交易,调用所述智能合约包含的签署逻辑,基于所述签署参与方的身份信息,对所述目标数字文件进行签署处理;
存储模块,响应于所述目标数字文件签署处理完成,进一步调用所述智能合约包含的签署管理逻辑,将所述签署参与方针对所述目标数字文件的签署记录在所述区块链中进行加密存储,并更新所述智能合约中维护的所述签署次数;其中,所述智能合约中维护的所述签署次数被设置了仅由所述签署参与方访问的访问权限。
11.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-9中任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-9中任一项所述的方法。
CN202210752070.7A 2022-06-28 2022-06-28 基于区块链的数字文件签署方法及装置 Pending CN115131029A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210752070.7A CN115131029A (zh) 2022-06-28 2022-06-28 基于区块链的数字文件签署方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210752070.7A CN115131029A (zh) 2022-06-28 2022-06-28 基于区块链的数字文件签署方法及装置

Publications (1)

Publication Number Publication Date
CN115131029A true CN115131029A (zh) 2022-09-30

Family

ID=83380061

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210752070.7A Pending CN115131029A (zh) 2022-06-28 2022-06-28 基于区块链的数字文件签署方法及装置

Country Status (1)

Country Link
CN (1) CN115131029A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115495770A (zh) * 2022-11-18 2022-12-20 中国信息通信研究院 基于区块链的超期合约处理方法和装置、设备和介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115495770A (zh) * 2022-11-18 2022-12-20 中国信息通信研究院 基于区块链的超期合约处理方法和装置、设备和介质

Similar Documents

Publication Publication Date Title
US20190287026A1 (en) Learning service blockchain
WO2021000337A1 (en) System and method for mapping decentralized identifiers to real-world entities
US11762842B2 (en) Systems and methods for asynchronous delayed updates in virtual distributed ledger networks
CN111475827A (zh) 基于链下授权的隐私数据查询方法及装置
WO2019013890A1 (en) BLOCK CHAIN
CN110580245B (zh) 隐私数据的共享方法及装置
US10936552B2 (en) Performing bilateral negotiations on a blockchain
CN110580412A (zh) 基于链代码的权限查询配置方法及装置
CN110580411B (zh) 基于智能合约的权限查询配置方法及装置
CN112075062A (zh) 区块链网络中的自动提交交易管理
US11829489B2 (en) Systems and methods for a wearables-based internet-of-things service in an edge-computed blockchain network
CN111127021B (zh) 基于区块链的服务请求方法及装置
CN111475850A (zh) 基于智能合约的隐私数据查询方法及装置
US11838406B2 (en) Systems and methods for control-data plane partitioning in virtual distributed ledger networks
CN111241557A (zh) 基于区块链的服务请求方法及装置
CN115296794A (zh) 基于区块链的密钥管理方法及装置
US11763298B2 (en) Systems and methods for hybrid synchronization in virtual distributed ledger networks
US20200082391A1 (en) Performing bilateral negotiations on a blockchain
CN114500119B (zh) 区块链服务的调用方法和装置
CN113221165B (zh) 一种基于区块链的用户要素认证方法及装置
CN115131029A (zh) 基于区块链的数字文件签署方法及装置
CN115118434A (zh) 基于区块链的密钥管理方法及装置
CN115174183A (zh) 基于区块链的数字文件签署方法及装置
CN115062063B (zh) 基于区块链的数据查询方法和装置
CN115580412B (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