CN113128988B - 一种自适应、可组合链上隐私保护交易系统及方法 - Google Patents

一种自适应、可组合链上隐私保护交易系统及方法 Download PDF

Info

Publication number
CN113128988B
CN113128988B CN202110242189.5A CN202110242189A CN113128988B CN 113128988 B CN113128988 B CN 113128988B CN 202110242189 A CN202110242189 A CN 202110242189A CN 113128988 B CN113128988 B CN 113128988B
Authority
CN
China
Prior art keywords
transaction
contract
mode
model
privacy
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
Application number
CN202110242189.5A
Other languages
English (en)
Other versions
CN113128988A (zh
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.)
Xi'an Lianrong Technology Co ltd
Xidian University
Original Assignee
Xi'an Lianrong Technology Co ltd
Xidian University
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 Xi'an Lianrong Technology Co ltd, Xidian University filed Critical Xi'an Lianrong Technology Co ltd
Priority to CN202110242189.5A priority Critical patent/CN113128988B/zh
Publication of CN113128988A publication Critical patent/CN113128988A/zh
Application granted granted Critical
Publication of CN113128988B publication Critical patent/CN113128988B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • 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/3827Use of message hashing
    • 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
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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/3218Cryptographic 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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Bioethics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明属于隐私保护和区块链智能合约技术领域,公开了一种自适应、可组合链上隐私保护交易系统及方法,所述自适应、可组合链上隐私保护交易方法包括:通过隐私保护模式设置模块提出隐私保护模式;通过系统参量设置模块利用设置恰当的系统参量支撑隐私保护模式下用户模型、交易模型、挖矿模型及合约模型的匿名化建立;通过账户模型设置模块提出AnonymousState存储匿名模式下的用户状态;通过自适应交易模型构建模块提出隐私保护模式下的标准交易模型;通过挖矿模型构建模块在隐私保护模式下进行挖矿模型的设计;通过智能合约模型构建模块提出隐私保护模式下的智能合约模型。本发明能够解决区块链电子货币系统中的隐私保护问题。

Description

