CN112330449A - 基于区块链的联合账户创建方法、***、设备及存储介质 - Google Patents
基于区块链的联合账户创建方法、***、设备及存储介质 Download PDFInfo
- Publication number
- CN112330449A CN112330449A CN202011210049.1A CN202011210049A CN112330449A CN 112330449 A CN112330449 A CN 112330449A CN 202011210049 A CN202011210049 A CN 202011210049A CN 112330449 A CN112330449 A CN 112330449A
- Authority
- CN
- China
- Prior art keywords
- account
- address
- contract
- joint
- transfer
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Computing Systems (AREA)
- Technology Law (AREA)
- Data Mining & Analysis (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请提出一种基于区块链的联合账户创建方法、***、设备及存储介质,该方法包括:接收联合账户的账户创建请求,账户创建请求包括联合账户的联合账户地址、智能合约及共同持有人的用户地址;为智能合约分配合约地址;将联合账户地址、每个共同持有人的用户地址、合约地址及智能合约存储在区块链节点设备中;将合约地址发送给每个共同持有人的终端。本申请通过智能合约约定联合账户的转账规则,共同持有人通过合约地址实现联合账户的转账操作,使共同持有人在不共享私钥的前提下,都能在区块链中操作联合账户,无需共享私钥,能提高联合账户的安全性。在区块链中实现联合账户的交易处理,能够确保联合账户的交易记录真实可靠,避免账户作假。
Description
技术领域
本申请属于区块链技术领域,具体涉及一种基于区块链的联合账户创建方法、***、设备及存储介质。
背景技术
目前,区块链账户中,一个私钥对应一个账户,用户发起转账请求时,通过私钥对转账金额和目的账户地址进行签名,在转账请求中携带该签名以及私钥对应的公钥。区块链节点接收到该转账请求后,通过该转账请求携带的公钥对转账请求中的签名进行解密,得到转账金额及目的账户地址。然后通过非对称加密算法对该公钥进行运算,得到用户的账户地址,然后从用户的账户地址中转出该转账金额,并在目的账户地址中转入该转账金额。
由于一个私钥对应一个账户,为了账户的安全性考虑,私钥由用户保存,是非公开的。因此在现有技术中的区块链***中多个用户无法对同一个账户进行操作。除非多个用户共享私钥,但共享私钥会使得账户存在很高的安全风险。
因此对于现实中存在的很多用户共同持有一个联合账户的情景,目前的区块链中的账户设计无法满足联合账户的需求。
发明内容
本申请提出一种基于区块链的联合账户创建方法、***、设备及存储介质,通过智能合约约定联合账户的转账规则,共同持有人通过合约地址实现联合账户的转账操作,使共同持有人在不共享私钥的前提下,都能在区块链中操作联合账户,无需共享私钥,能提高联合账户的安全性。在区块链中实现联合账户的交易处理,能够确保联合账户的交易记录真实可靠,避免账户作假。
本申请第一方面实施例提出了一种基于区块链的联合账户创建方法,应用于区块链节点设备,包括:
接收联合账户对应的账户创建请求,所述账户创建请求包括所述联合账户对应的联合账户地址、智能合约及共同持有人的用户地址,所述智能合约中包括所述联合账户的转账规则;
为所述智能合约分配合约地址;
将所述联合账户地址、每个共同持有人的用户地址、所述合约地址及所述智能合约存储在区块链节点设备中;
将所述合约地址分别发送给所述每个共同持有人的终端。
在本申请的一些实施例中,所述为所述智能合约分配合约地址,包括:
从所述每个共同持有人的用户地址中获取任一共同持有人的用户地址;
通过预设编码算法对获取的所述用户地址和所述联合账户地址进行编码;
通过预设散列算法对编码得到的字符串进行散列运算;
将散列运算得到的字符串的前预设数目个字符剔除,将剩余的字符串确定为所述智能合约对应的合约地址。
在本申请的一些实施例中,所述接收联合账户对应的账户创建请求,包括:
接收联合账户的任一共同持有人的终端发送的账户创建请求,所述账户创建请求中包括所述联合账户的每个共同持有人的用户地址;或者,
接收联合账户的共同持有人的终端发送的账户创建请求,所述账户创建请求中包括所述联合账户对应的联合账户地址和所述共同持有人的用户地址;根据所述联合账户地址,从接收到的多个账户创建请求中确定出同属于所述联合账户的所有共同持有人的用户地址。
在本申请的一些实施例中,所述将所述合约地址分别发送给所述每个共同持有人的终端之后,还包括:
接收共同持有人的终端发送的所述联合账户的转账请求,所述转账请求包括公钥和加密的所述合约地址,所述合约地址是采用所述共同持有人的私钥进行加密的;
采用所述公钥对加密的所述合约地址进行解密;
根据解密后的所述合约地址,调用所述联合账户对应的智能合约对所述转账请求进行处理。
本申请第二方面的实施例提供了一种基于区块链的联合账户创建方法,应用于终端,包括:
发送联合账户对应的账户创建请求给区块链节点设备,所述账户创建请求包括所述联合账户对应的联合账户地址、智能合约及共同持有人的用户地址,所述智能合约中包括所述联合账户的转账规则;
接收所述区块链节点设备返回的所述智能合约对应的合约地址;
存储所述合约地址。
在本申请的一些实施例中,所述方法还包括:
获取所述终端对应的所述联合账户的共同持有人的用户地址;
根据获取的所述用户地址,通过预设非对称加密算法生成所述共同持有人对应的公钥和私钥;
存储所述公钥和所述合约地址的对应关系。
在本申请的一些实施例中,所述存储所述合约地址之后,还包括:
接收共同持有人输入的私钥、目的账户地址和转账金额;
从本地获取存储的公钥和所述合约地址;
通过所述私钥对所述转账金额、所述目的账户地址和所述合约地址进行签名,得到转账信息密文;
发送转账请求给所述区块链节点设备,所述转账请求包括所述转账信息密文和所述公钥。
本申请第三方面的实施例提供了一种区块链***,包括:区块链节点设备和终端
所述区块链节点设备,用于接收联合账户对应的账户创建请求,所述账户创建请求包括所述联合账户对应的联合账户地址、智能合约及共同持有人的用户地址,所述智能合约中包括所述联合账户的转账规则;为所述智能合约分配合约地址;将所述联合账户地址、每个共同持有人的用户地址、所述合约地址及所述智能合约存储在区块链节点设备中;将所述合约地址分别发送给所述每个共同持有人的终端;
所述终端,用于发送所述联合账户对应的账户创建请求给区块链节点设备;接收所述区块链节点设备返回的所述智能合约对应的合约地址;存储所述合约地址。
本申请第四方面的实施例提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述第一方面或第二方面所述的方法的步骤。
本申请第五方面的实施例提供了一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述第一方面或第二方面所述的方法的步骤。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
在本申请实施例中,在区块链中创建联合账户,通过智能合约来约定联合账户的转账规则,联合账户的共同持有人通过智能合约对应的合约地址实现对联合账户的转账操作,使得联合账户的共同持有人在不共享私钥的前提下,任意一个共同持有人都能够在区块链中操作联合账户。且基于区块链的可追溯、不可篡改特性,在区块链中实现联合账户的交易处理,能够确保联合账户的交易记录真实可靠,避免账户作假,且多个共同持有人使用各自的私钥,无需共享私钥,能够提高联合账户的安全性。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变的明显,或通过本申请的实践了解到。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本申请一实施例所提供的一种基于区块链的联合账户创建方法的流程示意图;
图2示出了本申请一实施例所提供的一种区块链***的结构示意图;
图3示出了本申请一实施例所提供的一种计算机设备的结构示意图;
图4示出了本申请一实施例所提供的一种存储介质的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
本申请的一些实施例提供了一种基于区块链的联合账户创建方法,该方法在区块链***中创建联合账户时,通过智能合约来约定联合账户的转账规则,联合账户的共同持有人通过智能合约对应的合约地址实现对联合账户的转账操作,使得联合账户的共同持有人在不共享私钥的前提下,任意一个共同持有人都能够在区块链中操作联合账户。且基于区块链的可追溯、不可篡改特性,在区块链中实现联合账户的交易处理,能够确保联合账户的交易记录真实可靠,避免账户作假,且多个共同持有人使用各自的私钥,无需共享私钥,能够提高联合账户的安全性。
当多个用户在银行开设一个联合账户之后,这多个用户即为该联合账户的共同持有人。开设联合账户之后,所有的共同持有人可以通过协商制定该联合账户对应的合约,在该合约中约定该联合账户的转账逻辑。例如,可以在该联合账户中约定从联合账户转出款项时需要全体共同持有人同意方可转账;或者,需要预设百分比的共同持有人同意方可转账,预设百分比可以为50%或80%等;或者,需要特定的共同持有人同意方可转账;或者,约定转账金额小于预设金额时无需其他共同持有人同意,转账金额大于预设金额时需要其他共同持有人同意,等等。
共同持有人开设联合账户,并制定出该联合账户对应的合约之后,可以通过本申请实施例提供的方法在区块链***中创建该联合账户,如图1所示,该方法具体包括以下步骤:
步骤101:终端发送联合账户对应的账户创建请求给区块链节点设备,该账户创建请求包括联合账户对应的联合账户地址、智能合约及共同持有人的用户地址,该智能合约中包括联合账户的转账规则。
上述终端可以为联合账户的共同持有人的手机或电脑等设备。任意一个共同持有人可以通过自己的终端向区块链节点设备发起账户创建请求,并在该账户创建请求中携带联合账户地址、每个共同持有人的用户地址及智能合约。共同持有人的终端上安装有用于进行联合账户交易处理的APP(Application,应用程序),共同持有人可以通过该APP发起联合账户的账户创建请求。其中,联合账户地址可以为该联合账户的账号,共同持有人的用户地址可以为共同持有人的终端中上述APP对应的URL(Uniform Resource Locator,统一资源***)。
在本申请的另一些实施例中,上述联合账户请求还可以分别由每个共同持有人的终端发起,共同持有人的终端发起的联合账户请求中携带联合账户地址、智能合约及共同持有人自己的用户地址。
在本申请的另一些实施例中,上述联合账户请求也可以由开设该联合账户的银行柜员对应的终端发起。
步骤102:区块链节点设备接收联合账户对应的账户创建请求,该账户创建请求包括联合账户地址、每个共同持有人的用户地址及智能合约。
在本申请的一些实施例中,账户创建请求由联合账户的多个共同持有人的任意一个共同持有人发起。区块链节点设备接收联合账户的任一共同持有人的终端发送的账户创建请求,该账户创建请求中包括该联合账户的每个共同持有人的用户地址。
在本申请的另一些实施例中,账户创建请求由联合账户的每个共同持有人发起,任意一个共同持有人发起的账户创建请求中包括该共同持有人的用户地址,而不包括其他共同持有人的用户地址。区块链节点设备接收联合账户的共同持有人的终端发送的账户创建请求,该账户创建请求中包括联合账户对应的联合账户地址和共同持有人的用户地址。区块链节点设备根据该联合账户地址,从接收到的多个账户创建请求中确定出该联合账户对应的每个账户创建请求,从确定的每个账户创建请求中获取每个共同持有人的用户地址,从而确定出同属于该联合账户的所有共同持有人的用户地址。
步骤103:区块链节点设备为智能合约分配合约地址。
具体地,从每个共同持有人的用户地址中获取任一共同持有人的用户地址。通过预设编码算法对获取的用户地址和联合账户地址进行编码,预设编码算法可以为RLP(Recursive Length Prefix,递归的长度前缀)。通过预设散列算法对编码得到的字符串进行散列运算,预设散列算法可以为SHA3(Secure Hash Algorithm 3,第三代安全散列算法)。将散列运算得到的字符串的前预设数目个字符剔除,将剩余的字符串确定为智能合约对应的合约地址。预设数目可以为12或14等。
步骤104:区块链节点设备将联合账户地址、每个共同持有人的用户地址、合约地址及智能合约存储在区块链节点设备中。
将联合账户地址、每个共同持有人的用户地址、合约地址及智能合约对应存储在区块链中的每个区块链节点设备中。
步骤105:区块链节点设备将合约地址分别发送给每个共同持有人的终端。
区块链节点设备根据每个共同持有人的用户地址,将合约地址分别发送给每个共同持有人的终端。
步骤106:终端接收区块链节点设备返回的智能合约对应的合约地址,存储该合约地址。
通过上述方式在区块链中创建了联合账户,并部署了该联合账户对应的智能合约之后,每个共同持有人的终端上都存储了该智能合约对应的合约地址。每个共同持有人还通过终端生成该联合账户对应的密钥对。具体地,对于任意一个共同持有人,共同持有人的终端接收到共同持有人的密钥生成请求时,从本地获取该共同持有人的用户地址,根据获取的用户地址,通过预设非对称加密算法生成共同持有人对应的公钥和私钥,存储该公钥和合约地址的对应关系,私钥由该共同持有人保存。预设非对称加密算法可以为RSA(RSAalgorithm)、DSA(Digital Signature Algorithm,数字加密算法)、ECC(Elliptic CurveCryptography,椭圆曲线加密)等。
由于每个共同持有人各自生成自己的密钥对,基于联合账户的智能合约可以对联合账户进行转账操作,在区块链***中实现了联合账户的管理,无需在各个持有人之间共享私钥,提高了联合账户的安全性。
通过上述方式在区块链***中创建联合账户,并部署该联合账户的智能合约之后,可以通过如下方式对联合账户进行交易处理。具体包括:
步骤S1:终端接收共同持有人输入的私钥、目的账户地址和转账金额。
步骤S2:终端从本地获取存储的公钥和合约地址,通过私钥对转账金额、目的账户地址和合约地址进行签名,得到转账信息密文。
步骤S3:终端发送转账请求给区块链节点设备,该转账请求包括转账信息密文和公钥。
步骤S4:区块链节点设备接收共同持有人的终端发送的联合账户的转账请求,该转账请求包括公钥和加密的合约地址,该合约地址是采用共同持有人的私钥进行加密的。
步骤S5:采用公钥对加密的合约地址进行解密,根据解密后的合约地址,调用联合账户对应的智能合约对该转账请求进行处理。
当联合账户的多个共同持有人中的任意持有人需要从联合账户中转出款项时,该持有人需要向区块链节点设备发生转账请求。本申请实施例将该持有人称为第一用户,第一用户即为联合账户的所有共同持有人中的任意一人。
第一用户需要从联合账户转账时,终端显示转账界面,第一用户在该界面中输入目的账户地址及转账金额,终端检测到第一用户点击该界面中用于确定转账的按钮时,从该界面中获取第一用户输入的目的账户地址和转账金额,从本地获取存储的公钥、私钥和该联合账户的合约地址。通过该私钥对转账金额、目的账户地址和合约地址进行签名,得到转账信息密文。然后第一用户的终端发送转账请求给区块链节点设备,在该转账请求中携带上述转账信息密文和公钥。区块链节点设备接收第一用户的终端发送的该转账请求。
区块链节点设备根据公钥和转账信息密文,获取转账请求对应的转账信息,该转账信息中包括联合账户对应的合约地址。具体地,通从接收到的转账请求中获取公钥及转账信息密文,通过该公钥对该转账信息密文进行解密,得到转账金额、目的账户地址和合约地址。
区块链节点设备根据公钥,通过预设非对称加密算法计算第一用户对应的用户地址。本申请实施例在区块链节点设备中设置了与用户的终端上一致的预设非对称加密算法。区块链节点设备通过预设非对称加密算法对转账请求中携带的公钥进行运算,得到第一用户的用户地址。由于公钥及其对应的私钥是通过预设非对称加密算法对第一用户的用户地址进行运算生成的,因此通过预设非对称加密算法对公钥进行反向运算,能够得到第一用户的用户地址。
区块链节点设备将转账金额、目的账户地址、合约地址和第一用户对应的用户地址确定为该转账请求对应的转账信息。根据合约地址,调用联合账户对应的智能合约对转账信息进行处理。
具体地,区块链节点设备根据转账信息包括的合约地址,从区块链节点设备中获取该合约地址对应的智能合约及联合账户地址。根据转账金额、智能合约、联合账户地址和第一用户的用户地址,确定需要征求同意的第二用户的用户地址。
由于智能合约中规定了联合账户的转账逻辑,从联合账户往其他账户转账,可能需要部分或全部共同持有人的同意,本步骤具体通过如下方式来确定需要征求哪些共同持有人同意,具体包括:
区块链节点设备根据联合账户地址,获取联合账户对应的每个共同持有人的用户地址。区块链节点设备中存储了联合账户的账户信息,该账户信息中包括联合账户地址、每个共同持有人的用户地址、智能合约、合约地址、转账记录等等。根据联合账户地址,从该联合账户的账户信息中获取该联合账户对应的每个共同持有人的用户地址。根据转账金额和智能合约,从除第一用户的用户地址以外的其他共同持有人的用户地址中,确定需要征求同意的第二用户的用户地址。
上述获得了发送该转账请求的第一用户的用户地址,由于该转账请求是第一用户发起的,因此不需要再征求第一用户的同意,因此从获取的每个共同持有人的用户地址中将第一用户的用户地址排除。然后根据转账金额和智能合约,确定该联合账户的转账处理需要哪些共同持有人同意方可转账。例如,可能需要全体共同持有人同意方可转账;或者,需要预设百分比的共同持有人同意方可装置,预设百分比可以为50%或80%等;或者,需要特定的共同持有人同意方可转账;或者,约定转账金额小于预设金额时无需其他共同持有人同意,转账金额大于预设金额时需要其他共同持有人同意,等等。
通过上述方式确定出需要同意的共同持有人后,从除第一用户的用户地址以外的其他共同持有人的用户地址中,确定出需要征求同意的共同持有人的用户地址。本申请实施例将需要征求同意的共同持有人称为第二用户。
区块链节点设备根据第二用户的用户地址,发送转账审批请求给第二用户的终端。根据上述确定出的第二用户的用户地址,发送转账审批请求给第二用户的终端,该转账审批请求中包括上述转账请求对应的转账金额和目的账户地址。
在本申请实施例中,在区块链中创建联合账户时,共同持有人还可以将自己的姓名或昵称等发送给区块链节点设备,区块链节点设备存储联合账户地址、共同持有人的用户地址及姓名或昵称的对应关系。在发送转账审批请求给第二用户的终端时,还可以在该转账审批请求中携带发起该转账请求的第一用户的姓名或昵称,以便第二用户获知该转账请求是由哪个共同持有人发起的。
若接收到第二用户的终端返回的同意响应,则根据转账金额、目的账户地址和联合账户地址进行转账处理。第二用户的终端接收到该转账审批请求后,将转账金额和目的账户地址显示给第二用户。转账审批请求还包括第一用户的姓名或昵称时,第二用户的终端也把第一用户的姓名或昵称显示给第二用户。第二用户若同意该笔转账,则点击同意按钮,终端检测到同意按钮被点击后,发送同意响应给区块链节点设备。区块链节点设备接收第二用户的终端返回的同意响应。
若确定出需要特定的共同持有人同意,特定的共同持有人可能为除第一用户外的其他所有共同持有人,或者为特定的某几个共同持有人等。则本步骤中区块链接收到所有确定出需要同意的第二用户的终端返回的同意响应,则确定本次转账请求满足智能合约的规定。若存在第二用户未返回同意响应,则确定本次转账请求不满足智能合约的规定。
若确定出需要一定比例的共同持有人同意,则区块链节点设备会向除第一用户外的其他每个共同持有人发送转账审批请求。若在一定时长内接收到的同意响应的数目与其他每个共同持有人的数目之间的比值大于或等于上述一定比例,则确定本次转账请求满足智能合约的规定。否则,确定本次转账请求不满足智能合约的规定。
若通过上述方式确定本次转账请求满足智能合约的规定,则根据转账金额、目的账户地址和联合账户地址进行转账处理。具体地,根据转账金额和联合账户地址,从联合账户的当前余额中减去该转账金额。以及根据转账金额和目的账户地址,在目的账户的当前余额的基础上加上该转账金额。
通过上述方式从该联合账户向目的账户转账之后,根据该转账金额和目的账户地址,生成转账成功通知,该转账成功通知中包括该转账金额、目的账户地址以及用于提示转账成功的提示信息。根据该联合账户地址,分别向该联合账户的每个共同持有人的终端发送转账成功通知,以便所有的共同持有人都能实时获知该联合账户的余额变动情况。
通过上述方式完成联合账户的转账之后,还根据转账金额、目的账户地址、联合账户地址、第一用户对应的用户地址,生成转账请求对应的转账记录。在各个区块链节点设备中存储联合账户地址与转账记录的对应关系。基于区块链的可追溯、不可篡改的特性,将联合账户的转账记录存储在区块链节点设备中,能够确保联合账户的转账记录的真实性,避免账本作假。
若未接收到第二用户的终端返回的同意响应,则发送转账失败提示信息给第一用户的终端。若区块链节点设备未接收到第二用户的终端返回的同意响应,则确定本次转账请求不满足智能合约的规定,则发送转账失败提示信息给第一用户的终端。
在本申请实施例中,在区块链中创建联合账户,通过智能合约来约定联合账户的转账规则,联合账户的共同持有人通过智能合约对应的合约地址实现对联合账户的转账操作,使得联合账户的共同持有人在不共享私钥的前提下,任意一个共同持有人都能够在区块链中操作联合账户。且基于区块链的可追溯、不可篡改特性,在区块链中实现联合账户的交易处理,能够确保联合账户的交易记录真实可靠,避免账户作假,且多个共同持有人使用各自的私钥,无需共享私钥,能够提高联合账户的安全性。
本申请实施例提供了一种区块链***,该区块链***用于执行上述任一实施例所述的基于区块链的联合账户创建方法,如图2所示,该区块链***包括区块链节点设备201和终端202。
区块链节点设备201,用于接收联合账户对应的账户创建请求,账户创建请求包括联合账户对应的联合账户地址、智能合约及共同持有人的用户地址,智能合约中包括联合账户的转账规则;为智能合约分配合约地址;将联合账户地址、每个共同持有人的用户地址、合约地址及智能合约存储在区块链节点设备201中;将合约地址分别发送给每个共同持有人的终端202;
终端202,用于发送联合账户对应的账户创建请求给区块链节点设备201;接收区块链节点设备201返回的智能合约对应的合约地址;存储合约地址。
区块链节点设备201,用于从每个共同持有人的用户地址中获取任一共同持有人的用户地址;通过预设编码算法对获取的用户地址和联合账户地址进行编码;通过预设散列算法对编码得到的字符串进行散列运算;将散列运算得到的字符串的前预设数目个字符剔除,将剩余的字符串确定为智能合约对应的合约地址。
区块链节点设备201,用于接收联合账户的任一共同持有人的终端202发送的账户创建请求,账户创建请求中包括联合账户的每个共同持有人的用户地址;或者,接收联合账户的共同持有人的终端202发送的账户创建请求,账户创建请求中包括联合账户对应的联合账户地址和共同持有人的用户地址;根据联合账户地址,从接收到的多个账户创建请求中确定出同属于联合账户的所有共同持有人的用户地址。
区块链节点设备201,用于接收共同持有人的终端202发送的联合账户的转账请求,转账请求包括公钥和加密的合约地址,合约地址是采用共同持有人的私钥进行加密的;采用公钥对加密的合约地址进行解密;根据解密后的合约地址,调用联合账户对应的智能合约对转账请求进行处理。
终端202,用于获取终端202对应的联合账户的共同持有人的用户地址;根据获取的用户地址,通过预设非对称加密算法生成共同持有人对应的公钥和私钥;存储公钥和合约地址的对应关系。
终端202,用于接收共同持有人输入的私钥、目的账户地址和转账金额;从本地获取存储的公钥和合约地址;通过私钥对转账金额、目的账户地址和合约地址进行签名,得到转账信息密文;发送转账请求给区块链节点设备201,转账请求包括转账信息密文和公钥。
在本申请实施例中,在区块链中创建联合账户,通过智能合约来约定联合账户的转账规则,联合账户的共同持有人通过智能合约对应的合约地址实现对联合账户的转账操作,使得联合账户的共同持有人在不共享私钥的前提下,任意一个共同持有人都能够在区块链中操作联合账户。且基于区块链的可追溯、不可篡改特性,在区块链中实现联合账户的交易处理,能够确保联合账户的交易记录真实可靠,避免账户作假,且多个共同持有人使用各自的私钥,无需共享私钥,能够提高联合账户的安全性。
本申请实施例提供了一种计算机设备,该计算机设备可以为区块链节点设备或终端。如图3所示,该计算机设备包括通过***总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作***、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种基于区块链的联合账户创建方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种基于区块链的联合账户创建方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:接收联合账户对应的账户创建请求,账户创建请求包括联合账户对应的联合账户地址、智能合约及共同持有人的用户地址,智能合约中包括联合账户的转账规则;为智能合约分配合约地址;将联合账户地址、每个共同持有人的用户地址、合约地址及智能合约存储在区块链节点设备中;将合约地址分别发送给每个共同持有人的终端。
处理器执行计算机程序时还可以实现以下步骤:发送联合账户对应的账户创建请求给区块链节点设备,账户创建请求包括联合账户对应的联合账户地址、智能合约及共同持有人的用户地址,智能合约中包括联合账户的转账规则;接收区块链节点设备返回的智能合约对应的合约地址;存储合约地址。
本申请实施例还提出了一种存储有计算机可读指令的存储介质,如图4所示,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:接收联合账户对应的账户创建请求,所述账户创建请求包括所述联合账户对应的联合账户地址、智能合约及共同持有人的用户地址,所述智能合约中包括所述联合账户的转账规则;为所述智能合约分配合约地址;将所述联合账户地址、每个共同持有人的用户地址、所述合约地址及所述智能合约存储在区块链节点设备中;将所述合约地址分别发送给所述每个共同持有人的终端。
处理器还可以执行以下步骤:发送联合账户对应的账户创建请求给区块链节点设备,账户创建请求包括联合账户对应的联合账户地址、智能合约及共同持有人的用户地址,智能合约中包括联合账户的转账规则;接收区块链节点设备返回的智能合约对应的合约地址;存储合约地址。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于区块链的联合账户创建方法,其特征在于,应用于区块链节点设备,包括:
接收联合账户对应的账户创建请求,所述账户创建请求包括所述联合账户对应的联合账户地址、智能合约及共同持有人的用户地址,所述智能合约中包括所述联合账户的转账规则;
为所述智能合约分配合约地址;
将所述联合账户地址、每个共同持有人的用户地址、所述合约地址及所述智能合约存储在区块链节点设备中;
将所述合约地址分别发送给所述每个共同持有人的终端。
2.根据权利要求1所述的方法,其特征在于,所述为所述智能合约分配合约地址,包括:
从所述每个共同持有人的用户地址中获取任一共同持有人的用户地址;
通过预设编码算法对获取的所述用户地址和所述联合账户地址进行编码;
通过预设散列算法对编码得到的字符串进行散列运算;
将散列运算得到的字符串的前预设数目个字符剔除,将剩余的字符串确定为所述智能合约对应的合约地址。
3.根据权利要求1所述的方法,其特征在于,所述接收联合账户对应的账户创建请求,包括:
接收联合账户的任一共同持有人的终端发送的账户创建请求,所述账户创建请求中包括所述联合账户的每个共同持有人的用户地址;或者,
接收联合账户的共同持有人的终端发送的账户创建请求,所述账户创建请求中包括所述联合账户对应的联合账户地址和所述共同持有人的用户地址;根据所述联合账户地址,从接收到的多个账户创建请求中确定出同属于所述联合账户的所有共同持有人的用户地址。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述将所述合约地址分别发送给所述每个共同持有人的终端之后,还包括:
接收共同持有人的终端发送的所述联合账户的转账请求,所述转账请求包括公钥和加密的所述合约地址,所述合约地址是采用所述共同持有人的私钥进行加密的;
采用所述公钥对加密的所述合约地址进行解密;
根据解密后的所述合约地址,调用所述联合账户对应的智能合约对所述转账请求进行处理。
5.一种基于区块链的联合账户创建方法,其特征在于,应用于终端,包括:
发送联合账户对应的账户创建请求给区块链节点设备,所述账户创建请求包括所述联合账户对应的联合账户地址、智能合约及共同持有人的用户地址,所述智能合约中包括所述联合账户的转账规则;
接收所述区块链节点设备返回的所述智能合约对应的合约地址;
存储所述合约地址。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取所述终端对应的所述联合账户的共同持有人的用户地址;
根据获取的所述用户地址,通过预设非对称加密算法生成所述共同持有人对应的公钥和私钥;
存储所述公钥和所述合约地址的对应关系。
7.根据权利要求5或6所述的方法,其特征在于,所述存储所述合约地址之后,还包括:
接收共同持有人输入的私钥、目的账户地址和转账金额;
从本地获取存储的公钥和所述合约地址;
通过所述私钥对所述转账金额、所述目的账户地址和所述合约地址进行签名,得到转账信息密文;
发送转账请求给所述区块链节点设备,所述转账请求包括所述转账信息密文和所述公钥。
8.一种区块链***,其特征在于,包括:区块链节点设备和终端
所述区块链节点设备,用于接收联合账户对应的账户创建请求,所述账户创建请求包括所述联合账户对应的联合账户地址、智能合约及共同持有人的用户地址,所述智能合约中包括所述联合账户的转账规则;为所述智能合约分配合约地址;将所述联合账户地址、每个共同持有人的用户地址、所述合约地址及所述智能合约存储在区块链节点设备中;将所述合约地址分别发送给所述每个共同持有人的终端;
所述终端,用于发送所述联合账户对应的账户创建请求给区块链节点设备;接收所述区块链节点设备返回的所述智能合约对应的合约地址;存储所述合约地址。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1-4或5-7中任一项权利要求所述的基于区块链的联合账户创建方法的步骤。
10.一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1-4或5-7中任一项权利要求所述的基于区块链的联合账户创建方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011210049.1A CN112330449A (zh) | 2020-11-03 | 2020-11-03 | 基于区块链的联合账户创建方法、***、设备及存储介质 |
PCT/CN2021/096965 WO2022095426A1 (zh) | 2020-11-03 | 2021-05-28 | 基于区块链的联合账户创建方法、***、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011210049.1A CN112330449A (zh) | 2020-11-03 | 2020-11-03 | 基于区块链的联合账户创建方法、***、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112330449A true CN112330449A (zh) | 2021-02-05 |
Family
ID=74323524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011210049.1A Pending CN112330449A (zh) | 2020-11-03 | 2020-11-03 | 基于区块链的联合账户创建方法、***、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112330449A (zh) |
WO (1) | WO2022095426A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022095426A1 (zh) * | 2020-11-03 | 2022-05-12 | 平安科技(深圳)有限公司 | 基于区块链的联合账户创建方法、***、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108235805A (zh) * | 2017-12-29 | 2018-06-29 | 深圳前海达闼云端智能科技有限公司 | 账户统一方法、装置及存储介质 |
CN111476572A (zh) * | 2020-04-09 | 2020-07-31 | 财付通支付科技有限公司 | 基于区块链的数据处理方法、装置、存储介质及设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107077675A (zh) * | 2016-12-30 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 基于区块链的货币管理方法和*** |
US10798094B2 (en) * | 2019-07-24 | 2020-10-06 | Alibaba Group Holding Limited | Blockchain-based account management |
CN111353877A (zh) * | 2020-03-31 | 2020-06-30 | 中国建设银行股份有限公司 | 两级跨境交易***及方法 |
CN111683082A (zh) * | 2020-06-04 | 2020-09-18 | 杭州溪塔科技有限公司 | 一种基于区块链的数据共享方法、***及电子设备 |
CN112330449A (zh) * | 2020-11-03 | 2021-02-05 | 平安科技(深圳)有限公司 | 基于区块链的联合账户创建方法、***、设备及存储介质 |
-
2020
- 2020-11-03 CN CN202011210049.1A patent/CN112330449A/zh active Pending
-
2021
- 2021-05-28 WO PCT/CN2021/096965 patent/WO2022095426A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108235805A (zh) * | 2017-12-29 | 2018-06-29 | 深圳前海达闼云端智能科技有限公司 | 账户统一方法、装置及存储介质 |
CN111476572A (zh) * | 2020-04-09 | 2020-07-31 | 财付通支付科技有限公司 | 基于区块链的数据处理方法、装置、存储介质及设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022095426A1 (zh) * | 2020-11-03 | 2022-05-12 | 平安科技(深圳)有限公司 | 基于区块链的联合账户创建方法、***、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022095426A1 (zh) | 2022-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3788522B1 (en) | System and method for mapping decentralized identifiers to real-world entities | |
CN109493020B (zh) | 基于区块链的安全交易方法和装置 | |
KR102665645B1 (ko) | 분산 트랜잭션 컨센서스 네트워크에서의 디지털 자산 트랜잭션의 익명성 및 추적성 향상 기법 | |
CN109756582B (zh) | 区块链网络中的信息记录方法、装置、节点及存储介质 | |
CA3010116C (en) | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys | |
CN110958110B (zh) | 一种基于零知识证明的区块链隐私数据管理方法和*** | |
CA3011600C (en) | Information transaction infrastructure | |
CN111431713B (zh) | 一种私钥存储方法、装置和相关设备 | |
CN112950367A (zh) | 生成和执行智能合约交易的方法及装置 | |
CN113269642B (zh) | 基于区块链的交易处理方法、装置、设备及存储介质 | |
CN110839029A (zh) | 一种微服务注册方法和装置 | |
CN110601815B (zh) | 一种区块链数据处理方法以及设备 | |
CN106464496A (zh) | 用于创建对用户身份鉴权的证书的方法和*** | |
CN110149323B (zh) | 一种具有千万级tps合约处理能力的处理装置 | |
CN112184229A (zh) | 基于区块链的子账户交易处理方法、***及设备 | |
KR102409982B1 (ko) | 블록체인 송금 서비스 시스템의 동작 방법과 송금을 위한 전자 지갑 | |
US20220385477A1 (en) | Method and Apparatus for Utilizing Off-Platform-Resolved Data as an Input to Code Execution on a Decentralized Platform | |
CN112069526A (zh) | 基于区块链的账户属性处理方法、设备及存储介质 | |
CN110401531B (zh) | 一种基于sm9算法的协同签名和解密*** | |
CN110610418B (zh) | 基于区块链的交易状态查询方法、***、设备及存储介质 | |
CN112330311A (zh) | 基于区块链的众筹联合账户创建方法、设备及存储介质 | |
CN112330449A (zh) | 基于区块链的联合账户创建方法、***、设备及存储介质 | |
JP2022545809A (ja) | 暗号鍵生成のためのセキュアな環境 | |
CN114514550A (zh) | 将请求分区成区块链的交易 | |
CN111553686A (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 |