一种基于区块链技术的维克里拍卖方法、装置及系统与流程

文档序号:25861402发布日期:2021-07-13 16:17阅读:220来源:国知局
一种基于区块链技术的维克里拍卖方法、装置及系统与流程

本申请涉及计算机技术领域,特别涉及一种基于区块链技术的维克里拍卖方法、装置、系统及区块链节点。



背景技术:

拍卖是指以公开竞价的形式,将特定物品或者财产权利转让给最高竞价者的买卖方式。拍卖形式可分为开放式拍卖和封闭式拍卖。在封闭式拍卖的情况下,竞价者只能知道自己的出价,而不知其他竞价者的出价。相反,开放式拍卖中竞价者彼此知道自己的出价。

维克里拍卖(vickreyauction)是由密封式拍卖衍生出的一种变种,简单来说,在这种拍卖中,商品由报价最高的竞价者获得,但他只需要按照次高报价的价格进行支付。

目前,大多数的拍卖都是采用线下拍卖的方式,存在实施成本高、拍卖效率低等问题。



技术实现要素:

本申请的目的是提供一种基于区块链技术的维克里拍卖方法、装置、系统及区块链节点,用以解决线下拍卖方案存在的成本高、效率低的问题。其具体方案如下:

第一方面,本申请提供了一种基于区块链技术的维克里拍卖方法,应用于部署有拍卖合约的区块链节点,该方法包括:

根据竞拍者发送的携带出价金额的第一转账请求,将所述出价金额从所述竞拍者的初始账户转账至所述竞拍者的目标账户;

根据所述竞拍者发送的锁定请求,将所述竞拍者的目标账户锁定至所述拍卖合约;

根据所述竞拍者发送的携带出价金额和零知识证明的出价揭示请求,对所述出价金额和所述零知识证明进行验证,若验证通过,则确定全部竞拍者的出价金额中的次高出价以作为中标价,确定全部竞拍者中最高出价的竞拍者以作为中标者,解除未中标者的目标账户与所述拍卖合约的锁定关系;

将所述中标价从所述中标者的目标账户转账至拍卖者的账户,解除所述中标者的目标账户与所述拍卖合约之间的锁定关系。

优选的,在所述将所述出价金额从所述竞拍者的初始账户转账至所述竞拍者的目标账户之前,还包括:

接收竞拍者发送的携带充值金额的充值请求;

判断所述竞拍者的初始账户的金额与所述充值金额的和是否超过预设的账户最大金额;

若未超过,则判断所述所述竞拍者的初始账户的状态是否为未锁定;

若是,则对所述竞拍者的初始账户的金额进行更新。

优选的,所述第一转账请求携带的所述出价金额为加密形式,所述将所述出价金额从所述竞拍者的初始账户转账至所述竞拍者的目标账户,包括:

根据所述出价金额,分别对从所述竞拍者的初始账户的金额和所述竞拍者的目标账户的金额进行更新,其中所述竞拍者的初始账户的金额和所述竞拍者的目标账户的金额均为加密形式。

优选的,所述第一转账请求携带的所述出价金额为所述竞拍者采用elgamal算法对真实出价进行加密得到的。

优选的,所述根据竞拍者发送的携带出价金额的第一转账请求,将所述出价金额从所述竞拍者的初始账户转账至所述竞拍者的目标账户,包括:

读取所述竞拍者的初始账户的初始金额;

根据所述初始金额,对所述第一转账请求中的零知识证明和转账签名进行验证,所述零知识证明包括第一加密出价金额与第二加密出价金额相等,所述出价金额大于零和所述竞拍者的初始账户的余额大于零,其中所述第一加密出价金额为所述竞拍者的初始账户的公钥对所述出价金额进行加密得到的,所述第二加密出价金额为所述竞拍者的目标账户的公钥对所述出价金额进行加密得到的;

若验证通过,则分别对从所述竞拍者的初始账户的金额和所述竞拍者的目标账户的金额进行更新。

优选的,所述根据所述竞拍者发送的锁定请求,将所述竞拍者的目标账户锁定至所述拍卖合约,包括:

对所述锁定请求中的锁定签名进行验证;

若验证通过,则根据所述锁定请求中的合约地址,将所述竞拍者的目标账户锁定至所述拍卖合约。

