基于区块链的数字资产处理方法和装置与流程

文档序号:11681261阅读:324来源:国知局
基于区块链的数字资产处理方法和装置与流程

本发明涉及通信技术领域,尤其涉及一种基于区块链的数字资产处理方法和装置。



背景技术:

随着通信技术的发展,区块链由于去中心化、公开、透明、无法篡改等优点而逐渐被应用于数据处理的应用场景中。区块链由于其技术本身的限制难以承载海量的数据交易,同时不同的区块链承载不同类型的数据业务也符合实际的业务需求。例如股权区块链、不动产区块链、小额支付区块链等分别承载对应的数字资产业务。

现有的不同区块链各自使用本区块链的特有货币。不同区块链上使用数字货币进行资产交易就需要将不同数字货币进行转换,例如,比特币需要进入以太网就需要转化为以太币。现有的区块链数字资产处理方法存在操作繁琐、不同币种相互转化会产生货币损耗、缺乏央行等权威机构监管、用户的数字资产的隐私得不到保护。

如何保障用户的隐私权,并在隐私保护的前提下实现单一通用法定货币在不同区块链中顺畅流通、并保持货币总量不变,是业界需要解决的问题。



技术实现要素:

鉴于以上所述一个或多个问题,本发明实施例提供了一种数字资产处理方法和装置。

第一方面,提供了一种基于区块链的数字资产处理方法。该方法包括以下步骤:

接收用于从转出端通过区块链流转至转入端的数字资产的隐私密文、和用于传递隐私密文的预设公钥;

基于预设公钥,得到用于共享隐私密文的共享公钥,以使:当隐私密文和共享公钥广播在区块链中时,区块链中的区块链节点基于共享公钥来共享隐私密文,并对所共享的隐私密文进行盲共识,以及,在隐私密文被达成共识后,由转入端、转出端、监管端中至少一者基于预设私钥对隐私密文进行解密,得到数字资产的明文。

第二方面,提供了一种基于区块链的数字资产处理方法。该方法包括以下步骤:

获取广播在区块链中的隐私密文和用于共享所述隐私密文的共享公钥;

当所述隐私密文和所述共享公钥广播在所述区块链中时,基于所述共享公钥来共享所述隐私密文,并对所共享的隐私密文进行盲共识,以及,在所述隐私密文被达成共识后,由所述转入端、所述转出端、所述监管端中至少一者基于预设私钥对所述隐私密文进行解密,得到所述数字资产的明文。

第三方面,提供了一种基于区块链的数字资产处理装置。该装置包括:

数据接收单元,用于接收用于从转出端通过区块链流转至转入端的数字资产的隐私密文、和用于传递所述隐私密文的预设公钥;

隐私处理单元,用于基于所述预设公钥,得到用于共享所述隐私密文的共享公钥,以使:所述隐私密文和所述共享公钥广播在所述区块链中时,所述区块链中的区块链节点基于所述共享公钥来共享所述隐私密文,并对所共享的隐私密文进行盲共识,以及,在所述隐私密文被达成共识后,由所述转入端、所述转出端和所述监管端基于预设私钥对所述隐私密文进行解密,得到所述数字资产的明文。

第四方面,提供了一种基于区块链的数字资产处理装置。该装置包括:

数据获取单元,用于获取广播在区块链中的隐私密文和用于共享隐私密文的共享公钥;

数据处理单元,用于当所述隐私密文和所述共享公钥广播在所述区块链中时,基于所述共享公钥来共享所述隐私密文,并对所共享的隐私密文进行盲共识,以及,在所述隐私密文被达成共识后,由所述转入端、所述转出端、所述监管端中至少一者基于预设私钥对所述隐私密文进行解密,得到所述数字资产的明文。

