CN108494558A - 用于实现公平交换的方法和*** - Google Patents

用于实现公平交换的方法和*** Download PDF

Info

Publication number
CN108494558A
CN108494558A CN201810149102.8A CN201810149102A CN108494558A CN 108494558 A CN108494558 A CN 108494558A CN 201810149102 A CN201810149102 A CN 201810149102A CN 108494558 A CN108494558 A CN 108494558A
Authority
CN
China
Prior art keywords
information
share
user
sent
catenary system
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.)
Granted
Application number
CN201810149102.8A
Other languages
English (en)
Other versions
CN108494558B (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.)
Close Bill Co Ltd
Original Assignee
Close Bill Co Ltd
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 Close Bill Co Ltd filed Critical Close Bill Co Ltd
Priority to CN201810149102.8A priority Critical patent/CN108494558B/zh
Publication of CN108494558A publication Critical patent/CN108494558A/zh
Application granted granted Critical
Publication of CN108494558B publication Critical patent/CN108494558B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了用于实现公平交换的方法和***。该方法用于第一用户与第二用户交换第一信息和第二信息,其中第一用户拥有第一信息,而第二用户拥有第二信息,并且在用户端处该方法包括:将第一信息或第二信息分割成m个份额使得基于至少k个份额能够重构第一信息或第二信息,其中k<m;将第一信息或第二信息的份额分别发送给区块链***的若干节点,其中向每个节点发送的第一信息的份额数和/或第二信息的份额数均小于k;以及在从若干节点接收到的第二信息或第一信息的份额总数为至少k个的情况下基于至少k个份额重构第二信息或第一信息。采用本公开内容的技术方案可以在没有TTP参与的情况下实现公平交换。

Description

