使用区块链分发数据记录的系统和方法技术方案

技术编号:22758170 阅读:27 留言:0更新日期:2019-12-07 05:17
一种使用区块链将总数据记录从输入节点转移到输出节点的计算机实现的方法。在一些情况下,总数据记录可以是总支付,比如使用比特币。输出节点共享公钥材料,并且输入节点选择未花费交易输出以用于支付总值并且确定以固定面额可支付到输出节点的多个输出。输入节点使用公钥材料和相应的随机数为每个输出生成输出地址,并且在一个或多个硬币混合交易中将输入和输出混合。基于相应的随机数生成的用于每个输出的随机公钥单独地或通过区块链与输出节点共享,并且输出节点可以为每个输出地址得出对应的私钥,从而使其能够搜索并识别它可向其要求所有权的输出。

System and method of using blockchain to distribute data records

A method of using blockchain to transfer the total data record from the input node to the output node. In some cases, a total data record may be a total payment, such as using bitcoin. The output node shares the public key material, and the input node selects a plurality of outputs that are not spent on the transaction output to pay the total value and determines that a fixed face value can be paid to the output node. The input node generates an output address for each output using the public key material and the corresponding random number, and mixes the input and output in one or more coin mix transactions. The random public key for each output generated based on the corresponding random number is shared with the output node individually or through the blockchain, and the output node can get the corresponding private key for each output address, so that it can search and identify the output to which it can claim the ownership.