由此,本发明实施例通过明文消息进行加密,生成隐私密文,并基于预设公钥,得到用于共享隐私密文的共享公钥,将隐私密文和共享公钥广播在区块链中,以使:转入端、转出端和监管端基于预设私钥对隐私密文进行解密,得到明文;区块链中的节点基于共享公钥来共享隐私密文,并对所共享的隐私密文进行盲共识,保障了用户的隐私权。另外,本实施例可以通过设置监管方(监管端)作为中间跳转机构,将转出端发出的数字资产进行隐私处理,然后再通过区块链转至转入端,在隐私保护的前提下,可以实现单一通用数字资产在一个或者多个区块链中顺畅流通,并保持货币总量不变。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例的基于区块链的数字资产处理的系统架构示意图。

图2是本发明一实施例的基于区块链的数字资产处理的流程示意图。

图3是本发明另一实施例的基于区块链的数字资产处理的流程示意图。

图4是本发明一实施例的基于区块链的数字资产处理的结构示意图。

图5是本发明另一实施例的基于区块链的数字资产处理的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

数字资产可以是区块链上可转移的数字信息,往往与现实世界的某种实物对应,它由前述账户地址或智能合约地址持有。数字资产可以包括但不限于法定数字货币。法定数字货币可以是由政府央行发行的数字货币。下面以数字货币在区块链中进行交易为例说明基于区块链的数字资产处理方法的实现方式。

图1是本发明一实施例的基于区块链的数字资产处理的系统架构示意图。

如图1所示,该系统架构可以包括:监管方(即监管端)110、转出端120、转入端130、网络140和区块链150。区块链150可以包括:区块链节点151-154和部署在区块链150中的智能合约程序155。监管方110可以央行、票交所等权威机构。监管方110可以包括:数字货币中心系统111和监管系统112。数字货币中心系统111可以用于发行法定数字货币,存储支付准备数据库,支付准备数据库用于记录支付准备数字资产的发行(创建)和回收(转出)等数据。

转出端120和转入端130分别是交易的付款方和收款方。例如,转出端120需要想转100万数字货币给转入端130。转出端120需要先将这笔钱“出场”到数字货币中心系统111内部,由数字货币中心系统111的支付准备数据库记录这笔钱并转换变为通用数字货币(央行发行的法定数字货币),然后再将通用数字货币支付给转入端130。

监管系统112可以设置有sdmapp和隐私保护中间层组件(sdds-middleware)。sdds-middleware可以为区块链150(例如,数字票据链)上流转的数字货币提供隐私保护功能。因此在区块链上的数字货币包含隐私保护后的数据字段。监管系统112需要对数字货币的明文信息进行处理,具体数字货币数据字段的加解密可以由sdmapp完成。具体来说,区块链团队可以提供数字货币管理合约sdmfrontend与隐私保护相关的基础功能,并提供给监管方110做进一步开发以加入sdm所需的其他功能。同时,票据链团队以隐私保护中间层组件(sdds-middleware)的方式提供sdmapp所需的隐私保护加解密功能,sdds-middleware还将进一步提供从区块链上即时同步交易详细信息的api。与带隐私保护功能的区块链交互时,数字货币中心系统110可以通过监管方120的隐私保护中间层(sddsmiddleware)进行隐私数据转换。数字货币中心系统111中登记的是明文数字货币,在区块链150上登记的则是密文数字货币。

垂直虚线部分可以是隐私秘文和明文的分界线,虚线左侧所有的业务操作都是采用明文操作,虚线右侧出现的金额相关的操作都是密文。具体来说,业务方(包括参与者和管理者)在自己的子系统内部处理的金额相关业务都是明文的,一旦上链,为了保障隐私,提交到区块链上的数据都是隐私数据,只有交易对手方和监管方有能力解码。sdmapp是用来做隐私明文、隐私密文互相转换的中间件,通过这个中间件(包括预设的公钥、私钥数据)业务方可以不关心区块链上隐私数据加解密的细节,只需要向sdmapp写入明文数据或者读取明文数据即可。

网络140用以在各种电子设备之间提供通信链路的介质。具体的,网络设备可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等。