用于实现公平交换的方法和***
技术领域
本发明涉及区块链领域,尤其涉及用于实现公平交换的方法和***。
背景技术
随着电子信息技术和网络技术的飞速发展,人们越来越多地通过网络来传递信息、交换信息等。通过网络交换信息与面对面交换信息不同,面对面交换信息时双方可以同时进行,不会出现一方将信息给另一方后,而却得不到另一方需给他的信息的情况。然而在通过网络交换信息时这种情况却时有发生,很难保证交换信息的双方真正地实时同步。例如,用户A拥有信息X,用户B拥有信息Y,并且用户A和用户B已商定好按照一定程序交换信息X和Y。在用户A将信息X发送给用户B之后,虽然存在已经商定好的交换信息X和Y的程序,但是如果用户B不诚信,不按照商定的程序将信息Y发送给用户A的话,用户A就得不到信息Y,但是他的信息X已经发送给用户B了。此时却没有什么机制可以迫使用户B按照商定的程序进行操作,从而有失交换公平。交换公平也可称为公平交换。
目前公平交换大多都是通过得到双方或者多方的信任的可信第三方(TTP,Trusted Third Party)来实现的,其中TTP是通过法律、行政、商业等等途径得到可信资质,接受有关国家管理部门的监督,为各种***提供维护运行服务的机构。例如,用户A和用户B首先签发一个关于他们意图交换信息X和Y的证书并将该证书发送给TTP。然后用户A和用户B分别将信息X和信息Y发送给TTP。TTP在接收到证书以及信息X和信息Y之后,将信息X发送给用户B并将信息Y发送给用户A。如果在规定的时间或者情形下TTP未接收到信息X和信息Y中的任何一个,TTP就会将信息X返回给用户A并且将信息Y返回给用户B。这样,要么双方都得到了对方的信息,要么就谁都得不到对方的信息,从而可以实现公平交换。在一些情况下,还赋予TTP核实所接收到的信息X和信息Y是否具有所声称的性质的责任。
有TTP的参与虽然可以实现公平交换,但是在网络交易量较大的情况下,TTP实时参与交易活动很可能造成网络运行的瓶颈,而且还大大影响交易效率。
发明内容
鉴于上述技术问题,本公开内容提出了在没有TTP参与的情况下用于实现公平交换的方法和***。
在本公开内容的一个方面,提供了一种用于实现公平交换的方法,用于第一用户与第二用户交换第一信息和第二信息,其中所述第一用户拥有所述第一信息,而所述第二用户拥有所述第二信息,并且在用户端处该方法包括:将所述第一信息或所述第二信息分割成m个份额使得基于至少k个份额能够重构所述第一信息或所述第二信息,其中k<m;将所述第一信息或所述第二信息的份额分别发送给区块链***的若干节点,其中向每个节点发送的所述第一信息的份额数和/或所述第二信息的份额数均小于k;以及在从所述若干节点接收到的所述第二信息或所述第一信息的份额总数为至少k个的情况下基于所述至少k个份额重构所述第二信息或所述第一信息。
在一些实施方式中,将所述第一信息或所述第二信息的份额分别发送给区块链***的若干节点可以进一步包括将所述第一信息或所述第二信息的一个份额发送给所述区块链***的一个节点。
在一些实施方式中,将所述第一信息或所述第二信息的份额分别发送给区块链***的若干节点可以进一步包括根据所述区块链***的若干节点的各自权重将所述第一信息或所述第二信息的相应份额发送给所述若干节点。
在一些实施方式中,所述用于实现公平交换的方法还可以包括对所述第一信息或所述第二信息的每个份额进行哈希运算并将所得哈希值放置到所述区块链***上。
在一些实施方式中,基于所述至少k个份额重构所述第二信息或所述第一信息可以进一步包括:对接收的所述第二信息或所述第一信息的每个份额进行哈希运算并将所得哈希值与所述区块链***上放置的所述份额的哈希值进行比较;以及在比较结果均相等的情况下基于所述至少k个份额重构所述第二信息或所述第一信息。
在一些实施方式中,所述用于实现公平交换的方法还可以包括用所述第一用户的私钥对所述第一信息的每个份额进行签名或用所述第二用户的私钥对所述第二信息的每个份额进行签名并将所得签名放置到所述区块链***上。
在一些实施方式中,所述若干节点的数目可以至少为2k-1个。
在一些实施方式中,所述若干节点的数目可以至少为3k-2个。
在本公开内容的另一方面,还提供了一种用于实现公平交换的方法,用于第一用户与第二用户交换第一信息和第二信息,其中所述第一用户拥有所述第一信息,而所述第二用户拥有所述第二信息,并且在区块链***的节点处该方法包括:从所述第一用户接收所述第一信息的份额,其中所述第一信息已被分割成m个份额且基于至少k个份额才能够重构所述第一信息,并且其中k<m;从所述第二用户接收所述第二信息的份额,其中所述第二信息已被分割成m个份额且基于至少k个份额才能够重构所述第二信息,并且其中k<m;以及将接收的所述第一信息的份额发送给所述第二用户并且将接收的所述第二信息的份额发送给所述第一用户。
在一些实施方式中,将接收的所述第一信息的份额发送给所述第二用户并且将接收的所述第二信息的份额发送给所述第一用户可以进一步包括:一旦接收到所述第一信息的份额就将所述第一信息的份额发送给所述第二用户并且一旦接收到所述第二信息的份额就将所述第二信息的份额发送给所述第一用户。
在一些实施方式中,将接收的所述第一信息的份额发送给所述第二用户并且将接收的所述第二信息的份额发送给所述第一用户可以进一步包括:在接收到所述第一信息的份额和所述第二信息的份额二者时,向所述区块链***上张贴用所述节点的私钥进行签名的消息,所述消息表明所述节点接收到了所述第一信息的份额和所述第二信息的份额二者;以及在所述消息的数目至少为2k-1个时,将接收的所述第一信息的份额发送给所述第二用户并且将接收的所述第二信息的份额发送给所述第一用户。
在一些实施方式中,在接收到所述第一信息的份额和所述第二信息的份额二者时向所述区块链***上张贴用所述节点的私钥进行签名的消息可以进一步包括:在接收到所述第一信息的份额和所述第二信息的份额二者时,对所述第一信息的份额进行哈希运算并且将所得哈希值与所述区块链***上放置的所述第一信息的份额的哈希值进行比较以及对所述第二信息的份额进行哈希运算并且将所得哈希值与所述区块链***上放置的所述第二信息的份额的哈希值进行比较;以及在比较结果都相等的情况下,向所述区块链***上张贴用所述节点的私钥进行签名的消息。
在一些实施方式中,在接收到所述第一信息的份额和所述第二信息的份额二者时向所述区块链***上张贴用所述节点的私钥进行签名的消息可以进一步包括:在接收到所述第一信息的份额和所述第二信息的份额二者时,基于所述区块链***上的所述第一信息的份额的签名用所述第一用户的公钥对所述第一信息的份额进行验证并且基于所述区块链***上的所述第二信息的份额的签名用所述第二用户的公钥对所述第二信息的份额进行验证;以及在验证通过的情况下,向所述区块链***上张贴用所述节点的私钥进行签名的消息。
在一些实施方式中,所述用于实现公平交换的方法还可以包括在所述消息的数目还未到2k-1个且阈限时间已经到达的情况下,将所述第一信息的份额返回给所述第一用户且将所述第二信息的份额返回给所述第二用户。
在本公开内容的又一方面,还提出了一种用于实现公平交换的***,包括第一用户端、第二用户端和区块链***的若干节点,其中所述第一用户端与所述第二用户端交换第一信息和第二信息,并且其中所述第一用户端可以用于:将所述第一信息分割成m个份额使得基于至少k个份额能够重构所述第一信息,其中k<m;将所述第一信息的份额分别发送给所述若干节点,其中向每个节点发送的所述第一信息的份额数均小于k;以及在从所述若干节点接收到的所述第二信息的份额总数为至少k个的情况下基于所述第二信息的至少k个份额重构所述第二信息。所述第二用户端可以用于:将所述第二信息分割成m个份额使得基于至少k个份额能够重构所述第二信息,其中k<m;将所述第二信息的份额分别发送给所述若干节点,其中向每个节点发送的所述第二信息的份额数均小于k;以及在从所述若干节点接收到的所述第一信息的份额总数为至少k个的情况下基于所述第一信息的至少k个份额重构所述第一信息。所述若干节点可以用于从所述第一用户端接收所述第一信息的份额;从所述第二用户端接收所述第二信息的份额;以及将接收的所述第一信息的份额发送给所述第二用户端并且将接收的所述第二信息的份额发送给所述第一用户端。
在一些实施方式中,将所述第一信息的份额分别发送给所述若干节点可以进一步包括将所述第一信息的一个份额发送给一个节点,并且其中将所述第二信息的份额分别发送给所述若干节点可以进一步包括将所述第二信息的一个份额发送给一个节点。
在一些实施方式中,将所述第一信息的份额分别发送给所述若干节点可以进一步包括根据所述若干节点的各自权重将所述第一信息的相应份额发送给所述若干节点,并且其中将所述第二信息的份额分别发送给所述若干节点可以进一步包括根据所述若干节点的各自权重将所述第二信息的相应份额发送给所述若干节点。
在一些实施方式中,将接收的所述第一信息的份额发送给所述第二用户端并且将接收的所述第二信息的份额发送给所述第一用户端可以进一步包括:一旦接收到所述第一信息的份额就将所述第一信息的份额发送给所述第二用户端并且一旦接收到所述第二信息的份额就将所述第二信息的份额发送给所述第一用户端。
在一些实施方式中,将接收的所述第一信息的份额发送给所述第二用户端并且将接收的所述第二信息的份额发送给所述第一用户端可以进一步包括:在接收到所述第一信息的份额和所述第二信息的份额二者时,向所述区块链***上张贴用所述若干节点的私钥进行签名的消息,所述消息表明所述若干节点接收到了所述第一信息的份额和所述第二信息的份额二者;以及在所述消息的数目至少为2k-1个时,将接收的所述第一信息的份额发送给所述第二用户端并且将接收的所述第二信息的份额发送给所述第一用户端。
在一些实施方式中,所述若干节点还可以用于在所述消息的数目还未到2k-1个且阈限时间已经到达的情况下,将所述第一信息的份额返回给所述第一用户端且将所述第二信息的份额返回给所述第二用户端。
在一些实施方式中,所述第一用户端还可以用于对所述第一信息的每个份额进行哈希运算并将所得哈希值放置到所述区块链***上,并且所述第二用户端还可以用于对所述第二信息的每个份额进行哈希运算并将所得哈希值放置到所述区块链***上。
在一些实施方式中,基于所述第二信息的至少k个份额重构所述第二信息可以进一步包括:对接收的所述第二信息的每个份额进行哈希运算并将所得哈希值与所述区块链***上放置的所述份额的哈希值进行比较;以及在比较结果均相等的情况下基于所述第二信息的至少k个份额重构所述第二信息;并且基于所述第一信息的至少k个份额重构所述第一信息可以进一步包括:对接收的所述第一信息的每个份额进行哈希运算并将所得哈希值与所述区块链***上放置的所述份额的哈希值进行比较;以及在比较结果均相等的情况下基于所述第一信息的至少k个份额重构所述第一信息。
在一些实施方式中,在接收到所述第一信息的份额和所述第二信息的份额二者时向所述区块链***上张贴用所述若干节点的私钥进行签名的消息可以进一步包括:在接收到所述第一信息的份额和所述第二信息的份额二者时,对所述第一信息的份额进行哈希运算并且将所得哈希值与所述区块链***上放置的所述第一信息的份额的哈希值进行比较以及对所述第二信息的份额进行哈希运算并且将所得哈希值与所述区块链***上放置的所述第二信息的份额的哈希值进行比较;以及在比较结果都相等的情况下,向所述区块链***上张贴用所述若干节点的私钥进行签名的消息。
在一些实施方式中,所述第一用户端还可以用于用所述第一用户端的私钥对所述第一信息的每个份额进行签名并将所得签名放置到所述区块链***上,并且所述第二用户端还可以用于用所述第二用户端的私钥对所述第二信息的每个份额进行签名并将所得签名放置到所述区块链***上。
在一些实施方式中,在接收到所述第一信息的份额和所述第二信息的份额二者时向所述区块链***上张贴用所述若干节点的私钥进行签名的消息可以进一步包括:在接收到所述第一信息的份额和所述第二信息的份额二者时,基于所述区块链***上的所述第一信息的份额的签名用所述第一用户端的公钥对所述第一信息的份额进行验证并且基于所述区块链***上的所述第二信息的份额的签名用所述第二用户端的公钥对所述第二信息的份额进行验证;以及在验证通过的情况下,向所述区块链***上张贴用所述若干节点的私钥进行签名的消息。
在一些实施方式中,所述若干节点的数目可以至少为2k-1个。
在一些实施方式中,所述若干节点的数目可以至少为3k-2个。
在本公开内容的再一方面,还提供了一种计算设备,该计算设备包括处理器和存储器,其中所述存储器上存储有计算机程序指令,所述计算机程序指令在由所述处理器执行时实现如上文所述的用于实现公平交换的方法。
在本公开内容的再一方面,还提供了一种机器可读存储介质,其上存储有计算机程序指令,其中所述计算机程序指令在由处理器执行时实现如上文所述的用于实现公平交换的方法。
与现有技术相比,本公开内容的有益效果为:
本公开内容的技术方案首先将要交换的信息(例如第一信息和第二信息)分割成m个份额并且基于其中的至少k个份额能够重构要交换的信息,继而将这m个份额分别发送给区块链***的若干节点,即由这若干个节点共同托管要交换的信息。作为第一用户的用户端在从区块链***的若干节点接收到第二信息的至少k个份额后就可以基于第二信息的这至少k个份额将第二信息重构,而作为第二用户的用户端在从区块链***的若干节点接收到第一信息的至少k个份额后就可以基于第一信息的这至少k个份额将第一信息重构,从而基于区块链***的特性在没有TTP参与的情况下实现了第一用户与第二用户之间对第一信息和第二信息的公平交换。
附图说明
在所附权利要求书中具体阐述了本发明的新颖特征。通过参考对在其中利用到本发明原理的说明性实施方式加以阐述的以下详细描述和附图,将会对本发明的特征和优点获得更好的理解。附图仅用于示出实施方式的目的,而并不应当被认为是对本发明的限制。而且在整个附图中,用相同的附图标记表示相同的元素,在附图中:
图1示出了依据本公开内容一个示例性实施方式的用于实现公平交换的方法在用户端处的流程图;
图2示出了依据本公开内容另一示例性实施方式的用于实现公平交换的方法在用户端处的流程图;
图3示出了依据本公开内容又一示例性实施方式的用于实现公平交换的方法在用户端处的流程图;
图4示出了依据本公开内容一个示例性实施方式的用于实现公平交换的方法在区块链***的节点处的流程图;
图5示出了依据本公开内容示例性实施方式的用于实现公平交换的***的示意图;以及
图6示出了依据本公开内容示例性实施方式的计算设备的示意图。
具体实施方式
下面将参照附图更详细地描述本公开内容的示例性实施方式。虽然附图中显示了本公开内容的示例性实施方式,然而应当理解,可以以各种形式实现本公开内容而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开内容,并且能够将本公开内容的范围完整地传达给本领域技术人员。在以下详细描述中没有任何内容旨在表明任何特定组件、特征或步骤对于本发明是必不可少的。本领域技术人员将会理解,在不脱离本公开内容的范围内各种特征或步骤可以彼此替代或结合。
区块链是将数据以一系列区块的方式按时间顺序相连形成的一种链式数据结构,同时也是以密码学方式保证数据的不可篡改和不可伪造的分布式账本。区块链利用诸如哈希和签名等加密技术以及共识算法建立信任机制,让抵赖、篡改和欺诈行为的成本巨大,保证了数据的不可篡改和不可伪造。区块链***采用的是去中心化的结构,即不存在中央控制机构,存储在区块链***上的信息由区块链***的各个节点共同管理,每个节点都具有一个区块链,所有节点所具有的所有区块链都相同。理论上,这里的任何一个节点都不是可信的,但是整个区块链***却是可信的。
公平交换是假定交换的双方互不信任且可能出现交易的失信或欺诈,其目的是实现交换活动的实时公平性,即要么双方都能够从对方得到需要交换的信息,要么谁都得不到。
图1示出了依据本公开内容一个示例性实施方式的用于实现公平交换的方法在用户端处的流程图,该方法用于第一用户与第二用户交换第一信息和第二信息,其中所述第一用户拥有所述第一信息,而所述第二用户拥有所述第二信息。如图1所示,一种用于实现公平交换的方法可以包括以下步骤:
S101:将所述第一信息或所述第二信息分割成m个份额使得基于至少k个份额能够重构所述第一信息或所述第二信息,其中k<m;
S102:将所述第一信息或所述第二信息的份额分别发送给区块链***的若干节点,其中向每个节点发送的所述第一信息的份额数和/或所述第二信息的份额数均小于k;以及
S103:在从所述若干节点接收到的所述第二信息或所述第一信息的份额总数为至少k个的情况下基于所述至少k个份额重构所述第二信息或所述第一信息。
由上述可知,本用于实现公平交换的方法首先将要交换的信息,例如第一信息和/或第二信息分割成m个份额,并且基于这m个份额中的至少k个份额能够将第一信息和/或第二信息重构,然后将要交换的信息的份额分别发送给区块链***的若干节点,并且向每个节点发送的所述第一信息的份额数和/或所述第二信息的份额数均小于k,也就相当于将要交换的信息由区块链***的这若干个节点共同托管,这若干个节点作为整体相当于一个TTP。继而再由区块链***的若干节点将要交换的信息的份额发送给相应的用户,例如将第一信息的份额发送给第二用户,将第二信息的份额发送给第一用户。作为第一用户的用户端,在接收到第二信息的至少k个份额后就可以基于第二信息的这至少k个份额将第二信息重构,而作为第二用户的用户端在接收到第一信息的至少k个份额后就可以基于第一信息的这至少k个份额将第一信息重构,从而基于区块链***的特性在没有TTP的参与的情况下实现了公平交换。
这里的第一用户和第二用户是指需要进行信息交换的双方,并且
“第一”和“第二”并不表示顺序关系,只是用来对进行信息交换的双方予以区分,并且第一用户和第二用户可以互换使用。这里的第一信息和第二信息是指要交换的信息,并且“第一”和“第二”并不表示顺序关系,只是用来对要交换的信息进行区分,并且第一信息和第二信息可以互换使用。
在一些实施方式中,步骤S101将所述第一信息或所述第二信息分割成m个份额使得基于至少k个份额能够重构所述第一信息或所述第二信息,可以采用门限加密方案来对第一信息和/或第二信息进行分割。例如,要将信息a0分割为m个份额,基于其中的至少k个份额能够重构信息a0,k也可称为阈值。首先生成一个随机的k-1阶多项式:
f(x)=ak-1xk-1+ak-2xk-2+…+a1x+a0,其中系数ak-1,ak-2,…,a1是随机选取的,a0是该信息。接着生成m个份额,分别为第一份额(1,f(1)),第二份额(2,f(2)),…,第m份额(m,f(m))。任何人均可以使用任意k个份额,通过拉格朗日插值公式,重组多项式f(x)。多项式f(x)重组出来后,即可计算信息a0=f(0)。又例如,假定信息a0=10,k=2,将其分割成3个份额,则生成(k-1)=1阶多项式:f(x)=3x+10。计算得到三个份额,即份额1(1,13)、份额2(2,16)和份额3(3,19),换言之将信息a0=10分割成了份额1(1,13)、份额2(2,16)和份额3(3,19),其中任意两个份额都可以重组f(x)。假定现在已经知道了份额1和份额2,则根据份额1和份额2来重组f(x),得到f(x)之后,计算f(0)=3×0+10=10,即重构出了信息a0。对于m和k的取值,可以根据具体应用而定,本领域技术人员应当理解,本发明在此方面并不作出限制,只要m和k为整数且k<m即可。
在一些实施方式中,步骤S102将所述第一信息或所述第二信息的份额分别发送给区块链***的若干节点可以进一步包括将所述第一信息或所述第二信息的一个份额发送给所述区块链***的一个节点,即一个份额由一个节点来托管。在另一些实施方式中,可以将第一信息或第二信息的两个份额发送给区块链***的一个节点,这样一个节点托管两个份额。在又一些实施方式中,步骤S102将所述第一信息或所述第二信息的份额分别发送给区块链***的若干节点可以进一步包括根据所述区块链***的若干节点的权重将所述第一信息或所述第二信息的相应份额发送给所述若干节点,即一个节点可以托管一个或多个份额。每个节点所托管的份额数可以根据节点的权重来确定,节点的权重越大其托管的份额数也就越多。节点的权重可以根据该节点的可信任程度等来确定,例如对可信任程度高的节点可以赋予较大的权重。对于权重的确定以及可信任程度的确定可以采用本领域现在已知或者将来可知的任何方式来实现,本发明在此方面并不作出限制。在一些情况下,可以基于份额创建工作量证明难题,将所创建的工作量证明难题发送给节点,由节点对工作量证明难题进行解算以得出所述份额,节点可以根据自己意愿和能力解算尽可能多的工作量证明难题,但是需保证一个节点能够解算出的份额数要少于k个。例如一个份额为xyz,其中xy构成了有效随机比特,并且x的长度为r,则创建的工作量证明难题为(yz,hash(xyz)),其中hash(xyz)比x长得多,对于节点而言解算该工作量证明难题通常会需要进行2r-1次哈希运算。
图2示出了依据本公开内容另一示例性实施方式的用于实现公平交换的方法在用户端处的流程图,该方法用于第一用户与第二用户交换第一信息和第二信息,其中所述第一用户拥有所述第一信息,而所述第二用户拥有所述第二信息。如图2所示,本用于实现公平交换的方法可以包括以下步骤:
S201:将所述第一信息或所述第二信息分割成m个份额使得基于至少k个份额能够重构所述第一信息或所述第二信息,其中k<m;
S202:将所述第一信息或所述第二信息的份额分别发送给区块链***的若干节点,其中向每个节点发送的所述第一信息的份额数和/或所述第二信息的份额数均小于k;
S203:对所述第一信息或所述第二信息的每个份额进行哈希运算并将所得哈希值放置到所述区块链***上;以及
S204:在从所述若干节点接收到的所述第二信息或所述第一信息的份额总数为至少k个的情况下基于所述至少k个份额重构所述第二信息或所述第一信息。
由上述可知,本用于实现公平交换的方法与图1中所示方法的不同之处在于步骤S203对所述第一信息或所述第二信息的每个份额进行哈希运算并将所得哈希值放置到所述区块链***上。此步骤S203将第一信息或第二信息的每个份额进行哈希运算并将所得哈希值放置到了区块链***上,这样对于区块链***的接收到相应份额的节点而言就可以据此哈希值来验证其所接收到的份额的真实性。例如,第一用户将第一信息的第一份额发送给了区块链***的第一节点,而且还对第一份额进行哈希运算并将所得哈希值放置到了区块链***上。那么第一节点在接收到第一信息的第一份额后,就可以对该第一份额进行哈希运算,然后将所得哈希值与区块链***上放置的该第一份额的哈希值进行比较,如果相等则表明该第一节点所接收到的第一信息的第一份额是真实的。为了简洁起见,图2中所示的与图1中所示步骤相同的步骤不再赘述。
将第一信息和/或第二信息的份额的哈希值放置到区块链***上,不仅有助于区块链***的节点对其所接收到的份额的真实性进行验证,而且也有助于信息交换方对所接收到的份额的真实性进行验证。因此,在一些实施方式中,步骤204中的基于所述至少k个份额重构所述第二信息或所述第一信息可以进一步包括:对接收的所述第二信息或所述第一信息的每个份额进行哈希运算并将所得哈希值与所述区块链***上放置的所述份额的哈希值进行比较;以及在比较结果均相等的情况下基于所述至少k个份额重构所述第二信息或所述第一信息。例如,对于作为第一用户的用户端,在从区块链***的若干节点接收到第二信息的份额之后,可以对第二信息的各份额进行哈希运算,然后将所得哈希值与放置在区块链***上的所述份额的哈希值进行比较来验证第二信息的各份额的真实性;而对于作为第二用户的用户端,在从区块链***的若干节点接收到第一信息的份额之后,可以对第一信息的各份额进行哈希运算,然后将所得哈希值与放置在区块链***上的所述份额的哈希值进行比较来验证第一信息的各份额的真实性。
图3示出了依据本公开内容又一示例性实施方式的用于实现公平交换的方法在用户端处的流程图,该方法用于第一用户与第二用户交换第一信息和第二信息,其中所述第一用户拥有所述第一信息,而所述第二用户拥有所述第二信息。如图3所示,本用于实现公平交换的方法可以包括以下步骤:
S301:将所述第一信息或所述第二信息分割成m个份额使得基于至少k个份额能够重构所述第一信息或所述第二信息,其中k<m;
S302:将所述第一信息或所述第二信息的份额分别发送给区块链***的若干节点,其中向每个节点发送的所述第一信息的份额数和/或所述第二信息的份额数均小于k;
S303:用所述第一用户的私钥对所述第一信息的每个份额进行签名或用所述第二用户的私钥对所述第二信息的每个份额进行签名并将所得签名放置到所述区块链***上;以及
S304:在从所述若干节点接收到的所述第二信息或所述第一信息的份额总数为至少k个的情况下基于所述至少k个份额重构所述第二信息或所述第一信息。
由上述可知,本用于实现公平交换的方法与图2中所示方法的不同之处在于步骤S303用所述第一用户的私钥对所述第一信息的每个份额进行签名或用所述第二用户的私钥对所述第二信息的每个份额进行签名并将所得签名放置到所述区块链***上。此步骤S303是将用第一用户或第二用户的私钥对第一信息或第二信息的份额的签名放置到了区块链***上,这样对于区块链***的接收到相应份额的节点而言就可以据此签名来验证其所接收到的份额的真实性。例如,第一用户将第一信息的第一份额发送给了区块链***的第一节点,而且还用其私钥对第一份额进行了签名并将所得签名放置到了区块链***上。第一节点接收到第一信息的第一份额后,就可以基于该签名用第一用户的公钥来验证该第一节点所接收到的第一信息的第一份额的真实性。为了简洁起见,图3中所示的与图1中所示步骤相同的步骤不再赘述。
将对第一信息或第二信息的份额的签名放置到区块链***上,不仅有助于区块链***的节点对其所接收到的份额的真实性进行验证,而且也有助于信息交换方对所接收到的份额的真实性进行验证。因此,在一些实施方式中,步骤304中的基于所述至少k个份额重构所述第二信息或所述第一信息可以进一步包括:基于用所述第一用户的私钥对所述第一信息的份额的签名,用所述第一用户的公钥对所述第一信息的份额进行验证,或者基于用所述第二用户的私钥对所述第二信息的份额的签名,用所述第二用户的公钥对所述第二信息的份额进行验证;以及在验证通过的情况下基于所述至少k个份额重构所述第二信息或所述第一信息。例如,对于作为第一用户的用户端,在从区块链***的若干节点接收到第二信息的份额之后,可以对第二信息的各份额进行哈希运算,并且用第二用户的公钥对区块链***上放置的各份额的签名进行解密,继而将其计算所得的哈希值与解密出来的值进行比较,如果相等,则表明其从区块链***的节点接收到的第二信息的份额是真实的;而对于作为第二用户的用户端,在从区块链***的若干节点接收到第一信息的份额之后,可以对第一信息的各份额进行哈希运算,并且用第一用户的公钥对区块链***上放置的各份额的签名进行解密,继而将其计算所得的哈希值与解密出来的值进行比较,如果相等,则表明其从区块链***的节点接收到的第一信息的份额是真实的。
在一些实施方式中,所述若干节点的数目可以至少为2k-1个。由上文可知,基于第一信息或第二信息的至少k个份额才能够将第一信息或第二信息重构,因此,要重构第一信息或第二信息必须能够保证得到第一信息或第二信息的至少k个有效的份额,因而也就需要区块链***中至少存在k个可信任的节点。由区块链的性质可知,区块链***的节点中不可信任的节点数应少于一半,因而至少需要2k-1个节点参与到第一信息和/或第二信息的份额的托管中来。在另一些实施方式中,所述若干节点的数目可以至少为3k-2个,如果有k-1的节点不将其接收到的份额发布出来的话。
图4示出了依据本公开内容一个示例性实施方式的用于实现公平交换的方法在区块链***的节点处的流程图,该方法用于第一用户与第二用户交换第一信息和第二信息,其中所述第一用户拥有所述第一信息,而所述第二用户拥有所述第二信息。如图4所示,本用于实现公平交换的方法可以包括以下步骤:
S401:从所述第一用户接收所述第一信息的份额,其中所述第一信息已被分割成m个份额且基于至少k个份额才能够重构所述第一信息,并且其中k<m;
S402:从所述第二用户接收所述第二信息的份额,其中所述第二信息已被分割成m个份额且基于至少k个份额才能够重构所述第二信息,并且其中k<m;以及
S403:将接收的所述第一信息的份额发送给所述第二用户并且将接收的所述第二信息的份额发送给所述第一用户。
由上述可知,本公开内容的技术方案是借助于区块链***的若干节点,第一用户将第一信息的份额发送给区块链***的若干节点,第二用户将第二信息的份额发送给区块链***的若干节点,再由区块链***的若干节点将第二信息的份额发送给第一用户并且将第一信息的份额发送给第二用户。在本方法中,虽然没有TTP的参与,但是这若干节点作为整体起到了TTP的作用。此外,每个节点接收到的第一信息的份额数和/或第二信息的份额数均小于k,从而可以保证任何节点都不能够将第一信息和/或第二信息重构,即得不到第一信息和/或第二信息。这里的第一用户和第二用户是指需要进行信息交换的双方,并且“第一”和“第二”并不表示顺序关系,只是用来对进行信息交换的双方予以区分,并且第一用户和第二用户可以互换使用。这里的第一信息和第二信息是指要交换的信息,并且“第一”和“第二”并不表示顺序关系,只是用来对要交换的信息进行区分,并且第一信息和第二信息可以互换使用。
在一些实施方式中,步骤S403将接收的所述第一信息的份额发送给所述第二用户并且将接收的所述第二信息的份额发送给所述第一用户可以进一步包括:一旦接收到所述第一信息的份额就将所述第一信息的份额发送给所述第二用户并且一旦接收到所述第二信息的份额就将所述第二信息的份额发送给所述第一用户,也就是说区块链***的节点在接收到第一信息和/或第二信息的份额时就将它们分别发送给第二用户和/或第一用户。在另一些实施方式中,步骤S403将接收的所述第一信息的份额发送给所述第二用户并且将接收的所述第二信息的份额发送给所述第一用户可以进一步包括:在接收到所述第一信息的份额和所述第二信息的份额二者时,向所述区块链***上张贴用所述节点的私钥进行签名的消息,所述消息表明所述节点接收到了所述第一信息的份额和所述第二信息的份额二者;以及在所述消息的数目至少为2k-1个时,将接收的所述第一信息的份额发送给所述第二用户并且将接收的所述第二信息的份额发送给所述第一用户。在此情况下,区块链***的节点在接收到第一信息和/或第二信息的份额之后并不立即发送给第二用户和/或第一用户,而是向区块链***上放置一条用其私钥进行签名的消息,该消息表明该节点既接收到了第一信息的份额又接收到了第二信息的份额,从而可以避免第一用户和/或第二用户不按规定发送其份额。在区块链***上的消息的数目至少为2k-1个时,区块链***的节点就可将各自所接收的第一信息的份额发送给第二用户并且将所接收的第二信息的份额发送给第一用户,从而实现了公平交换。区块链***的接收到份额的节点中不可信任的节点数小于k-1个,因此在区块链***上存在至少2k-1个消息时,就能够保证这2k-1个消息中至少有k个消息是可信任的,也即保证区块链***的节点中至少有k个节点总共会传送第一信息的至少k个有效的份额和第二信息的至少k个有效的份额。此时各节点将其所接收的第一信息的份额发送给第二用户并且将其所接收的第二信息的份额发送给第一用户。因此第一用户可以接收到第二信息的至少k个有效的份额,而第二用户可以接收到第一信息的至少k个有效的份额。第一用户基于第二信息的这至少k个有效的份额就能够将第二信息重构,并且第二用户基于第一信息的这至少k个有效的份额也能够将第一信息重构,从而进一步确保了公平交换的实现。可以理解,对于区块链***的节点用其私钥进行签名的消息,可以采用本领域现在已知或者将来可知的任何形式和/或方式来实现,本发明在此方面并不作出限制。
在一些实施方式中,在接收到所述第一信息的份额和所述第二信息的份额二者时向所述区块链上张贴用所述节点的私钥进行签名的消息可以进一步包括:在接收到所述第一信息的份额和所述第二信息的份额二者时,对所述第一信息的份额进行哈希运算并且将所得哈希值与所述区块链***上放置的所述第一信息的份额的哈希值进行比较以及对所述第二信息的份额进行哈希运算并且将所得哈希值与所述区块链***上放置的所述第二信息的份额的哈希值进行比较;以及在比较结果都相等的情况下,向所述区块链***上张贴用所述节点的私钥进行签名的消息。区块链***的节点在接收到第一信息的份额和/或第二信息的份额的时候,并不知道所接收的第一信息的份额和/或第二信息的份额的真实性,因此需要验证接收的第一信息和/或第二信息的份额的真实性,当然前提是第一用户已对第一信息的份额进行哈希运算并将所得哈希值放置到了区块链***上并且第二用户已对第二信息的份额进行哈希运算并将所得哈希值放置到了区块链***上。因此区块链***的节点就可以对接收的第一信息的份额进行哈希运算并将所得哈希值与区块链***上放置的该份额的哈希值进行比较,如果相等,则表明所接收的第一信息的份额是真实的。区块链***的节点还可以对接收的第二信息的份额进行哈希运算并将所得哈希值与区块链***上放置的该份额的哈希值进行比较,如果相等,则表明所接收的第二信息的份额是真实的。在所接收的第一信息的份额和第二信息的份额都是真实的情况下,区块链***的节点才向区块链***上张贴表明其接收到了第一信息的份额和第二信息的份额二者的消息。
在另一些实施方式中,在接收到所述第一信息的份额和所述第二信息的份额二者时向所述区块链上张贴用所述节点的私钥进行签名的消息可以进一步包括:在接收到所述第一信息的份额和所述第二信息的份额二者时,基于所述区块链***上的所述第一信息的份额的签名用所述第一用户的公钥对所述第一信息的份额进行验证并且基于所述区块链***上的所述第二信息的份额的签名用所述第二用户的公钥对所述第二信息的份额进行验证;以及在验证通过的情况下,向所述区块链***上张贴用所述节点的私钥进行签名的消息。在这些实施方式中,验证接收的第一信息和/或第二信息的份额的真实性,可以通过区块链***上放置的第一信息和/或第二信息的份额的签名来实现,其中第一信息的份额的签名是第一用户使用其私钥对第一信息的份额进行签名而得到并放置到区块链***上的,并且第二信息的份额的签名是第二用户使用其私钥对第二信息的份额进行签名而得到并放置到区块链***上的。区块链***上的节点可以用第一用户的公钥对第一信息的份额的签名进行解密,并且对所接收的第一信息的份额进行哈希运算,继而对解密出来的值与所求得的哈希值进行比较,如果相等则表明节点所接收到的第一信息的份额是真实的。另外,区块链***上的节点还可以用第二用户的公钥对第二信息的份额的签名进行解密,并且对所接收的第二信息的份额进行哈希运算,继而对解密出来的值与所求得的哈希值进行比较,如果相等则表明节点所接收到的第二信息的份额是真实的。在所接收的第一信息的份额和第二信息的份额都是真实的情况下,区块链***的节点才向区块链***上张贴表明其接收到了第一信息的份额和第二信息的份额二者的消息。
由上文可知,在一些情况下,将区块链***上的所述消息的数目至少为2k-1个作为触发区块链***的各节点向第一用户发送第二信息的份额和向第二用户发送第一信息的份额的触发条件,如果消息的数目一直未到2k-1个的话就这样一直等待下去。然而可以理解在实际情况下第一用户和第二用户不可能这样一直等待下去,通常情况下第一用户和第二用户会事先约定某一阈限时间,如果阈限时间到时信息交换还没有完成的话,那么就结束这次信息交换。因此,在一些实施方式中,依据本公开内容示例性实施方式的用于实现公平交换的方法还可以包括在所述消息的数目还未到2k-1个且阈限时间已经到达的情况下,将所述第一信息的份额返回给所述第一用户且将所述第二信息的份额返回给所述第二用户,其中阈限时间是指第一用户与第二用户进行这次信息交换的最长时间。这样在阈限时间到达而触发各节点向第一用户发送第二信息的份额且向第二用户发送第一信息的份额的触发条件尚未满足的情况下,就结束此次信息交换,即将第一信息的份额返回给第一用户且将第二信息的份额返回给第二用户。换言之,各节点将其所接收的份额返回给所述份额的发送者,从而使信息交换结束。我们知道区块链***的各节点所具有的各个区块都具有严格的依次递增的时间戳,因此后形成的区块的时间戳一定大于先前形成的区块的时间戳。区块链***的各节点可以在发现有区块的时间戳大于阈限时间但此时尚未存在至少2k-1个所述消息时将所接收的份额返回给所述份额的发送者。
图5示出了依据本公开内容示例性实施方式的用于实现公平交换的***的示意图。如图5所示,本用于实现公平交换的***可以包括第一用户端501、第二用户端502和区块链***503的若干节点5031,其中所述第一用户端501与所述第二用户端502交换第一信息和第二信息,并且其中所述第一用户端501可以用于:将所述第一信息分割成m个份额使得基于至少k个份额能够重构所述第一信息,其中k<m;将所述第一信息的份额分别发送给所述若干节点5031,其中向每个节点5031发送的所述第一信息的份额数均小于k;以及在从所述若干节点5031接收到的所述第二信息的份额总数为至少k个的情况下基于所述第二信息的至少k个份额重构所述第二信息。第二用户端502可以用于:将所述第二信息分割成m个份额使得基于至少k个份额能够重构所述第二信息,其中k<m;将所述第二信息的份额分别发送给所述若干节点5031,其中向每个节点5031发送的所述第二信息的份额数均小于k;以及在从所述若干节点5031接收到的所述第一信息的份额总数为至少k个的情况下基于所述第一信息的至少k个份额重构所述第一信息。若干节点5031可以用于:从所述第一用户端501接收所述第一信息的份额;从所述第二用户端502接收所述第二信息的份额;以及将接收的所述第一信息的份额发送给所述第二用户端502并且将接收的所述第二信息的份额发送给所述第一用户端501。
由上述可知,本用于实现公平交换的***的第一用户端501将第一信息分割成了m个份额并将这m个份额分别发送给了若干节点5031,第二用户端502将第二信息分割成了m个份额并将这m个份额也分别发送给了若干节点5031,即由这若干节点5031作为整体共同托管第一信息和第二信息。由于第一用户端501向每个节点5031发送的第一信息的份额数均小于k,并且第二用户端502向每个节点5031发送的第二信息的份额数也均小于k,故没有任何一个节点5031能够拥有第一信息和/或第二信息的至少k个份额,因此每个节点5031都不能够获知第一信息和/或第二信息。然后,每个节点5031将所接收的第一信息的份额发送给第二用户端502,并且将所接收的第二信息的份额发送给第一用户端501,这样第二用户端502就可以基于从节点5031接收的第一信息的份额来重构第一信息,而第一用户端501可以基于从节点5031接收的第二信息的份额来重构第二信息,从而在没有TTP的参与的情况下实现了公平交换。这里的第一用户端501和第二用户端502是指需要进行信息交换的双方,并且“第一”和“第二”并不表示顺序关系,只是用来对进行信息交换的双方予以区分,并且第一用户端501和第二用户端502可以互换使用。另外,第一用户端501也可称为第一用户,并且第二用户端502也可称为第二用户。此外,第一用户端501和/或第二用户端502可以是区块链***503的节点,当然也可以独立于区块链***503而存在。这里的第一信息和第二信息是指要交换的信息,并且“第一”和“第二”并不表示顺序关系,只是用来对要交换的信息进行区分,并且第一信息和第二信息可以互换使用。对于区块链***503,可以使用本领域当前已知或未来可知的任何方式来实现,例如比特币(Bitcoin)、以太坊(Ethereum)等等,本发明在此方面并不作出限制。
再如图5所示,区块链***503的各节点5031可以通过网络5032相连接,网络5032例如可以为局域网、城域网、广域网和/或因特网等等。
在一些实施方式中,第一用户端501将第一信息分割成m个份额使得基于至少k个份额能够重构第一信息,并且第二用户端502将第二信息分割成m个份额使得基于至少k个份额能够重构第二信息,对第一信息和/或第二信息的分割可以采用门限加密方案来实现。例如,要将信息a0分割为m个份额,基于其中的至少k个份额能够重构信息a0,k也可称为阈值。首先生成一个随机的k-1阶多项式:f(x)=ak-lxk-1+ak-2xk-2+…+a1x+a0,其中系数ak-1,ak-2,…,a1是随机选取的,a0是该信息。接着生成m个份额,分别为第一份额(1,f(1)),第二份额(2,f(2)),…,第m份额(m,f(m))。任何人均可以使用任意k个份额,通过拉格朗日插值公式,重组多项式f(x)。多项式f(x)重组出来后,即可计算信息a0=f(0)。又例如,假定信息a0=10,k=2,将其分割成3个份额,则生成(k-1)=1阶多项式:f(x)=3x+10。计算得到三个份额,即份额1(1,13)、份额2(2,16)和份额3(3,19),换言之将信息a0=10分割成了份额1(1,13)、份额2(2,16)和份额3(3,19),其中任意两个份额都可以重组f(x)。假定现在已经知道了份额1和份额2,则根据份额1和份额2来重组得到f(x)之后,计算f(0)=3×0+10=10,即重构出了信息a0。对于m和k的取值,可以根据具体应用而定,本领域技术人员应当理解,本发明在此方面并不作出限制,只要m和k为整数且k<m即可。
在一些实施方式中,第一用户端501将所述第一信息的份额分别发送给所述若干节点5031可以进一步包括第一用户端501将所述第一信息的一个份额发送给一个节点5031,并且第二用户端502将所述第二信息的份额分别发送给所述若干节点5031可以进一步包括第二用户端502将所述第二信息的一个份额发送给一个节点5031。例如,第一用户端501将第一信息分割成了m个份额,即份额S11,S12,…,S1i,…,S1m,并且将份额S11发送给了节点N1,将份额S12发送给了节点N2,…,将份额S1i发送给了节点Ni,…,将份额S1m发送给了节点Nm;第二用户端502将第二信息分割成了m个份额,即份额S21,S22,…,S2i,…,S2m,并且将份额S21发送给了节点N1,将份额S22发送给了节点N2,…,将份额S2i发送给了节点Ni,…,将份额S2m发送给了节点Nm。在另一些实施方式中,第一用户端501将所述第一信息的份额分别发送给所述若干节点5031可以进一步包括第一用户端501按照若干节点5031的各自权重将所述第一信息的相应份额发送给若干节点5031,并且第二用户端502将所述第二信息的份额分别发送给若干节点5031可以进一步包括第二用户端502按照若干节点5031的各自权重将所述第二信息的相应份额发送给若干节点5031,即一个节点5031可以托管一个或多个份额。每个节点5031所托管的份额数可以根据节点5031的权重来确定,节点5031的权重越大其托管的份额数也就越多。节点5031的权重可以根据该节点5031的可信任程度等来确定,例如对可信任程度高的节点5031可以赋予较大的权重。对于权重的确定以及可信任程度的确定可以采用本领域现在已知或者将来可知的任何方式来实现,本发明在此方面并不作出限制。在一些情况下,可以基于份额创建工作量证明难题,将所创建的工作量证明难题发送给节点5031,由节点5031对工作量证明难题进行解算以得出所述份额,节点5031可以根据自己意愿和能力解算尽可能多的工作量证明难题,但是需保证节点5031能够解算出的份额数要少于k个。例如一个份额为xyz,其中xy构成了有效随机比特,并且x的长度为r,则创建的工作量证明难题为(yz,hash(xyz)),其中hash(xyz)比x长得多,对于节点5031而言解算该工作量证明难题通常会需要进行2r-1次哈希运算。
对于区块链***503的若干节点5031,在一些实施方式中,可以一旦接收到所述第一信息的份额就将所述第一信息的份额发送给第二用户端502,并且一旦接收到所述第二信息的份额就将所述第二信息的份额发送给第一用户端501。在另一些实施方式中,区块链***503的若干节点5031可以在接收到所述第一信息的份额和所述第二信息的份额二者时,向区块链***503上张贴用所述若干节点5031的私钥进行签名的消息,所述消息表明所述若干节点5031接收到了所述第一信息的份额和所述第二信息的份额二者;以及在所述消息的数目至少为2k-1个时,将接收的所述第一信息的份额发送给第二用户端502并且将接收的所述第二信息的份额发送给第一用户端501。在此情况下,区块链***503的节点5031在接收到第一信息和/或第二信息的份额之后并不立即发送给第二用户端502和/或第一用户端501,而是向区块链***503上放置用其私钥进行签名的消息,该消息表明该节点5031既接收到了第一信息的份额又接收到了第二信息的份额,从而可以避免第一用户端501和/或第二用户端502不按规定发送其份额。在区块链***503上的消息的数目至少为2k-1个时,区块链***503的节点5031就可将各自所接收的第一信息的份额发送给第二用户端502并且将所接收的第二信息的份额发送给第一用户端501,从而实现了公平交换。区块链***503的接收到份额的节点5031中不可信任的节点数小于k-1个,因此在区块链***上存在至少2k-1个消息时,就能够保证这2k-1个消息中至少有k个消息是可信任的,也即保证区块链***503的节点5031中至少有k个节点5031总共会传送第一信息的至少k个有效的份额和第二信息的至少k个有效的份额。此时各节点5031将其所接收的第一信息的份额发送给第二用户端502并且将其所接收的第二信息的份额发送给第一用户端501。因此第一用户端501可以接收到第二信息的至少k个有效的份额,而第二用户端502可以接收到第一信息的至少k个有效的份额。第一用户端501基于第二信息的这至少k个有效的份额就能够将第二信息重构,并且第二用户端502基于第一信息的这至少k个有效的份额也能够将第一信息重构,从而进一步确保了公平交换的实现。可以理解,对于区块链***503的节点5031用其私钥进行签名的消息,可以采用本领域现在已知或者将来可知的任何形式和/或方式来实现,本发明在此方面并不作出限制。
由上文可知,在一些情况下,将区块链***503上的所述消息的数目至少为2k-1个作为触发区块链***503的各节点5031向第一用户端501发送第二信息的份额和向第二用户端502发送第一信息的份额的触发条件,如果消息的数目一直未到2k-1个的话就这样一直等待下去。然而可以理解在实际情况下第一用户端501和第二用户端502不可能这样一直等待下去,通常情况下第一用户端501和第二用户端502会事先约定某一阈限时间,如果阈限时间到达时信息交换还没有完成的话,那么就结束这次信息交换。因此,在一些实施方式中,区块链***503的若干节点5031还可以用于在所述消息的数目还未到2k-1个且阈限时间已经到达的情况下,将所述第一信息的份额返回给第一用户端501且将所述第二信息的份额返回给第二用户端502,其中阈限时间是指第一用户端501与第二用户端502进行这次信息交换的最长时间。这样在阈限时间到达而触发各节点5031向第一用户端发送第二信息的份额且向第二用户端发送第一信息的份额的触发条件尚未满足的情况下,就结束此次信息交换,即将第一信息的份额返回给第一用户端且将第二信息的份额返回给第二用户端。换言之,各节点5031将其所接收的份额返回给所述份额的发送者,从而使信息交换结束。我们知道区块链***503的各节点5031所具有的各个区块都具有严格的依次递增的时间戳,因此后形成的区块的时间戳一定大于先前形成的区块的时间戳。区块链***503的各节点5031可以在发现有区块的时间戳大于阈限时间但此时尚未存在至少2k-1个所述消息时将所接收的份额返回给所述份额的发送者。
在一些实施方式中,第一用户端501还可以用于对所述第一信息的每个份额进行哈希运算并将所得哈希值放置到所述区块链***503上,并且第二用户端502还可以用于对所述第二信息的每个份额进行哈希运算并将所得哈希值放置到所述区块链***503上。第一用户端501和第二用户端502这样做的目的是有助于对其所发送的份额的真实性进行验证。例如,第一用户端501将第一信息的第一份额发送给了区块链***503的节点N1,并且还对第一份额进行哈希运算并将所得哈希值放置到了区块链***503上。那么节点N1在接收到第一信息的第一份额后,就可以对该第一份额进行哈希运算,然后将所得哈希值与区块链***503上放置的该第一份额的哈希值进行比较,如果相等则表明该节点N1所接收到的第一信息的第一份额是真实的。因此,在一些实施方式中,区块链***503的若干节点5031在接收到所述第一信息的份额和所述第二信息的份额二者时,可以对所述第一信息的份额进行哈希运算并且将所得哈希值与区块链***503上放置的所述第一信息的份额的哈希值进行比较以及对所述第二信息的份额进行哈希运算并且将所得哈希值与区块链***503上放置的所述第二信息的份额的哈希值进行比较,并且在比较结果都相等的情况下,向区块链***503上张贴用所述若干节点5031的私钥进行签名的消息。
第一用户端501和第二用户端502分别将第一信息和第二信息的份额的哈希值放置到区块链***503上,不仅有助于区块链***503的节点5031对其所接收到的份额的真实性进行验证,而且也有助于信息交换方(例如,第一用户端501和第二用户端502)对所接收到的份额的真实性进行验证。因此,在一些实施方式中,第一用户端501在从若干节点5031接收到第二信息的份额之后,对接收的第二信息的每个份额进行哈希运算并将所得哈希值与区块链***503上放置的所述份额的哈希值进行比较,并且在比较结果均相等的情况下基于第二信息的至少k个份额重构所述第二信息。第二用户端502在从若干节点5031接收到第一信息的份额之后,对接收的第一信息的每个份额进行哈希运算并将所得哈希值与区块链***503上放置的所述份额的哈希值进行比较,并且在比较结果均相等的情况下基于第一信息的至少k个份额重构所述第一信息。
在另一些实施方式中,第一用户端501还可以用于用第一用户端501的私钥对所述第一信息的每个份额进行签名并将所得签名放置到所述区块链***503上,并且第二用户端502还可以用于用第二用户端502的私钥对所述第二信息的每个份额进行签名并将所得签名放置到所述区块链***503上,从而区块链***503的节点5031就可以据此签名来验证其所接收到的份额的真实性。因此,在一些实施方式中,区块链***503的若干节点5031在接收到所述第一信息的份额和所述第二信息的份额二者时,可以基于所述区块链***503上的所述第一信息的份额的签名用第一用户端501的公钥对所述第一信息的份额进行验证以及基于区块链***503上的所述第二信息的份额的签名用第二用户端502的公钥对第二信息的份额进行验证,并且在验证通过的情况下,向区块链***503上张贴用节点5031的私钥进行签名的消息。例如,第一用户端501将第一信息的第一份额发送给了区块链***503的节点N1,并且还用其私钥对第一份额进行了签名并将所得签名放置到了区块链***503上。节点N1接收到第一信息的第一份额后,就可以基于该签名用第一用户端501的公钥来验证节点N1所接收到的第一信息的第一份额的真实性。
第一用户端501和第二用户端502分别将对第一信息和第二信息的份额的签名放置到区块链***503上,不仅有助于区块链***503的节点5031对其所接收到的份额的真实性进行验证,而且也有助于信息交换方(例如第二用户端502和第一用户端501)对所接收到的份额的真实性进行验证。因此,在一些实施方式中,第一用户端501在从若干节点5031接收到第二信息的份额之后,可以基于用第二用户端502的私钥对第二信息的份额的签名,用第二用户端502的公钥对所述第二信息的份额进行验证;以及在验证通过的情况下基于第二信息的至少k个份额重构所述第二信息。例如,第一用户端501在从区块链***503的若干节点5031接收到第二信息的份额之后,可以对第二信息的各份额进行哈希运算,然后用第二用户端502的公钥对区块链***503上放置的各份额的签名进行解密,继而将其计算所得的哈希值与解密出来的值进行比较,如果相等,则表明其从区块链***503的节点5031接收到的第二信息的份额是真实的。另外,第二用户端502在从若干节点5031接收到第一信息的份额之后,可以基于用第一用户端501的私钥对第一信息的份额的签名,用第一用户端501的公钥对所述第一信息的份额进行验证;以及在验证通过的情况下基于第一信息的至少k个份额重构所述第一信息。例如,第二用户端502在从区块链***503的若干节点5031接收到第一信息的份额之后,可以对第一信息的各份额进行哈希运算,然后用第一用户端501的公钥对区块链***503上放置的各份额的签名进行解密,继而将其计算所得的哈希值与解密出来的值进行比较,如果相等,则表明其从区块链***503的节点5031接收到的第一信息的份额是真实的。
在一些实施方式中,所述若干节点的数目至少为2k-1个。由上文可知,基于第一信息或第二信息的至少k个份额才能够将第一信息或第二信息重构,因此,要重构第一信息或第二信息必须能够保证得到有效的至少k个份额,因而也就需要区块链***503中至少存在k个可信任的节点5031。由区块链的性质可知,区块链***503的节点5031中不可信任的节点数应少于一半,因而至少需要2k-1个节点5031参与到第一信息和/或第二信息的份额的托管中来。在另一些实施方式中,所述若干节点的数目至少为3k-2个。
在本公开内容的一个方面,如图6所示,还提供了一种计算设备600,其包括存储器602和处理器601,其中所述存储器602上存储有计算机程序指令6020,所述计算机程序指令6020在由所述处理器601执行时实现上文描述的用于实现公平交换的方法。由于前面已经详细描述了用于实现公平交换的方法的各技术方案,故在此不再详述。
在本公开内容的另一方面,还提供了一种机器可读存储介质,该机器可读存储介质上存储有计算机程序指令,其中所述计算机程序指令在由处理器执行时实现上文所描述的用于实现公平交换的方法。对于用于实现公平交换的方法的各技术方案,在上文已经进行了详细描述,在此不再赘述。在一些实施方式中,机器可读存储介质是数字处理设备的有形组件。在另一些实施方式中,机器可读存储介质可选地是可从数字处理设备移除的。在一些实施方式中,举非限制性示例而言,机器可读存储介质可以包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、闪速存储器、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、固态存储器、磁碟、光盘、云计算***或服务等。
应当理解,本公开内容的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
在本文所提供的说明书中,说明了大量具体细节。然而,应当理解,本公开内容的实施方式可以在没有这些具体细节的情况下实践。在一些实施方式中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
虽然本文已经示出和描述了本发明的示例性实施方式,但对于本领域技术人员显而易见的是,这样的实施方式只是以示例的方式提供的。本领域技术人员现将会在不偏离本发明的情况下想到许多更改、改变和替代。应当理解,在实践本发明的过程中可以采用对本文所描述的本发明实施方式的各种替代方案。以下权利要求旨在限定本发明的范围,并因此覆盖这些权利要求范围内的方法和结构及其等同项。

