基于区块链的资产转移方法及装置、电子设备制造方法及图纸

技术编号:19825500 阅读:22 留言:0更新日期:2018-12-19 16:03
一种基于区块链的资产转移方法,包括:接收资产转移者发送的资产转移交易;其中,所述资产转移交易包括:至少将所述资产转移交易的输出资产对象的资产类型作为输入数据输入至承诺函数进行计算生成的承诺值;以及,用于对所述承诺值进行零知识证明的零知识证据;基于所述零知识证据对所述承诺值进行零知识证明,验证所述资产转移交易的输入资产对象与输出资产对象的资产类型是否相同;如果是,将与所述输出资产对象对应的承诺值发布至所述区块链进行存证。

【技术实现步骤摘要】
基于区块链的资产转移方法及装置、电子设备
本说明书一个或多个实施例涉及区块链
,尤其涉及一种基于区块链的资产转移方法及装置、电子设备。
技术介绍
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
技术实现思路
本说明书提出一种基于区块链的资产转移方法,应用于所述区块链中的节点设备,包括:接收资产转移者发送的资产转移交易;其中,所述资产转移交易包括:至少将所述资产转移交易的输出资产对象的资产类型作为输入数据输入至承诺函数进行计算生成的承诺值;以及,用于对所述承诺值进行零知识证明的零知识证据;基于所述零知识证据对所述承诺值进行零知识证明,验证所述资产转移交易的输入资产对象与输出资产对象的资产类型是否相同;如果是,将与所述输出资产对象对应的承诺值发布至所述区块链进行存证。本说明书还提出一种基于区块链的资产转移装置,应用于所述区块链中的节点设备,包括:接收模块,接收资产转移者发送的资产转移交易;其中,所述资产转移交易包括:至少将所述资产转移交易的输出资产对象的资产类型作为输入数据输入至承诺函数进行计算生成的承诺值;以及,用于对所述承诺值进行零知识证明的零知识证据;验证模块,基于所述零知识证据对所述承诺值进行零知识证明,验证所述资产转移交易的输入资产对象与输出资产对象的资产类型是否相同;存证模块,如果是,将与所述输出资产对象对应的承诺值发布至所述区块链进行存证。本说明书还提出一种电子设备,包括:处理器;用于存储机器可执行指令的存储器;其中,通过读取并执行所述存储器存储的与基于区块链的基于区块链的资产转移的控制逻辑对应的机器可执行指令,所述处理器被促使:接收资产转移者发送的资产转移交易;其中,所述资产转移交易包括:至少将所述资产转移交易的输出资产对象的资产类型作为输入数据输入至承诺函数进行计算生成的承诺值;以及,用于对所述承诺值进行零知识证明的零知识证据;基于所述零知识证据对所述承诺值进行零知识证明,验证所述资产转移交易的输入资产对象与输出资产对象的资产类型是否相同;如果是,将与所述输出资产对象对应的承诺值发布至所述区块链进行存证。通过以上实施例,一方面,由于上述资产转移交易中仅携带至少将所述资产转移交易的输出资产对象的资产类型作为输入数据输入至承诺函数进行计算得到的承诺值作为输入数据输入至承诺函数进行计算生成的承诺值,并不会将上述输出资产对象的资产类型以明文的形式携带在资产转移交易中,使得区块链可以隐藏资产转移者转出的资产对象的资产类型,保护资产转移者的隐私;另一方面,由于上述资产转移交易中还携带了用于对上述承诺值进行零知识证明的零知识证据,使得区块链中的节点设备可以在隐藏资产转移者转出的资产对象的资产类型的前提下,对上述零知识证据进行零知识证明,来验证上述资产转移交易的输入资产对象与输出资产对象的资产类型是否相同。附图说明图1是一示例性实施例提供的一种基于区块链的资产转移方法的流程图。图2是一示例性实施例提供的一种电子设备的结构示意图。图3是一示例性实施例提供的一种基于区块链的资产转移装置的框图。具体实施方式零知识证明(ZeroKnowledgeProof),是一种密码学技术。利用该技术,一个证明者能够在不向验证者提供任何敏感的信息的情况下,使验证者(有一个或多个)相信某个论断是正确的。而本说明书中旨在公开一种,通过将零知识证明(ZeroKnowledgeProof)算法与区块链的资产发布机制进行有机结合,使得区块链中的节点设备,可以在隐藏资产转移者转出的资产类型的前提下,能够正常验证验证上述资产转移交易的输入资产对象与输出资产对象的资产类型是否相同的技术方案。在实现时,在区块链上转移已经持有的资产对象时,通常采用UTXO(UnspentTransactionOutput未花费交易输出)模型,通过在区块链中发布一笔资产转移交易,来触发销毁资产转出方已经持有的资产对象,并为资产转入方重新创建一笔新的资产对象,来完成资产对象在不同持有者之间的转移。其中,上述资产转移交易中的输入资产对象,即为资产转出方已经持有的资产对象,而上述资产转移交易中的输出资产对象,即为需要为资产转入方重新创建的资产对象。而资产转移者需要在区块链上转移已经持有的资产对象时,可以将上述输出资产对象的作为输入数据(输入数据中也可以包含其它类型的需要隐藏的信息;比如,资产接收方的公钥),输入至承诺函数进行计算,得到承诺值;以及,还可以基于区块链搭载的零知识证明算法,生成用于对上述承诺值进行零知识证明的零知识证据(proof)。然后,资产转移者可以基于上述承诺值和上述零知识证据,来构建资产转移交易,并通过将上述资产转移交易在区块链中进行发送,来完成资产对象的转移。而区块链中的节点设备在收到上述资产转移交易时,可以获取上述资产转移交易中携带的上述承诺值,以及上述零知识证据,然后可以通过上述零知识证明算法,基于上述零知识证据对上述承诺值进行零知识证明,来验证所述资产转移交易的输入资产对象与输出资产对象的资产类型是否相同。如果经过验证确认上述资产转移交易的输入资产对象与输出资产对象的资产类型相同,将与上述输出资产对象对应的承诺值发布至上述区块链进行存证,来完成资产对象在不同持有者之间的转移。在以上技术方案中,一方面,由于上述资产转移交易中仅携带至少将所述资产转移交易的输出资产对象的资产类型作为输入数据输入至承诺函数进行计算得到的承诺值作为输入数据输入至承诺函数进行计算生成的承诺值,并不会将上述输出资产对象的资产类型以明文的形式携带在资产转移交易中,使得区块链可以隐藏资产转移者转出的资产对象的资产类型,保护资产转移者的隐私;另一方面,由于上述资产转移交易中还携带了用于对上述承诺值进行零知识证明的零知识证据,使得区块链中的节点设备可以在隐藏资产转移者转出的资产对象的资产类型的前提下,对上述零知识证据进行零知识证明,来验证上述资产转移交易的输入资产对象与输出资产对象的资产类型是否相同。下面通过具体实施例并结合具体的应用场景对本说明书进行描述。请参考图1,图1是本说明书一实施例提供的一种基于区块链的资产转移方法,应用于区块链中的节点设备,执行以下步骤:步骤102,接收资产转移者发送的资产转移交易;其中,所述资产转移交易包括:至少将所述资产转移交易的输出资产对象的资产类型作为输入数据输入至承诺函数进行计算生成的承诺值;以及,用于对所述承诺值进行零知识证明的零知识证据;步骤104,基于所述零知识证据对所述承诺值进行零知识证明,验证所述资产转移交易的输入资产对象与输出资产对象的资产类型是否相同;步骤106,如果是,将与所述输出资产对象对应的承诺值发布至所述区块链进行存证。在本说明书描述的区块链,具体可以包括所支持的对象中能够涵盖资产对象的任意类型的区块链网络。例如,在传统的区块链中,所支持的对象通常仅包括账户对象和合约对象,而在本说明书中,可以对区块链所支持的对象进行扩展,在区块链现有支持的诸如账户对象和合约对象的基础上本文档来自技高网...