区块链150可以是分布式统一账本,由所有参与方(例如各区块链节点151-154)共同决定记账内容,每个参与方都保存有全量数据,任何个体无法对数据进行篡改。区块链150可以是联盟链。联盟链与公有链相对,是区块链的一种。特点是具有准入制度,只有获得批准的参与方才能加入。对应的,联盟链中会有监管方和普通参与方两种角色。

智能合约程序155可以是数字货币管理智能合约。数字货币管理智能合约是部署在特定区块链上的智能合约,只有部署了该合约的区块链可以进行资产数据处理。数字货币管理智能合约可以包括:sdmfrontend货币合约、票据合约和业务合约。

转出端120可以通过区块链150将数字资产通过区块链150转给转入端130。转出端120和转入端130可以是区块链150之外的节点,也可以是区块链150中的节点,此方面内容不做限制。

可以理解,图1中的设备的数目仅仅是示意性的。根据实现需要,进行调整。其中,区块链节点151-154、转出端120和转入端130可以是各种电子设备。这些电子设备包括但不限于个人电脑、智能手机、平板电脑、个人数字助理、服务器等。这些电子设备可以安装有各种通讯客户端应用,例如即时通信工具、邮箱客户端、社交平台软件、音频视频软件等。其中,这些电子设备具有存储器和逻辑运算处理器、控制元件等。这些电子设备可以发送数据请求,或者可以接收数据请求,还可以对数据进行分析、验证和存储等处理。

另外,该架构还可以其他基础设备,例如,网络交互和路由设备。

下面各实施例均可以应用于图1所示架构,为了描述简洁,各实施例可以相互参考引用。

图2是本发明一实施例的基于区块链的数字资产处理的流程示意图。

如图2所示,该方法包括以下步骤:s210,接收用于从转出端通过区块链流转至转入端的数字资产的隐私密文、和用于传递隐私密文的预设公钥;s220,基于预设公钥,得到用于共享隐私密文的共享公钥,以使:当隐私密文和共享公钥广播在区块链中时,区块链中的区块链节点基于共享公钥来共享隐私密文,并对所共享的隐私密文进行盲共识,以及,在隐私密文被达成共识后,由转入端、转出端、监管端中至少一者基于预设私钥对隐私密文进行解密,得到数字资产的明文。本实施例可以应用于图1所述监管方(监管端)110。监管方可以作为本实施例的各个步骤的执行主体,执行基于区块链的数字资产处理。监管方(sdm与票交所)具有看穿机制,可以即时追踪票据链上每一笔交易。一旦发现参与方具有违法动作,sdm或票交所(sdmfrontend的内部设计决定)有权冻结对应参与方的数字货币,也因此该参与方无法参与后续的票据交易。数字票据链上部署sdm提供的数字货币管理合约sdmfrontend,同时数字货币中心系统通过sdm的软件app对数字票据区块链数据进行处理、操作。数字货币管理合约sdmfrontend集中管理票据链上的数字货币。

在步骤s210中,为了使消息加密机制有效,首先,转出端向监管方提交自己的消息传递预公钥,然后由监管方设定正式的消息传递公钥;然后,交易双方(转出端和转入端)根据公开可查的消息传递公钥可以进行消息的点对点传递。需要指出的是,监管方设定消息传递公钥的过程只需要操作一次,后续的参与方之间的交易无需重复向监管方申请新的消息传递公钥。

本实施例的数字票据链(即区块链)上流转的数字货币接受了隐私保护,因此在区块链上的数字货币包含隐私保护(即加密)后的数据字段。转出端与转出端的交易详细信息可以包括但不限于下列字段:

在步骤s220中,上述两个步骤可以用两个函数来实现。第一个函数可以由参与方发起,用来提交自己的消息传递预公钥智能合约只做基本的重复调用检测,并将该数据存储。第二个函数可以由监管方调用,监管方计算自己与参与方的消息传递共享私钥,并将对应的公钥公布。具体步骤如下:

1、链外计算其中,pk可以是公钥,xi可以是私钥,hash为哈希运算;