Claims (29)

1.一种用于实现公平交换的方法,用于第一用户与第二用户交换第一信息和第二信息,其中所述第一用户拥有所述第一信息,而所述第二用户拥有所述第二信息,并且在用户端处该方法包括:
将所述第一信息或所述第二信息分割成m个份额使得基于至少k个份额能够重构所述第一信息或所述第二信息,其中k<m;
将所述第一信息或所述第二信息的份额分别发送给区块链***的若干节点,其中向每个节点发送的所述第一信息的份额数和/或所述第二信息的份额数均小于k;以及
在从所述若干节点接收到的所述第二信息或所述第一信息的份额总数为至少k个的情况下基于所述至少k个份额重构所述第二信息或所述第一信息。
2.如权利要求1所述的用于实现公平交换的方法,其中将所述第一信息或所述第二信息的份额分别发送给区块链***的若干节点进一步包括将所述第一信息或所述第二信息的一个份额发送给所述区块链***的一个节点。
3.如权利要求1所述的用于实现公平交换的方法,其中将所述第一信息或所述第二信息的份额分别发送给区块链***的若干节点进一步包括根据所述区块链***的若干节点的各自权重将所述第一信息或所述第二信息的相应份额发送给所述若干节点。
4.如权利要求1至3中任一项所述的用于实现公平交换的方法,还包括对所述第一信息或所述第二信息的每个份额进行哈希运算并将所得哈希值放置到所述区块链***上。
5.如权利要求4所述的用于实现公平交换的方法,其中基于所述至少k个份额重构所述第二信息或所述第一信息进一步包括:
对接收的所述第二信息或所述第一信息的每个份额进行哈希运算并将所得哈希值与所述区块链***上放置的所述份额的哈希值进行比较;以及
在比较结果均相等的情况下基于所述至少k个份额重构所述第二信息或所述第一信息。
6.如权利要求1至3中任一项所述的用于实现公平交换的方法,还包括用所述第一用户的私钥对所述第一信息的每个份额进行签名或用所述第二用户的私钥对所述第二信息的每个份额进行签名并将所得签名放置到所述区块链***上。
7.如权利要求1至3中任一项所述的用于实现公平交换的方法,其中所述若干节点的数目至少为2k-1个。
8.如权利要求1至3中任一项所述的用于实现公平交换的方法,其中所述若干节点的数目至少为3k-2个。
9.一种用于实现公平交换的方法,用于第一用户与第二用户交换第一信息和第二信息,其中所述第一用户拥有所述第一信息,而所述第二用户拥有所述第二信息,并且在区块链***的节点处该方法包括:
从所述第一用户接收所述第一信息的份额,其中所述第一信息已被分割成m个份额且基于至少k个份额才能够重构所述第一信息,并且其中k<m;
从所述第二用户接收所述第二信息的份额,其中所述第二信息已被分割成m个份额且基于至少k个份额才能够重构所述第二信息,并且其中k<m;以及
将接收的所述第一信息的份额发送给所述第二用户并且将接收的所述第二信息的份额发送给所述第一用户。
10.如权利要求9所述的用于实现公平交换的方法,其中将接收的所述第一信息的份额发送给所述第二用户并且将接收的所述第二信息的份额发送给所述第一用户进一步包括:一旦接收到所述第一信息的份额就将所述第一信息的份额发送给所述第二用户并且一旦接收到所述第二信息的份额就将所述第二信息的份额发送给所述第一用户。
11.如权利要求9所述的用于实现公平交换的方法,其中将接收的所述第一信息的份额发送给所述第二用户并且将接收的所述第二信息的份额发送给所述第一用户进一步包括:
在接收到所述第一信息的份额和所述第二信息的份额二者时,向所述区块链***上张贴用所述节点的私钥进行签名的消息,所述消息表明所述节点接收到了所述第一信息的份额和所述第二信息的份额二者;以及
在所述消息的数目至少为2k-1个时,将接收的所述第一信息的份额发送给所述第二用户并且将接收的所述第二信息的份额发送给所述第一用户。
12.如权利要求11所述的用于实现公平交换的方法,其中在接收到所述第一信息的份额和所述第二信息的份额二者时向所述区块链***上张贴用所述节点的私钥进行签名的消息进一步包括:
在接收到所述第一信息的份额和所述第二信息的份额二者时,对所述第一信息的份额进行哈希运算并且将所得哈希值与所述区块链***上放置的所述第一信息的份额的哈希值进行比较以及对所述第二信息的份额进行哈希运算并且将所得哈希值与所述区块链***上放置的所述第二信息的份额的哈希值进行比较;以及
在比较结果都相等的情况下,向所述区块链***上张贴用所述节点的私钥进行签名的消息。
13.如权利要求11所述的用于实现公平交换的方法,其中在接收到所述第一信息的份额和所述第二信息的份额二者时向所述区块链***上张贴用所述节点的私钥进行签名的消息进一步包括:
在接收到所述第一信息的份额和所述第二信息的份额二者时,基于所述区块链***上的所述第一信息的份额的签名用所述第一用户的公钥对所述第一信息的份额进行验证并且基于所述区块链***上的所述第二信息的份额的签名用所述第二用户的公钥对所述第二信息的份额进行验证;以及
在验证通过的情况下,向所述区块链***上张贴用所述节点的私钥进行签名的消息。
14.如权利要求11至13中任一项所述的用于实现公平交换的方法,还包括在所述消息的数目还未到2k-1个且阈限时间已经到达的情况下,将所述第一信息的份额返回给所述第一用户且将所述第二信息的份额返回给所述第二用户。
15.一种用于实现公平交换的***,包括第一用户端、第二用户端和区块链***的若干节点,其中所述第一用户端与所述第二用户端交换第一信息和第二信息,并且其中所述第一用户端用于:
将所述第一信息分割成m个份额使得基于至少k个份额能够重构所述第一信息,其中k<m;
将所述第一信息的份额分别发送给所述若干节点,其中向每个节点发送的所述第一信息的份额数均小于k;以及
在从所述若干节点接收到的所述第二信息的份额总数为至少k个的情况下基于所述第二信息的至少k个份额重构所述第二信息;
并且其中所述第二用户端用于:
将所述第二信息分割成m个份额使得基于至少k个份额能够重构所述第二信息,其中k<m;
将所述第二信息的份额分别发送给所述若干节点,其中向每个节点发送的所述第二信息的份额数均小于k;以及
在从所述若干节点接收到的所述第一信息的份额总数为至少k个的情况下基于所述第一信息的至少k个份额重构所述第一信息;
并且其中所述若干节点用于:
从所述第一用户端接收所述第一信息的份额;
从所述第二用户端接收所述第二信息的份额;以及
将接收的所述第一信息的份额发送给所述第二用户端并且将接收的所述第二信息的份额发送给所述第一用户端。
16.如权利要求15所述的用于实现公平交换的***,其中将所述第一信息的份额分别发送给所述若干节点进一步包括将所述第一信息的一个份额发送给一个节点,并且其中将所述第二信息的份额分别发送给所述若干节点进一步包括将所述第二信息的一个份额发送给一个节点。
17.如权利要求15所述的用于实现公平交换的***,其中将所述第一信息的份额分别发送给所述若干节点进一步包括根据所述若干节点的各自权重将所述第一信息的相应份额发送给所述若干节点,并且其中将所述第二信息的份额分别发送给所述若干节点进一步包括根据所述若干节点的各自权重将所述第二信息的相应份额发送给所述若干节点。
18.如权利要求15所述的用于实现公平交换的***,其中将接收的所述第一信息的份额发送给所述第二用户端并且将接收的所述第二信息的份额发送给所述第一用户端进一步包括:一旦接收到所述第一信息的份额就将所述第一信息的份额发送给所述第二用户端并且一旦接收到所述第二信息的份额就将所述第二信息的份额发送给所述第一用户端。
19.如权利要求15所述的用于实现公平交换的***,其中将接收的所述第一信息的份额发送给所述第二用户端并且将接收的所述第二信息的份额发送给所述第一用户端进一步包括:
在接收到所述第一信息的份额和所述第二信息的份额二者时,向所述区块链***上张贴用所述若干节点的私钥进行签名的消息,所述消息表明所述若干节点接收到了所述第一信息的份额和所述第二信息的份额二者;以及
在所述消息的数目至少为2k-1个时,将接收的所述第一信息的份额发送给所述第二用户端并且将接收的所述第二信息的份额发送给所述第一用户端。
20.如权利要求19所述的用于实现公平交换的***,其中所述若干节点还用于在所述消息的数目还未到2k-1个且阈限时间已经到达的情况下,将所述第一信息的份额返回给所述第一用户端且将所述第二信息的份额返回给所述第二用户端。
21.如权利要求15至20中任一项所述的用于实现公平交换的***,其中所述第一用户端还用于对所述第一信息的每个份额进行哈希运算并将所得哈希值放置到所述区块链***上,并且所述第二用户端还用于对所述第二信息的每个份额进行哈希运算并将所得哈希值放置到所述区块链***上。
22.如权利要求21所述的用于实现公平交换的***,其中基于所述第二信息的至少k个份额重构所述第二信息进一步包括:
对接收的所述第二信息的每个份额进行哈希运算并将所得哈希值与所述区块链***上放置的所述份额的哈希值进行比较;以及
在比较结果均相等的情况下基于所述第二信息的至少k个份额重构所述第二信息;
并且基于所述第一信息的至少k个份额重构所述第一信息进一步包括:
对接收的所述第一信息的每个份额进行哈希运算并将所得哈希值与所述区块链***上放置的所述份额的哈希值进行比较;以及
在比较结果均相等的情况下基于所述第一信息的至少k个份额重构所述第一信息。
23.如权利要求21所述的用于实现公平交换的***,其中在接收到所述第一信息的份额和所述第二信息的份额二者时向所述区块链***上张贴用所述若干节点的私钥进行签名的消息进一步包括:
在接收到所述第一信息的份额和所述第二信息的份额二者时,对所述第一信息的份额进行哈希运算并且将所得哈希值与所述区块链***上放置的所述第一信息的份额的哈希值进行比较以及对所述第二信息的份额进行哈希运算并且将所得哈希值与所述区块链***上放置的所述第二信息的份额的哈希值进行比较;以及
在比较结果都相等的情况下,向所述区块链***上张贴用所述若干节点的私钥进行签名的消息。
24.如权利要求15至20中任一项所述的用于实现公平交换的***,其中所述第一用户端还用于用所述第一用户端的私钥对所述第一信息的每个份额进行签名并将所得签名放置到所述区块链***上,并且所述第二用户端还用于用所述第二用户端的私钥对所述第二信息的每个份额进行签名并将所得签名放置到所述区块链***上。
25.如权利要求24所述的用于实现公平交换的***,其中在接收到所述第一信息的份额和所述第二信息的份额二者时向所述区块链***上张贴用所述若干节点的私钥进行签名的消息进一步包括:
在接收到所述第一信息的份额和所述第二信息的份额二者时,基于所述区块链***上的所述第一信息的份额的签名用所述第一用户端的公钥对所述第一信息的份额进行验证并且基于所述区块链***上的所述第二信息的份额的签名用所述第二用户端的公钥对所述第二信息的份额进行验证;以及
在验证通过的情况下,向所述区块链***上张贴用所述若干节点的私钥进行签名的消息。
26.如权利要求15至20中任一项所述的用于实现公平交换的***,其中所述若干节点的数目至少为2k-1个。
27.如权利要求15至20中任一项所述的用于实现公平交换的***,其中所述若干节点的数目至少为3k-2个。
28.一种计算设备,包括处理器和存储器,其中所述存储器上存储有计算机程序指令,所述计算机程序指令在由所述处理器执行时实现如权利要求1至14中任一项所述的用于实现公平交换的方法。
29.一种机器可读存储介质,其上存储有计算机程序指令,其中所述计算机程序指令在由处理器执行时实现如权利要求1至14中任一项所述的用于实现公平交换的方法。
CN201810149102.8A 2018-02-13 2018-02-13 用于实现公平交换的方法和*** Active CN108494558B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810149102.8A CN108494558B (zh) 2018-02-13 2018-02-13 用于实现公平交换的方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810149102.8A CN108494558B (zh) 2018-02-13 2018-02-13 用于实现公平交换的方法和***