优选的,所述将所述中标价从所述中标者的目标账户转账至拍卖者的账户,解除所述中标者的目标账户与所述拍卖合约之间的锁定关系,包括:

根据中标者发送的第二转账请求,从所述中标者的目标账户提取所述中标价作为在途资金;

解除所述中标者的目标账户与所述拍卖合约之间的锁定关系;

将所述在途资金转账至拍卖者的账户。

第二方面,本申请提供了一种基于区块链技术的维克里拍卖装置,应用于部署有拍卖合约的区块链节点,该装置包括:

转账模块:用于根据竞拍者发送的携带出价金额的第一转账请求,将所述出价金额从所述竞拍者的初始账户转账至所述竞拍者的目标账户;

锁定模块:用于根据所述竞拍者发送的锁定请求,将所述竞拍者的目标账户锁定至所述拍卖合约;

揭示模块:用于根据所述竞拍者发送的携带出价金额和零知识证明的出价揭示请求,对所述出价金额和所述零知识证明进行验证,若验证通过,则确定全部竞拍者的出价金额中的次高出价以作为中标价,确定全部竞拍者中最高出价的竞拍者以作为中标者,解除未中标者的目标账户与所述拍卖合约的锁定关系;

中标模块:用于将所述中标价从所述中标者的目标账户转账至拍卖者的账户,解除所述中标者的目标账户与所述拍卖合约之间的锁定关系。

第三方面,本申请提供了一种区块链节点,包括:

存储器:用于存储计算机程序;

处理器:用于执行所述计算机程序,以实现如上所述的基于区块链技术的维克里拍卖方法。

第四方面,本申请提供了一种基于区块链技术的维克里拍卖系统,包括:竞拍者、拍卖者和部署有拍卖合约的区块链节点;

其中,所述竞拍者用于向所述区块链节点发送携带出价金额的第一转账请求,以及向所述区块链节点发送锁定请求;还用于向所述区块链节点发送携带所述出价金额和零知识证明的出价揭示请求;

所述区块链节点用于根据所述第一转账请求,将所述出价金额从所述竞拍者的初始账户转账至所述竞拍者的目标账户;根据所述锁定请求,将所述竞拍者的目标账户锁定至所述拍卖合约;根据所述出价揭示请求,对所述出价金额和所述零知识证明进行验证,若验证通过,则确定全部竞拍者的出价金额中的次高出价以作为中标价,确定全部竞拍者中最高出价的竞拍者以作为中标者,解除未中标者的目标账户与所述拍卖合约的锁定关系;

所述区块链节点还用于将所述中标价从所述中标者的目标账户转账至拍卖者的账户,解除所述中标者的目标账户与所述拍卖合约之间的锁定关系。

综上,本申请提供了一种基于区块链技术的维克里拍卖方法,该方法应用于部署有拍卖合约的区块链节点,包括:根据竞拍者发送的携带出价金额的第一转账请求,将出价金额从竞拍者的初始账户转账至竞拍者的目标账户;根据竞拍者发送的锁定请求,将竞拍者的目标账户锁定至拍卖合约;根据竞拍者发送的携带出价金额和零知识证明的出价揭示请求,对出价金额和零知识证明进行验证,若验证通过,则确定全部竞拍者的出价金额中的次高出价以作为中标价,确定全部竞拍者中最高出价的竞拍者以作为中标者,解除未中标者的目标账户与拍卖合约的锁定关系;将中标价从中标者的目标账户转账至拍卖者的账户,解除中标者的目标账户与拍卖合约之间的锁定关系。可见,该方法基于区块链技术实现了维克里拍卖的基本功能,相较于线下拍卖的方式,能够显著提升拍卖效率,节省拍卖成本,保证拍卖过程的可靠性。

此外,本申请还提供了一种基于区块链技术的维克里拍卖装置、系统及区块链节点,其技术效果与上述方法的技术效果相对应,这里不再赘述。

附图说明

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

图1为本申请提供的基于区块链技术的维克里拍卖方法实施例一的流程图;

图2为本申请提供的基于区块链技术的维克里拍卖方法实施例二的过程示意图;

图3为本申请提供的基于区块链技术的维克里拍卖装置实施例的功能框图;

图4为本申请提供的基于区块链技术的维克里拍卖系统实施例的架构图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的核心是提供一种基于区块链技术的维克里拍卖方法、装置、系统及区块链节点,用以克服线下拍卖导致的效率低,成本高等缺陷。