2、链外计算pki=xig,记为messagepk,作为参数提交给智能合约;

3、智能合约记录pki和holder(收款方)的对应关系备查。

通过上述步骤,完成了参与方与监管方关于消息传递共享私钥的分发问题。同时,参与方之间进行消息传递私钥共享时,只需要根据对手方的消息公钥pkj和自己持有的消息私钥xi即可计算出二者的共享消息私钥。同时该共享消息私钥监管方也可以轻易计算出,并对交易进行跟踪。

为了完成隐私共识,在转出端账号初始化时公布用户持有的消息传递公钥。该公钥用来实现对手方之间的私钥共享,进而保证在点对点转账时可以安全传递信息,并且给予监管方看穿能力。例如,利用m_pbocpk用来保存监管方公布的消息传递公钥:pk0=x0g,利用m_msgpk用来保存每个参与方的消息传递公钥,在执行隐私支付时,对手方使用该公钥加密后传递给参与方。

由此,本发明实施例基于预设公钥,得到用于共享隐私密文的共享公钥以使:当隐私密文和共享公钥广播在区块链中时,区块链中的区块链节点基于共享公钥来共享隐私密文,并对所共享的隐私密文进行盲共识,以及,在隐私密文被达成共识后,由转入端、转出端、监管端中至少一者基于预设私钥对隐私密文进行解密,得到数字资产的明文,保障了用户的隐私权。另外,本实施例可以通过设置监管方作为中间跳转机构,将转出端发出的数字资产进行隐私处理,然后再通过区块链转至转入端,在隐私保护的前提下,可以实现单一通用数字资产在一个或者多个区块链中顺畅流通,并保持货币总量不变。

在一些实施例中,对所共享的隐私密文进行盲共识,可以包括:利用同态加密方法和/或零知识证明方法对所共享的隐私密文的合法性进行验证,并对验证结果达成一致意见。票据链上的数字货币是以隐私保护密文存在的,本实施例可以采取同态加密、零知识证明和密钥共享的密码学技术保障了对交易行为的盲共识。各个区块链节点在验证时,无法知晓数字资产的金额等敏感信息。

由此,本实施例通过盲共识,保证了数字资产不仅可以通过区块链中的各个节点进行验证,而且可以保护用户的隐私,改善了用户的体验。

在一些实施例中,隐私密文的合法性包括以下项中的至少一项:转入端和转出端的身份的合法性、转入端和转出端的数字资产在流转前后总量保存不变、流转的数字资产量大于或者等于零、转出的数字资产量小于或者等于转出端所持有的数字资产量。

由此,本实施例可以保障转入端和转出端的数字资产合法且在流转前后总量保存不变,保障了数据转换的安全性,防止了数据转换的损耗。

在一些实施例中,基于预设公钥,得到用于共享隐私密文的共享公钥,可以包括:将预设公钥与指定私钥进行预设密码学运算,得到用于共享隐私密文的共享私钥;基于共享私钥,得到用于共享隐私密文的共享公钥。

在一些实施例中,数字资产是一个或者多个预定数值的coin数据结构体的数据。例如,采用单一智能合约存储和管理票据链上的数字货币,每个用户持有多个表现为coin结构体的数字货币,每个数字货币具备不同的面额,用户对数字货币进行转账时,需要指定欲花费的coin列表,同时用户指定找零金额信息,智能合约验证欲花费的coin金额之和与收款金额加找零金额相等后完成转账,并利用找零金额数据生成一个新的coin划拨给付款方。

其中,coin结构体可以是数字货币的主要存储结构;pendingcoin结构体用来存储收款方发起的但付款方尚未同意的收款请求;moneyset结构体可以看做隐私保护后的转账金额(附带一些零知识信息)。本实施例可以用m_account保存账户当前持有的数字货币的id列表;还可以用m_cashbank记录每张数字货币的面额(隐私值)、归属权等信息;也可以用m_pendingtx记录当前尚未确认付款的交易信息。

在一些实施例中,在上述各实施例的基础上,基于区块链的数字资产的处理方法还可以包括:预先在一个或者多个区块链中部署智能合约程序,智能合约程序用于定义数字资产在一个或者多个区块链中入场、转账、出场、余额查询中的至少一种操作。数字货币智能合约的基本函数可以包括:数字货币入场、数字货币出场、转账(包含发起收款、同意付款、拒绝/撤回付款等子步骤)等。

下面以票据业务参与方生命周期时间顺序,来描述利用智能合约程序来实现数字资产处理的实现方式。

步骤1:票据账号注册。

在本实施例中,数字票据参与方(例如转出端和转入端)向监管方(即票交所)提供相应身份证明材料和自己持有信息传递私钥对应的公钥pk,该pk用来做信息传递使用。票交所为该参与方创建对应的账号智能合约,对应的合约id(即合约地址)为sdds-id。其后该账号即可参与票据交易并持有数字货币。

步骤2:数字货币账号绑定。

在本实施例中,参与方向sdm提供相应的身份证明材料和票据链上的身份sdds-id,sdm通过sdmapp查阅票据链上公布的对应参与方的身份证明材料,确认一致符合后将票据链上的sdds-id同数字货币系统中对应参与方的sdm-id进行绑定。

步骤3:数字货币入场。

在本实施例中,参与方(例如转出端,即付款方)调用sdm业务接口做数字货币入场申请,申请通过并完成数字货币中心相关的一系列内部操作后,sdmapp调用sdmfrontend智能合约为参与方在票据链上增加对应数额的基于隐私保护的数字货币。

步骤4:数字货币转账。

在本实施例中,手动转账和智能合约dvp转账类似,区别是前者由参与方账户直接调用sdmfrontend智能合约发起交易,后者由参与方账户调用其他智能合约然后简介调用sdmfrontend智能合约发起交易。对于sdmfrontend智能合约来说,二者没有本质区别,下面统称为“转账”。每一笔转账和数字货币的入场、出场,sdds-middleware中间件都会即时解密、记录并输出到指定数据库中。同时sdds-middleware还将提供回溯功能,即指定票据链上的区块序号即可读取该区块内发生的所有交易详细列表。通过该回溯功能,监管方可以掌握票据链上的所有交易细节。

步骤5:数字货币出场。

在本实施例中,与数字货币入场步骤类似,参与方调用sdm业务接口做数字货币出场申请。sdmapp调用sdmfrontend智能合约为参与方在票据链上减少对应数值的基于隐私保护的数字货币。

步骤6:数字货币余额查询。

在本实施例中,参与方可以通过本地区块链节点直接查询自己的数字货币余额和历史记录。监管方(票交所节点、sdm节点)具有看穿机制,可以通过本地区块链节点直接明文查询所有参与方的数字货币余额和历史记录。sdmfrontend需要提供给予隐私保护的数字货币余额直接读取功能,即密文查询功能。参与方只拥有自己的隐私保护私钥,因此只能解开自己的基于隐私保护的数字货币的余额密文。

考虑票据链隐私保护的需求,在上述业务逻辑基础上将转账动作分割成:收款方发起收款、付款方同意付款两步进行。另外,可以在增加付款方拒绝付款、收款方撤回请求的步骤。

在一些实施例中,在上述各实施例的基础上,基于区块链的数字资产的处理方法还可以包括:接收转入端所发送的接收受隐私保护的第一数值的数字资产的接收请求;响应于所接收的接收请求,向转出端发送是否同意转出受隐私保护的第一数值的数字资产的指令;当接收到来自转出端的包括同意转出和用于证明受隐私保护的第一数值的数字资产的合法性的密码学证明的应答时,在转入端的资产数据库内,写入增加一个或者多个预定受隐私保护的数值的coin数据结构体的数据的记录,以及写入减少受隐私保护的指定数值的coin数据结构体的数据的记录;以及,在转出端的资产数据库内,写入增加销毁一个或者多个受隐私保护的预定数值的coin数据结构体的数据的记录,以及写入增加受隐私保护的指定数值的coin数据结构体的数据的记录;