【技术实现步骤摘要】
【国外来华专利技术】使用区块链分发数据记录的系统和方法
本专利技术总体上涉及区块链交易,更具体地涉及生成和执行数据记录分发交易的方法和设备。
技术介绍
在本文件中,使用术语“区块链(blockchain)”来包括所有形式的电子的、基于计算机的分布式账本。这些包括但不限于区块链和交易链技术、许可及未许可的账本、共享账本及其变型。虽然已经提出并开发了其他区块链实施方案,但是区块链技术最广为人知的应用是比特币账本。虽然出于方便和说明的目的,本文中提到的是比特币(Bitcoin),但应当指出的是,本专利技术不限于与比特币区块链一起使用,替代性的区块链实施方案和协议也落入本专利技术的范围内。区块链是基于共识的电子账本,该账本被实现为由区块构成的基于计算机的分散式、分布式系统,而该区块又由交易构成。每个交易是对区块链系统中的参与者之间的数字资产的控制的转移进行编码的数据结构,并且包括至少一个输入和至少一个输出。每个区块均包含前一区块的散列,使得这些区块被链接在一起,以构建对自区块链诞生之始就已被写入区块链的所有交易的永久性不可更改的记录。交易包含嵌入其输入和输出中的被称为脚本的小程序,这些小程序指定了如何以及由谁可以访问交易的输出。在比特币平台上,这些脚本使用基于堆栈的脚本语言来写入。为了将交易写入区块链,必须对该交易进行“验证”。网络节点(矿工)执行工作以通过从网络中拒绝无效交易来确保每个交易均是有效的。安装在节点上的软件客户端通过执行其解锁然后锁定脚本而对未花费交易(UTXO)执行该验证工作。如果执行解锁然后锁定脚本被评估为正确的(TRUE),则交易有效并且交易被写入区块链。因此,为了将交易写入区块链,必须i)由接收交易的第一节点验证,如果交易被验证,则节点将该交易中继至网络中的其他节点;以及ii)被添加到由矿工构建的新区块;以及iii)挖掘,即添加到过去交易的公共帐本。诸如比特币的区块链技术的一个明显优势是其匿名性和安全性。也就是说,比特币帐本不包含关于参与交易的人的任何个人信息,比特币帐本仅包含公共地址信息。然而,通过使用外部数据和分析可以成功地将特定交易和地址与个人相关联。一些数字货币例如比特币的缺点之一是:尽管它们在隐私方面享有普遍声誉,但是区块链中的比特币流是完全公开的并且可以被分析以追踪通过该链的价值移动。这会导致隐私受到损害的情况。例如,如果某人具有包含大量未花费交易输出UTXO的钱包比如双周薪水支付,并且该未花费交易输出被用作向另一人支付少量金额的输入,则查看该交易的其他人和任何人将部分地基于在该交易中返还的零钱而获得有关进行支付的人的财富以及可能的薪水的信息。可能出现大的输入和/或大的变更交易损害用户的隐私的其他情况。因此,期望提供改进的方法和设备,该改进的方法和设备通过改进的输入到输出的不可追踪性和不可链接性来提供提高的安全性和更鲁棒的加密术,同时仍然产生高效和有效的加密货币支付机制。尽管区块链技术最广为人知的是使用加密货币实施方案,但是数字企业家已经开始探索使用比特币所基于的加密安全系统以及可以存储在区块链上的数据这两者来实现新系统。如果区块链可以用于不局限于加密货币领域的自动化任务和处理,则将是非常有利的。这种解决方案将能够利用区块链的益处(例如对事件的永久性防篡改记录、分布式处理等),同时这种解决方案在区块链的应用中更加通用。因此,本申请可以参考记录的关于区块链“数据记录”。数据记录可以包括例如文档、处理能力或时间的测量、加密货币量、指示资产所有权的安全或其他令牌、或者可以由拥有加密材料的实体控制的其他此类事物,其中加密材料允许该实体使用或移动该数据记录。区块链中记录的潜在可追踪性揭示了可能损害某些应用的实现缺陷。示例应用包括提交用于标记的考试或论文、提交匿名犯罪报告、提交匿名调查或人口调查反馈、或其他这样的应用,其中在提交之后数据不可改变的情况下,参与节点组需要安全地和秘密地将数据记录转移到一个或更多个其他节点。与加密货币一样,可以基于记录本身的特性来追踪其他类型的数据记录的移动,从而实现对返还到特定节点的提交进行追踪,这会损害节点用户的隐私或安全或者会破坏分发或提交过程的匿名性的完整性。此外,如果网络中的节点能够将一个节点识别为向另一节点转移文档的源,则它提高了那些观察者节点通过诸如欺骗和其他计算机安全攻击之类的攻击来损害网络安全性的能力。区块链的公共特性在构造数据记录分发过程中无论是对于加密货币还是任何其他类型的数据记录提出了技术挑战,其更有效地确保了分发过程的安全性和完整性同时使对特定节点之间的数据记录的转移进行追踪的机会最小化。
技术实现思路
现在已经设计出这样一种改进的解决方案。因此,根据本专利技术,提供了如所附权利要求中所限定的方法和设备。有利地,本申请提供了用于基于区块链的数据记录分发的改进的方法、设备和系统,其提高了交易的隐私性和安全性。使用隐地址、记录分发、以及将记录解构为规定的数据记录特性的唯一组合,在将输入与输出断开链接的同时转移全部数据记录,以保护与输入或输出节点有关的信息不被公开并且以妨碍追踪活动。本专利技术可以提供计算机实现的方法和对应的系统。该方法/系统可以被描述为区块链实现的方法/系统。本专利技术可以被描述为安全方法或加密方法/系统。本专利技术可以提供数字资产或数据记录比如一部分或一定量的加密货币的安全转移。附加地或替代性地,本专利技术可以提供控制机制以对诸如一部分或一定量的加密货币的数字资产的转移进行控制。附加地或替代性地,本申请可以描述一种使用区块链在输入节点与输出节点之间转移总数据记录的计算机实现的方法。在输入节点处实现的方法可以包括:获得与输出节点相关联的公钥材料;基于总数据记录和由输入节点控制的可用数据记录来确定选自可用数据记录的一个或更多个输入以及多个输出,其中,一个或更多个输入的累计总和等于或大于总数据记录,每个输出均针对选自一系列规定的数据记录特性的相应的数据记录特性,并且多个输出的总和与总数据记录相匹配;为输出中的每个输出选择随机数并且基于公钥材料和随机数生成输出地址,将输出地址插入到对具有该输出的相应数据记录特性的数据记录进行待分配的记录分发交易中,根据随机数生成随机公钥,并且与输出节点共享随机公钥;以及对一个或更多个输入进行签署。附加地或替代性地,本申请可以描述一种使用区块链在输入节点与输出节点之间转移总数据记录的计算机实现的方法。在输出节点处实现的方法可以包括向输入节点提供与输出节点相关联的公钥材料;从输入节点获得随机公钥;搜索区块链以寻找数据记录分发交易,数据记录分发交易具有多个输入地址和多个输出地址,每个输出地址均被分配具有一系列规定数据记录特性中的相应数据记录特性的数据记录;基于随机公钥和公钥材料来确定公钥-私钥对;将来自公钥-私钥对的公钥与数据记录分发交易中的输出地址之一进行匹配,并且基于该匹配将分配给该输出地址的数据记录添加到临时数据记录集;以及确定临时数据记录集是否小于总数据记录,如果是,则继续搜索、确定和匹配直到临时数据记录集与总数据记录相匹配为止。附加地或替代性地,本申请可以描述本文档来自技高网
...

【技术保护点】
1.一种使用区块链在输入节点与输出节点之间转移总数据记录的计算机实现的方法,所述方法包括:/n获取与所述输出节点相关联的公钥材料;/n基于所述总数据记录和由所述输入节点控制的可用数据记录来确定:/n选自所述可用数据记录的一个或多个输入,其中,所述一个或多个输入的累计总和等于或大于所述总数据记录,以及/n多个输出,每个输出均针对选自一系列规定的数据记录特性中的相应的数据记录特性,并且,所述多个输出的总和与所述总数据记录相匹配;/n为所述输出中的每个输出,/n选择随机数,/n基于所述公钥材料和所述随机数生成输出地址,/n将所述输出地址插入到对具有该输出的相应的数据记录特性的数据记录待分配的记录分发交易中,/n根据所述随机数生成随机公钥,并且/n与所述输出节点共享所述随机公钥;以及/n对所述一个或多个输入进行签署。/n

【技术特征摘要】
【国外来华专利技术】20170411 GB 1705858.71.一种使用区块链在输入节点与输出节点之间转移总数据记录的计算机实现的方法,所述方法包括:
获取与所述输出节点相关联的公钥材料;
基于所述总数据记录和由所述输入节点控制的可用数据记录来确定:
选自所述可用数据记录的一个或多个输入,其中,所述一个或多个输入的累计总和等于或大于所述总数据记录,以及
多个输出,每个输出均针对选自一系列规定的数据记录特性中的相应的数据记录特性,并且,所述多个输出的总和与所述总数据记录相匹配;
为所述输出中的每个输出,
选择随机数,
基于所述公钥材料和所述随机数生成输出地址,
将所述输出地址插入到对具有该输出的相应的数据记录特性的数据记录待分配的记录分发交易中,
根据所述随机数生成随机公钥,并且
与所述输出节点共享所述随机公钥;以及
对所述一个或多个输入进行签署。


2.根据权利要求1所述的方法,其中,确定所述一个或多个输入和所述多个输出部分地基于可用的数据记录分发交易。


3.根据权利要求2所述的方法,其中,所述可用数据记录分发交易各自涉及分发具有一个或多个特定数据记录特性的数据记录,并且,确定所述一个或多个输入和所述多个输出部分地基于根据所述特定数据记录特性中的相应的特定数据记录特性来匹配所述一个或多个输入和所述多个输出中的每一者的数据记录。


4.根据权利要求1至3中的任一项所述的方法,其中,为所述多个输出插入所述输出地址包括将所有输出地址作为输出插入到单个数据记录分发交易中,所述单个数据记录分发交易被构造成对具有不同数据记录特性的多个数据记录进行分发。


5.根据权利要求1至3中的任一项所述的方法,其中,为所述多个输出插入所述输出地址包括在第一数据记录分发交易中插入至少一个输出地址,以及在第二数据记录分发交易中插入至少另一输出地址,并且所述第一数据记录分发交易用于对具有与在所述第二数据记录分发交易中分发的数据记录的数据记录特性不同的数据记录特性的数据记录进行分发。


6.根据权利要求1至5中的任一项所述的方法,其中,所述数据记录特性是在所述数据记录中指定的值,并且所述一系列规定的数据记录特性是基于最大值和由所述最大值倍定义的一系列值,其中,n是正整数。


7.根据权利要求1至6中的任一项所述的方法,其中,所述公钥材料包括两个公钥,即,BPubx和BPuby,并且,输出i的输出地址由下式给出:
BPubi=H(riBPubx)G+BPuby
其中,G是椭圆曲线基点,H()是散列函数,并且ri是为输出i选择的随机数。


8.根据权利要求7所述的方法,其中,所述随机公钥Ri被生成为Ri=riG。


9.根据权利要求1至8中的任一项所述的方法,其中,共享所述随机公钥包括以下之一:
将所述...

【专利技术属性】
技术研发人员:马丁·苏厄尔丹尼尔·约瑟夫
申请(专利权)人:区块链控股有限公司
类型:发明
国别省市:安提瓜和巴布达;AG

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

1