下面对本申请提供的基于区块链技术的维克里拍卖方法实施例一进行介绍,参见图1,实施例一应用于部署有拍卖合约的区块链节点,包括以下步骤:

s11、根据竞拍者发送的携带出价金额的第一转账请求,将出价金额从竞拍者的初始账户转账至竞拍者的目标账户;

s12、根据竞拍者发送的锁定请求,将竞拍者的目标账户锁定至拍卖合约;

s13、根据竞拍者发送的携带出价金额和零知识证明的出价揭示请求,对出价金额和零知识证明进行验证,若验证通过,则确定全部竞拍者的出价金额中的次高出价以作为中标价,确定全部竞拍者中最高出价的竞拍者以作为中标者,解除未中标者的目标账户与拍卖合约的锁定关系;

s14、将中标价从所述中标者的目标账户转账至拍卖者的账户,解除中标者的目标账户与拍卖合约之间的锁定关系。

为保证方案的正确实施,本实施例首先在区块链节点上部署拍卖合约(anctioncontract,auc),该拍卖合约是一种区块链智能合约,用于完成整个拍卖过程。本实施例中,整个拍卖过程主要包括以下三个阶段:

竞价阶段:为了在竞价阶段出价,竞拍者b首先将出价金额b从他的初始帐户转账至目标帐户(目标账户在实际应用中可以为临时新建的账户),然后将目标账户锁定至拍卖合约。这一阶段,出价金额b为加密形式(通过elgamal算法加密出价金额b的方式实现),出价金额b的具体数值被完全隐藏,竞拍者b也没必要存入额外的金额来混淆他的出价金额。

揭示阶段:竞拍者b通过向区块链节点发送出价金额b和零知识证明(具体可以为burn证明,即燃烧证明)来请求揭示他的出价金额。区块链节点通过运行拍卖合约,可以验证零知识证明,并验证出价金额b是否正确。根据拍卖合约,有以下三种情形:

情形1、如果竞拍者b没有请求揭示出价或揭示的出价金额不正确(如请求揭示出价时发送的出价金额与实际存入目标账户的出价金额不等),则区块链节点不执行任何操作,竞拍者b的目标账户保持锁定。实际应用中,无论结果如何,竞拍者b都有强烈的动机公开自己的出价金额。

情形2、如果竞拍者b的出价金额b低于已揭示的出价金额中的最高出价,那么区块链节点解锁竞拍者b的目标账户。

情形3、如果竞拍者b的出价金额b是迄今为止最高的,那么区块链节点将解锁之前的最高出价的竞拍者的目标账户,并存储其出价金额。

中标阶段:最终,全部竞拍者中最高出价的竞拍者即为中标者,全部竞拍者的出价金额中次高出价为中标价。对于中标者,区块链节点只取次高出价,记为b’,将次高出价转账至拍卖者的账户,并解锁中标者的目标账户,相当于将最高出价与次高出价之间的差额退还给中标者。

综上,本实施例提供的基于区块链技术的维克里拍卖方法,应用于部署有拍卖合约的区块链节点,该方法基于区块链技术实现了维克里拍卖的基本功能,能够显著提升拍卖效率,节省拍卖成本,保证拍卖过程的可靠性。

下面开始详细介绍本申请提供的基于区块链技术的维克里拍卖方法实施例二,实施例二基于前述实施例一实现,并在实施例一的基础上进行了一定程度上的拓展。

在基于区块链技术实现维克里拍卖时,由于区块链的公开透明的特性,如何保证竞拍者的匿名性以及竞价的隐私性是一个公开的难题。针对该问题,本实施例在实施例一的基础上,第一,将竞拍者的身份由公私钥代替,即隐藏了竞拍者的真实身份,在竞拍过程中保护了竞拍者的匿名性;第二,使用elgamal算法对出价金额b进行加密,从而实现了竞价的隐藏,在竞拍过程中保护了竞价的隐私性。

本实施例的实施过程如图2所示,主要包括四个阶段:准备阶段,竞价阶段,揭示阶段和中标阶段。下面分别对这四个阶段的实施过程进行介绍。

准备阶段:

s21、竞拍者和拍卖者分别运行createaddress算法,创建公钥私钥。