或者,接收转出端所发送的转出受隐私保护的第一数值的数字资产的转出请求;响应于所接收的转出请求,向转入端发送是否同意接收受隐私保护的第一数值的数字资产的指令;当接收到来自转入端的包括同意接收和用于证明受隐私保护的第一数值的数字资产的合法性的密码学证明的应答时,在转入端的资产数据库内,写入增加一个或者多个预定受隐私保护的数值的coin数据结构体的数据的记录,以及写入减少受隐私保护的指定数值的coin数据结构体的数据的记录;以及,在转出端的资产数据库内,写入增加销毁一个或者多个受隐私保护的预定数值的coin数据结构体的数据的记录,以及写入增加受隐私保护的指定数值的coin数据结构体的数据的记录。

例如,数字资产可以是由a转给b的,但可以a先发起转让动作,b确认;也可由b发起接受动作,再由a确认。

在一些实施例中,在上述各实施例的基础上,基于区块链的数字资产的处理方法还可以包括:采用同态加密和/或零知识证明的密码学方法验证一个或者多个受隐私保护的预定数值的和与受隐私保护的指定数值与受隐私保护的第一数值的和是否相等;当验证通过时,在转入端的资产数据库内,写入增加一个或者多个受隐私保护的预定数值的coin数据结构体的数据的记录,以及写入减少受隐私保护的指定数值的coin数据结构体的数据的记录;在转出端的资产数据库内,写入增加销毁一个或者多个受隐私保护的预定数值的coin数据结构体的数据的记录,以及写入增加受隐私保护后的指定数值的coin数据结构体的数据的记录。

在一些实施例中,在上述各实施例的基础上,基于区块链的数字资产的处理方法还可以包括:接收来自转入端所发送的接收转出端的受隐私保护的第一数量的数字资产的接收请求;响应于所接收的接收请求,向转出端发送是否同意发送受隐私保护的第一数量的数字资产的指令;当接收到来自转出端的拒绝向转入端发送第一数量的数字资产的应答时,向转入端发送拒绝的反馈。

在一些实施例中,在上述各实施例的基础上,基于区块链的数字资产的处理方法还可以包括:接收来自转入端所发送的撤回接收请求;将所接收的撤回接收请求反馈给转出端。

数字货币智能合约的基本函数有:数字货币入场、数字货币出场、转账(包含发起收款、同意付款、拒绝/撤回付款等子步骤)等。下面用五个实施例来详细说明各个函数的实现方式。

第一实施例,用于说明数字货币入场函数的实现方式。

本实施例可以由监管方调用,输入入场后的收款方地址与转账金额结构体_amount。函数内部做如下操作:

1、对_amount进行必要的隐私保护验证(即验证rangeproof);

2、在m_cashbank创建新的coin,金额为_amount;

3、在m_account将新coin的id分配给_holder;

4、记录相应eventlog;

5、返回该新创建的coin的id;

第二实施例,用于说明数字货币出场函数的实现方式。

本实施例可以由监管方调用,输入出场方地址、出场方持有的部分数字货币的id列表,扣款金额_amount和找零金额_change。函数内部做如下操作:

1、对_amount和_change进行必要的隐私保护验证(即验证rangeproof);

2、验证:∑(coin.value)==_amount.value+_change.value;

3、销毁输入的coin列表对应的coin;

4、创建新的coin,金额为_change作为找零;

5、将上述coin所有权分配给_holder;

6、记录相应eventlog;

7、返回上述找零coin的id。

在本实施例中,如果∑(coin.value)恰好等于_amount.value,则似乎不必要出现_change,但由于隐私保护的需求,此时_change依然存在。后续可以通过附带花费零值coin来删除这些冗余数据。

第三实施例,用于说明发起收款函数的实现方式。

本实施例可以由收款方调用,输入参数为付款方地址、付款金额结构体等。函数内部完成如下步骤:

1、对_amount进行必要的隐私保护验证(即验证rangeproof);

2、在m_pendingtx中增加一条记录;

3、记录相应eventlog;

4、返回上述记录的id。

第四实施例,用于说明确认付款函数的实现方式。

本实施例可以由付款方发起,发起后即完成支付业务。输入参数为欲花费的数字货币列表、欲支付的待付款请求(可以支持同时支付多笔请求)、找零信息等。函数内部完成如下步骤:

1、对_changemoney进行必要的隐私保护验证;

2、验证:∑(coin.value)==∑(pending.value)+_changemoney.value;

3、销毁输入的coin列表对应的coin;

4、利用_pending_ids中的数据分别创建coin并分配给对应的收款方;

利用_changemoney的信息创建找零coin并分配给付款方;

5、记录相应eventlog;

6、返回找零coin对应的id。

在本实施例中,收款方利用eventlog来收到付款通知,并获知得到的coin的id。

第五实施例,用于说明确认付款函数的实现方式。

本实施例可以由交易双方的任一方发起,发起后删除pending数据。

图3是本发明另一实施例的基于区块链的数字资产处理的流程示意图。

如图3所示,该方法可以包括以下步骤:s310,获取广播在区块链中的隐私密文和用于共享隐私密文的共享公钥;s320,当隐私密文和共享公钥广播在区块链中时,基于共享公钥来共享隐私密文,并对所共享的隐私密文进行盲共识,以及,在隐私密文被达成共识后,由转入端、转出端、监管端中至少一者基于预设私钥对隐私密文进行解密,得到数字资产的明文。

在一些实施例中,对隐私密文进行盲共识包括:利用同态加密方法和/或零知识证明方法对所共享的隐私密文的合法性进行验证,并对验证结果达成一致意见。

在一些实施例中,隐私密文的合法性包括以下项中的至少一项:转入端和转出端的身份的合法性、转入端和转出端的数字资产在流转前后总量保存不变、流转的数字资产量大于或者等于零、转出的数字资产量小于或者等于转出端所持有的数字资产量。

需要说明的是,在不冲突的情况下,本领域的技术人员可以按实际需要将上述的操作步骤的顺序进行灵活调整,或者将上述步骤进行灵活组合等操作。为了简明,不再赘述各种实现方式。另外,各实施例的内容可以相互参考引用。

图4是本发明一实施例的基于区块链的数字资产处理的结构示意图。

如图4所示,基于区块链的数字资产处理装置400可以包括:数据接收单元410和隐私处理单元420。其中,数据接收单元410可以用于接收用于从转出端通过区块链流转至转入端的数字资产的隐私密文、和用于传递隐私密文的预设公钥;隐私处理单元420可以用于基于预设公钥,得到用于共享隐私密文的共享公钥,以使:隐私密文和共享公钥广播在区块链中时,区块链中的区块链节点基于共享公钥来共享隐私密文,并对所共享的隐私密文进行盲共识,以及,在隐私密文被达成共识后,由转入端、转出端和监管端基于预设私钥对隐私密文进行解密,得到数字资产的明文。

在一些实施例中,数字资产是一个或者多个预定数值的coin数据结构体的数据。

在一些实施例中,在上述实施例的基础上,基于区块链的数字资产处理装置400还可以包括:请求接收单元、指令发送单元和数据处理单元。其中,请求接收单元可以用于接收转入端所发送的接收来自转出端的受隐私保护的第一数值的数字资产的接收请求;或者,用于接收转出端所发送的转出受隐私保护的第一数值的数字资产的转出请求。

指令发送单元可以用于响应于所接收的接收请求,向转出端发送是否同意转出受隐私保护的第一数值的数字资产的指令;或者,用于响应于所接收的转出请求,向转入端发送是否同意接收受隐私保护的第一数值的数字资产的指令。

