CN112529550A - 一种基于区块链的匿名转账方法及装置、电子设备 - Google Patents
一种基于区块链的匿名转账方法及装置、电子设备 Download PDFInfo
- Publication number
- CN112529550A CN112529550A CN202011445020.1A CN202011445020A CN112529550A CN 112529550 A CN112529550 A CN 112529550A CN 202011445020 A CN202011445020 A CN 202011445020A CN 112529550 A CN112529550 A CN 112529550A
- Authority
- CN
- China
- Prior art keywords
- transaction
- initiator
- hash function
- characters
- 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
- 238000012546 transfer Methods 0.000 title claims abstract description 166
- 238000000034 method Methods 0.000 title claims abstract description 59
- 239000003999 initiator Substances 0.000 claims abstract description 86
- 238000004364 calculation method Methods 0.000 claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 claims description 111
- 238000004590 computer program Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- 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/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
-
- 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/3825—Use of electronic 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/40—Authorisation, 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/401—Transaction verification
-
- 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
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请公开了一种基于区块链的匿名转账方法及装置、电子设备,所述方法包括:基于哈希函数对发起方匿名地址私钥进行处理,生成针对交易的转账信息,所述哈希函数的因子小于第一比特;基于所述哈希函数算法确定与所述转账信息对应的交易信息;基于所述转账信息和所述交易信息构建发起方转账数据;构建接收方转账数据;基于所述发起方转账数据和所述接收方转账数据生成所述交易的证据,所述证用于所述区块链中的节点验证所述交易。通过本申请提供的基于区块链的匿名转账方法,缩短了匿名转账的证据(proof)的生成时间,减少了生成proof的计算量,增加匿名转账的应用场景,扩大匿名转账的使用范围。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于区块链的匿名转账方法及 装置、电子设备。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正 在逐步向金融科技(Fintech)转变;然而,由于金融行业的安全性、实时性要 求,金融科技也对技术提出了更高的要求。在金融科技领域下,对于基于区块 链的匿名转账的实时性和效率也提出了更高的要求。但是,现有技术中,用于 匿名转账的证据(proof)生成时间长、计算量大,限制了匿名转账的应用场景。
申请内容
本申请实施例提供了一种基于区块链的匿名转账方法及装置、计算机程序 产品、存储介质、电子设备,能够缩短匿名转账的proof的生成时间,减少生 成proof的计算量,增加匿名转账的应用场景,扩大匿名转账的使用范围。
本申请实施例提供的基于区块链的匿名转账方法,包括:
基于哈希函数生成对发起方匿名地址私钥进行处理,针对交易的转账信息, 所述哈希函数的因子小于第一比特;
基于所述哈希函数确定与所述转账信息对应的交易信息;
基于所述转账信息和所述交易信息构建发起方转账数据;
构建接收方转账数据;
基于所述发起方转账数据和所述接收方转账数据生成所述交易的证据,所 述证据用于所述区块链中的节点验证所述交易。
本申请一可选实施方式中,所述基于哈希函数对发起方匿名地址私钥进行 处理,生成针对交易的转账信息,包括:
截取发起方匿名地址私钥的第一部分字符;
在所述第一部分字符前面拼接第一计算域标识符,在所述第一字符后面拼 接数字0得到第一字符串;
将第一字符串作为所述哈希函数的因子,计算得到的哈希值为所述转账信 息中的发起方匿名地址公钥;所述发起方匿名地址公钥与所述发起方匿名地址 私钥对应。
本申请一可选实施方式中,所述基于所述哈希函数确定与所述发起方的转 账信息对应的交易信息包括:
截取发起方匿名地址私钥的第二部分字符;
在所述第二部分字符前面拼接第二计算域标识符,在所述第二部分字符后 面拼接随机数rho得到第二字符串;
将第二字符串作为所述哈希函数的因子计算得到的哈希值为所述交易信息 中的唯一性标识。
本申请一可选实施方式中,所述基于所述哈希函数确定与所述发起方的转 账信息对应的交易信息包括:
截取发起方匿名地址私钥的第三部分字符,并在所述第三部分字符前拼接 随机数,得到第一子字符串;
截取用于计算交易的唯一性标识的随机数的第四部分字符,并在所述第四 部分字符后拼接所述交易的代币数值,得到第二子字符串;
将所述第一子字符串和所述第二子字符串拼接,得到第三字符串;
将所述第三字符串作为所述哈希函数的因子计算得到的哈希值为所述交易 信息中的承诺。
本申请一可选实施方式中,所述基于所述哈希函数确定与所述发起方的转 账信息对应的交易信息包括:
基于所述哈希函数确定区块链上的所有承诺对应的Merkle树的根;
计算所述交易对应的承诺到所述Merkle树的根的路径;
基于所述路径确定所述交易信息中的承诺的有效性。
本申请一可选实施方式中,所述构建接收方转账数据包括:
生成一次性签名秘钥的秘钥对;
基于所述秘钥对中的公钥生成哈希值hsig;
基于所述哈希函数确定所述哈希值hsig对应的用于计算交易唯一性标识的 随机数rho_i。
本申请一可选实施方式中,rho_i=poseidon(0||i||10||[phi]_250||hsig)。
本申请一可选实施方式中,所述第一比特为256比特。
本申请实施例提供一种基于区块链的匿名转账装置,所述装置包括:
第一生成单元,用于基于哈希函数对发起方匿名地址私钥进行处理,生成 针对交易的转账信息;
确定单元,用于基于所述哈希函数确定与所述转账信息对应的交易信息;
构建单元,用于基于所述转账信息和所述交易信息构建发起方转账数据; 构建接收方转账数据;
第二生成单元,基于所述发起方转账数据和所述接收方转账数据生成所述 交易的证据,所述证据用于所述区块链中的节点验证所述交易。
本申请一可选实施方式中,所述第一生成单元,用于截取发起方匿名地址 私钥的第一部分字符;
在第一部分字符前面拼接第一计算域标识符,在第一部分字符后面拼接数 字0得到第一字符串;
将第一字符串作为所述哈希函数的因子,计算得到的哈希值为所述转账信 息中的发起方匿名地址公钥;所述发起方匿名地址公钥与所述发起方匿名地址 私钥对应。
本申请一可选实施方式中,所述确定单元,用于截取发起方匿名地址私钥 的第二部分字符;
在所述第二部分字符前面拼接第二计算域标识符,在所述第二部分字符后 面拼接随机数rho得到第二字符串;
将第二字符串作为哈希函数的因子计算得到的哈希值为所述交易信息中的 唯一性标识。
本申请一可选实施方式中,所述确定单元,用于截取发起方匿名地址私钥 的第三部分字符,并在所述发起方匿名地址私钥的第三部分字符前拼接随机数, 得到第一子字符串;
截取用于计算交易的唯一性标识的随机数的第四部分字符,并在所述第四 部分字符后拼接所述交易的代币数值,得到第二子字符串;
将所述第一子字符串和所述第二子字符串拼接,得到第三字符串;
将所述第三字符串作为哈希函数的因子计算得到的哈希值为所述交易信息 中的承诺。
本申请一可选实施方式中,所述确定单元,用于基于哈希函数确定区块链 上的所有承诺对应的Merkle树的根;
计算所述交易对应的承诺到所述Merkle树的根的路径;
基于所述路径确定所述交易信息中的承诺的有效性。
本申请一可选实施方式中,所述构建单元,用于生成一次性签名秘钥的秘 钥对;基于所述秘钥对中的公钥生成哈希值hsig;基于哈希函数确定所述哈希 值hsig对应的用于计算交易唯一性标识的随机数rho_i。
本申请一可选实施方式中,rho_i=poseidon(0||i||10||[phi]_250||hsig)。
本申请一可选实施方式中,所述第一比特为256比特。
本申请实施例提供的计算机程序产品包括计算机可执行指令,该计算机可 执行指令被执行后,能够实现上述的基于区块链的匿名转账方法。
本申请实施例提供的存储介质上存储有可执行指令,该可执行指令被处理 器执行时实现上述的基于区块链的匿名转账方法。
本申请实施例提供的电子设备,所述电子设备包括存储器和处理器,所述 存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可 执行指令时可实现上述的基于区块链的匿名转账方法。
本申请实施例提供的基于区块链的匿名转账方法中,基于哈希函数对发起 方匿名地址私钥进行处理,生成针对交易的转账信息,所述哈希函数的因子小 于第一比特;基于所述哈希函数确定与所述转账信息对应的交易信息;基于所 述转账信息和所述交易信息构建发起方转账数据;构建接收方转账数据;基于 所述发起方转账数据和所述接收方转账数据生成所述交易的证据,所述证据用 于所述区块链中的节点验证所述交易。如此,由于生成针对交易的转账信息和 交易信息的哈希函数的因子小于第一比特,因此能够缩短生成转账交易所需的 证据的时间,减少生成proof的计算量,进而提高转账交易的效率,增加匿名 转账的应用场景,扩大匿名转账的使用范围。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例, 并配合附附图,作详细说明如下。
附图说明
图1为本申请实施例提供的基于区块链的匿名转账方法的流程示意图;
图2为本申请实施例构建接收方转账数据的可选处理流程示意图;
图3为本申请实施例提供的基于区块链的匿名转账装置的结构组成示意图;
图4为本申请实施例的电子设备的结构组成示意图。
具体实施方式
在对本申请实施例进行详细描述之前,对本申请实施例涉及的相关技术进 行简要说明。
近几年,密码学被用于匿名转账及相关隐私保护,比较有名的是使用环签 名的门罗币和使用Minble Wimble协议的Grin链。同时期,Zerocash论文提出 使用非交互式简明零知识证明 (zero-knowledge Succinct Non-interactive Argument of Knowledge,Zksnark)实 现基于UTXO模型的匿名转账。
ZCASH团队在zerocash的基础改进并实现了基于Groth16零知识证明协议 的著名ZCASH链,目前为止,ZCASH链仍然是隐私保护最好的公链。随着以 太坊拜占庭分叉升级,EVM和智能合约支持零知识证明计算所需的pairing运 算,ZCASH团队和以太坊合作,实现基于以太坊的零知识证明协议babyZoE, 为以太坊的ERC20 token提供匿名转账服务。后来,绝大部分项目都是使用了 与babyZoE类似的架构实现ERC20 token的匿名交易和其他隐私保护功能。目 前,以太坊上比较主流的两个匿名转账项目是ZETHER和ZETH。
ZETHER是基于account账户模型的匿名交易方案,即智能合约以加密的方 式存储着每个用户的余额,使用Σ-Bullets(结合Σ-protocol和bulletproof)证明 框架。
ZETH是2019年ZCASH团队提出的项目,是基于UTXO模型的匿名交易 方案,作为babyZoE的升级版,功能更加完善且易用。circuit的逻辑与ZCASH 相差不多,是ZCASH在以太坊的实现版。UTXO模型的匿名交易方案使用常 见的groth16 zk-snark框架,用libsnark库开发,c++语言写circuit。
基于UTXO模型的匿名交易方案生成proof字段的时间长,长达10S以上; 由于匿名转账的场景对交易的实时性要求高,而生成proof字段的时间过长限 制了零知识证明在匿名转账场景的使用。
本申请人在实施基于UTXO模型的匿名交易方案的过程中发现,影响proof 字段生成时间的主要因素是零知识证明电路中constraint的个数。现有的ZETH 方案中证明电路(prover circuit)中大量使用了blake2s哈希函数作为伪随机数 函数(Pseudo RandomFunction,PRF),用在承诺(commitment)的生成、nullifier 的生成、pk和sk的对应校验,签名和sk对应的校验等;由于blake2s哈希函数 的效率很低,与sha256相当,所以极大地影响整体约束(constraints)的量级 和proof字段的生成时间。如一次转账交易需要计算15次PRF,则需要计算15 次哈希(Blake2s)。
另外,匿名交易中的commitment构成32层merkle树,一次交易在两输入 两输出的情况下,零知识证明电路计算commitment到merkel树root路径总共 需要计算32次哈希值。经测算,一个Blake2S哈希的constraints个数为21472, 一个mimc哈希的constraints个数为9856,数量庞大的constraints个数严重影 响生成proof字段的时长。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某 一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
下面对本申请实施例所涉及的一种基于区块链的匿名转账方法进行详细介 绍,本申请实施例所提供的基于区块链的匿名转账方法的执行主体可以为转账 发起方对应的具有数据处理能力的装置或设备,本申请实施例中不作限定。
参见图1所示,为本申请实施例所提供的一种基于区块链的匿名转账方法 的流程示意图,包括以下几个步骤:
S101、基于哈希函数对发起方匿名地址私钥进行处理,生成针对交易的转 账信息,所述哈希函数的因子小于第一比特。
在一些实施例中,所述第一比特位256比特,所述哈希函数可以是Poseidon 哈希函数。哈希函数是将数字消息映射到长度固定的字符串的算法,该字符串 又称消息摘要、或哈希值、或指纹。若输入的数字消息不同,则利用哈希函数 映射到相同字符串的机率极小,甚至可以忽略。已知利用哈希函数映射得到的 字符串,不能够计算对应的原始的数字消息。
在一些实施例中,Poseidon哈希函数的形式可以是:
contract Poseidon{
function poseidon(uint256[]memory input)public pure returns(uint256);
}
其中,Poseidon哈希函数的因子可以是254bit的整数倍,也可以李继伟 Poseidon哈希函数的输入参数的大小可以是254bit的整数倍。
在一些实施例中,若哈希函数是Poseidon哈希函数,则基于区块链的匿名 转账装置基于poseidon哈希函数对发起方匿名地址私钥进行处理,生成针对交 易的转账信息。
在一些实施例中,所述转账信息可以包括:发起方匿名地址公钥,用a_pk 表示。基于poseidon哈希函数生成a_pk的过程可以是:截取发起方匿名地址公 钥对应的发起方匿名地址私钥的第一部分字符,并在所述第一部分字符前面拼 接第一计算域标识符,在所述第一部分字符后面拼接数字0得到第一字符串, 将第一字符串作为poseidon哈希函数的因子,计算得到的poseidon哈希值即为 a_pk。其中,在所截取的数字后面拼接数字0是为了保证第一字符串的比特位 为254位。
在一些实施例中,发起方匿名地址公钥即为公开参数,是零知识证明中, 示证者向验证者提供的证明信息中的可公开部分。
在一些实施例中,发起方匿名地址私公钥即为秘密参数,是零知识证明中, 示证者所持有的秘密信息。示证者希望让验证者知道其拥有秘密信息,但却不 向验证者暴露秘密信息。
在具体实施时,截取发起方的匿名地址公钥对应的发起方匿名地址私钥的 第一部分字符的长度可灵活设置,如250比特位,以保证poseidon哈希函数的 输入为254比特位;第一计算域标识符可以是设定长度的二进制数据,如0010, 以保证输入的因子在poseidon哈希函数的计算域内。以计算域标识是0010、第 一部分字符的长度为250比特位为例,该过程可以描述为: a_pk=poseidon(0010||[a_sk]_250||0),a_sk为发起方匿名地址私钥,a_pk为发 起方匿名地址公钥,0010||[a_sk]_250||0为第一字符串。
S102、基于所述哈希函数确定与所述转账信息对应的交易信息。
在一些实施例中,基于区块链的匿名转账装置基于poseidon哈希函数确定 与所述转账信息对应的交易信息。
在一些实施例中,所述交易信息可以包括下述至少一项:交易的唯一性标 识,用nf表示;交易的承诺;承诺的有效性,用mkpath表示。
在一些实施例中,所述交易信息还可以包括交易的发起方转账本票 (inputnote)和交易的接收方转账本票(outputnote);其中,inputnote可以包括 步骤S101中所述的a_pk,还可以包括value,value为交易的金额;因此,可以 表示为inputnote(a_pk,value)。Outputnote可以包括步骤S101中所述的a_pk, 以及value、rho和trap_r;其中,value为交易的金额,rho可以为基于区块链 的匿名转账装置生成的随机数,作为本次交易的唯一标识,若本次交易成功或 本次交易被消费,则本次交易对应的rho将被放置在nullifier表中。若再次消费 该交易,则会触发双花错误,启动交易双花防护机制。trap_r可以为基于区块 链的匿名转账装置生成的随机数。因此,可以表示为outputnote(a_pk,value, rho,trap_r)。
在具体实施时,基于poseidon哈希函数确定交易的唯一性标识(nullifier) 的过程可以是:截取发起方匿名地址公钥对应的发起方匿名地址私钥的第二部 分字符,并在所述第二部分字符前面拼接第二计算域标识符,在所述第二部分 字符后面拼接rho得到第二字符串,将第二字符串作为poseidon哈希函数的因 子,计算得到的poseidon哈希值即为nullifier,用nf表示。其中,第二计算域 标识符可以是设定长度的二进制数据,如1010,以保证输入的因子在poseidon 的计算域内;第二部分字符的长度可灵活设置,如250比特位,以保证poseidon 哈希函数的输入为254比特位。以计算域标识是1010、第二部分字符的长度为 250比特位为例,该过程可以描述为:nf=poseidon(1010||[a_sk]_250||rho),1010||[a_sk]_250||rho为第二字符串。
在具体实施时,基于poseidon哈希函数确定所述交易信息中的承诺的过程 即为确定inputnout对应的未花费密文的过程,该过程可以是:截取发起方匿名 地址私钥的第三部分字符,并在所述第三部分字符前拼接随机数,得到第一子 字符串;截取用于计算交易的唯一性标识的随机数的第四部分字符,并在所述 第四部分字符后拼接所述交易的代币数值,得到第二子字符串;将所述第一子 字符串和所述第二子字符串拼接,得到第三字符串;将所述第三字符串作为 poseidon哈希函数的因子计算得到的poseidon哈希值为所述交易信息中的承诺。 其中,第三部分字符与第四部分字符的长度可以相等,也可以不等;第三部分 字符和第四部分字符的长度均可灵活设置,如94比特位,以保证poseidon哈 希函数的输入为254比特位。
举例来说,计算交易的唯一性标识(nf)的随机数为rho;所述交易的代币 数值为v,随机数用trap_r表示,该随机数可以是32位的随机数,发起方匿名 地址私钥用a_pk表示,承诺用inner_k表示,则
inner_k=poseidon(trap_r||a_pk[94]||[rho]_94||v),trap_r||[a_pk]_94为第 一子字符串,[rho]_94||v为第二子字符串,trap_r||[a_pk]_94||[rho]_94||v为第 三字符串。
在具体实施时,基于poseidon哈希函数确定所述交易信息中的承诺的有效 性的过程可以是:基于poseidon哈希函数确定区块链上的所有承诺对应的 Merkle树的根;计算所述交易对应的承诺到所述Merkle树的根的路径;基于所 述路径确定所述交易信息中的承诺的有效性。其中,Merkle树为二叉树,叶子 与叶子的哈希生成根;Merkle树可用来判断某个承诺是否存在。即在区块链上 把所有的承诺作为Merkle树的叶子节点,计算得到Merkle树的树根。区块链 上只存储Merkle树的树根。若需要证明一笔承诺是否存在(即转账者需要花掉 这私密资产前,必须要判断系统中是否有这笔资产),需要提供该承诺到Merkle 树根的路径。若路径满足要求,叶子与叶子两两计算后能够得到相应的树根, 并且树根是在区块链上存在的,则可以判断此承诺是存在的。
举例来说,将区块链上的所有承诺作为Merkle树的叶子节点,基于poseidon 哈希函数确定Merkle树的根,计算所述交易对应的承诺到所述Merkle树的根 的路径(mkpath),进而判断承诺是否存在。若mkpath满足要求,则能够确定 该承诺是存在的,可以进行交易;若mkpath不满足要求,则能够确定该承诺是 不存在的,不可以进行交易。用mkpath表示承诺到Merkle树的根的路径,则 mkpath=Poseidon(left,right);其中,left和right分别表示两个Merkle树的根。
需要说明的是,本申请实施例中的a_pk、随机数rho、承诺(CM)和nullifier 是匿名转账(note)中的部分变量,匿名转账为发生在区块链上的一种交易, 交易的发起方和接收方均为匿名。其中,a_pk表示持有者的公钥,又称收款 人地址;交易金额用b表示,代表note的代币数值;随机数rho是每一条note 的唯一标识,当一条note被消费了之后,rho会被放置到nullifier表中,代表 这条note已经被消费了;再次进行消费同一条note的时候,会触发双花错误, 即交易双花防护机制。承诺(CM)是note的哈希值,为匿名转账的输入。nullifier 代表作废的note,根据已经被消费的note中的随机数rho和用户私钥生成的hash值生成。
S103、基于所述转账信息和所述交易信息构建发起方转账数据;
在一些实施例中,基于区块链的匿名转账装置基于所述转账信息和所述交 易信息构建发起方转账数据。
在一些实施例中,所述发起方转账数据的结构可以是:JoinsplitInput(mkpath,input_note,a_sk,input_nullifier)。其中,mkpath为步骤S102中所述的交易信息 中的mkpath,a_sk为所述转账信息中的发起方匿名地址私钥;input_note与步 骤S102中所述的交易信息中的inputnote相同,input_nullifier与步骤S102中所 述的交易信息中的nf相同。
S104、构建接收方转账数据。
在一些实施例中,基于区块链的匿名转账装置构建接收方转账数据。
在一些实施例中,构建接收方转账数据的可选处理流程示意图,可以如图 2所示:
步骤a、生成一次性签名秘钥的秘钥对。
在一些实施例中,一次性签名秘钥的秘钥对用signing_keypair表示, signing_keypair=signing.gen_signing_keypair()。一次性签名秘钥的秘钥对用于构 造hsig签名和产生joinsplit签名。
步骤b、基于所述秘钥对中的公钥生成哈希值hsig。
在一些实施例中,一次性签名秘钥的秘钥对包括一次性签名秘钥的公钥和 一次性签名秘钥的私钥;本申请实施例中,基于哈希函数对一次性签名秘钥的 秘钥对中的公钥进行哈希计算,生成对应的哈希值hsig。
在具体实施时,可以采用sha256算法对一次性签名秘钥的秘钥对中的公钥 进行计算,得到对应的哈希值hsig;如下公式所示:
h_sig=sha256(nf0||nf1||sign_vk);
其中,nf0和nf1可以是步骤S102中计算nf得到的值。
针对步骤S102中所述的outputnote(a_pk,value,rho,trap_r)中的rho 可以基于poseidon哈希函数确定;基于poseidon哈希函数确定outputnote中的rho的过程可以表示为:
rho=poseidon(0||i||10||[phi]_250||hsig);
其中,i为输入输出数量有关,以两输入输入的交易为例,i为0和1。Phi 可以是32位随机数,[phi]_250为对32位随机数Phi截取前250比特位。
步骤c、基于poseidon哈希函数确定所述哈希值hsig对应的用于计算交易 唯一性标识的随机数rho_i。
针对步骤S102中所述的outputnote(a_pk,value,rho,trap_r)中的trap_r, 可以是由基于区块链的匿名转账装置生成的32位随机数。
至此,接收方转账数据的结构JoinsplitOutput(output_note)已构建完成。
步骤S105,基于所述发起方转账数据和所述接收方转账数据生成所述交易 的证据,所述证据用于所述区块链中的节点验证所述交易。
在一些实施例中,基于区块链的匿名转账装置基于所述发起方转账数据和 所述接收方转账数据生成所述交易的证据(proof字段);所述proof字段为零知 识证明中示证者用ProveKey对秘密参数进行转化得到的字段,proof字段用于 验证者验证proof字段的正确性。结合本申请实施例,proof字段可以由交易的 发起方生成,并发送至区块链中的节点,由区块链中的节点验证proof字段的 正确性;在区块链中的节点验证proof字段正确定的情况下执行该交易。
其中,零知识证明为一种密码学的证明思想。示证者与验证者共同协商好 一个规则。在规则中,示证者在不暴露自身私密证据的情况下,向验证者提供 一串密文,验证者通过验证密文,能够相信示证者拥有相应的私密证据,而验 证者却无法知道私密证据的内容。Proof字段是零知识证明中,示证者不希望暴 露自己持有的秘密参数,但却需要让验证者相信其拥有秘密参数。因此,示证 者利用ProveKey将秘密参数转化为proof字段,发送给验证者。验证者可以验 证proof字段的正确性,相信示证者知晓秘密参数,但验证者却不能通过proof 字段反推出示证者的秘密参数。
proof字段可以表示为:ProofInput(merkle_roots,js_inputs,js_outputs,h_sig, phi)。其中,js_inputs即为发起方转账数据(Joinsplitinput),js_outputs即为接收方转账数据(JoinsplitOutput);phi和h_sig在步骤S104中获得。Merkle树 的根(merkle_roots)在步骤S102中获得。
本申请实施例中,生成交易的proof字段的过程可以称为Prove;即在零知 识证明中,示证者根据自身的公开参数和秘密参数,用ProveKey构造proof字 段的过程。证者生成proof字段时需要用到的key。;ProveKey与验证者验证proof 字段所需的VerifyKey必须对应。
示证者生成proof字段和验证者验证proof字段的过程可以是示证者与验证 者共同协商好的规则;而示证者与验证者共同协商好的规则在具体算法中的实 现可以采用零知识证明电路,零知识证明电路描述的是公开参数与秘密参数的 映射关系。在进行零知识证明前,验证者和示证者协商好公开参数与秘密参数 的映射关系;示证者在提供证据时,提供的是对公开参数和秘密参数转化后的 proof字段。验证者在验证时,验证proof字段和公开参数是否满足之前协商好 的映射关系。若满足映射关系,则验证者可确信示证者拥有相应的秘密参数。 此映射关系即是零知识证明电路。
本申请实施例中,基于区块链的匿名转账方法可基于零知识证明电路实现, 具体的,可采用DAP模型实现基于区块链的匿名转账,DAP模型包括一个用 于进行私密转账的零知识证明电路。区块链上的各节点协商确定了私密转账的 规则,即DAP模型中用于进行私密转账的零知识证明电路;私密转账者根据 DAP模型构造私密交易,并将交易中的公开参数和proof字段发到区块链上。 区块链上的节点通过验证公开参数和proof字段的映射关系,来确认此私密交 易是否合法。若验证通过,则私密交易发生。
本申请实施例中,由于生成交易的proof字段的过程中采用的哈希函数的 因子小于256比特,与已有的匿名转账方法采用的持最大输入为256比特的 Blakes2s哈希函数、Mimc哈希函数相比,能够极大地降低零知识证明电路中约 束(constraints)的限制数。举例来说,利用Blakes2s哈希函数的零知识证明电 路中constraints的个数为21472,利用Mimc哈希算的零知识证明电路中 constraints的个数为9856,而利用poseidon哈希函数的零知识证明电路中constraints的个数为3736;可见,利用poseidon哈希函数的零知识证明电路中 constraints的个数约是利用Blakes2s哈希函数的五分之一,约是利用Mimc哈希算的三分之一。如此,能够减小数据计算量,加快proof字段的生成时间,进 而提高转账交易的效率,增加匿名转账的应用场景,扩大匿名转账的使用范围。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着 执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本 申请实施例的实施过程构成任何限定。
为实现本申请实施例提供的上述基于区块链的匿名转账方法,本申请实施 例还提供一种基于区块链的匿名转账装置,图3为本申请实施例提供的基于区 块链的匿名转账装置200的结构组成示意图,所述装置包括:
第一生成单元201,用于基于哈希函数对发起方匿名地址私钥进行处理, 生成针对交易的转账信息,所述哈希函数的因子小于第一比特;
确定单元202,用于基于所述哈希函数确定与所述转账信息对应的交易信 息;
构建单元203,用于基于所述转账信息和所述交易信息构建发起方转账数 据;构建接收方转账数据;
第二生成单元204,基于所述发起方转账数据和所述接收方转账数据生成 所述交易的证据,所述证据用于所述区块链中的节点验证所述交易。
本申请一可选实施方式中,所述第一生成单元201,用于截取发起方匿名 地址私钥的第一部分字符;
在第一部分字符前面拼接第一计算域标识符,在第一部分字符后面拼接数 字0得到第一字符串;
将第一字符串作为哈希函数的因子,计算得到的哈希值为所述转账信息中 的发起方匿名地址公钥;所述发起方匿名地址公钥与所述发起方匿名地址私钥 对应。
本申请一可选实施方式中,所述确定单元202,用于截取发起方匿名地址 私钥的第二部分字符;
在所述第二部分字符前面拼接第二计算域标识符,在所述第二部分字符后 面拼接随机数rho得到第二字符串;
将第二字符串作为哈希函数的因子计算得到的哈希值为所述交易信息中的 唯一性标识。
本申请一可选实施方式中,所述确定单元202,用于截取发起方匿名地址 私钥的前94比特位数字,并在所述发起方匿名地址私钥的第三部分字符,并在 所述发起方匿名地址私钥的第三部分字符前拼接随机数,得到第一子字符串;
截取用于计算交易的唯一性标识的随机数的第四部分字符,并在所述第四 部分字符后拼接所述交易的代币数值,得到第二子字符串;
将所述第一子字符串和所述第二子字符串拼接,得到第三字符串;
将所述第三字符串作为哈希函数的因子计算得到的哈希值为所述交易信息 中的承诺。
本申请一可选实施方式中,所述确定单元202,用于基于哈希函数确定区 块链上的所有承诺对应的Merkle树的根;
计算所述交易对应的承诺到所述Merkle树的根的路径;
基于所述路径确定所述交易信息中的承诺的有效性。
本申请一可选实施方式中,所述构建单元203,用于生成一次性签名秘钥 的秘钥对;基于所述秘钥对中的公钥生成哈希值hsig;基于哈希函数确定所述 哈希值hsig对应的用于计算交易唯一性标识的随机数rho_i。
本申请一可选实施方式中rho_i=poseidon(0||i||10||[phi]_250||hsig)。
本申请一可选实施方式中,所述第一比特为256比特。
本申请一可选实施方式中,所述哈希函数为poseidon函数。
本领域技术人员应当理解,图3所示的基于区块链的匿名转账装置中的各 单元的实现功能可参照前述匿名转账方法的相关描述而理解。图3所示的基于 区块链的匿名转账装置中的各单元的功能可通过运行于处理器上的程序而实 现,也可通过具体的逻辑电路而实现。
本申请实施例上述的基于区块链的匿名转账装置如果以软件功能模块的形 式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储 介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术 做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一 个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服 务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前 述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,ReadOnly Memory)、 磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于 任何特定的硬件和软件结合。
相应地,本申请实施例还提供一种计算机程序产品,其中存储有计算机可 执行指令,该计算机可执行指令被执行时能够实现本申请实施例的上述的基于 区块链的匿名转账方法。
相应地,本申请实施例还提供一种存储介质,所述存储介质上存储有可执 行指令,该可执行指令被处理器执行基于哈希函数对发起方匿名地址私钥进行 处理,生成针对交易的转账信息,所述哈希函数的因子小于第一比特;基于所 述哈希函数确定与所述转账信息对应的交易信息;基于所述转账信息和所述交 易信息构建发起方转账数据;构建接收方转账数据;基于所述发起方转账数据 和所述接收方转账数据生成所述交易的证据,所述证用于所述区块链中的节点 验证所述交易的步骤。
本申请一可选实施方式中,所述可执行指令被处理器执行截取发起方匿名 地址私钥的第一部分字符;在第一部分字符前面拼接第一计算域标识符,在第 一部分字符后面拼接数字0得到第一字符串;将第一字符串作为哈希函数的因 子,计算得到的哈希值为所述转账信息中的发起方匿名地址公钥的步骤。
本申请一可选实施方式中,所述可执行指令被处理器执行截取发起方匿名 地址私钥的第二部分字符;在所述第二部分字符前面拼接第二计算域标识符, 在所述第二部分字符后面拼接随机数rho得到第二字符串;将第二字符串作为 哈希函数的因子计算得到的哈希值为所述交易信息中的唯一性标识的步骤。
本申请一可选实施方式中,所述可执行指令被处理器执行截取发起方匿名 地址私钥的第三部分字符,并在所述发起方匿名地址私钥的第三部分字符前拼 接随机数,得到第一子字符串;截取用于计算交易的唯一性标识的随机数的第 四部分字符,并在所述第四部分字符后拼接所述交易的代币数值,得到第二子 字符串;将所述第一子字符串和所述第二子字符串拼接,得到第三字符串;将 所述第三字符串作为哈希函数的因子计算得到的哈希值为所述交易信息中的承 诺的步骤。
本申请一可选实施方式中,所述可执行指令被处理器执行基于哈希函数确 定区块链上的所有承诺对应的Merkle树的根;计算所述交易对应的承诺到所述 Merkle树的根的路径;基于所述路径确定所述交易信息中的承诺的有效性的步 骤。
本申请一可选实施方式中,所述可执行指令被处理器执行生成一次性签名 秘钥的秘钥对;基于所述秘钥对中的公钥生成哈希值hsig;基于哈希函数确定 所述哈希值hsig对应的用于计算交易唯一性标识的随机数rho_i的步骤。
本申请一可选实施方式中,所述第一比特为256比特。
为实现本申请实施例提供的上述匿名转账方法,本申请实施例还提供一种 电子设备,图4为本申请实施例的电子设备的结构组成示意图,如图4所示, 电子设备50可以包括一个或多个(图中仅示出一个)处理器502(处理器502 可以包括但不限于微处理器(MCU,Micro Controller Unit)或可编程逻辑器件 (FPGA,Field Programmable Gate Array)等的处理装置)、用于存储数据的存 储器504、以及用于通信功能的传输装置506。本领域普通技术人员可以理解, 图4所示的结构仅为示意,其并不对上述电子设备的结构造成限定。例如,电 子设备50还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不 同的配置。
存储器504可用于存储应用软件的软件程序以及模块,如本申请实施例中 的方法对应的程序指令/模块,处理器502通过运行存储在存储器504内的软件 程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存 储器504可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个 磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器 504可进一步包括相对于处理器502远程设置的存储器,这些远程存储器可以 通过网络连接至电子设备50。上述网络的实例包括但不限于互联网、企业内部 网、局域网、移动通信网及其组合。
传输装置506用于经由一个网络接收或者发送数据。上述的网络具体实例 可包括电子设备50的通信供应商提供的无线网络。在一个实例中,传输装置 506包括一个网络适配器(NIC,Network Interface Controller),其可通过基站 与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置506 可以为射频(RF,Radio Frequency)模块,其用于通过无线方式与互联网进行 通讯。
本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和智能设备, 可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如, 所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方 式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可 以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直 接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接, 可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为 单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可 以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来 实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个第二处理单 元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集 成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬 件加软件功能单元的形式实现。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于 此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到 变化或替换,都应涵盖在本申请的保护范围之内。
Claims (19)
1.一种基于区块链的匿名转账方法,其特征在于,所述方法包括:
基于哈希函数对发起方匿名地址私钥进行处理,生成针对交易的转账信息,所述哈希函数的因子小于第一比特;
基于所述哈希函数确定与所述转账信息对应的交易信息;
基于所述转账信息和所述交易信息构建发起方转账数据;
构建接收方转账数据;
基于所述发起方转账数据和所述接收方转账数据生成所述交易的证据,所述证据用于所述区块链中的节点验证所述交易。
2.根据权利要求1所述的方法,其特征在于,所述基于哈希函数对发起方匿名地址私钥进行处理,生成针对交易的转账信息,包括:
截取所述发起方匿名地址私钥的第一部分字符;
在所述第一部分字符前面拼接第一计算域标识符,在所述第一字符后面拼接数字0得到第一字符串;
将第一字符串作为所述哈希函数的因子,计算得到的哈希值为所述转账信息中的发起方匿名地址公钥;所述发起方匿名地址公钥与所述发起方匿名地址私钥对应。
3.根据权利要求1所述的方法,其特征在于,所述基于所述哈希函数确定与所述转账信息对应的交易信息包括:
截取所述发起方匿名地址私钥的第二部分字符;
在所述第二部分字符前面拼接第二计算域标识符,在所述第二部分字符后面拼接随机数rho得到第二字符串;
将第二字符串作为哈希函数的因子计算得到的哈希值为所述交易信息中的唯一性标识。
4.根据权利要求1所述的方法,其特征在于,所述基于所述哈希函数确定与所述转账信息对应的交易信息包括:
截取所述发起方匿名地址私钥的第三部分字符,并在所述第三部分字符前拼接随机数,得到第一子字符串;
截取用于计算交易的唯一性标识的随机数的第四部分字符,并在所述第四部分字符后拼接所述交易的代币数值,得到第二子字符串;
将所述第一子字符串和所述第二子字符串拼接,得到第三字符串;
将所述第三字符串作为所述哈希函数的因子计算得到的哈希值为所述交易信息中的承诺。
5.根据权利要求1所述的方法,其特征在于,所述基于所述哈希函数确定与所述转账信息对应的交易信息包括:
基于所述哈希函数确定区块链上的所有承诺对应的Merkle树的根;
计算所述交易对应的承诺到所述Merkle树的根的路径;
基于所述路径确定所述交易信息中的承诺的有效性。
6.根据权利要求1所述的方法,其特征在于,所述构建接收方转账数据包括:
生成一次性签名秘钥的秘钥对;
基于所述秘钥对中的公钥生成哈希值hsig;
基于所述哈希函数确定所述哈希值hsig对应的用于计算交易唯一性标识的随机数rho_i。
7.根据权利要求6所述的方法,其特征在于,
rho_i=poseidon(0||i||10||[phi]_250||hsig)。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述第一比特为256比特。
9.一种基于区块链的匿名转账装置,其特征在于,所述装置包括:
第一生成单元,用于基于哈希函数对发起方匿名地址私钥进行处理,生成针对交易的转账信息,所述哈希函数的因子小于第一比特;
确定单元,用于基于所述哈希函数确定与所述转账信息对应的交易信息;
构建单元,用于基于所述转账信息和所述交易信息构建发起方转账数据;构建接收方转账数据;
第二生成单元,基于所述发起方转账数据和所述接收方转账数据生成所述交易的证据,所述证据用于所述区块链中的节点验证所述交易。
10.根据权利要求9所述的装置,其特征在于,所述第一生成单元,用于截取所述发起方匿名地址私钥的第一部分字符;
在第一部分字符前面拼接第一计算域标识符,在第一部分字符后面拼接数字0得到第一字符串;
将第一字符串作为所述哈希函数的因子,计算得到的哈希值为所述转账信息中的发起方匿名地址公钥;所述发起方匿名地址公钥与所述发起方匿名地址私钥对应。
11.根据权利要求9所述的装置,其特征在于,所述确定单元,用于截取所述发起方匿名地址私钥的第二部分字符;
在所述第二部分字符前面拼接第二计算域标识符,在所述第二部分字符后面拼接随机数rho得到第二字符串;
将第二字符串作为所述哈希函数的因子计算得到的哈希值为所述交易信息中的唯一性标识。
12.根据权利要求9所述的装置,其特征在于,所述确定单元,用于截取所述发起方匿名地址私钥的第三部分字符,并在所述发起方匿名地址私钥的第三部分字符前拼接随机数,得到第一子字符串;
截取用于计算交易的唯一性标识的随机数的第四部分字符,并在所述第四部分字符后拼接所述交易的代币数值,得到第二子字符串;
将所述第一子字符串和所述第二子字符串拼接,得到第三字符串;
将所述第三字符串作为所述哈希函数的因子计算得到的哈希值为所述交易信息中的承诺。
13.根据权利要求9所述的装置,其特征在于,所述确定单元,用于基于所述哈希函数确定区块链上的所有承诺对应的Merkle树的根;
计算所述交易对应的承诺到所述Merkle树的根的路径;
基于所述路径确定所述交易信息中的承诺的有效性。
14.根据权利要求9所述的装置,其特征在于,所述构建单元,用于生成一次性签名秘钥的秘钥对;基于所述秘钥对中的公钥生成哈希值hsig;基于所述哈希函数确定所述哈希值hsig对应的用于计算交易唯一性标识的随机数rho_i。
15.根据权利要求14所述的装置,其特征在于,rho_i=poseidon(0||i||10||[phi]_250||hsig)。
16.根据权利要求9至15任一项所述的装置,其特征在于,所述第一比特为256比特。
17.一种存储介质,其特征在于,所述存储介质上存储有可执行指令,该可执行指令被处理器执行时实现权利要求1至8任一项所述的方法步骤。
18.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时可实现权利要求1至8任一项所述的方法步骤。
19.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机可执行指令,该计算机可执行指令被执行后,能够实现权利要求1至8任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011445020.1A CN112529550A (zh) | 2020-12-08 | 2020-12-08 | 一种基于区块链的匿名转账方法及装置、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011445020.1A CN112529550A (zh) | 2020-12-08 | 2020-12-08 | 一种基于区块链的匿名转账方法及装置、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112529550A true CN112529550A (zh) | 2021-03-19 |
Family
ID=75000321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011445020.1A Pending CN112529550A (zh) | 2020-12-08 | 2020-12-08 | 一种基于区块链的匿名转账方法及装置、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112529550A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113095827A (zh) * | 2021-04-09 | 2021-07-09 | 杭州复杂美科技有限公司 | 匿名多重签名方法、计算机设备和存储介质 |
CN113627911A (zh) * | 2021-09-03 | 2021-11-09 | 杭州复杂美科技有限公司 | 一种基于区块链匿名收发红包的方法、设备及储存介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108764874A (zh) * | 2018-05-17 | 2018-11-06 | 深圳前海微众银行股份有限公司 | 基于区块链的匿名转账方法、系统及存储介质 |
CN109858281A (zh) * | 2019-02-01 | 2019-06-07 | 杭州云象网络技术有限公司 | 一种基于零知识证明的区块链账户模型隐私保护方法 |
CN111523892A (zh) * | 2020-04-23 | 2020-08-11 | 深圳前海微众银行股份有限公司 | 一种区块链的跨链交易方法及装置 |
-
2020
- 2020-12-08 CN CN202011445020.1A patent/CN112529550A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108764874A (zh) * | 2018-05-17 | 2018-11-06 | 深圳前海微众银行股份有限公司 | 基于区块链的匿名转账方法、系统及存储介质 |
CN109858281A (zh) * | 2019-02-01 | 2019-06-07 | 杭州云象网络技术有限公司 | 一种基于零知识证明的区块链账户模型隐私保护方法 |
CN111523892A (zh) * | 2020-04-23 | 2020-08-11 | 深圳前海微众银行股份有限公司 | 一种区块链的跨链交易方法及装置 |
Non-Patent Citations (1)
Title |
---|
LORENZO GRASSI等: "POSEIDON: A New Hash Function for Zero-Knowledge Proof Systems (Updated Version)", pages 1 - 30, Retrieved from the Internet <URL:http://eprint.iacr.org/2019/458.pdf> * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113095827A (zh) * | 2021-04-09 | 2021-07-09 | 杭州复杂美科技有限公司 | 匿名多重签名方法、计算机设备和存储介质 |
CN113095827B (zh) * | 2021-04-09 | 2023-11-28 | 杭州复杂美科技有限公司 | 匿名多重签名方法、计算机设备和存储介质 |
CN113627911A (zh) * | 2021-09-03 | 2021-11-09 | 杭州复杂美科技有限公司 | 一种基于区块链匿名收发红包的方法、设备及储存介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI831760B (zh) | 用以基於證明驗證認證鏈外資料之系統及方法 | |
Chepurnoy et al. | Edrax: A cryptocurrency with stateless transaction validation | |
CN107862216B (zh) | 用于匿名跨链交易的隐私保护方法、装置和存储介质 | |
CN110730963B (zh) | 用于信息保护的系统和方法 | |
KR102170820B1 (ko) | 일반 연산 검증용 영지식 증명 서킷 기반 가상머신을 구현하기 위한 시스템 | |
JP2020502856A (ja) | 情報保護のためのシステム及び方法 | |
JP2020507222A (ja) | 情報保護のためのシステム及び方法 | |
CN112152794A (zh) | 具有基于签名加入协议和无限签名的有效后量子匿名证明 | |
KR20200012705A (ko) | 블록체인 네트워크 상에서 그룹키 기반의 이중 서명 트랜잭션 구조를 구성하는 노드 그룹 관리 장치 및 컴퓨팅 장치 | |
US11729000B2 (en) | Methods and systems for introducing self-contained intent functionality into decentralized computer networks | |
US20210073796A1 (en) | Method of selective authentication of a blockchain user with a smart contract | |
CN112529550A (zh) | 一种基于区块链的匿名转账方法及装置、电子设备 | |
US11870654B2 (en) | Methods and systems for introducing self-contained intent functionality into decentralized computer networks | |
Marsalek et al. | Tackling data inefficiency: Compressing the bitcoin blockchain | |
US20220172180A1 (en) | Method for Storing Transaction that Represents Asset Transfer to Distributed Network and Program for Same | |
Gabizon et al. | Plumo: Towards scalable interoperable blockchains using ultra light validation systems | |
CN111241586B (zh) | 区块链地址匿名处理方法及系统、终端、存储介质 | |
Zhang et al. | New efficient constructions of verifiable data streaming with accountability | |
CN111640018A (zh) | 一种区块链交易存在性验证方法及装置 | |
CN116975936B (zh) | 金融资质证明方法、金融资质验证方法 | |
CN111866134B (zh) | 区块链交易哈希值和地址的生成方法、系统及存储介质 | |
CN117201031A (zh) | 一种基于同态哈希树的文件分布式存储共享方法 | |
Lewi et al. | Securing update propagation with homomorphic hashing | |
Wang et al. | An alternative approach to public cloud data auditing supporting data dynamics | |
CN113064899B (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 |