s22、竞拍者和拍卖者分别运行createfundtx算法,创建账户。为方便描述,本实施例将这里创建的竞拍者的账户称为竞拍者的初始账户。

s23、在区块链节点上,拍卖合约调用fund算法,对竞拍者的初始账户进行充值,使在初始账户的在途资金增加m。

竞价阶段:

s31、竞拍者运行createaddress算法和createfundtx算法,创建新的公钥私钥和一个新账户,本实施例将这里创建的竞拍者的账户称为竞拍者的目标账户。

s32、竞拍者运行createtransfertx算法,请求区块链节点提取出价金额b作为目标账户的在途资金。

s33、区块链节点上,拍卖合约调用tansfer算法,将在途资金m转入初始账户,并完成出价金额b的提取,将其作为目标账户的在途资金。

s34、竞拍者运行createlocktx算法,请求区块链节点将目标账户锁定到拍卖合约。

s35、区块链节点上,拍卖合约调用lock算法,将在途资金b转入目标账户,并完成目标账户的锁定操作。

揭示阶段:

s41、竞拍者生成burn证明,向区块链节点发送出价金额b和burn证明来请求区块链节点揭示出价。

s42、区块链节点上,拍卖合约验证burn证明。

s43、验证通过后,拍卖合约按照揭示阶段的三种情况分别进行处理,其中解锁竞拍者的账户可通过运行unlock算法完成。

中标阶段:

s51、中标者运行createtransfertx算法,请求区块链节点提取次高出价b′作为在途资金。

s52、区块链节点上,拍卖合约调用transfer算法,完成次高出价b′的提取,将其作为拍卖者账户的在途资金。

s53、区块链节点上,拍卖合约调用unlock算法,解锁中标者账户,相当于将差额退还给中标者。

s54、拍卖者运行createburntx算法,请求区块链节点兑出次高出价b′。

s55、区块链节点上,拍卖合约调用burn算法,将在途资金b′转入拍卖者账户,并完成次高出价b′的兑出操作。

本实施例的实施过程中,主要涉及到createaddress算法,createfundtx算法,fund算法,createtransfertx算法,tansfer算法,createlocktx算法,lock算法,unlock算法,createburntx算法和burn算法,下面分别对这些算法进行介绍:

createaddress算法:

功能:生成公钥私钥。

输入:安全参数1λ

输出:x∈zp,y∈g。

算法步骤:随机生成私钥x←zp和公钥y=gx

createfundtx算法:

功能:创建账户。

输入:无。

输出:账户tx_fund。

算法步骤:生成账户tx_fund。

fund算法:

功能:对账户进行充值,本实施例主要用于对竞拍者的初始账户进行充值。

输入:公钥y。

算法步骤:

s61、读取充值金额m,m=msg.value。

s62、判断是否满足以下要求:

(1)账户的初始金额与本次充值金额的和不超过预设的账户最大金额,m+btotal≤max;

(2)检查账户是否锁定,本步骤希望账户没有锁定或锁定在msg.sender的地址(即该账户自身的地址)。若账户没有锁定或锁定在msg.sender的地址,输出1,checklock(y,msg.sender)=1。

s63、判断y的账户是否存在。

若不存在该账户即acc[y]=⊥,则执行以下操作:

(1)新建y的账户,并将账户的初始金额为设置为0,acc[y]=(1,1),(1,1)为0的加密形式;

(2)设置y的在途资金(pendingtransfer)为m,ptransfers[y]=(gm,1),(gm,1)是m的加密形式;

(3)设置y账户的状态未锁定,lock[y]=⊥;

(4)将计数器设置为0,ctr[y]=0,用于防止重放攻击;

如果存在该账户,则执行以下操作:设置y的在途资金为m,ptransfers[y]=(gm,1)。

s64、完成金额m的兑入,btotal=btotal+m。

createtransfertx算法:

功能:竞拍者生成转账请求,请求将金额从发送方账户转账至接收方账户。本实施例有两处用到该算法:(1)竞价阶段,竞拍者请求从初始账户提取出价金额作为目标账户的在途资金,(2)中标阶段,竞拍者请求从目标账户提取中标价作为拍卖者账户的在途资金。

输入:发送方账户公钥y,接收方账户公钥发送方账户私钥x,发送方账户余额bfrom,转账金额b。

输出:

算法步骤:

s71、模拟将发送方账户y的在途资金转入y的账户:

s72、读取发送方账户y的金额(cl,cr)=acc[y],(cl,cr)为金额的加密形式。

s73、选择随机数r做加密r←zp,计算c=gbyr和d=gr,得到用发送方账户公钥加密金额b得到的(c,d),以及用接收方公钥加密金额b得到的

s74、计算w=(x,b,bfrom,r),其中私钥x,转账金额b,账户余额bfrom,随机数r。

s75、成零知识证明,如下:

证明用发送方账户的公钥加密金额b与用接收方账户公钥加密金额b相等,转账金额b大于零,发送方账户余额bfrom大于零。

s76、使用发送方账户私钥x做签名,如下:

transfer算法:

功能:区块链节点运行拍卖合约,执行将金额从发送方账户转账至接收方账户的操作。本实施例有两处用到该算法:(1)竞价阶段,从初始账户提取出价金额作为在途资金;(2)中标阶段,从目标账户提取中标价作为在途资金。

输入:发送方账户公钥y,接收方账户公钥用发送方账户公钥加密金额b得到的(c,d),用接收方公钥加密金额b得到的零知识证明πtransfer,签名σtransfer。

算法步骤:

s81、将y的在途资金转入y的账户:

s82、将y的在途资金设置为0:

ptransfers[y]=(1,1)。

s83、读取账户y的金额,(cl,cr)=acc[y],(cl,cr)为账户金额的加密形式。

s84、判断是否满足以下要求:

(1)检查账户是否锁定,本步骤希望账户没有锁定或锁定在msg.sender的地址;

(2)验证零知识证明和签名。

零知识证明验证过程:

签名验证过程:

s85、更新账户y的金额,使其减少b:

s86、设置接收方账户的在途资金增加b:

设置计数器加一:

ctr[y]=ctr[y]+1。

createlocktx算法:

功能:竞拍者生成锁定请求,请求将目标账户锁定至拍卖合约。

输入:私钥x,合约地址addr。

输出:txlock=(y,addr,σlock)。

算法步骤:

s91、通过签名将y的账户锁定到地址addr,得到签名:

σlock=sign(x,(addr,ctr[y]))。

s92、计算公钥:

y=gx

lock算法:

功能:区块链节点运行拍卖合约,将新账户锁定至拍卖合约。

输入:公钥y,合约地址addr,签名σlock。

算法步骤:

s101、将y的在途资金转入y的账户(目标账户):

s102、将y的在途资金设置为0:

ptransfers[y]=(1,1)。

s103、判断是否满足以下要求:

(1)检查账户是否锁定,本步骤希望账户没有锁定或锁定在msg.sender的地址。

(2)验证签名:

verifynizk(y,(addr,ctr[y]),σlock)=1。

s104、将y的账户锁定到地址addr,lock[y]=addr。

s105、设置计数器加1,ctr[y]=ctr[y]+1。

unlock算法:

功能:区块链节点运行拍卖合约,解锁目标账户和拍卖合约。

输入:公钥y。

算法步骤:

s121、判断是否满足以下要求:检查账户是否锁定,本步骤希望账户没有锁定或锁定在msg.sender的地址。

s122、置空,解锁,lock[y]=⊥。

createburntx算法:

功能:拍卖者生成提取请求,请求提取在途资金。

输入:私钥x。

输出:txburn=(y,b′,πburn,σburn)。

算法步骤:

s131、读取私钥x对应的账户的金额b′,b′=readbalance(x)。

s132、计算w=(x),计算公钥y=gx

s133、读取账户y中的金额(cl,cr)=acc[y]。

s134、产生零知识证明,证明拥有公钥y对应的私钥x:

πburn=prove(stb′urn[y,cl,cr,b′,g],w)。

s135、使用私钥x进行签名:

σburn=sign(x,(b′,πburn,ctr[y]))。

burn算法:

功能:区块链节点运行拍卖合约,执行提取在途资金至拍卖者账户的操作。

输入:拍卖者的公钥y,中标价b′,零知识证明πburn,签名σburn。

算法步骤:

s141、将y的在途资金转入y的账户(拍卖者账户):

s142、将y的在途资金设置为0:

ptransfers[y]=(1,1)。

s143、读取账户y中的金额(cl,cr)=acc[y]。

s144、判断是否满足以下要求:(1)检查账户是否锁定,本步骤希望账户没有锁定或锁定在msg.sender的地址;(2)验证零知识证明和签名。