Publications (2)

Publication Number Publication Date
CN108494558A true CN108494558A (zh) 2018-09-04
CN108494558B CN108494558B (zh) 2021-04-30

Family

ID=63340476

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810149102.8A Active CN108494558B (zh) 2018-02-13 2018-02-13 用于实现公平交换的方法和***

Country Status (1)

Country Link
CN (1) CN108494558B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109615513A (zh) * 2018-11-02 2019-04-12 克洛斯比尔有限公司 用于区块链内待交换价值或物品公平交换的方法和***
CN109861828A (zh) * 2018-12-11 2019-06-07 全球能源互联网研究院有限公司 一种基于边缘计算的节点接入和节点认证方法
CN111106938A (zh) * 2018-10-26 2020-05-05 阿里巴巴集团控股有限公司 信息处理方法、***及设备
CN112488682A (zh) * 2020-12-08 2021-03-12 深圳前海微众银行股份有限公司 一种区块链的三方转账方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101150781A (zh) * 2007-10-18 2008-03-26 华为技术有限公司 移动交换中心池中被叫恢复的方法、装置和***
CN101262333A (zh) * 2008-04-21 2008-09-10 上海大学 一种车辆网络中节点间的安全通信方法
US20130195274A1 (en) * 2012-01-27 2013-08-01 Oki Electric Industry Co., Ltd. Commission information generator for making processes on communication performed by another computer
CN105450394A (zh) * 2015-12-30 2016-03-30 中国农业大学 一种基于门限秘密共享的份额更新方法及装置
CN106685649A (zh) * 2016-12-15 2017-05-17 北京航空航天大学 一种基于量子纠缠交换的多点协同传输方案
CN107682258A (zh) * 2017-09-27 2018-02-09 北京邮电大学 一种基于虚拟化的多路径网络传输方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101150781A (zh) * 2007-10-18 2008-03-26 华为技术有限公司 移动交换中心池中被叫恢复的方法、装置和***
CN101262333A (zh) * 2008-04-21 2008-09-10 上海大学 一种车辆网络中节点间的安全通信方法
US20130195274A1 (en) * 2012-01-27 2013-08-01 Oki Electric Industry Co., Ltd. Commission information generator for making processes on communication performed by another computer
CN105450394A (zh) * 2015-12-30 2016-03-30 中国农业大学 一种基于门限秘密共享的份额更新方法及装置
CN106685649A (zh) * 2016-12-15 2017-05-17 北京航空航天大学 一种基于量子纠缠交换的多点协同传输方案
CN107682258A (zh) * 2017-09-27 2018-02-09 北京邮电大学 一种基于虚拟化的多路径网络传输方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111106938A (zh) * 2018-10-26 2020-05-05 阿里巴巴集团控股有限公司 信息处理方法、***及设备
CN109615513A (zh) * 2018-11-02 2019-04-12 克洛斯比尔有限公司 用于区块链内待交换价值或物品公平交换的方法和***
CN109615513B (zh) * 2018-11-02 2023-06-09 克洛斯比尔有限公司 用于区块链内待交换价值或物品公平交换的方法和***
CN109861828A (zh) * 2018-12-11 2019-06-07 全球能源互联网研究院有限公司 一种基于边缘计算的节点接入和节点认证方法
CN109861828B (zh) * 2018-12-11 2021-10-08 全球能源互联网研究院有限公司 一种基于边缘计算的节点接入和节点认证方法
CN112488682A (zh) * 2020-12-08 2021-03-12 深圳前海微众银行股份有限公司 一种区块链的三方转账方法及装置
CN112488682B (zh) * 2020-12-08 2021-08-31 深圳前海微众银行股份有限公司 一种区块链的三方转账方法及装置