一种自适应、可组合链上隐私保护交易系统及方法
技术领域
本发明属于隐私保护和区块链智能合约技术领域,尤其涉及一种自适应、可组合链上隐私保护交易系统及方法。
背景技术
目前,区块链技术的诞生为分布式去中心化的交易提供了崭新的途径,链上智能合约技术的实现更是为去中心化应用Dapp、分布式组织DAO等分布式可信场景的建立和完善打下了稳固而夯实的基础。但为保证分布式场景中公开可验证的性质,区块链的链上信息全部公开,交易数据透明可查,导致区块链上的隐私数据会轻易暴露,交易者隐私信息无法得到有效保护。
近年来,国内外研究者及区块链交易平台采用零知识证明技术,提出了隐私保护模式下的区块链交易模型,但这些模型仅专注于某个特定模式下的隐私保护,且各个模型之间的隐私保护方式无法有效适配,导致当前链上隐私保护方式单一且途径有限,无法适应当前不同需求下的隐私保护模式。除此之外,当前区块链上的隐私保护方案均以放弃区块链可编程性为代价,无法对区块链智能合约进行有效的隐私保护,导致一些具有隐私保护需求且基于智能合约的分布式应用及场景(如众筹、竞拍等)无法在现有区块链平台上得以实现。
通过上述分析,现有技术存在的问题及缺陷为:
(1)为保证分布式场景中公开可验证的性质,区块链的链上信息全部公开,交易数据透明可查,导致区块链上的隐私数据会轻易暴露,交易者隐私信息无法得到有效保护。
(2)现有隐私保护模式下的区块链交易模型,仅专注于某个特定模式下的隐私保护,且各个模型之间的隐私保护方式无法有效适配,导致当前链上隐私保护方式单一且途径有限,无法适应当前不同需求下的隐私保护模式。
(3)当前区块链上的隐私保护方案均以放弃区块链可编程性为代价,无法对区块链智能合约进行有效的隐私保护,导致一些具有隐私保护需求且基于智能合约的分布式应用及场景无法在现有区块链平台上得以实现。
解决以上问题及缺陷的难度为:隐私保护模式下的区块链系统中,交易消息的可验证性与隐私性存在冲突,传统区块链系统下必须保障交易的可验证性以支持区块链系统运行,在保障交易可验证的情况下支持交易隐私性存在难度;区块链智能合约中对信息的可编程性与隐私性存在冲突,且合约为公共组织,无代理人,其所有用于状态均处于公开状态,无法自我生成零知识证明,对智能合约的隐私保护存在困难。
解决以上问题及缺陷的意义为:区块链作为建立去中心化的信用平台,其为去中心话的交易达成及信任建立提供了可行的解决方案,智能合约的提出更是为去中心化协议及去中心化组织的建立夯实了稳固的基础。但当前区块链系统下的交易及智能合约中的信息为了保证其可验证可计算的性质,均以明文形式呈现,参与者隐私无法保障,也限制了有具有隐私保护需求的分布式平台及去中心化多方协议的建立。解决以上问题将为这些平台及协议提供新的解决方案,促进具有隐私保护需求的去中心化项目的建立实施。
发明内容
针对现有技术存在的问题,本发明提供了一种自适应、可组合链上隐私保护交易系统及方法,尤其涉及一种多隐私需求模式下的自适应、可组合的链上隐私保护交易系统及方法,以及一种基于委员会执行激励机制下的隐私保护智能合约的可控执行模型。
本发明是这样实现的,一种自适应、可组合链上隐私保护交易方法,所述自适应、可组合链上隐私保护交易方法包括:
通过提出四种不同的隐私保护模式:明文模式Plaintext、秘密模式Secret、匿名模式Anonymous、混淆模式Obscure,并将不同的隐私模式通过承诺技术和零知识证明技术实例化于区块链的交易模型、账户模型和合约模型中来满足使用者不同情况下的个性化隐私保护需求;
实例化的过程中,隐私保护模式及其对应的实例化模块具有自适应、可组合的特性,确保使用者可以根据自己特有的隐私保护需求,选择适当的隐私模式对不同模块进行逐个实例化,并通过组合具有不同隐私状态的模块来实现使用者的个性化隐私保护需求,实现自适应、多功能、可定制的隐私保护区块链标准交易模型。
进一步,所述自适应、可组合链上隐私保护交易方法,还包括:
基于隐私保护的区块链标准交易模型,针对智能合约上的隐私保护问题,通过将四种不同的隐私保护模式在智能合约上进行实例化,提出合约的三种执行模式:公开模式Public,私密模式Private,去中心化模式Decentralize,将合约执行模式与隐私保护模式分别组合,得出可适配不同隐私保护需求的自适应、可组合的智能合约隐私保护模型,提出合约委员会机制和基于cgas的合约执行奖励机制,实现在合约上保护用户数据隐私的前提下确保智能合约的有效执行。
进一步,所述自适应、可组合链上隐私保护交易方法,还包括:
基于合约的三种执行模式,提出合约委员会机制,在智能合约下建立多方参与的委员会制度,合约私钥由委员会成员共同掌握;委员会内部使用一套特有的共识机制,委员会成员通过该共识机制,周期性确定合约调用请求的执行结果,并构造相应零知识证明。在以太坊gas模型的基础上,提出cgas激励机制,通过调用者支付cgas的方式,标明cgasPrice与cgasLimit,对合约调用的执行者进行激励,同时也可促进委员会内部共识机制的有效运转,实现合约安全性与合约隐私性可适配的智能合约隐私保护机制。
进一步,所述模型架构包括:隐私保护模式、系统参量设置、账户模型设置、自适应交易模型、挖矿模型及智能合约模型六个方面。
进一步,所述隐私保护模式,包括:
模式一:明文模式Plaintext:即消息全明文,消息主体可见,消息内容可见,因为无需设置隐私参量,所以构造成本低,验证速度快;
模式二:秘密模式Secret:消息密文,消息主体仍然可见,消息内容作为隐私内容进行隐藏,构造成本中等,具备一定的隐私保护能力;
模式三:匿名模式Anonymous:消息匿名,消息主体与消息内容全部掩盖,在保证可验证的前提下,无法获悉消息中的任何内容,构造成本较高,具备较强的隐私保护能力;
模式四:混淆模式Obscure:消息混淆,不仅会掩盖消息主体和消息内容,还会将消息加以混淆,掩盖消息路径及消息本身的模式,混淆模式的消息会以秘密模式或匿名模式直观呈现,但观察者无法获知其隐私模式,构造成本高,具备极强的隐私保护能力。
进一步,所述系统参量设置,包括:
通过设置恰当的系统参量支撑隐私保护模式下用户模型、交易模型、挖矿模型及合约模型的匿名化建立,系统参量设置过程如下所示:
(1)选定大质数p以及基于该大质数的循环群在/>中选定/>并选定/>的指数域/>生成基础参量/>
(2)设定AH-E1Gamal公私钥生成函数KenGen(1λ);
(3)设定哈希函数Hash;
(4)设置AH-E1Gamal加密算法Epk及解密算法Dpk
(5)设置与/>间的映射算法mapping和逆映射算法mapping-1
(6)设置零知识证明算法π以及签名算法σ;
(7)设置临时公钥算法T(pk,γ)=(G,H);
(8)设置世界状态State,其中包括用户状态UserState用户存储用户相关信息,匿名状态AnonymousState用于存储匿名状态信息:
State←(UserState,AnonymousState)。
进一步,所述账户模型设置,包括:
世界状态改进自以太坊世界状态模型,并在以太坊世界的Account世界状态树模型的基础上提出AnonymousState以存储匿名模式下的用户状态,所述账户状态模型如下所示:
用户地址addr:160位用户地址,为用户公钥的哈希值的前160位,即addr←Hash(h)[0:160],用户链上实名身份标识;
用户交易度nonce:防止用户进行双花的辅助变量;
用户余额balance:即账户剩余资产,可与不同隐私模式结合,分为明文资产vaddr,即资产所属公开,资产数额公开;秘密资产Cadddr,i=(h,Epk(v,r))=(h,gvhr,gr),即资产主体公开,资产数额隐藏;匿名资产CAaddr,i=(T(pk,γ),ET(pk,γ)(v,r))=(G,H,GvHr,Gr),即资产主体隐藏,资产数额隐藏;用户通过混淆模式获得的资产将被混淆为秘密模式或匿名模式,并与该模式的资产共同存储;
用户存储根storageRoot:仅合约用户拥有存储根,其中包括合约执行过程中产生的变量,与剩余资产相同,同样拥有明文存储格式,秘密存储格式Saddr,i=(h,Epk(m,r))=(h,gmhr,gr)及匿名存储格式SAaddr,i=(T(pk,γ),ET(pkγ)(m,r))=(G,H,GmHr,Gr),以适配各式各样隐私保护需求的合约;
用户代码codeHash:智能合约地址的合约执行代码;
待调用消息Panding:智能合约的调用请求队列,待合约委员会打包。
进一步,所述自适应交易模型,包括:
提出隐私保护模式下的标准交易模型,在所述模型中为各隐私模式下的入账或出账交易提供可适配交易插槽,用户通过插槽式的交易机制构造其个性化隐私保护需求下的交易,所述标准交易模型如下所示:
Tx=(CashiryCashout,(D),(πbalance))
出账交易插槽Cashin:所述插槽中包含用户的出账交易,即付款项;出账交易可通过明文模式,即付款方公开,付款金额公开;秘密模式,即付款方公开,付款金额隐藏;匿名模式,即付款方隐藏,付款金额隐藏;混淆模式,即付款方,付款金额,交易路径均隐藏对单笔出账交易进行实例化,完整交易插槽模式如下所示:
其中,πownership为交易的所有权证明。
入账交易插槽Cashout:所述插槽中包含用户的入账交易,即收款项;与出账交易插槽相同,入账交易可通过明文模式,即收款方公开,收款金额公开;秘密模式,即收款方公开,收款金额隐藏;匿名模式,即收款方隐藏,收款金额隐藏;混淆模式,即收款方,收款金额,交易路径均隐藏对单笔入账交易进行实例化,与出账交易不同的是,出账交易需要指定一笔gas交易以适配传统Account模型下区块链模式的挖矿奖励,完整交易插槽模式如下所示:
公用解密值D=gr:仅当入账交易插槽中存在秘密隐私模式下时出现,用于辅助秘密隐私模式的用户解密;
会计平衡证明πbalance:零知识证明参数,证明入账插槽与出账插槽中的总金额相等;若交易全部模式为明文隐私模式,则不需要该参数。
进一步,所述隐私保护模式下挖矿模型的设计,包括:
假设当用户成功挖出某个区块时,将收到v*个代币及所有计算产生的gas费用的记账奖励,则矿工的一次完整挖矿过程示例如下:
(1)矿工完成一个区块的打包后,计算所有参与gas计算的金额gasFeeTotal=∑igasPricei·gasLimiti,并构造出账交易插槽
(2)矿工计算其中每笔交易中剩余gas的退还金额插槽退还金额固定退还到打包后每笔交易的第一个出账插槽Cashin,1对应的用户中,所选的隐私保护模式取决于Cashin,1所选择的隐私保护模式,即:
其中,vb,i=gasPricei(gasLimiti-gasUsedi)。
(3)矿工在中加入一笔或多笔以此次挖矿获益人的交易/>具体构造哪种隐私模式的交易取决于矿工对隐私的需求,即:
(4)矿工通过以上入账及出账插槽构造挖矿交易并打包进区块。
(5)矿工公布区块,挖矿完成。
进一步,所述智能合约模型,包括:
通过提出合约委员会机制以及基于cgas的合约执行激励机制,结合多模式的自适应、可组合隐私保护机制,实现对区块链智能合约的个性化隐私保护,并通过智能合约的特有属性和隐私保护需求,提出三种不同的智能合约执行模式:公开模式(Public)、私密模式(Private)、去中心化模式(Decentralize)以实现区块链智能合约自适应隐私保护模型。
在隐私保护标准交易模型的基础上,提出了合约部署交易模型:
(CashinCashout,pkC,initCode,(D),(πbalance))
其中,出账交易插槽Cashin中的交易满足标准交易模型中出账插槽的基本形式,若该合约支持中心化执行模式(Private),则Cashin中所有的实名入账地址将被看作合约的部署者及管理者,共同掌握合约私钥,共同组成合约委员会进行合约管理。如果Cashin中存在匿名模式交易插槽,则该交易需提供自己与其余插槽均不为同一账户的零知识证明。
入账交易插槽Cashout中可以包括合约部署时部署者转给合约的账目,该交易插槽遵循标准交易模型中入账插槽的基本形式。
合约公钥pkC:公布该合约的公钥。
合约二进制初始化码initCode:合约代码编译后的初始化二进制码。
其余参数值遵循标准交易模型。
在隐私保护标准交易模型的基础上,提出了合约调用交易模型:
(CashiryCashout,(D),(πbalance))
出账交易插槽Cashin中的交易地址将作为合约的调用者(不论是明文模式地址addr,秘密模式地址h,还是匿名模式地址(G,H)),调用者的隐私模式通过实例化其Cashin交易插槽确定,其中首个交易插槽的交易地址将作为主要调用者并接收未使用的cgas退款,cgas激励模型将于稍后详细说明。
入账交易插槽Cashout中的信息并不要求全部是合约调用信息,即合约调用的信息可以与普通的交易转账记录在同一笔交易内,但该插槽中至少有一笔收益消息为合约的调用消息:
其中,base为标准交易模型下的对应数据,即转账地址,转账金额;funcCode为调用函数插槽,可根据不同的隐私模式进行实例化,并与交易组合,满足用户个性化隐私需求;paramsSchemein为输入参数插槽,同样可根据不同的隐私模式对不同参数进行实例化,并通过该插槽组合不同的隐私模式。
参数的实例化方式如下所示:
其中,cgas包括cgasPrice及cgasLimit,为对合约委员会中成员的合约执行激励机制;Hash(msg)用来标记本条插槽,如果本条交易的执行模式为私密模式或去中心化模式,并将该条交易作为交易调用的ID值存入用户状态中的待执行合约调用区域,等待合约委员会的调用。
进一步,针对智能合约的可执行性与隐私性存在冲突的挑战,提出合约委员会机制及cgas合约执行激励模型,将智能合约的执行模式分为以下三种:
公开模式Public:合约将公开执行,因为公开模式下的合约需满足隐私内容可计算的特性,所以该模式下的合约隐私保护程度低,执行成本低。
私密模式Private:具有隐私保护能力的智能合约,其合约委员会成员为合约部署成员且固定不变,适合一些链上的中心化组织,执行成本中等。
去中心化模式Decentralize:具有一定的隐私保护能力,但合约的执行为分布式执行,所以该类型的合约委员会成员将随时间按照一定规则进行更换,其中心化程度取决于合约部署时所指定的委员会成员数量。
进一步,所述合约委员会机制,包括:
A.私密模式智能合约的合约委员会成员通过部署合约交易模型中出账插槽的地址得出;去中心化模式下的智能合约的合约委员会成员则会通过以合约调用结果哈希为种子的随机账户选择器选择得出,新成员加入时,将会淘汰存在于委员会中时间最长的成员;
B.合约委员会中运行一套内部的共识机制,每隔一定周期,委员会成员将逐个执行该合约账户模型下存储与待调用消息区(Panding)内的合约调用请求,并将执行结果打包为一条合约回执交易,执行者/打包者将合约调用中所有使用掉的cgas费用作为执行奖励并获得之;
C.打包后的合约回执交易模型如下所示:
TxFinalixe←(CashiryCashout,(D),(πbalance))
其中,入账交易模型Cashout如下所示:
Hash(prvMsg)对应合约调用时的插槽的ID值,对应其先前的合约调用交易插槽,说明本条交易插槽的应答对象;
Hash(prvMsg)为输出参数,可以通过不同的隐私模型进行实例化;
cgasUsed为合约执行过程中消耗的cgas数量;
πexecute为合约执行完成后对执行结果的零知识证明,证明该结果的真实性;
cgasProfit交易为cgas最终受益者构造的cgas收益的转账交易。
本发明的另一目的在于提供一种应用所述的自适应、可组合链上隐私保护交易方法的自适应、可组合链上隐私保护交易系统,所述自适应、可组合链上隐私保护交易系统包括:
隐私保护模式设置模块,用于提出四种不同的隐私保护模式:明文模式Plaintext、秘密模式Secret、匿名模式Anonymous、混淆模式Obscure;
系统参量设置模块,用于通过设置恰当的系统参量支撑隐私保护模式下用户模型、交易模型、挖矿模型及合约模型的匿名化建立;
账户模型设置模块,用在以太坊世界的Account世界状态树模型的基础上提出AnonymousState以存储匿名模式下的用户状态;
自适应交易模型构建模块,用于提出在隐私保护模式下的标准交易模型,在所述模型中为各隐私模式下的入账或出账交易提供可适配交易插槽,用户通过插槽式的交易机制构造其个性化隐私保护需求下的交易;
挖矿模型构建模块,用于在隐私保护模式下进行挖矿模型的设计;
智能合约模型构建模块,用于基于隐私保护模式下的标准交易模型和不同的隐私保护模式,提出隐私保护模式下的智能合约模型。
本发明的另一目的在于提供一种存储在计算机可读介质上的计算机程序产品,包括计算机可读程序,供于电子装置上执行时,提供用户输入接口以实施所述的自适应、可组合链上隐私保护交易。
本发明的另一目的在于提供一种计算机可读存储介质,储存有指令,当所述指令在计算机上运行时,使得计算机执行所述的自适应、可组合链上隐私保护交易方法。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提供的自适应、可组合链上隐私保护交易系统,能够解决区块链电子货币系统中的隐私保护问题,并在保护交易隐私的同时,解决区块链智能合约的隐私保护问题。
该发明与现有国内外类似技术的对比表格:
本发明 门罗币 Z-cash Hawk Zether
交易隐私保护 支持 支持 支持 支持 支持
智能合约隐私保护 支持 不支持 不支持 仅中心化支持 仅合约交易支持
多隐私模式 支持 部分支持 不支持 不支持 部分支持
自适应隐私保护 支持 部分支持 不支持 不支持 不支持
挖矿者隐私保护 支持 支持 支持 不支持 不支持
隐私模式可组合 支持 部分支持 部分支持 不支持 不支持
合约交易低延时 支持 / / 支持 不支持
合约隐私可延展 支持 / / 不支持 不支持
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的自适应、可组合链上隐私保护交易方法流程图。
图2是本发明实施例提供的自适应、可组合链上隐私保护交易系统结构框图;
图中:1、隐私保护模式设置模块;2、系统参量设置模块;3、账户模型设置模块;4、自适应交易模型构建模块;5、挖矿模型构建模块;6、智能合约模型构建模块。
图3是本发明实施例提供的隐私保护模式下的标准交易模型示意图。
图4是本发明实施例提供的隐私保护模式下的合约调用流程(Private模式或Decentralize模式)示意图。
图5是本发明实施例提供的cgas模型及基于cgas的合约执行激励机制示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种自适应、可组合链上隐私保护交易系统及方法,下面结合附图对本发明作详细的描述。
如图1所示,本发明实施例提供的自适应、可组合链上隐私保护交易方法包括以下步骤:
S101,通过隐私保护模式设置模块提出四种不同的隐私保护模式:明文模式Plaintext、秘密模式Secret、匿名模式Anonymous、混淆模式Obscure;
S102,通过系统参量设置模块利用设置恰当的系统参量支撑隐私保护模式下用户模型、交易模型、挖矿模型及合约模型的匿名化建立;
S103,通过账户模型设置模块在以太坊世界的Account世界状态树模型的基础上提出AnonymousState以存储匿名模式下的用户状态;
S104,通过自适应交易模型构建模块提出在隐私保护模式下的标准交易模型,在所述模型中为各隐私模式下的入账或出账交易提供可适配交易插槽,用户通过插槽式的交易机制构造其个性化隐私保护需求下的交易;
S105,通过挖矿模型构建模块在隐私保护模式下进行挖矿模型的设计;
S106,通过智能合约模型构建模块基于隐私保护模式下的标准交易模型和不同的隐私保护模式,提出隐私保护模式下的智能合约模型。
如图2所示,本发明实施例提供的自适应、可组合链上隐私保护交易系统包括:
隐私保护模式设置模块1,用于提出四种不同的隐私保护模式:明文模式Plaintext、秘密模式Secret、匿名模式Anonymous、混淆模式Obscure;
系统参量设置模块2,用于通过设置恰当的系统参量支撑隐私保护模式下用户模型、交易模型、挖矿模型及合约模型的匿名化建立;
账户模型设置模块3,用在以太坊世界的Account世界状态树模型的基础上提出AnonymousState以存储匿名模式下的用户状态;
自适应交易模型构建模块4,用于提出在隐私保护模式下的标准交易模型,在所述模型中为各隐私模式下的入账或出账交易提供可适配交易插槽,用户通过插槽式的交易机制构造其个性化隐私保护需求下的交易;
挖矿模型构建模块5,用于在隐私保护模式下进行挖矿模型的设计;
智能合约模型构建模块6,用于基于隐私保护模式下的标准交易模型和不同的隐私保护模式,提出隐私保护模式下的智能合约模型。
下面结合实施例对本发明的技术方案作进一步描述。
实施例1
本发明旨在解决区块链电子货币系统中的隐私保护问题,并在保护交易隐私的同时,解决区块链智能合约的隐私保护问题。
本发明通过提出四种不同的隐私保护模式:明文模式(Plaintext)、秘密模式(Secret)、匿名模式(Anonymous)、混淆模式(Obscure),并将不同的隐私模式通过承诺技术和零知识证明技术实例化于区块链的交易模型、账户模型和合约模型中来满足使用者不同情况下的个性化隐私保护需求。实例化的过程中,隐私保护模式及其对应的实例化模块具有自适应、可组合的特性,确保使用者可以根据自己特有的隐私保护需求,选择适当的隐私模式对不同模块进行逐个实例化,并通过组合具有不同隐私状态的模块来实现使用者的个性化隐私保护需求,实现自适应、多功能、可定制的隐私保护区块链标准交易模型。
本发明基于上述隐私保护的区块链标准交易模型,针对智能合约上的隐私保护问题,通过将上述四种不同的隐私保护模式在智能合约上进行实例化,提出了合约的三种执行模式:公开模式(Public),私密模式(Private),去中心化模式(Decentralize),将合约执行模式与隐私保护模式分别组合,得出可适配不同隐私保护需求的自适应、可组合的智能合约隐私保护模型,提出合约委员会机制和基于cgas的合约执行奖励机制,实现了在合约上保护用户数据隐私的前提下确保智能合约的有效执行。
由于在隐私保护模式下的智能合约中数据隐私性与合约可执行性存在矛盾冲突,若使用单一合约执行者模式会大幅降低智能合约安全性及稳健性,使用传统区块链模式下公开执行的机制又会普遍导致用户隐私泄露,不符合智能合约隐私保护的初衷。本发明提出合约委员会机制,在智能合约下建立多方参与的委员会制度,合约私钥由委员会成员共同掌握。委员会内部使用一套特有的共识机制,委员会成员通过该共识机制,周期性确定合约调用请求的执行结果,并构造相应零知识证明。为避免委员会成员疏于执行其他用户的合约调用请求,本发明在以太坊gas模型的基础上,提出cgas激励机制,通过调用者支付cgas(标明cgasPrice与cgasLimit)的方式,对合约调用的执行者进行激励,同时也可促进委员会内部共识机制的有效运转,实现合约安全性与合约隐私性可适配的智能合约隐私保护机制。
本发明具体模型架构将从隐私模式、系统参量设置、账户模型设置、自适应交易模型、挖矿模型及智能合约模型六个方面进行阐释。
首先,本发明摒弃传统隐私保护模型下单一模式的隐私保护模式,提出自适应、可组合的四种不同隐私模式,其详细解释如下:
模式一:明文模式(Plaintext)。即消息全明文,消息主体可见,消息内容可见,因为无需设置隐私参量,所以构造成本低,验证速度快。
模式二:秘密模式(Secret)。消息密文,消息主体仍然可见,消息内容作为隐私内容进行隐藏,构造成本中等,具备一定的隐私保护能力。
模式三:匿名模式(Anonymous)。消息匿名,消息主体与消息内容全部掩盖,在保证可验证的前提下,无法获悉消息中的任何内容,构造成本较高,具备较强的隐私保护能力。
模式四:混淆模式(Obscure)。消息混淆,不仅会掩盖消息主体和消息内容,还会将消息加以混淆,掩盖消息路径及消息本身的模式,混淆模式的消息往往会以秘密模式或匿名模式直观呈现,但观察者无法获知其隐私模式,构造成本高,具备极强的隐私保护能力。
本发明通过设置恰当的系统参量支撑隐私保护模式下用户模型、交易模型、挖矿模型及合约模型的匿名化建立,系统参量设置过程如下所示:
步骤一:选定大质数p以及基于该大质数的循环群在/>和选定/>并选定/>的指数域/>生成基础参量/>
步骤二:设定AH-E1Gamal公私钥生成函数KenGen(1λ)。
步骤三:设定哈希函数Hash。
步骤四:设置AH-E1Gamal加密算法Epk及解密算法Dpk
步骤五:设置与/>间的映射算法mapping和逆映射算法mapping-1
步骤六:设置零知识证明算法π以及签名算法σ。
步骤七:设置临时公钥算法T(pk,γ)=(G,H)。
步骤八:设置世界状态State,其中包括用户状态UserState用户存储用户相关信息,匿名状态AnonymousState用于存储匿名状态信息:
State←(UserState,AnonymousState)
本发明的世界状态改进自以太坊世界状态模型,并在以太坊世界的Account世界状态树模型的基础上提出了AnonymousState以存储匿名模式下的用户状态(由于用户为匿名状态,而UserState则会直接暴露消息主体,所以会存储在AnonymousState中),详细账户状态模型如下所示:
用户地址(addr):160位用户地址,为用户公钥的哈希值的前160位,即addr←Hash(h)[0:160],用户链上实名身份标识。
用户交易度(nonce):防止用户进行双花的辅助变量。
用户余额(balance):即账户剩余资产,可与不同隐私模式结合,分为明文资产vaddr(资产所属公开,资产数额公开),秘密资产Caddr,i=(h,Epk(v,r))=(h,gvhr,gr)(资产主体公开,资产数额隐藏),匿名资产CAaddr,i=(T(pk,γ),ET(pk,γ)(v,r))=(G,H,GvHr,Gr)(资产主体隐藏,资产数额隐藏),用户通过混淆模式获得的资产将被混淆为秘密模式或匿名模式,并与该模式的资产共同存储。
用户存储根(storageRoot):仅合约用户拥有存储根,其中包括合约执行过程中产生的变量,与剩余资产相同,同样拥有明文存储格式,秘密存储格式Saddr,i=(h,Epk(m,r))=(h,gmhr,gr)及匿名存储格式SAaddr,i=(T(pk,γ),ET(pk,γ)(m,r))=(G,H,GmHr,Gr),以适配各式各样隐私保护需求的合约。
用户代码(codeHash):智能合约地址的合约执行代码。
待调用消息(Panding):智能合约的调用请求队列,待合约委员会打包。
本发明提出了隐私保护模式下的标准交易模型,在该模型中为各隐私模式下的入账或出账交易提供可适配交易插槽,用户通过插槽式的交易机制构造其个性化隐私保护需求下的交易,标准交易模型的详细内容如下所示:
Tx=(CashiwCashout(D),(πbalance))
出账交易插槽Cashin:该插槽中包含用户的出账交易(即付款项),出账交易可通过明文模式(付款方公开,付款金额公开)、秘密模式(付款方公开,付款金额隐藏)、匿名模式(付款方隐藏,付款金额隐藏)、混淆模式(付款方,付款金额,交易路径均隐藏)对单笔出账交易进行实例化,完整交易插槽模式如下所示:
其中,πownership为交易的所有权证明。
入账交易插槽Cashout:该插槽中包含用户的入账交易(即收款项),与出账交易插槽相同,入账交易可通过明文模式(收款方公开,收款金额公开)、秘密模式(收款方公开,收款金额隐藏)、匿名模式(收款方隐藏,收款金额隐藏)、混淆模式(收款方,收款金额,交易路径均隐藏)对单笔入账交易进行实例化,与出账交易不同的是,出账交易需要指定一笔gas交易以适配传统Account模型下区块链模式的挖矿奖励,完整交易插槽模式如下所示:
公用解密值D=gr:仅当入账交易插槽中存在秘密隐私模式下时出现,用于辅助秘密隐私模式的用户解密。
会计平衡证明πbalancs:零知识证明参数,证明入账插槽与出账插槽中的总金额相等。若交易全部模式为明文隐私模式,则不需要该参数。
基于以上隐私保护模式下的标准交易模型和不同的隐私保护模式,本发明提出隐私保护模式下的挖矿模型及智能合约模型。不同的隐私保护模式同样可以实例化于挖矿模型及智能合约调用中,且保有自适应、可组合的特性。以下为隐私保护模式下挖矿模型的设计:
假设当用户成功挖出某个区块时,将收到v*个代币及所有计算产生的gas费用的记账奖励,则矿工的一次完整挖矿过程示例如下:
步骤一:矿工完成一个区块的打包后,计算所有参与gas计算的金额gasFeeTotal=∑igasPricei·gasLimiti,并构造出账交易插槽
步骤二:矿工计算其中每笔交易中剩余gas的退还金额插槽退还金额固定退还到打包后每笔交易的第一个出账插槽Cashin,1对应的用户中,所选的隐私保护模式取决于Cashin,1所选择的隐私保护模式,即:
其中,vb,i=gasPricei(gasLimiti-gasUsedi)。
步骤三:矿工在中加入一笔或多笔以此次挖矿获益人的交易具体构造哪种隐私模式的交易取决于矿工对隐私的需求,即:
步骤四:矿工通过以上入账及出账插槽构造挖矿交易并打包进区块。
步骤五:矿工公布区块,挖矿完成。
本发明通过提出合约委员会机制以及基于cgas的合约执行激励机制,结合以上多模式的自适应、可组合隐私保护机制,实现了对区块链智能合约的个性化隐私保护,并通过智能合约的特有属性和隐私保护需求,提出了三种不同的智能合约执行模式:公开模式(Public)、私密模式(Private)、去中心化模式(Decentralize)以实现区块链智能合约自适应隐私保护模型。
本发明在隐私保护标准交易模型的基础上,提出了合约部署交易模型:
(CashinCashout,pkC,initCode,(D),(πbalance))
其中,出账交易插槽Cashin中的交易满足标准交易模型中出账插槽的基本形式,若该合约支持中心化执行模式(Private),则Cashin中所有的实名入账地址将被看作合约的部署者及管理者,共同掌握合约私钥,共同组成合约委员会进行合约管理。如果Cashin中存在匿名模式交易插槽,则该交易需提供自己与其余插槽均不为同一账户的零知识证明(合约委员会将于稍后详细解释)。
入账交易插槽Cashout中可以包括合约部署时部署者转给合约的账目,该交易插槽遵循标准交易模型中入账插槽的基本形式。
合约公钥pkC:公布该合约的公钥。
合约二进制初始化码initCode:合约代码编译后的初始化二进制码。
其余参数值遵循标准交易模型。
本发明在隐私保护标准交易模型的基础上,提出了合约调用交易模型:
(CashiryCashout(D),(πbalance))
出账交易插槽Cashin中的交易地址将作为合约的调用者(不论是明文模式地址addr,秘密模式地址h,还是匿名模式地址(G,H)),调用者的隐私模式通过实例化其Cashin交易插槽确定,其中首个交易插槽的交易地址将作为主要调用者并接收未使用的cgas退款,cgas激励模型将于稍后详细说明。
入账交易插槽Cashout中的信息并不要求全部是合约调用信息(换言之,合约调用的信息可以与普通的交易转账记录在同一笔交易内),但该插槽中至少有一笔收益消息为合约的调用消息:
base为标准交易模型下的对应数据,即转账地址,转账金额(可能是隐藏的)等。
funcCode为调用函数插槽,可根据不同的隐私模式进行实例化,并与交易组合,满足用户个性化隐私需求。
paramsSchemein为输入参数插槽,同样可根据不同的隐私模式对不同参数进行实例化,并通过该插槽组合不同的隐私模式。参数的实例化方式如下所示:
cgas包括cgasPrice及cgasLimit,为对合约委员会中成员的合约执行激励机制,详细cgas模型将于稍后进行详细介绍。
Hash(ms,g)用来标记本条插槽,如果本条交易的执行模式为私密模式或去中心化模式,并将该条交易作为交易调用的ID值存入用户状态中的待执行合约调用区域,等待合约委员会的调用。
本发明针对智能合约的可执行性与隐私性存在冲突的挑战,提出了合约委员会机制及cgas合约执行激励模型。首先,我们将智能合约的执行模式分为以下三种:
公开模式(Public):合约将公开执行,因为公开模式下的合约需满足隐私内容可计算的特性,所以该模式下的合约隐私保护程度低,执行成本低。
私密模式(Private):具有隐私保护能力的智能合约,其合约委员会成员为合约部署成员且固定不变,适合一些链上的中心化组织(如交易所),执行成本中等。
去中心化模式(Decentralize):具有一定的隐私保护能力,但合约的执行为分布式执行,所以该类型的合约委员会成员将随时间按照一定规则进行更换,其中心化程度取决于合约部署时所指定的委员会成员数量。
为了保证具有隐私保护能力的智能合约能够安全有效地完成执行,本发明提出了合约委员会机制,该机制详细内容如下所示:
A.私密模式智能合约的合约委员会成员通过部署合约交易模型中出账插槽的地址得出;去中心化模式下的智能合约的合约委员会成员则会通过以合约调用结果哈希为种子的随机账户选择器选择得出,新成员加入时,将会淘汰存在于委员会中时间最长的成员;
B.合约委员会中运行一套内部的共识机制,每隔一定周期,委员会成员将逐个执行该合约账户模型下存储与待调用消息区(Panding)内的合约调用请求,并将执行结果打包为一条合约回执交易,执行者/打包者将合约调用中所有使用掉的cgas费用作为执行奖励并获得之;
C.打包后的合约回执交易模型如下所示:
TxFinalize←(CashiryCashout,(D),(πbalance))
其中,入账交易模型Cashout如下所示:
Hash(prvMsg)对应合约调用时的插槽的ID值,对应其先前的合约调用交易插槽,说明本条交易插槽的应答对象;
Hash(prvMsg)为输出参数,可以通过不同的隐私模型进行实例化;
cgasUsed为合约执行过程中消耗的cgas数量;
πexecute为合约执行完成后对执行结果的零知识证明,证明该结果的真实性;
cgasProfit交易为cgas最终受益者构造的cgas收益的转账交易。
实施例2:众筹与私募
某用户A计划发起一项众筹项目(筹款人,筹款金额公开)及另一项私募项目(筹款人,筹款金额保密),设该用户拥有私钥sk及对应的公钥(g,h)和地址addr,现有以下用户需要参与到这两个项目中:
用户D需要对众筹项目进行汇款;
用户E需要对私募项目进行汇款,且汇款过程中需要掩盖自己的地址及汇款金额;
用户F需要对私募项目进行汇款,不仅汇款过程中需要掩盖自己的地址及汇款金额,还需要掩盖该汇款行为。
具体实施过程如下:
1.用户A编写众筹项目合约Contract_1并指定其执行模式为公有模式(Public);用户A编写私募项目合约Contract_2并指定其执行模式为私密模式(Private);合约伪代码如下所示:
2.用户A通过部署合约交易模型部署Contract_1与Contract_2;
Contract_1的部署交易将采用明文模式,即:
(Cashin=({addr,v,σA}),Cashout=({addrC,0},{gas}),initCode1)
Contract_2的部署交易将采用匿名模式,即:
3.用户D通过使用Public模式调用Contract_1的send_t oken函数响应众筹;用户E通过Public模式调用Contract_2的send_t oken函数响应私募;用户F通过Private模式调用Contract_2的send_t oken函数响应私募:
用户D的调用交易中,出账插槽与入账插槽均为明文模式,即:
(Cashin,Cashout=(addrC,v,s end_t oken,Hash(msg1)))
用户E的调用交易中,出账插槽为匿名模式,入账插槽为秘密模式,即:
用户F的调用交易中,出账插槽与入账插槽均为匿名模式,即:
4.由于用户D和用户E的调用的合约执行模式为Public调用请求,不会进入到合约的Panding状态中,所以用户A无需发布对该交易的交易回执;用户F的交易调用由于掩盖掉了调用的合约地址及调用函数内容,用户A发布Contract_2针对用户F调用的合约回执交易:
(Cashin,Cashout,πbalance)
5.当用户A需要从Contract_1与Contract_2中提取金额时,用户A需要调用两合约中的extract_token,其中包括使用Public执行模式调用Contract_1的extract_token,使用Private执行模式调用Contract_2的extract_token:
用户A采用Plaintext模式出账交易插槽的交易调用Contract_1的extract_token:
(Cashin,Cashout=(addrA,0,extract_token,vex)
用户A采用Anonymous模式出账交易插槽的交易调用Contract_2的extract_token:
6.用户A发布Contract_2提款操作的合约回执交易:
(Cashin,Cashout,πbalance)
实施例3:隐私保护的链上抽奖游戏
现有某链上抽奖游戏,游戏规则为:所有链上用户可以通过投注的方式参与游戏,一定时间后,系统将在所有参与投注的用户中随机选择一位中奖用户(用户的中奖概率等于该用户投注占总数的份额),该用户将获得这段时间内所有用户投注的金额。
隐私要求:投注的用户可以自由选择Plaintext/Secret/Anonymous/Obscure模式参与投注;投注者不能为该合约委员会中的成员。假设:
用户A通过Plaintext的出账/入账模式参与投注(不进行隐私保护);
用户B通过Secret的出账/入账模式参与投注(对投注金额进行隐私保护);
用户D通过Anonymous的出账/入账模式参与投注(对投注金额、交易者、调用行为进行隐私保护);
用户E通过Obscure的出账/入账模式参与投注(对投注金额、交易者、调用行为、交易路径进行隐私保护);
具体实施过程如下:
1.游戏的发起用户构造以下智能合约:
2.发起者部署该合约(部署合约交易略去);
3.用户A通过Plaintext的出账/入账交易插槽进行下注,下注金额为vA,由于明文交易可以公开验证地址,所以执行模式将为Public;(调用交易,回执交易略去)
4.用户B通过Secret的出账/入账交易插槽进行下注,下注金额为vB(不可见),由于秘密交易可以公开验证地址,所以执行模式将为Public;(调用交易,回执交易略去)
5.用户D通过Anonymous的出账/入账交易进行下注,下注金额为vD(不可见),由于匿名交易不能公开验证地址,所以执行模式将为Decentralize;(调用交易,回执交易略去)
6.用户E通过Obscure的出账/入账交易进行下注,下注金额为vE(混淆),由于混淆交易不能公开验证地址,所以执行模式将为Decentralize;(调用交易,回执交易略去)
7.当某个用户调用bets函数,到达了合约中预先规定的抽奖时间时,合约将进行draw函数的调用(即抽奖函数),通过以当前区块内容为种子,按照用户下注比例选择出中奖用户,并输出转给中奖用户合约中所有余额的回执交易。
值得一提的是,用户A所使用的明文调用模式会暴露其下注金额,所以在真实情况下,基本不会出现该类型的调用方式,除非A下注金额的暴露对其获奖并无显著影响。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

Claims (5)

1.一种自适应、可组合链上隐私保护交易方法,其特征在于,所述自适应、可组合链上隐私保护交易方法包括:
通过提出四种不同的隐私保护模式:明文模式Plaintext、秘密模式Secret、匿名模式Anonymous、混淆模式Obscure,并将不同的隐私模式通过承诺技术和零知识证明技术实例化于区块链的交易模型、账户模型和合约模型中来满足使用者不同情况下的个性化隐私保护需求;
实例化的过程中,隐私保护模式及其对应的实例化模块具有自适应、可组合的特性,确保使用者可以根据自己特有的隐私保护需求,选择适当的隐私模式对不同模块进行逐个实例化,并通过组合具有不同隐私状态的模块来实现使用者的个性化隐私保护需求,实现自适应、多功能、可定制的隐私保护区块链标准交易模型;
所述隐私保护区块链标准交易模型的架构包括:隐私保护模式、系统参量及账户模型设置、自适应交易模型、挖矿模型及智能合约模型六个方面;
系统参量及账户模型设置,包括:
通过设置恰当的系统参量支撑隐私保护模式下用户模型、交易模型、挖矿模型及合约模型的匿名化建立,系统参量设置过程如下所示:
(1)选定大质数p以及基于该大质数的循环群在/>中选定/>并选定/>的指数域生成基础参量/>
(2)设定AH-ElGamal公私钥生成函数KenGen(1λ);
(3)设定哈希函数Hash;
(4)设置AH-ElGamal加密算法Epk及解密算法Dpk
(5)设置与/>间的映射算法mapping和逆映射算法mapping-1
(6)设置零知识证明算法π以及签名算法σ;
(7)设置临时公钥算法T(pk,γ)=(G,H);
(8)设置世界状态State,其中包括用户状态UserState用户存储用户相关信息,匿名状态AnonymousState用于存储匿名状态信息:
State←(UserState,AnonymousState);
世界状态改进自以太坊世界状态模型,并在以太坊世界的Account世界状态树模型的基础上提出AnonymousState以存储匿名模式下的用户状态,所述用户状态模型如下所示:
用户地址addr:160位用户地址,为用户公钥的哈希值的前160位,即addr←Hash(h)[0:160],用户链上实名身份标识;
用户交易度nonce:防止用户进行双花的辅助变量;
用户余额balance:即账户剩余资产,可与不同隐私模式结合,分为明文资产vaddr,即资产所属公开,资产数额公开;秘密资产Caddr,i=(h,Epk(v,r))=(h,gvhr,gr),即资产主体公开,资产数额隐藏;匿名资产CAaddr,i=(T(pk,γ),ET(pk,γ)(v,r))=(G,H,GvHr,Gr),即资产主体隐藏,资产数额隐藏;用户通过混淆模式获得的资产将被混淆为秘密模式或匿名模式,并与该模式的资产共同存储;
用户存储根storageRoot:仅合约用户拥有存储根,其中包括合约执行过程中产生的变量,与剩余资产相同,同样拥有明文存储格式,秘密存储格式Saddr,i=(h,Epk(m,r))=(h,gmhr,gr)及匿名存储格式SAaddr,i=(T(pk,γ),ET(pk,γ)(m,r))=(G,H,Gm,Hr,Gr),以适配各式各样隐私保护需求的合约;
用户代码codeHash:智能合约地址的合约执行代码;
待调用消息Panding:智能合约的调用请求队列,待合约委员会打包;
所述自适应交易模型,包括:
提出隐私保护模式下的标准交易模型,在所述模型中为各隐私模式下的入账或出账交易提供可适配交易插槽,用户通过插槽式的交易机制构造其个性化隐私保护需求下的交易,所述标准交易模型如下所示:
Tx=(Cashin,Cashout,(D),(πbalance))
出账交易插槽Cashin:所述插槽中包含用户的出账交易,即付款项;出账交易可通过明文模式,即付款方公开,付款金额公开;秘密模式,即付款方公开,付款金额隐藏;匿名模式,即付款方隐藏,付款金额隐藏;混淆模式,即付款方,付款金额,交易路径均隐藏对单笔出账交易进行实例化,完整交易插槽模式如下所示:
其中,πownership为交易的所有权证明;
入账交易插槽Cashout:所述插槽中包含用户的入账交易,即收款项;与出账交易插槽相同,入账交易可通过明文模式,即收款方公开,收款金额公开;秘密模式,即收款方公开,收款金额隐藏;匿名模式,即收款方隐藏,收款金额隐藏;混淆模式,即收款方,收款金额,交易路径均隐藏对单笔入账交易进行实例化,与出账交易不同的是,出账交易需要指定一笔gas交易以适配传统Account模型下区块链模式的挖矿奖励,完整交易插槽模式如下所示:
公用解密值D=gr:仅当入账交易插槽中存在秘密隐私模式下时出现,用于辅助秘密隐私模式的用户解密;
会计平衡证明πbalance:零知识证明参数,证明入账插槽与出账插槽中的总金额相等;若交易全部模式为明文隐私模式,则不需要该参数;
所述智能合约模型,包括:通过提出合约委员会机制以及基于cgas的合约执行激励机制,结合多模式的自适应、可组合隐私保护机制,实现对区块链智能合约的个性化隐私保护,并通过智能合约的特有属性和隐私保护需求,提出三种不同的智能合约执行模式:公开模式Public、私密模式Private、去中心化模式Decentralize以实现区块链智能合约自适应隐私保护模型;
在隐私保护标准交易模型的基础上,提出了合约部署交易模型:
(CashinCashout,pkC,initCode,(D),(πbalance))
其中,出账交易插槽Cashin中的交易满足标准交易模型中出账插槽的基本形式,若该合约支持中心化执行模式Private,则Cashin中所有的实名入账地址将被看作合约的部署者及管理者,共同掌握合约私钥,共同组成合约委员会进行合约管理;如果Cashin中存在匿名模式交易插槽,则该交易需提供自己与其余插槽均不为同一账户的零知识证明;
入账交易插槽Cashout中包括合约部署时部署者转给合约的账目,该交易插槽遵循标准交易模型中入账插槽的基本形式;
合约公钥pkC:公布该合约的公钥;
合约二进制初始化码initCode:合约代码编译后的初始化二进制码;
其余参数值遵循标准交易模型;
在隐私保护标准交易模型的基础上,提出了合约调用交易模型:
(Cashin,Cashout,(D),(πbalance))
出账交易插槽Cashin中的交易地址将作为合约的调用者,不论是明文模式地址addr,秘密模式地址h,还是匿名模式地址(G,H),调用者的隐私模式通过实例化其Cashin交易插槽确定,其中首个交易插槽的交易地址将作为主要调用者并接收未使用的cgas退款;
入账交易插槽Cashout中的信息并不要求全部是合约调用信息,即合约调用的信息与普通的交易转账记录在同一笔交易内,但该插槽中至少有一笔收益消息为合约的调用消息:
其中,base为标准交易模型下的对应数据,即转账地址,转账金额;funcCode为调用函数插槽,可根据不同的隐私模式进行实例化,并与交易组合,满足用户个性化隐私需求;params Schemein为输入参数插槽,同样可根据不同的隐私模式对不同参数进行实例化,并通过该插槽组合不同的隐私模式;
参数的实例化方式如下所示:
其中,cgas包括cgasPrice及cgasLimit,为对合约委员会中成员的合约执行激励机制;Hash(msg)用来标记本条插槽,如果本条交易的执行模式为私密模式或去中心化模式,并将该条交易作为交易调用的ID值存入用户状态中的待执行合约调用区域,等待合约委员会的调用;
针对智能合约的可执行性与隐私性存在冲突的挑战,提出合约委员会机制及cgas合约执行激励模型,将智能合约的执行模式分为以下三种:
公开模式Public:合约将公开执行,因为公开模式下的合约需满足隐私内容可计算的特性,所以该模式下的合约隐私保护程度低,执行成本低;
私密模式Private:具有隐私保护能力的智能合约,其合约委员会成员为合约部署成员且固定不变,适合一些链上的中心化组织,执行成本中等;
去中心化模式Decentralize:具有一定的隐私保护能力,但合约的执行为分布式执行,所以该模式的合约委员会成员将随时间按照一定规则进行更换,其中心化程度取决于合约部署时所指定的委员会成员数量;
所述合约委员会机制,包括:
A.私密模式智能合约的合约委员会成员通过部署合约交易模型中出账插槽的地址得出;去中心化模式下的智能合约的合约委员会成员则会通过以合约调用结果哈希为种子的随机账户选择器选择得出,新成员加入时,将会淘汰存在于委员会中时间最长的成员;
B.合约委员会中运行一套内部的共识机制,每隔一定周期,委员会成员将逐个执行合约账户模型下存储与待调用消息区内的合约调用请求,并将执行结果打包为一条合约回执交易,执行者/打包者将合约调用中所有使用掉的cgas费用作为执行奖励并获得之;
C.打包后的合约回执交易模型如下所示:
TxFinalize←(Cashin,Cashout,(D),(πbalance))
其中,入账交易模型Cashout如下所示:
Hash(prvMsg)对应合约调用时的插槽的ID值,对应其先前的合约调用交易插槽,说明本条交易插槽的应答对象;
Hash(prvMsg)为输出参数,通过不同的隐私模型进行实例化;
cgasUsed为合约执行过程中消耗的cgas数量;
πexecute为合约执行完成后对执行结果的零知识证明,证明该结果的真实性;
cgasProfit交易为cgas最终受益者构造的cgas收益的转账交易。
2.如权利要求1所述自适应、可组合链上隐私保护交易方法,其特征在于,所述自适应、可组合链上隐私保护交易方法,还包括:基于隐私保护的区块链标准交易模型,针对智能合约上的隐私保护问题,通过将四种不同的隐私保护模式在智能合约上进行实例化,提出合约的三种执行模式:公开模式Public,私密模式Private,去中心化模式Decentralize,将合约执行模式与隐私保护模式分别组合,得出可适配不同隐私保护需求的自适应、可组合的智能合约隐私保护模型,实现在合约上保护用户数据隐私的前提下确保智能合约的有效执行,基于合约的三种执行模式,提出合约委员会机制,在智能合约下建立多方参与的委员会制度,合约私钥由委员会成员共同掌握;委员会内部使用一套特有的共识机制,委员会成员通过该共识机制,周期性确定合约调用请求的执行结果,并构造相应零知识证明;在以太坊gas模型的基础上,提出cgas激励机制,通过调用者支付cgas的方式,标明cgasPrice与cgasLimit,对合约调用的执行者进行激励,同时也可促进委员会内部共识机制的有效运转,实现合约安全性与合约隐私性可适配的智能合约隐私保护机制。
3.如权利要求1所述自适应、可组合链上隐私保护交易方法,其特征在于,所述隐私保护模式,包括:
模式一:明文模式Plaintext:即消息全明文,消息主体可见,消息内容可见,因为无需设置隐私参量,所以构造成本低,验证速度快;
模式二:秘密模式Secret:消息密文,消息主体仍然可见,消息内容作为隐私内容进行隐藏,构造成本中等,具备一定的隐私保护能力;
模式三:匿名模式Anonymous:消息匿名,消息主体与消息内容全部掩盖,在保证可验证的前提下,无法获悉消息中的任何内容,构造成本较高,具备较强的隐私保护能力;
模式四:混淆模式Obscure:消息混淆,不仅会掩盖消息主体和消息内容,还会将消息加以混淆,掩盖消息路径及消息本身的模式,混淆模式的消息会以秘密模式或匿名模式直观呈现,但观察者无法获知其隐私模式,构造成本高,具备极强的隐私保护能力。
4.如权利要求1所述自适应、可组合链上隐私保护交易方法,其特征在于,所述隐私保护模式下挖矿模型的设计,包括:
假设当用户成功挖出某个区块时,将收到v*个代币及所有计算产生的gas费用的记账奖励,则矿工的一次完整挖矿过程如下:
(1)矿工完成一个区块的打包后,计算所有参与gas计算的金额gasFeeTotal=∑igasPricei·gasLimiti,并构造出账交易插槽
(2)矿工计算其中每笔交易中剩余gas的退还金额插槽退还金额固定退还到打包后每笔交易的第一个出账插槽Cashin,1对应的用户中,所选的隐私保护模式取决于Cashin,1所选择的隐私保护模式,即:
其中,vb,i=gasPricei(gasLimiti-gasUsedi);
(3)矿工在中加入一笔或多笔以此次挖矿获益人的交易/>具体构造哪种隐私模式的交易取决于矿工对隐私的需求,即:
(4)矿工通过以上入账及出账插槽构造挖矿交易并打包进区块;
(5)矿工公布区块,挖矿完成。
5.一种应用如权利要求1~4任意一项所述的自适应、可组合链上隐私保护交易方法的自适应、可组合链上隐私保护交易系统,其特征在于,所述自适应、可组合链上隐私保护交易系统包括:
隐私保护模式设置模块,用于提出四种不同的隐私保护模式:明文模式Plaintext、秘密模式Secret、匿名模式Anonymous、混淆模式Obscure;
系统参量设置模块,用于通过设置恰当的系统参量支撑隐私保护模式下用户模型、交易模型、挖矿模型及合约模型的匿名化建立;
账户模型设置模块,用在以太坊世界的Account世界状态树模型的基础上提出AnonymousState以存储匿名模式下的用户状态;
自适应交易模型构建模块,用于提出在隐私保护模式下的标准交易模型,在所述模型中为各隐私模式下的入账或出账交易提供可适配交易插槽,用户通过插槽式的交易机制构造其个性化隐私保护需求下的交易;
挖矿模型构建模块,用于在隐私保护模式下进行挖矿模型的设计;
智能合约模型构建模块,用于基于隐私保护模式下的标准交易模型和不同的隐私保护模式,提出隐私保护模式下的智能合约模型。
CN202110242189.5A 2021-03-04 2021-03-04 一种自适应、可组合链上隐私保护交易系统及方法 Active CN113128988B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110242189.5A CN113128988B (zh) 2021-03-04 2021-03-04 一种自适应、可组合链上隐私保护交易系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110242189.5A CN113128988B (zh) 2021-03-04 2021-03-04 一种自适应、可组合链上隐私保护交易系统及方法

Publications (2)

Publication Number Publication Date
CN113128988A CN113128988A (zh) 2021-07-16
CN113128988B true CN113128988B (zh) 2023-11-17

Family

ID=76772523

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110242189.5A Active CN113128988B (zh) 2021-03-04 2021-03-04 一种自适应、可组合链上隐私保护交易系统及方法

Country Status (1)

Country Link
CN (1) CN113128988B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113761067B (zh) * 2021-09-10 2023-06-16 北京冲量在线科技有限公司 基于区块链和可信执行环境的去中心化联合建模系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019070357A1 (en) * 2017-10-06 2019-04-11 Siemens Aktiengesellschaft METHOD AND SYSTEM FOR PLATFORM OF SECURE AND PRIVATE TERM OPERATIONS IN TRANSACTIVE MICROARRAYS
CN109919614A (zh) * 2019-02-28 2019-06-21 北京科技大学 一种区块链中使用零知识证明保护智能合约隐私的方法
CN110033267A (zh) * 2019-02-19 2019-07-19 阿里巴巴集团控股有限公司 区块链中实现隐私保护的方法、节点、系统和存储介质
CN111709745A (zh) * 2020-06-09 2020-09-25 浙江大学 一种基于sgx的区块链交易安全保护系统及其方法
CN111767555A (zh) * 2019-01-31 2020-10-13 阿里巴巴集团控股有限公司 区块链中实现隐私保护的方法及节点、存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3718069B1 (en) * 2017-11-30 2024-04-17 Visa International Service Association Blockchain system for confidential and anonymous smart contracts

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019070357A1 (en) * 2017-10-06 2019-04-11 Siemens Aktiengesellschaft METHOD AND SYSTEM FOR PLATFORM OF SECURE AND PRIVATE TERM OPERATIONS IN TRANSACTIVE MICROARRAYS
CN111767555A (zh) * 2019-01-31 2020-10-13 阿里巴巴集团控股有限公司 区块链中实现隐私保护的方法及节点、存储介质
CN110033267A (zh) * 2019-02-19 2019-07-19 阿里巴巴集团控股有限公司 区块链中实现隐私保护的方法、节点、系统和存储介质
CN109919614A (zh) * 2019-02-28 2019-06-21 北京科技大学 一种区块链中使用零知识证明保护智能合约隐私的方法
CN111709745A (zh) * 2020-06-09 2020-09-25 浙江大学 一种基于sgx的区块链交易安全保护系统及其方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Federated Data Cleaning Collaborative and Privacy-Preserving Data Cleaning for Edge Intelligence;Ma Lichuan;IEEE;6757-6770 *
基于区块链技术的电子档案信息安全保护;杨颖;;办公室业务(16);71-72 *
基于零知识证明的区块链隐私保护算法;李龚亮;贺东博;郭兵;路松峰;;华中科技大学学报(自然科学版)(07);117-121 *

Also Published As

Publication number Publication date
CN113128988A (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
US11861606B2 (en) Blockchain system for confidential and anonymous smart contracts
Ghosh et al. Security of Cryptocurrencies in blockchain technology: State-of-art, challenges and future prospects
CN109242675B (zh) 基于区块链的资产发布方法及装置、电子设备
Bonneau et al. Sok: Research perspectives and challenges for bitcoin and cryptocurrencies
CN108009441A (zh) 资源转移和资金转移的方法和装置
WO2020199744A1 (zh) 基于区块链的作品版权分配方法和装置
CN110175913A (zh) 基于区块链的数据处理系统、方法、计算设备及存储介质
KR20180112061A (ko) 블록체인 집행의 스마트 계약을 위한 레지스트리 및 자동화 관리 방법
CN106875254A (zh) 一种基于区块链技术的Android恶意应用程序控制方法
CN112202563A (zh) 基于区块链的安全交易系统及方法
TW202009818A (zh) 基於區塊鏈的匯款方法及裝置
US11544787B2 (en) Apparatus and method for providing protocol for digital asset trading
CN111639125A (zh) 基于区块链的资源流通方法及装置
CN113128988B (zh) 一种自适应、可组合链上隐私保护交易系统及方法
Liu et al. Decentralization is vulnerable under the gap game
Clark et al. Research perspectives and challenges for bitcoin and cryptocurrencies
CN112513907A (zh) 提供数字资产交换协议的装置和方法
Suliyanti et al. Evaluation of hash rate-based double-spending based on proof-of-work blockchain
CN110363513A (zh) 基于区块链的联合支付方法和装置
Østbye Who is Liable for Non-Compliant Cryptocurrency Transactions: Should Transaction Validators be Held Liable?
KR102169840B1 (ko) 확률형 아이템 판매의 신뢰를 보증하는 방법
Masteika et al. Bitcoin double-spending risk and countermeasures at physical retail locations
KR20190135360A (ko) 인비저블 월렛을 이용한 블록체인 무결성 확보방법
KR102671062B1 (ko) 보안 거래를 위한 방법 및 시스템
Shi et al. Formal verification of fair exchange based on bitcoin smart contracts

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 710071 Xi'an Electronic and Science University, 2 Taibai South Road, Shaanxi, Xi'an

Applicant after: XIDIAN University

Applicant after: Xi'an Lianrong Technology Co.,Ltd.

Address before: 710071 Xi'an Electronic and Science University, 2 Taibai South Road, Shaanxi, Xi'an

Applicant before: XIDIAN University

Applicant before: XI'AN XIDIAN LIANRONG TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant