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)执行该验证工作。如果执行解锁然后锁定脚本被评估为正确 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。