Also Published As

Publication number Publication date
CN108494558B (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
Unger et al. SoK: secure messaging
CN107634836B (zh) 一种sm2数字签名生成方法及***
Dingledine et al. Reliable MIX cascade networks through reputation
CN103457732B (zh) 私钥生成装置及方法
CN108494558A (zh) 用于实现公平交换的方法和***
CN108667625B (zh) 协同sm2的数字签名方法
Harn et al. Integrating Diffie-Hellman key exchange into the digital signature algorithm (DSA)
CN113507374B (zh) 门限签名方法、装置、设备以及存储介质
CN110213059A (zh) 一种随机数的生成方法、生成装置及存储介质
Ibrahim Securecoin: a robust secure and efficient protocol for anonymous bitcoin ecosystem.
CN110011810A (zh) 基于可链接环签名和多重签名的区块链匿名签名方法
CN110365662B (zh) 业务审批方法及装置
CN101291214B (zh) 一种生成组密钥的方法、***和设备
CN107659395A (zh) 一种多服务器环境下基于身份的分布式认证方法及***
CN104754570B (zh) 一种基于移动互联网络的密钥分发和重构方法与装置
CN107888380A (zh) 一种两方分布式基于身份的rsa数字签名生成方法与***
Srivastava et al. Blockchain-envisioned provably secure multivariate identity-based multi-signature scheme for Internet of Vehicles environment
Schliep et al. End-to-end secure mobile group messaging with conversation integrity and deniability
CN112417489A (zh) 数字签名的生成方法、装置和服务器
Djamaludin et al. Establishing initial trust in autonomous Delay Tolerant Networks without centralised PKI
Nassar et al. A scheme for three-way secure and verifiable e-voting
Zeng et al. Concurrently Deniable Group Key Agreement and Its Application to Privacy‐Preserving VANETs
Schliep et al. Consistent synchronous group off-the-record messaging with sym-gotr
Zhang et al. A lightweight electronic voting scheme based on blind signature and Kerberos mechanism
Kwak et al. A secure extension of the Kwak–Moon group signcryption scheme

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
GR01 Patent grant
GR01 Patent grant