【技术保护点】
1.一种基于区块链的资产转移方法,应用于所述区块链中的节点设备,包括:接收资产转移者发送的资产转移交易;其中,所述资产转移交易包括:至少将所述资产转移交易的输出资产对象的资产类型作为输入数据输入至承诺函数进行计算生成的承诺值;以及,用于对所述承诺值进行零知识证明的零知识证据;基于所述零知识证据对所述承诺值进行零知识证明,验证所述资产转移交易的输入资产对象与输出资产对象的资产类型是否相同;如果是,将与所述输出资产对象对应的承诺值发布至所述区块链进行存证。

【技术特征摘要】
1.一种基于区块链的资产转移方法,应用于所述区块链中的节点设备,包括:接收资产转移者发送的资产转移交易;其中,所述资产转移交易包括:至少将所述资产转移交易的输出资产对象的资产类型作为输入数据输入至承诺函数进行计算生成的承诺值;以及,用于对所述承诺值进行零知识证明的零知识证据;基于所述零知识证据对所述承诺值进行零知识证明,验证所述资产转移交易的输入资产对象与输出资产对象的资产类型是否相同;如果是,将与所述输出资产对象对应的承诺值发布至所述区块链进行存证。2.根据权利要求1所述的方法,还包括:如果是,将与所述输入资产对象的承诺值对应的标识信息发布至所述区块链进行存证。3.根据权利要求1所述的方法,所述零知识证据,由所述资产转移者至少将所述承诺值、所述输入资产对象的资产类型、以及所述输出资产对象的资产类型作为输入数据,输入至所述区块链搭载的零知识证据生成算法进行计算生成。4.根据权利要求3所述的方法,所述区块链支持隐藏所述输入资产对象的相关信息;所述零知识证据生成算法的输入数据包括所述承诺值、所述输入资产对象的资产类型、所述输出资产对象的资产类型、以及与上述输入资产对象的承诺值对应的标识信息。5.根据权利要求4所述的方法,所述基于所述零知识证据对所述承诺值进行零知识证明,验证所述资产转移交易的输入资产对象与输出资产对象的资产类型是否相同,包括:基于所述零知识证据对所述承诺值进行零知识证明,验证所述标识信息是否对应已在区块链上存证的资产对象的承诺值;以及,验证所述资产转移交易的输入资产对象与输出资产对象的资产类型是否相同。6.根据权利要求5所述的方法,所述基于所述零知识证据对所述承诺值进行零知识证明,验证所述资产转移交易的输入资产对象与输出资产对象的资产类型是否相同,包括:至少将所述零知识证据,以及所述承诺值,作为零知识证据验证算法的输入数据,输入至零知识证据验证算法进行计算;基于所述零知识证据验证算法的输出结果,验证所述标识信息是否对应已在区块链上存证的资产对象的承诺值;以及,验证所述资产转移交易的输入资产对象与输出资产对象的资产类型是否相同。7.根据权利要求1所述的方法,所述承诺函数为哈希函数;所述区块链搭建的零知识证明算法为zksnark算法,或者zkstark算法。8.一种基于区块链的资产转移装置,应用于所述区块链中的节点设备,包括:接收模块,接收资产转移者发送的资产转移交易;其中,所述资产转移交易包括:至少将所述资产转移交易的输出资产对象的资产类型作为输入数据输入至承诺...

【专利技术属性】
技术研发人员:李漓春刘正殷山张文彬马宝利
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1