零知识证明验证过程如下:

verifynizk(stburn[y,cl,cr,b′,g]πburn)=1。

签名验证过程如下:

verifynizk(y,(b′,πburn,ctr[y]),σburn)=1。

s145、y的账户减掉b′:

s146、计数器加1:

ctr[y]=ctr[y]+1。

s147、总zth减少b′:btotal=btotal-b′。

s148、消息发送者转移资金b′,完成资金的兑出:

msg.sender.transfer(b′)。

除了上述算法之外,还有一个内部方法checklock,供fund算法,tansfer算法,lock算法,unlock算法,burn算法调用;以及一个内部方法readbalance,供createburntx算法调用。具体如下:

checklock方法:

功能:锁定状态检查。

输入:公钥y,合约地址addr。

算法步骤:如果账户y没有锁定或锁定在addr,输出1,否则输出0。

readbalance方法:

输入:公钥y。

输出:金额b。

算法步骤:

s151、计算公钥y=gx

s152、模拟将在途资金转入y的账户:

s153、读取账户y中的金额,(cl,cr)=acc[y]。

s154、读取余额b,

下面对本申请实施例提供的基于区块链技术的维克里拍卖装置实施例进行介绍,下文描述的基于区块链技术的维克里拍卖装置与上文描述的基于区块链技术的维克里拍卖方法可相互对应参照。

如图3所示,本实施例的基于区块链技术的维克里拍卖装置,应用于部署有拍卖合约的区块链节点,该装置包括:

转账模块31:用于根据竞拍者发送的携带出价金额的第一转账请求,将所述出价金额从所述竞拍者的初始账户转账至所述竞拍者的目标账户;

锁定模块32:用于根据所述竞拍者发送的锁定请求,将所述竞拍者的目标账户锁定至所述拍卖合约;

揭示模块33:用于根据所述竞拍者发送的携带出价金额和零知识证明的出价揭示请求,对所述出价金额和所述零知识证明进行验证,若验证通过,则确定全部竞拍者的出价金额中的次高出价以作为中标价,确定全部竞拍者中最高出价的竞拍者以作为中标者,解除未中标者的目标账户与所述拍卖合约的锁定关系;

中标模块34:用于将所述中标价从所述中标者的目标账户转账至拍卖者的账户,解除所述中标者的目标账户与所述拍卖合约之间的锁定关系。

本实施例的基于区块链技术的维克里拍卖装置用于实现前述的基于区块链技术的维克里拍卖方法,因此该装置的具体实施方式可见前文中的基于区块链技术的维克里拍卖方法的实施例部分,例如,转账模块31,锁定模块32,揭示模块33,中标模块34,分别用于实现上述基于区块链技术的维克里拍卖方法中步骤s11,s12,s13,s14。所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。

另外,由于本实施例的基于区块链技术的维克里拍卖装置用于实现前述的基于区块链技术的维克里拍卖方法,因此其作用与上述方法的作用相对应,这里不再赘述。

此外,本申请还提供了一种区块链节点,包括:

存储器:用于存储计算机程序;

处理器:用于执行所述计算机程序,以实现如上文所述的基于区块链技术的维克里拍卖方法。

最后,本申请提供了一种基于区块链技术的维克里拍卖系统,如图4所示,包括:竞拍者、拍卖者和部署有拍卖合约的区块链节点;

其中,所述竞拍者用于向所述区块链节点发送携带出价金额的第一转账请求,以及向所述区块链节点发送锁定请求;还用于向所述区块链节点发送携带所述出价金额和零知识证明的出价揭示请求;

所述区块链节点用于根据所述第一转账请求,将所述出价金额从所述竞拍者的初始账户转账至所述竞拍者的目标账户;根据所述锁定请求,将所述竞拍者的目标账户锁定至所述拍卖合约;根据所述出价揭示请求,对所述出价金额和所述零知识证明进行验证,若验证通过,则确定全部竞拍者的出价金额中的次高出价以作为中标价,确定全部竞拍者中最高出价的竞拍者以作为中标者,解除未中标者的目标账户与所述拍卖合约的锁定关系;

所述区块链节点还用于将所述中标价从所述中标者的目标账户转账至拍卖者的账户,解除所述中标者的目标账户与所述拍卖合约之间的锁定关系。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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