数据处理单元可以用于当接收到来自转出端的包括同意转出和用于证明受隐私保护的第一数值的数字资产的合法性的密码学证明的应答时,在转入端的资产数据库内,写入增加一个或者多个预定受隐私保护的数值的coin数据结构体的数据的记录,以及写入减少受隐私保护的指定数值的coin数据结构体的数据的记录;以及,在转出端的资产数据库内,写入增加销毁一个或者多个受隐私保护的预定数值的coin数据结构体的数据的记录,以及写入增加受隐私保护的指定数值的coin数据结构体的数据的记录;或者,用于当接收到来自转入端的包括同意接收和用于证明受隐私保护的第一数值的数字资产的合法性的密码学证明的应答时,在转入端的资产数据库内,写入增加一个或者多个预定受隐私保护的数值的coin数据结构体的数据的记录,以及写入减少受隐私保护的指定数值的coin数据结构体的数据的记录;以及,在转出端的资产数据库内,写入增加销毁一个或者多个受隐私保护的预定数值的coin数据结构体的数据的记录,以及写入增加受隐私保护的指定数值的coin数据结构体的数据的记录。

在一些实施例中,在上述实施例的基础上,基于区块链的数字资产处理装置400还可以包括:数据验证单元和数据处理单元。其中,数据验证单元可以用于采用同态加密和/或零知识证明的密码学方法验证一个或者多个受隐私保护的预定数值的和与受隐私保护的指定数值与受隐私保护的第一数值的和是否相等;数据处理单元可以还用于当验证通过时,在转入端的资产数据库内,写入增加一个或者多个受隐私保护的预定数值的coin数据结构体的数据的记录,以及写入减少受隐私保护的指定数值的coin数据结构体的数据的记录;在转出端的资产数据库内,写入增加销毁一个或者多个受隐私保护的预定数值的coin数据结构体的数据的记录,以及写入增加受隐私保护后的指定数值的coin数据结构体的数据的记录。

在一些实施例中,在上述实施例的基础上,基于区块链的数字资产处理装置400还可以包括:请求接收单元、指令发送单元和反馈发送单元。其中,请求接收单元可以还用于接收来自转入端所发送的接收转出端的受隐私保护的第一数量的数字资产的接收请求;指令发送单元可以还用于响应于所接收的接收请求,向转出端发送是否同意发送受隐私保护的第一数量的数字资产的指令;反馈发送单元可以用于当接收到来自转出端的拒绝向转入端发送第一数量的数字资产的应答时,向转入端发送拒绝的反馈。

在一些实施例中,请求接收单元还可以用于接收来自转入端所发送的撤回接收请求;反馈发送单元还可以用于将所接收的撤回接收请求反馈给转出端。

在一些实施例中,在上述实施例的基础上,基于区块链的数字资产处理装置400还可以包括:合约部署单元。合约部署单元可以用于预先在一个或者多个区块链中部署智能合约程序,智能合约程序用于定义数字资产在一个或者多个区块链中入场、转账、出场、余额查询中的至少一种操作。

需要说明的是,本实施例中所示的功能单元或者功能模块的实现方式可以为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

图5是本发明另一实施例的基于区块链的数字资产处理的结构示意图。

如图5所示,基于区块链的数字资产处理装置500可以包括:数据获取单元510和数据处理单元520。其中,数据获取单元510可以用于当隐私密文和共享公钥广播在区块链中时,基于共享公钥来共享隐私密文,并对所共享的隐私密文进行盲共识,以及,在隐私密文被达成共识后,由转入端、转出端、监管端中至少一者基于预设私钥对隐私密文进行解密,得到数字资产的明文。需要说明的是,上述各实施例的装置可作为上述各实施例的用于各实施例的方法中的执行主体,可以实现各个方法中的相应流程,为了简洁,此方面内容不再赘述。

在一些实施例中,数据处理单元还可以用于:利用同态加密方法和/或零知识证明方法对所共享的隐私密文的合法性进行验证,并对验证结果达成一致意见。

以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,可以分布到多个网络单元上,可以根据实际的需要选择其中部分或者全部模块来实现实施例方案的目的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以直接通过硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1