CN113313490B - 资产与合约分离的区块链智能合约交易方法 - Google Patents
资产与合约分离的区块链智能合约交易方法 Download PDFInfo
- Publication number
- CN113313490B CN113313490B CN202110669864.2A CN202110669864A CN113313490B CN 113313490 B CN113313490 B CN 113313490B CN 202110669864 A CN202110669864 A CN 202110669864A CN 113313490 B CN113313490 B CN 113313490B
- Authority
- CN
- China
- Prior art keywords
- transaction
- contract
- asset
- user
- signature
- 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
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000012546 transfer Methods 0.000 claims abstract description 16
- 238000012795 verification Methods 0.000 claims description 12
- 238000012790 confirmation Methods 0.000 claims description 7
- 238000012550 audit Methods 0.000 claims description 3
- 230000003542 behavioural effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 8
- 230000008014 freezing Effects 0.000 abstract description 3
- 238000007710 freezing Methods 0.000 abstract description 3
- 230000006399 behavior Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 101000659995 Homo sapiens Ribosomal L1 domain-containing protein 1 Proteins 0.000 description 2
- 102100035066 Ribosomal L1 domain-containing protein 1 Human genes 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种资产与合约分离的区块链智能合约交易方法,在交易过程中用户资产和智能合约是分离的,有效地避免了因为已经部署的合约中出现漏洞而导致用户的资产丢失的问题。每一笔资产的转移都经过用户确认并由用户来完成,智能合约的角色变为交易的提案者和监管者,保证交易流程的正确进行以及在用户发生行为不端时给予资产冻结惩罚。在最坏的情况下,合约因为潜在的逻辑错误而产生错误的结果时,用户可以通过尝试向合约申诉来取消交易提案,保证资产的安全。
Description
技术领域
本发明涉及区块链技术领域,具体涉及一种资产与合约分离的区块链智能合约交易方法。
背景技术
智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。然而,智能合约不可篡改的特点,在为互不信任的用户之间提供信任基础的同时,同时也会带来一些严峻的问题:当智能合约面对较为复杂的应用场景时,通常很难保证在审计和测试的过程中能够发现智能合约代码中所有的安全问题,一旦已经被部署到区块链上的智能合约出现了问题,将可能会带来不可预计的损失。
在现有的智能合约交易场景中,如果多个交易参与方想要通过智能合约进行交易,他们通常会先将一定的资产转入智能合约中,然后由智能合约执行其交易逻辑,对用户转入的资产进行重新分配,在交易完成后,用户将取回自己在合约中的资产。在这样的交易方式中,智能合约对用户转入的资产有完整的控制权,一旦智能合约中出现漏洞,用户的资产很可能会因此而受到损失。
发明内容
本发明所要解决的是用户在使用存在潜在安全漏洞的智能合约时资产可能遭到损失的问题,提供一种资产与合约分离的区块链智能合约交易方法。
为解决上述问题,本发明是通过以下技术方案实现的:
资产与合约分离的区块链智能合约交易方法,包括步骤如下:
步骤1、参与交易的用户在区块链上部署一个执行资产锁定逻辑的资产锁定合约;
步骤2、参与交易的用户与交易合约协商资产锁定数额和锁定期限,交易合约返回一个随机的资产锁定合约编号给参与交易的用户;
步骤3、参与交易的用户使用交易合约返回的资产锁定合约编号来对资产锁定合约进行初始化,并向资产锁定合约中转入协商锁定数额的资产,并将指定资产的锁定期限;
步骤4、参与交易的用户向交易合约请求对资产锁定合约的二进制代码、编号、资产锁定数额和资产锁定期限进行验证;如果验证全部通过,则交易合约为参与交易的用户生成等额的代币;否则,交易合约不执行任何操作;
步骤5、所有参与交易的用户按照交易流程对交易合约中的函数进行调用来推动合约中交易流程的进行,并在一个完整的交易流程结束后,交易合约公开交易提案;
步骤6、交易提案公开后,所有参与交易的用户对交易提案进行检查:
如果所有参与交易的用户均对交易提案无异议,则交易提案正常执行,并转至步骤7;
如果任一参与交易的用户对交易提案存在异议,则该参与交易的用户交易合约申诉,交易合约将根据请求对交易提案进行审核:如果交易提案中因为合约的逻辑错误而出现了错误的结果,则取消交易提案,否则,交易提案正常执行,并转至步骤7;
步骤7、交易合约为交易提案生成一次性的Paillier同态加密的合约同态公私钥对,并将合约同态公私钥对中的合约同态公钥公开;
步骤8、每个参与交易的用户生成一次性的Paillier同态加密的用户同态公私钥对,并将用户同态公私钥对中的用户同态公钥公开;
步骤9、参与交易的付款用户生成取款签名;首先利用合约同态公钥对取款签名进行加密后,得到首次加密的取款签名,并生成对首次加密的取款签名的同态证明;然后利用付款用户自己的用户同态公钥对首次加密的取款签名再次进行加密,得到经过两次加密的取款签名;最后经过两次加密的取款签名和对首次加密的取款签名的同态证明发送给交易合约;
步骤10、参与交易的收款用户用自己的用户同态私钥对经过两次加密的取款签名进行解密,得到首次加密的取款签名,并利用相应的同态证明来验证首次加密的取款签名的正确性:
如果验证正确,则向交易合约发送确认,并转至步骤11;
否则,将自己的用户同态私钥发送到交易合约,交易合约将使用该用户同态私钥和合约同态私钥依次解密经过两次加密的取款签名,得到取款签名,并对该取款签名进行验证来确定参与交易的付款用户是否出现行为不端,并取消交易提案;
步骤11、当交易合约收到所有来自参与交易的收款用户的确认后,完成交易提案并公布合约同态私钥;
步骤12、参与交易的收款用户利用该合约同态私钥对自己手上的首次加密的取款签名进行解密后,得到取款签名;
步骤13、参与交易的收款用户向参与交易的付款用户的资产锁定合约提交取款签名,将该取款签名所对应的资产取回自己的账户。
上述步骤中,在资产锁定期限之前,参与交易的用户的资产锁定合约中的资产必须要由该参与交易的用户与交易合约双方的签名才能取出。
上述步骤中,在交易前,参与交易的用户向交易合约发送用户资产锁定期限延长签名;当交易时,交易合约判断参与交易的用户出现行为不端,则交易合约生成合约资产锁定期限延长签名,并将该参与交易的用户资产锁定期限延长签名和合约资产锁定期限延长签名发送给该参与交易的用户的资产锁定合约对其资产进行冻结。
与现有技术相比,本发明在提升用户资产安全性的同时,又尽可能保证合约对交易过程的监管能力。在交易过程中用户资产和智能合约是分离的,有效地避免了因为已经部署的合约中出现漏洞而导致用户的资产丢失的问题。每一笔资产的转移都经过用户确认并由用户来完成,智能合约的角色变为交易的提案者和监管者,保证交易流程的正确进行以及在用户发生行为不端时给予资产冻结惩罚。在最坏的情况下,合约因为潜在的逻辑错误而产生错误的结果时,用户可以通过尝试向合约申诉来取消交易提案,保证资产的安全。
附图说明
图1为用户进行资产证明的流程示意图;
图2为用户完成支付的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实例,对本发明进一步详细说明。
在使用智能合约实现去中心化金融相关应用的场景下,用户之间进行多方交易时需要使用智能合约作为可信的第三方来保证交易及资产转移过程的正确进行。例如,有n个用户Ui(1≤i≤n)将使用交易合约TC(Trading Contract,包含具体的交易逻辑)完成一次多方的交易,内容是其中n-1个用户(买家)众筹向另一个用户(卖家)购买某种商品或者服务。通常情况下,他们需要向交易合约TC先转入相应的资产以完成众筹,当交易合约TC中众筹的资产总额达到商品或服务的售价时,卖家会按照合约中所规定的流程向买家们提供他所出售的商品或服务,并将TC中的相应的资产取回到自己的账户中。但是使用这种方式进行交易时,如交易合约TC中存在潜在的漏洞,则可能会造成买家的资产丢失。为了解决这一问题,本发明提出一种资产与合约分离的区块链智能合约交易方法,其具体过程如下:
阶段一:交易前,如图1所示。
步骤1、用户Ui(1≤i≤n,n为参与到合约交易中的用户数)在区块链上部署一个执行资产锁定逻辑的LOCKBOX合约(资产锁定合约)LBi。
资产锁定合约满足以下特性和功能:
1、代码完全公开,在部署到区块链上之后,其他的用户能够通过检查区块链上的编译后的二进制代码来验证合约代码是否被合约发布者篡改。
2、功能足够简单,其安全性经过形式化证明。
3、必须有且只能由两个账户参与资产的锁定,合约中的资产在锁定期内必须要提供双方的签名才能取出,取款的签名只有在指定时间后方可生效。
4、合约的中资产在锁定之后,在锁定期内必须要提供双方的签名才能更改锁定期限,修改锁定期限的签名只有在指定时间后方可生效。
5、合约中的资产在锁定期过后,资产持有者可将其取回到原本的账户中。
6、当合约中存在已经锁定的资产时,将拒绝来自任何途径的外部转账。
步骤2、用户Ui与交易合约TC协商锁定的资产数额Di和锁定期限Ti,TC返回一个随机的LOCKBOX合约编号IDi给用户Ui。
步骤3、用户Ui使用交易合约TC返回的随机编号IDi来对合约LBi进行初始化,并向其中转入指定数额为Di的资产,并锁定指定资产的期限为Ti。在Ti之前合约中的资产必须要有Ui和TC双方的签名才能取出。
步骤4、用户Ui向交易合约TC请求对合约LBi进行验证,其中验证包括资产锁定合约LBi的二进制代码、编号IDi、资产数额Di和期限Ti:如果验证全部通过之后,可认定在锁定期限Ti之内用户Ui的资产Di都处于锁定状态,随后交易合约TC为用户Ui生成等额的代币,代币用于合约交易逻辑的计算;否则,交易合约TC将不执行任何操作。
在验证时,首先由TC的ORACLE账户对合约LBi的二进制代码正确性进行验证,然后由TC对LOCKBOX合约的编号IDi、资产数额Di和锁定期限Ti等参数进行验证。由于智能合约中所有的数据都是公开的,密钥等数据无法直接存储在合约中,所以在本发明中,交易合约TC需要一个ORACLE账户来监听区块链上的交易,并帮助智能合约完成密钥生成、签名、链下验证、申诉处理等任务。假设TC的ORACLE账户是诚实的,不会与任何用户进行合谋。
步骤5、用户Ui向交易合约TC发送用于延长资产锁定期限的签名UPSIG(IDi,ETi,NTi),以便于交易合约能够在用户发生不端行为时对其进行惩罚。
当交易合约TC判定该用户不端时,交易合约TC生成相应的签名CPSIG(IDi,ETi,NTi),并向资产锁定合约LBi提交签名CPSIG(IDi,ETi,NTi)和签名UPSIG(IDi,ETi,NTi),以对行为不端地用户进行惩罚。
签名CPSIG(IDi,ETi,NTi)和签名UPSIG(IDi,ETi,NTi)中的(IDi,ETi,NTi)表示如果在时间ETi之后资产锁定合约LBi中的资产依然没有被转出,那么用户Ui同意将资产的锁定时间修改为NTi。
当资产锁定合约LBi中的锁定的资产在指定的时间之后依然没有被转出,则说明用户Ui没有按照合约所公布的交易提案的要求完成交易。此时,资产锁定合约LDi可以利用合约签名CPSIG(IDi,ETi,NTi)和用户签名UPSIG(IDi,ETi,NTi)来增加资产数额Di在资产锁定合约LDi中的锁定时间,即将合约LBi的资产锁定时间延长至较久之后的一个时间点NTi,以实现对用户Ui不端行为的惩罚。
阶段二:交易时,如图2所示。
步骤6、所有参与交易的用户按照交易流程对交易合约中的函数进行调用来推动合约中交易流程的进行,并在一个完整的交易流程结束后,交易合约公开该交易提案。
由于智能合约无法自动执行,因此需要由用户通过调用函数来触发其执行。由于从合约中资产的角度来看,智能合约的本质是使用自身的交易逻辑来对用户的资产进行重新分配,所以该交易提案中包括m笔转账要求{TXj|1≤j≤m},每笔转账要求TXj都指定了一个付款用户Us(1≤s≤n1,n1为参与到合约交易中的付款用户数)、一个收款用户Ur(1≤r≤n2,n2为参与到合约交易中的收款用户数)、转账金额Vj和从付款用户相应的合约LBs中取出指定金额Vj的部分签名CSIG(IDs,Vj)。每个付款人都一定有一笔用于找零的转账(即收款人为自己),以将剩余的钱转回到原来的账户中。
步骤7、在交易提案公开后,所有参与交易的用户对交易提案进行检查:
如果所有参与交易的用户均对交易提案无异议,则交易提案正常执行;
如果任一参与交易的用户对交易提案存在异议,则该参与交易的用户交易合约申诉,交易合约TC的ORACLE帐户将根据请求对交易提案进行审核:如果交易提案中因为合约的逻辑错误而出现了错误的结果,则取消交易提案,否则,交易提案正常执行。
步骤8、交易合约TC的ORACLE账户为交易提案生成一次性的Paillier同态加密公私钥对(HPK,HSK),其中HPK表示公钥,HSK表示私钥,并将公钥HPK公开。
步骤9、每个参与交易的用户Ui生成一次性的Paillier同态加密公私钥对(RPKi,RSKi),并将公钥RPKi公开。
步骤10、参与交易的付款用户生成取款签名;首先利用合约同态公钥对取款签名进行加密后,得到首次加密的取款签名,并生成对首次加密的取款签名的同态证明;然后利用付款用户自己的用户同态公钥对首次加密的取款签名再次进行加密,得到经过两次加密的取款签名;最后经过两次加密的取款签名和对首次加密的取款签名的同态证明发送给交易合约。
所有的交易参与方通过签名交换来完成交易提案中的转账要求当一个交易提案公开并得到所有用户的同意后,所有交易提案相关的参与方都必须参与到让交易提案生效的过程中,即提供缺少的部分取款签名,否则将会受到来自交易合约的资产冻结惩罚。如果付款者直接公开自己的签名无法保证交易提案的原子性,即在存在恶意用户的情况下,无法保证提案中所有的转账一定都会被实施或者都不会被实施。假设恶意用户使用其他人先公开的取款签名将钱取走,而却不公开自己的取款签名,那么虽然他将会受到交易合约的惩罚,但是他却能得到另一笔额外的收益,其他用户的利益会因此而受到损害。因此,本发明利用同态加密设计了一套签名提交流程,以保证交易提案的原子性。
步骤10.1、对于交易提案中每笔付款人是自己的转账TXj,付款用户Us生成取款签名USIG(IDs,Vj),表示同意收款人从自己的资产锁定合约LBs中取出金额Vj,该签名的数学形式表示为一个整数对(rj,sj)。
步骤10.2、付款用户Us使用合约TC所公开的同态加密公钥HPK对USIG(IDs,Vj)中的rj加密得到E(rj,HPK),然后为E(rj,HPK)生成证明PRF,该证明包括sj、其中q为椭圆曲线的整数域的阶。Us可在不完全公开USIG(IDs,Vj)的情况下利用同态加密的性质使用PRF来向外界证明E(rj,HPK)是一个包含有效签名的密文。
本发明中所使用的签名均为椭圆曲线签名。一个椭圆曲线的签名表示为(r,s),其中r和s均是整数,从s推出r或从r推出s都是计算不可行的。设q表示椭圆曲线所对应的整数域的阶,G表示椭圆曲线的基点,H表示哈希函数,m表示被签名的消息,d和B分别表示椭圆曲线私钥和公钥。则椭圆曲线签名的验签过程如下:
1、计算w=s-1mod q
2、计算a=w*H(m)(mod q)
3、计算b=wr(mod q)
4、计算(u,v)=aG+bB
5、验证u≡r mod q是否成立
Paillier同态加密算法满足加法同态和乘法同态,设m1和m2为任意两条消息,E表示Paillier加密函数,sk和pk分别为同态加密的私钥和公钥。则满足:
E(m1,pk)*E(m2,pk)≡E(m1+m2,pk)
上述步骤中所生成的PRF证明过程如下。具体算法步骤如下:
1、签名者计算E(r)和E(a+b),并公开s、E(r)和E(a+b)作为证明
2、验签者计算w=s-1mod q
3、验签者计算E(a)=E(w*H(m))=E(w)H(m)
4、验签者计算E(b)=E(wr)=E(r)w
5、验证者计算E(a+b)=E(a)*E(b)
6、验证者对比自己计算出的E(a+b)和签名者所公开的E(a+b)是否相等,仅当相等时才能证明被加密的签名E(r)是正确的。
步骤10.3、付款用户Us用收款用户Ur的公钥RPKr对E(rj,HPK)再次进行一次加密,得到E(E(rj,HPK),RPKr),该步骤的目的是确保只有Ur能对取款签名解密并验证。
步骤10.4、付款用户Us将E(E(rj,HPK),RPKr)及其证明PRF提交到合约TC。
步骤11、收款用户Ur用自己的私钥RSKr对E(E(rj,HPK),RPKr)进行解密后得到E(rj,HPK),然后使用PRF来验证E(rj,HPK)中的rj的正确性。如果验证通过,则向交易合约TC发送确认,表明自己已经收到了正确的取款签名USIG(IDs,Vj);否则,将自己的一次性私钥RSKr发送到合约TC,TC的ORACLE帐户将依次使用RSKr和HSK解密付款用户Us所提交的E(E(rj,HPK),RPKr)得到rj,从而得到取款签名(rj,sj),对该签名进行验签后来确定Us是否出现行为不端,并采取相应的处理方案。用户在交易过程中可能出现的不端行为及相应的处理方案如下:
情况1、存在付款用户Us没有在交易提案的有效期内向收款用户Ur提供取款签名,合约TC取消交易提案。
情况2、存在付款用户Us提交了错误的签名。在收款用户Ur将自己的一次性私钥RSKr提交至交易合约试图证明付款用户的行为不端时。交易合约TC在解密后如果验证Us所提交的签名USIG(IDs,Vj)失败,则证明了付款用户的行为不端,交易合约TC取消交易提案。
情况3、收款用户Ur没有在指定时间前发送确认或付款用户行为不端的证据,合约TC将默认收款用户所收到的取款签名有效。
情况4、收款用户Ur提交了错误的证据。交易合约TC如果验签通过,证明付款用户Us并没有发生行为不端,TC将忽略该证据。
当交易提案被取消时(对应上述情况1和情况2),交易合约TC将利用相应的行为不端的用户Us在参与交易前提交的UPSIG(IDi,ETi,NTi),来对其进行惩罚,即将UPSIG(IDi,ETi,NTi)和GPSIG(IDi,ETi,NTi)发送到合约LBs对其资产进行长期冻结。
步骤12、当交易合约收到所有来自参与交易的收款用户Ur的确认后,完成交易提案并公布合约公私钥对中的合约同态私钥HSK。
步骤13、参与交易的收款用户Ur利用该合约同态私钥HS对自己手上的首次解密后的取款签名E(rj,HPK)进行解密后得到rj,从而得到再次解密后的取款签名USIG(IDs,Vj)=(rj,sj)。
步骤14、参与交易的收款用户Ur向付款用户Us的资产锁定合约提交首次解密后的取款签名CSIG(IDs,Vj)和再次解密后的取款签名USIG(IDs,Vj),将资产取回自己的账户(包括他人的支付的金额以及给自己找零的金额)。
至此,整个交易流程完成。
需要说明的是,尽管以上本发明所述的实施例是说明性的,但这并非是对本发明的限制,因此本发明并不局限于上述具体实施方式中。在不脱离本发明原理的情况下,凡是本领域技术人员在本发明的启示下获得的其它实施方式,均视为在本发明的保护之内。
Claims (3)
1.资产与合约分离的区块链智能合约交易方法,在使用智能合约实现去中心化金融相关应用的场景下,用户之间进行多方交易时需要使用智能合约作为可信的第三方来保证交易及资产转移过程的正确进行,其特征是,包括步骤如下:
步骤1、参与交易的用户在区块链上部署一个执行资产锁定逻辑的资产锁定合约;
步骤2、参与交易的用户与交易合约协商资产锁定数额和锁定期限,交易合约返回一个随机的资产锁定合约编号给参与交易的用户;
步骤3、参与交易的用户使用交易合约返回的资产锁定合约编号来对资产锁定合约进行初始化,并向资产锁定合约中转入协商锁定数额的资产,并将指定资产的锁定期限;
步骤4、参与交易的用户向交易合约请求对资产锁定合约的二进制代码、编号、资产锁定数额和资产锁定期限进行验证;在验证时,首先由交易合约的ORACLE账户对资产锁定合约的二进制代码正确性进行验证,然后由交易合约对资产锁定合约的编号、资产数额和锁定期限进行验证:如果验证全部通过,则交易合约为参与交易的用户生成等额的代币;否则,交易合约不执行任何操作;
步骤5、所有参与交易的用户按照交易流程对交易合约中的函数进行调用来推动合约中交易流程的进行,并在一个完整的交易流程结束后,交易合约公开交易提案;
步骤6、交易提案公开后,所有参与交易的用户对交易提案进行检查:
如果所有参与交易的用户均对交易提案无异议,则交易提案正常执行,并转至步骤7;
如果任一参与交易的用户对交易提案存在异议,则该参与交易的用户交易合约申诉,交易合约的ORACLE帐户将根据请求对交易提案进行审核:如果交易提案中因为合约的逻辑错误而出现了错误的结果,则取消交易提案,否则,交易提案正常执行,并转至步骤7;
步骤7、交易合约的ORACLE账户为交易提案生成一次性的Paillier同态加密的合约同态公私钥对,并将合约同态公私钥对中的合约同态公钥公开;
步骤8、每个参与交易的用户生成一次性的Paillier同态加密的用户同态公私钥对,并将用户同态公私钥对中的用户同态公钥公开;
步骤9、参与交易的付款用户生成取款签名;首先利用合约同态公钥对取款签名进行加密后,得到首次加密的取款签名,并生成对首次加密的取款签名的同态证明;然后利用付款用户自己的用户同态公钥对首次加密的取款签名再次进行加密,得到经过两次加密的取款签名;最后经过两次加密的取款签名和对首次加密的取款签名的同态证明发送给交易合约;
步骤10、参与交易的收款用户用自己的用户同态私钥对经过两次加密的取款签名进行解密,得到首次加密的取款签名,并利用相应的同态证明来验证首次加密的取款签名的正确性:
如果验证正确,则向交易合约发送确认,并转至步骤11;
否则,将自己的用户同态私钥发送到交易合约,交易合约的ORACLE帐户将使用该用户同态私钥和合约同态私钥依次解密经过两次加密的取款签名,得到取款签名,并对该取款签名进行验证来确定参与交易的付款用户是否出现行为不端,并取消交易提案;
步骤11、当交易合约收到所有来自参与交易的收款用户的确认后,完成交易提案并公布合约同态私钥;
步骤12、参与交易的收款用户利用该合约同态私钥对自己手上的首次加密的取款签名进行解密后,得到取款签名;
步骤13、参与交易的收款用户向参与交易的付款用户的资产锁定合约提交取款签名,将该取款签名所对应的资产取回自己的账户;
上述智能合约中所有的数据都是公开的,交易合约的ORACLE账户是诚实的,不会与任何用户进行合谋。
2.根据权利要求1所述的资产与合约分离的区块链智能合约交易方法,其特征是,在资产锁定期限之前,参与交易的用户的资产锁定合约中的资产必须要由该参与交易的用户与交易合约双方的签名才能取出。
3.根据权利要求1所述的资产与合约分离的区块链智能合约交易方法,其特征是,在交易前,参与交易的用户向交易合约发送用户资产锁定期限延长签名;当交易时,交易合约判断参与交易的用户出现行为不端,则交易合约生成合约资产锁定期限延长签名,并将该参与交易的用户资产锁定期限延长签名和合约资产锁定期限延长签名发送给该参与交易的用户的资产锁定合约对其资产进行冻结。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110669864.2A CN113313490B (zh) | 2021-06-17 | 2021-06-17 | 资产与合约分离的区块链智能合约交易方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110669864.2A CN113313490B (zh) | 2021-06-17 | 2021-06-17 | 资产与合约分离的区块链智能合约交易方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113313490A CN113313490A (zh) | 2021-08-27 |
CN113313490B true CN113313490B (zh) | 2024-01-16 |
Family
ID=77379163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110669864.2A Active CN113313490B (zh) | 2021-06-17 | 2021-06-17 | 资产与合约分离的区块链智能合约交易方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113313490B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111091382A (zh) * | 2018-10-24 | 2020-05-01 | 成都高新信息技术研究院 | 一种区块链资产去中心化跨链交易方法与系统 |
CN111915433A (zh) * | 2020-07-03 | 2020-11-10 | 海南大学 | 一种基于区块链智能合约的数字化服务资产交易和转移方法 |
CN112200567A (zh) * | 2020-10-09 | 2021-01-08 | 支付宝(杭州)信息技术有限公司 | 基于区块链的资源管理方法、装置及电子设备 |
CN112215707A (zh) * | 2020-09-21 | 2021-01-12 | 上海泼墨网络科技有限公司 | 一种基于区块链的定制化的资产交易智能合约的使用方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845960B (zh) * | 2017-01-24 | 2018-03-20 | 上海壹账通区块链科技有限公司 | 基于区块链的安全交易方法及系统 |
-
2021
- 2021-06-17 CN CN202110669864.2A patent/CN113313490B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111091382A (zh) * | 2018-10-24 | 2020-05-01 | 成都高新信息技术研究院 | 一种区块链资产去中心化跨链交易方法与系统 |
CN111915433A (zh) * | 2020-07-03 | 2020-11-10 | 海南大学 | 一种基于区块链智能合约的数字化服务资产交易和转移方法 |
CN112215707A (zh) * | 2020-09-21 | 2021-01-12 | 上海泼墨网络科技有限公司 | 一种基于区块链的定制化的资产交易智能合约的使用方法 |
CN112200567A (zh) * | 2020-10-09 | 2021-01-08 | 支付宝(杭州)信息技术有限公司 | 基于区块链的资源管理方法、装置及电子设备 |
Non-Patent Citations (1)
Title |
---|
一种金融级安全的区块链资产交易系统;冯浩铭;陈杭;刘彦平;;信息通信技术与政策(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113313490A (zh) | 2021-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11861606B2 (en) | Blockchain system for confidential and anonymous smart contracts | |
Delgado-Segura et al. | A fair protocol for data trading based on bitcoin transactions | |
JP7569602B2 (ja) | 分散協調を用いるスマートコントラクトの実行 | |
CN110337665B (zh) | 用于信息保护的系统和方法 | |
CN111316615B (zh) | 使用调解器计算机系统确保计算机程序正确执行的系统和方法 | |
CN107113179B (zh) | 用于通信验证的方法、系统及非瞬时计算机可读存储介质 | |
US20200127813A1 (en) | Method and system for creating a user identity | |
US20200193432A1 (en) | Method and system for settling a blockchain transaction | |
CN110785782A (zh) | 使用区块链网络的多轮令牌分发系统和方法 | |
WO2012123394A1 (en) | Off-line transfer of electronic tokens between peer-devices | |
Baza et al. | A blockchain-based energy trading scheme for electric vehicles | |
Yi et al. | Blockchain Foundations and Applications | |
CN111523892B (zh) | 一种区块链的跨链交易方法及装置 | |
Hoenisch et al. | Atomic swaps between bitcoin and monero | |
CN114747172A (zh) | 加密链接身份 | |
Keshavarzkalhori et al. | Federify: a verifiable federated learning scheme based on zksnarks and blockchain | |
CN113313490B (zh) | 资产与合约分离的区块链智能合约交易方法 | |
CN116664298A (zh) | 基于区块链的去中心化数据交易系统的实现方法和装置 | |
Chen et al. | PACDAM: Privacy-Preserving and Adaptive Cross-Chain Digital Asset Marketplace | |
CN114417389A (zh) | 一种区块链中加法同态加密用户资产额度的存储方法 | |
Aszalós et al. | Payment approval for PayWord | |
De Cnudde | Analyzing Privacy-Preserving Smart Contracts | |
Zhou et al. | Eisdspa: an Efficient and Secure Blockchain-Based Donation Scheme with Privacy Protection and Auditability | |
Wei et al. | zk‐STARKs based scheme for sealed auctions in chains | |
Elfadul et al. | SCCT-DARS: Secure and Compliant Cryptocurrency Transactions in a Decentralized Anonymous Regulated System |
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 |