用于分散式所有权记录和鉴定的系统和方法与流程

文档序号:14034166阅读:300来源:国知局
用于分散式所有权记录和鉴定的系统和方法与流程

相关申请

本申请要求于2015年4月6日提交的美国临时申请号62/143,771以及于2015年7月21日提交的美国临时申请号62/195,238的优先权权益,所述美国申请中的每个申请通过引用以其全文结合在此。

本发明涉及一种用于记录和转移财产所有权的系统和方法,并且更具体地涉及一种不需要集中式机构的分散式系统。



背景技术:

正式财产系统所做的最重要的事之一是将资产从较不易访问的状态变换为较易访问的状态,从而使得所有权可以在较宽网络内容易地传递和组合。将资产转换成财产需要复杂的系统来记录和组织社会上和经济上可用的所有权属性。将资产具体化到财产所有权中并且将其记录到公共账簿中的行为促进了行为人之间关于应当如何持有、使用和兑换资产的共识。除了在政治不稳定时期,政府和机构运行的财产系统提供信任并开发出重要价值。将这些记录数字化使得有希望提高效率并降低成本,但使系统很容易遭受欺骗和数据丢失。

对实物资产而言,传统上已经通过中央机构确立了所有权及其转移。例如,对不动产权利的登记被记录在政府机关中;对车辆权利的登记通过机动车辆部门进行处理。甚至是不太有形的资产(比如,专利、商标和版权)的所有权可以记录在政府机关中。

在企业营销中,伪造一直是个严重问题。对成品进行伪造是个全球性问题,近期研究估计,如今,全球总gdp的8%是由制造和销售伪造产品产生的。很多种伪造商品(包括伪造药品、汽车零部件、杀虫剂以及儿童玩具)对公共健康产生了实质性风险。此外,伪造计算机芯片、航空航天零件以及身份证件对国家安全构成了重大风险。贵重物品(如艺术品、官方文件和奢侈品)经常需要某些程序或者甚至专家对物品的真实性进行验证。已经尝试了许多不同的方式以便对物体进行唯一标识和鉴定,包括使用序列号、条形码、全息标签、rfid标签以及使用安全墨水或特殊纤维的隐藏图案来进行的标签和标记策略。所有这些方法可以被复制或篡改,并且许多方法对寻求保护的商品生产带来了巨大的额外成本。物理标签和标记还可能容易丢失、修改或被盗。因此,对实际应用执行实质性鉴定可能是非常具有挑战性的问题。

美国fbi已经将伪造标记为“21世纪的犯罪”。总体上,每年全球销售额中超过6,500亿美元由于伪造商品而流失。伪造使美国企业每年花费2,000到2,500亿美元。92%的世界500强企业受伪造的影响。世界海关组织和国际商会估计每年有大致7-8%的全球贸易发生于伪造商品。伪造影响了几乎每个市场以及几乎每位消费者,不论年龄、住所或财富。伪造产品包括药品(其中,假药已经引起了受伤和死亡)、信息技术(informationtechnology,it)和电子产品(包括假电池、车辆零部件-汽车和飞机两者)、食品、饮料和其他消耗品(例如,烟草和其他农产品)、消费品(包括玩具)、衣服和配件、家具、纺织品、建筑材料等等。甚至是防御技术都已经受到伪造微芯片的袭击。

鉴定单独地不足以阻止伪造。伪造者使用各种策略,包括从制作正宗商品的工厂转移未成品并添加其自己的伪造品牌标识符(如标签和标记)。伪造物品可在任何点进入供应链,包括在原始制造设备处、在发货人处、在配送时或在零售店中。除非制造商或供应商可以准确识别所述物品在何地且在何时进入供应链,否则几乎不可能识别和消除伪造商品。

期望的解决方案将类似于用于人类识别和验证的生物特征法。这种过程将识别可以用于唯一地鉴定物品的独特图案或关键特征。一旦提取到这种图案连同适当的散列或加密技术,则所产生的特征就可能较紧凑且不可复制,由此保护鉴定过程,而不需要附加的人类验证。””

已经提出了许多用于进行物体指纹识别的解决方案。见例如j.d.布坎南(j.d.buchanan)等人的“forgery:“fingerprinting”documentsandpackaging(伪造:对文件和包装进行“指纹识别”)”,自然436、475(2005年7月28);w.克拉克森(w.clarkson)等人的“fingerprintingblankpaperusingcommodityscanners(使用商品扫描仪对空白纸进行指纹识别)”(2009年5月,ieee安全和隐私研讨会记录,第301到314页);a.沙玛(asharma)等人的“paperspeckle:microscopicfingerprintingofpaper(纸张散斑:对纸张的微观指纹识别)”(2011年,第18届acm计算机与通信安全会议记录,第99至110页)。这些论文中描述的作品总体上涉及对物体的表面纹理进行提取和编码。此外,在对其所提取特征进行编码时,像纹理随机性等物理特性被进一步考虑在内。然而,以上解决方案通常依赖于精密的机械设置或者需要精确对准,从而使得其广泛采用不切实际。因此,仍然需要一种用于执行每个人(从富有经验的艺术商到普通消费者)都负担得起且可得到的物体鉴定的系统和方法。

已经采取不同方式来提供针对伪造商品扩散的解决方案。一个这种示例是微软的rf-dna项目,其使用技术上成熟的真实性证书(certificateofauthenticity,coa),这是一种“签名”难以复制但易于且便于鉴定的防伪设备。所提出的coa是具有随机独特结构的具有固定尺寸的数字签名实体对象。其要求的关键在于制作和鉴定coa应当是便宜的,但复制是异常昂贵的。在近场使用介质和导电谐振器的射频电磁“指纹”是所提出的coa的技术基础。duponttm提供了其防伪技术,其使用基于虚拟3d全息图的安全系统连同嵌入式图像来标记产品。

现有系统需要对安全设备进行集中管理和采购,这可能限制创建记录以及获得关于记录的信息的可访问性。此外,当多个管理实体可用并且多个标准用于创建和保留记录时,寻求关于特定物品的信息的任何人都将需要知道正在使用哪个标准并且将需要具有针对每个可用标准的解码能力。

在试图解决记录数字资产的所有权以及转移数字版权(即,数字版权管理,或“digitalrightsmanagement,drm”)的挑战方面,已经采取了许多不同的方式。如在美国专利号9,064,276中描述的,亚马逊技术公司(amazontechnologies,inc.)描述了一种生成专用数字商店以便允许最终用户与其他方进行交易从而购买、销售或交换与应用相关联的内容物品(游戏、音乐、电子书、电影等)的系统。所述系统依赖于集中式内容管理系统,限时授权令牌通过所述系统与待转移的物品相关联。如果未在指定时间段内兑换令牌,则在中央数据库中不会创建转移记录。

区块链系统是全局状态系统,其中,全局状态跨多个分布式设备被存储。示例是如比特币(bitcoin)、瑞波(ripple)、域名币(namecoin)等网络。公/私钥密码术和散列链的组合提供了用于将任意安全状态存储为在所有分布式节点处保持的单个账簿-区块链的机制。节点整体上基于应用于系统的“工作量证明”散列算法来更新其局部状态。这些系统提供了用于跨许多设备建立共享公共地的安全机制。

总部位于柏林的ascribe提供了数字版权和验证系统,所述系统采用记录在比特币区块链中的数字艺术品的密码散列。在国际专利公开号wo2015/024129中描述的ascribe方式使用艺术品散列来生成标识符,所述标识符是比特币地址。对艺术品的转移通过比特币交易来表示。由此,所述系统依赖于特定的加密货币标准并且将不与其他加密货币兼容。进一步地,对比特币的椭圆曲线密码术的依赖导致仅为160位的散列(第一散列:sha256;第二散列:ripemd-160),已经预测到一旦量子计算机可用则所述散列就易受黑客攻击。其他公司(包括存在证明(proofofexistence)和blocksign等)提供了用于将文件散列为比特币区块链、生成文件的存在证明书(类似于公证,从而允许稍后对其进行验证)的系统。与ascribe一样,采用比特币区块链使系统受限于单个密码货币标准。

everledger将成千上万颗钻石及其独特特点记录到比特币区块链中,以试图防止欺骗。设想了应用于其他高价值奢侈品(其来源将以其他方式依赖于纸质证书)。至少对于钻石,需要由经授权实验室进行检查以便确保每颗宝石的“指纹”一致性。这种方法使用了比特币脚本操作码op_return。关于这种方式备受开发者关注-将任意数据存储在区块链中(被广泛认为是“坏主意”)。将非货币数据存储在其他地方是成本较低且更高效的。

仍然需要一种可供几乎所有潜在用户广泛适用并且不依赖于任何特定密码货币系统或散列方法的系统。



技术实现要素:

在示例性实施例中,一种分散式财产系统和方法被提供用于允许将所有权直接从一方转移到另一方,而不需要中央机构来操作或保护所述系统。数字签名提供了一种用于在所述系统内发布和转移所有权(“bitmark”)的方法。使用区块链算法,可以达成对谁拥有什么的分布式共识。可以使用密码安全的散列函数通过数字指纹来唯一地标识数字资产。从资产的图像中计算的指纹可以用于对实物资产进行唯一标识的方法中。在一些实施例中,用于实物资产的唯一标识符可以是物理不可克隆函数或“physicalunclonablefunction,puf”。所有权转移是可验证的,并且创建不可伪造的所有权链(“起源”)。

数字签名和其他方法(像指纹识别)提供一种用于使用区块链算法来发布和转移所有权(“bitmark”)的方法,所述区块链算法类似于但显著不同于用于比特币的区块链算法(见中本聪(satoshinakamoto)的“bitcoin:apeer-to-peerelectroniccashsystem(比特币:一种点对点电子现金系统)”,在万维网上的bitcoin.org网站处可获得,其通过引用结合在此)。创建独立于任何加密货币的统一账簿。包括描述财产的特定属性的资产记录被创建用于数字地表示资产。然后发布记录被创建用于表示链接至特定资产记录的财产的实例。转移记录被创建用于记录每次所有权变化。转移记录被链接在一起,并且根链接至发布记录,所述发布记录链接至资产记录。bitmark是所有记录的链,其存储在bitmark区块链中。在区块链构建期间既不生成加密货币,加密货币也不用于表示所有权的转移。因为bitmark区块链独立于任何特定的加密货币系统,所以可以使用来自任何安全散列算法族的散列函数,包括sha-2和sha-3。

每个bitmark系统用户具有与唯一编号相关联的账户(例如,ed25519公钥(“公钥(pubkey)”)对或允许用户对发布和转移记录进行签名的其他适当公钥系统)。bitmark的所有者由其公钥进行标识。这与比特币不同,比特币仅具有一种类型的地址和签名,因为bitmark账户可以支持多种类型的签名,包括后量子计算算法(如sphincs)。

在本发明的一方面中,从实物物体的局部区域的图像中得出的编码数据用于基于唯一的表面级纹理图案来安全地引用(“指纹识别”)实物资产,从而使得实物资产像数字物品那样可追踪。密码安全的散列函数用于对数字资产进行指纹识别。本发明提供了一种用于通过对其指纹进行提取和匹配来鉴定不同物体或材料的框架。不像将图案(脊端点和分支点)用作“兴趣点”的生物特征指纹识别过程,本发明的实施例应用立体光度技术来重构物体的包含表面纹理信息的局部图像区域。恢复的图像区域的兴趣点可以被检测并通过最先进的计算机视觉算法来描述。与降维技术和散列技术一起,本发明的方法能够使用几乎任何物体(包括文件)的紧凑图像特征来执行物体验证,以便进行实际的物理对象鉴定任务。

应当注意的是,本文中所描述的技术与“数字版权管理”(digitalrightsmanagement,drm)不同。使行为人尊重其他人的所记录的财产权取决于财产的具体性质及法定管辖。本发明的系统和方法提供了用于安全地对谁拥有什么取得一致意见的方法。

在本发明的一个方面,一种用于记录资产的所有权的方法包括:使用计算设备生成资产记录,所述资产记录具有:包括所述资产的数字表示的散列的指纹、生成所述资产记录的客户端的公钥以及包括所述创建客户端的私钥的数字签名;使用所述计算设备与对等网络的一个或多个节点进行通信,以便通过执行以下步骤生成公共账簿中的条目:生成至少一条发布记录,所述发布记录包括:所述指纹的双散列、所述创建客户端的所述公钥以及所有者签名,所述所有者签名包括所述创建客户端的所述数字签名连同所述双散列的指纹和所述创建客户端的所述公钥的散列;以及将所述至少一条发布记录显示在所述公共账簿上。在一些实施例中,所述资产是选自由以下各项组成的组的数字财产:音乐、视频、电子书、数字照片、数字图像和个人数据。在另一个实施例中,所述资产是实物财产,并且所述方法进一步包括使用所述实物财产的表面上的兴趣区域的局部图像来生成与所述实物财产相对应的数字指纹。所述局部图像可以是光度立体图像,通过所述光度立体图像,所述计算设备使用关键点检测器来标识所述光度立体图像内的局部兴趣点,并且使用二进制描述符将所述局部兴趣点编码为二进制串;其中,所述二进制串包括所述资产的所述数字表示。

所述方法可以进一步包括生成用于记录将所述资产转移给新所有者的第一转移记录,其中,所述转移记录包括所述资产的完整发布记录的双散列以及所述新所有者的公钥,其中,所述转移记录由所述所有者签名数字地签名;使用区块链算法来生成所述资产的与所述所有者签名相关联的所有权的分布式共识进而验证所述第一转移记录;以及如果所述第一转移记录被验证,则将所述转移记录显示在所述公共账簿上;以及如果所述第一转移记录未被验证,则拒绝所述转移记录。在一些实施例中,所述方法可以进一步包括在生成所述第一转移记录的所述步骤之后:在所述用户界面处显示支付请求;以及判定在继续所述执行步骤之前是否已经免除了用户支付。所述方法可以进一步包括:生成用于记录从之前所有者到随后新所有者的转移的随后转移记录,其中,所述随后转移记录包括之前转移记录的双散列以及所述随后新所有者的公钥,其中,所述随后转移记录由所述之前所有者数字地签名。在一些实施例中,所述方法可以进一步包括在生成所述随后转移记录的所述步骤之后:在所述用户界面处显示支付请求;以及判定在继续所述执行步骤之前是否已经免除了用户支付。在所述至少一条发布记录包括多条发布记录的实施例中,每条发布记录包括不同的随机数并且与单独的区块链相关联。

在本发明的另一个方面,一种用于记录资产的所有权的系统包括:客户端计算设备,被配置用于生成资产记录,所述资产记录具有:包括所述资产的数字表示的散列的指纹、生成所述资产记录的客户端的公钥以及包括所述创建客户端的私钥的数字签名;对等网络,与所述客户端计算设备进行通信,以便通过执行以下步骤生成公共账簿中的条目:生成至少一条发布记录,所述发布记录包括:所述指纹的双散列、所述创建客户端的所述公钥以及所有者签名,所述所有者签名包括所述创建客户端的所述数字签名连同所述双散列的指纹和所述创建客户端的所述公钥的散列;以及将所述至少一条发布记录显示在所述公共账簿上。所述资产可以是选自由以下各项组成的组的数字财产:音乐、视频、电子书、数字照片、数字图像和个人数据。替代性地,所述资产可以是实物财产,其中,所述客户端计算设备进一步与光度立体设备进行通信,所述光度立体设备被配置用于使用所述实物财产的表面上的兴趣区域的局部图像来生成与所述实物财产相对应的数字指纹。所述光度立体设备被配置用于使用关键点检测器来标识所述光度立体图像内的局部兴趣点,并且使用二进制描述符将所述局部兴趣点编码为二进制串;其中,所述二进制串包括所述资产的所述数字表示。所述客户端计算设备和所述对等网络的所述至少一个节点可以进一步被配置用于进行通信以便生成用于记录将所述资产转移给新所有者的第一转移记录,其中,所述转移记录包括所述资产的完整发布记录的双散列以及所述新所有者的公钥,其中,所述转移记录由所述所有者签名数字地签名;使用区块链算法来生成所述资产的与所述所有者签名相关联的所有权的分布式共识进而验证所述第一转移记录;以及如果所述第一转移记录被验证,则将所述转移记录显示在所述公共账簿上;以及如果所述第一转移记录未被验证,则拒绝所述转移记录。在一些实施例中,所述系统可以进一步包括使得所述至少一个客户端计算设备和所述至少一个节点在生成所述随后转移记录的所述步骤之后进行通信以便:在所述用户界面处显示支付请求;以及判定在继续所述执行步骤之前是否已经免除了用户支付。

所述系统可以进一步包括:至少一个第二客户端计算设备,与所述对等网络进行通信以用于生成用于记录从之前所有者到随后新所有者的转移的随后转移记录,其中,所述随后转移记录包括之前转移记录的双散列以及所述随后新所有者的公钥,其中,系统可以进一步包括使得所述至少一个第二客户端计算设备在生成所述随后转移记录之后:在所述用户界面处显示支付请求;以及判定在继续所述执行步骤之前是否已经免除了用户支付。

附图说明

图1是本发明系统的框图。

图2是示出了多条转移记录的系统的实施例的框图。

图3a是用于创建资产记录的初始交易的框图。

图3b是基于图3a的资产记录来创建bitmark的交易的框图。

图3c是两个bitmark内的交易的框图。

图3d是框图,示出了基于图3a的原始资产记录来发布附加bitmark。

图4是样本bitmark记录的示例性用户界面(userinterface,ui)的简图。

图5是用于转移bitmark的示例性ui的简图。

图6是在完成图5的转移之后的示例性ui的简图。

图7a是用于生成针对实物资产的编码指纹的设备的实施例的示意图;图7b展示了设备的样本使用。

图8是框图,示出了用于创建针对实物资产的编码指纹的步骤。

图9a至图9c提供了使用用于进行实物物体指纹识别的光度立体方法(图9a)以及基线方法(图9b)的实施例所实现的对分数分布的比较;图9c针对每种方法对roc曲线进行比较。

图10是用于实现本发明系统的实施例的示例性网络环境的简图。

具体实施方式

出于描述本发明的实施例的目的,以下定义将适用:

“账户(account)”指用于标识bitmark系统内的财产登记和所有权的公-私钥对。账户标识符(id)(还被称为“公共账号”或“bitmark账户”)是公钥。单个用户可以具有bitmark系统内的多个账户。所述账户是公钥的编码形式,即,bitmark系统中的“账户”。账户包含关于密钥的不同信息。在示例性实施例中,编码形式是base58编码形式。

“资产记录(assetrecord)”指不变地对bitmark系统内的新财产的登记进行记录的区块链数据结构。

“bitmark”指保护对bitmark系统内的特定实物或数字财产的所有权的数字所有权。将bitmark从一位所有者转移给另一位所有者转移了指定财产的所有权。在区块链中经由bitmark转移记录链和根发布记录来表示bitmark。

“bitmark转移记录(bitmarktransferrecord)”(或“btr”)指表示bitmark所有权的区块链数据结构。

“发布(issuance)”指针对数字财产创建新bitmark的过程。发布仅适用于数字财产,并且有效地创建可以在bitmark系统内拥有的更多副本。新bitmark发布仅可以由最新登记转移记录所有者做出。

“密钥导入格式(keyimportformat)”(或“kif”)指对私钥以及某种算法和校验对象进行编码(base-58或其他)。kif可以用于将bitmark账户导入回至客户端。

“所有者(owner)”指bitmark系统的持有至少一个账户的私钥的任何用户。认为“拥有bitmark”的bitmark系统用户是持有与bitmark的所有权链中的最新bitmark转移记录中的所有者公钥字段相对应的私钥的人。

“通行短语(passphrase)”指用于访问用户的密钥库的复杂密码。尽管bitmark账户标识哪个同步密钥库属于用户进行本地下载,但是通行短语允许用户对本地密钥库进行解密并且访问其账户中的每个账户的私钥。需要bitmark账户id和通行短语两者来登录bitmark客户端app。还在客户端内发起安全交易的任何时间需要通行短语。

“财产(property)”指实物或数字物品的唯一数字呈现(散列)。在新财产的登记价格期间生成财产散列。作为登记记录的一部分,财产散列是永久且不变的。

“登记者(registrant)”指用于在bitmark系统中针对新财产创建登记(资产记录)的bitmark账户。更具体地,账户的公钥不变地记录在资产记录的“登记者”字段中,并且账户的私钥用于对资产记录进行签名。对实物财产而言,登记者还是初始bitmark转移记录的所有者。对数字财产而言,登记者是初始登记转移记录的所有者。

“登记(registration)”指将新实物或数字财产添加到bitmark区块链的过程。登记永久地将财产绑定到区块链内的登记记录。登记由登记者创建,并且作为登记记录被记录在区块链中。登记记录充当财产的整个bitmark链的基本元素。

“登记转移记录(registrationtransferrecord)”(或“rtr”)指表示财产登记的当前所有者的区块链数据结构。rtr仅针对数字财产而存在。登记转移记录的所有权向所有者授予bitmark发布能力。登记转移记录与bitmark转移记录之间的唯一技术差异是财产的类型。

“交易(transaction)”指三个主要bitmark过程中的任何过程:登记、转移和发布。

“转移(transfer)”指所有权从一个bitmark账户到另一个bitmark账户的变化。转移可以适用于btr或者rtr。转移交易创建使用旧所有者的私钥进行签名并且分配给新用户的公钥的新btr或rtr。转移记录链构成bitmark区块链内的登记或bitmark的所有权链。

根据本发明的实施例,一种分散式财产系统和方法允许将所有权直接从一方转移给另一方,而不需要中央机构来操作或保护所述系统,并且不依赖于现有的加密货币系统。数字签名提供了一种用于在所述系统内发布和转移所有权(“bitmark”)的方法。使用区块链算法,采用类似于用于比特币和其他加密货币的方式,可以就谁拥有资产达成分布式共识。可以使用密码安全的散列函数来唯一地标识数字资产。从实物资产的局部图像中得出的指纹可以用于唯一地标识实物资产。所有权转移是可验证的,并且创建不可伪造的所有权链(“起源”)。

在本发明的一方面中,从实物物体的表面的局部区域的图像中得出的编码数据用于基于唯一的表面级纹理图案来安全地引用(“指纹识别”)实物资产。密码安全的散列函数用于对数字资产进行指纹识别。数字财产的稀缺是可能的,并且可以适应物质世界的概念框架和法律框架。

为了开始使用bitmark系统,用户(或“客户端”)首先需要创建账户。客户端可以使用采用台式计算设备或其他个人计算设备或者采用具有“bitmarkapp”的移动设备所存储或访问的基于网络的应用来登录到bitmark系统。出于描述bitmark系统的目的,这种设备通常将被称为“计算设备”。设置向导通过创建新账号的步骤指导用户。首先,分派账号。在示例性实施例中,唯一的50字符bitmark账号用于标识用户及他或她在bitmark系统内的财产(资产)。所述账号是客户端给予其他bitmark用户以用于将bitmark转移到客户端的账户中的标识符。所述账号将在计算设备上保持从客户端的设置页面可访问。

创建bitmark账号的下一步骤涉及生成和存储客户端的私钥,这也发生在客户的计算设备上,即,不在bitmark系统服务器(“bitmarkd服务器”)处。在示例性实施例中,私钥是用于访问客户的账户并控制bitmark已经创建的资产的54字符串。然后根据客户的私钥生成bitmark账户。除了控制客户的资产之外,私钥还提供用于bitmark软件在客户的计算设备丢失或损坏的情况下恢复账户的手段。因为bitmarkd服务器不生成或存储私钥,所以设置向导指示用户将私钥保存在与计算设备分离的安全地方,然后指示用户输入私钥进行验证。在验证私钥之后,指示用户在使用同一计算设备时输入可以被用作用于输入用户的私钥的快捷方式的密码。一旦输入并验证了密码,则bitmark软件初始化与用户的账号相对应的新账户。用户现在准备好开始记录其在bitmark系统中的资产。

参照图1,bitmark100被定义为由单条发布记录102和一个或多个转移记录104(所述转移记录可以是btr或者rtr)组成的数字签名的链。资产记录106包含实物或数字资产的元数据以及用于标识bitmark系统内的实物或数字资产的唯一资产指纹。每个资产记录106包括以下字段:“指纹”108,所述指纹是实物物体或数字文件的数字表示的散列;登记者109,所述登记者是登记者的公钥(ed255194);(3)“名称”110,短utf-8标识符;(4)“描述”111-标识utf-8文本;以及(5)“签名”112,由登记者的私钥签名的字段108至111的散列。

发布记录102根据资产记录106创建新bitmark。发布记录102包括以下字段:“资产索引(assetlndex)”113,相应资产记录106的指纹108值的双sha-512散列(64字节)。资产索引113充当资产记录106的唯一标识符,并且跨针对同一资产记录106的所有发布记录102将完全相同。作为用于保证一致大小的方法,对资产记录指纹108进行两次散列,不管指纹值的原始大小。还包括在发布记录102中的是所有者公钥114。在一些实施例中,所有者公钥114是创建发布的用户的公钥(ed25519)。如将对本领域人员明显的是,可以使用其他公钥,如ed25519+sphincs。当新发布发生时,发布记录102自动由发布者所有。随机数115是充当用于区别同一资产的多条发布的唯一数字的无符号整数。发布记录102还包括签名116,所述签名是由发布者的私钥签名的字段113至115的散列。

bitmark在技术上仅需要发布记录102。不需要转移记录。没有任何转移记录的bitmark仅属于原始bitmark发布者。如果bitmark发布者永不将bitmark转移给另一位所有者,则bitmark的所有权链将永不发展超出初始发布记录。

转移记录104转移bitmark的所有权,并且包括以下字段:链接117,所述链接是整个先前记录(包括签名116)的双sha-256散列(32字节),所述链接指示bitmark的所有权链中的先前记录。所述先前记录可以是发布记录102或者另一条转移记录104。作为用于保证一致大小的方法,对先前记录进行两次散列,不管先前记录的原始大小。还包括在转移记录104中的是所有者公钥118(bitmark转移接收者的公钥(ed25519))以及使用先前记录的所有者120的私钥签名的先前所有者的签名120(字段117和118的散列)。

转移记录104具有参考链连接107和签名链连接103两者。链接117的值与参考链连接107相对应,所述参考链连接是整个先前记录的双sha-256散列。链接117是指向bitmark链中的先前记录的链接。与先前记录(发布或转移)的签名链连接103需要先前记录的所有者使用他或她的私钥对随后转移记录104进行数字地签名。

参考链107与签名链103之间的区别的一个实际含义是在资产记录106与连接至那条资产记录的发布记录103之间不存在数字签名连接。在资产记录的登记者字段109中指定的公钥所有者仅对资产记录106自身进行签名,并且不需要对任何随后的发布记录进行签名。这意味着,由于发布记录是由发布其的用户自身签名的,而不是由原始资产登记员签名的,因此任何用户可以发布资产的新bitmark。相比而言,转移记录必须使用先前记录的所有者的私钥进行签名。由于bitmark的当前所有者是被授权将bitmark转移给另一位用户的唯一用户,因此签名链提供了转移授权的密码证明。

通过检查所述链中的数字签名来验证bitmark的当前所有者(链中的最右边记录)。而转移记录的链接字段117建立到先前记录的参考链107,所述转移记录的签名值判定转移记录104是否实际有效。如果转移记录的数字签名与先前记录的所有者的公钥匹配,则转移记录被认为有效,并且记录在区块链中。如果不是,则从区块链中拒绝无效转移记录。通过验证针对实际物体的原始资产记录106的参考指纹108来对所述原始资产记录进行验证。系统通过分布式时间戳服务器来防止其他无效交易(例如,双转移)。

仍然参照图1,参考链105连接指发布记录的资产索引113指回相应资产记录的指纹值108。这与将先前所有者的签名120连接至所有者公钥114的签名链103不同。此连接需要链中的最近先前记录的所有者的私钥签名。

资产记录106是自身签名的。因此,如图2中所示出的,任何用户可以发布资产的新bitmark。在这种情况下,“伊娃(eva)”和“吉娜(gina)”(最右边的转移记录124d和124g中所示出的所有者公钥)都是当前所有者(由于他们持有其对应bitmark链(也被简称为“bitmark”)200a和200b中的最新转移记录)。源自指向同一资产而具有不同发布签名的bitmark的冲突的所有权声明必须由财产权实施者从外部来确立。作为所有财产交易的不变且持久的历史,bitmark200a和200b将充当证据。

示例1-样本数字资产数据结构

以下示例展示了根据bitmark系统的基本数据模型发生的交易。仅出于说明性目的提供的示例由一个资产、资产的三个bitmark以及12个不同bitmark用户组成。

参照图3a,所述示例开始于交易#1,其中,用户#1“阿曼达(amanda)”通过创建新资产记录150在bitmark系统中登记新资产。出于此示例的目的,所述资产是阿曼达的新自身出版的题为“分崩离析(thingsfellapart)”的悬疑电子书。尽管阿曼达可能使用整个电子书来创建指纹,但是她可以仅选择生成对书的唯一描述(例如,像标题、她的姓名以及出版日期等简单的事物)或者选择书的可辨认节选(例如,所选页面)。通过访问bitmark发布用户界面(“userinterface,ui”),阿曼达的所选数字文件通过浏览用户的文件而被复制(例如,拖放)或选择,并且经由ui加载到bitmark系统中以便对文件进行散列进而计算资产的唯一指纹。在生成指纹时,用户界面可以显示动画,如时钟、沙漏或旋转轮。一旦已经计算出指纹,就可以发送推送通知。如果指纹值尚未存在于bitmark系统中,则创建新资产记录150。如果指纹值已经存在于bitmark系统内,则将替代地向阿曼达呈现用于发布资产的新bitmark的选项,然而,这些将被认为是附加的新资产。

资产记录150的登记者(第二)字段显示阿曼达的公钥(她的姓名,以粗体指示)。还使用阿曼达的私钥对资产记录进行签名。因此,资产记录是由登记新资产的人员“自身签名”的。

在此第一交易中,实际上不生成bitmark。将不创建bitmark,直到在图3b中示出的两次交易(#2和#3)期间进行发布。在交易#2和#3中,阿曼达发布她在第一交易中登记的资产的两个新bitmark。这两个新bitmark152和154经由两条新发布记录160和162被创建。

由于这两条新发布记录160和162引用在交易#1中创建的同一资产记录150,因此使用sha-512算法对资产记录的指纹值进行两次散列,并且将其存储在两条新发布记录的资产索引性质中。两条发布记录的所有者字段的值是阿曼达的公钥(“o:阿曼达”),因为发布记录自动由创建发布的用户所有。发布记录的随机数(“n”)字段包含随机数计数器值(例如,“n:1”和“n:2”)以便确保同一资产的每条发布记录是唯一的。每条发布记录160和162在底部使用阿曼达的私钥进行签名。与资产记录一样,发布记录通常是使用创建发布记录的用户的私钥自身签名的。任何用户可以创建资产的发布记录。资产记录与其相应发布记录之间不存在数字签名链。发布记录160、162与其相应资产记录150之间的唯一连接是由每条发布记录的资产索引财产建立的参考链158。此时,阿曼达拥有bitmark152和154。

图3c展示了针对bitmark152和154的交易#4至#7。在交易#4中,阿曼达将bitmark154转移(卖给、送礼、授权或其他财产转移方式)给布莱恩(brian)。新转移记录172列出了作为所有者的布莱恩的公钥(“o:布莱恩”),并且阿曼达使用其私钥对转移记录172进行签名以便授权转移,如由签名链164指示的。参考链166包括先前记录的双sha-256散列(32b)。

在交易#5中,阿曼达将bitmark152转移给克洛伊(chloe),从而生成新的转移记录170,所述新转移记录标识了克洛伊的公钥和阿曼达的私钥连同先前记录160的散列。交易#6记录了转移记录180中的bitmark152从克洛伊到狄伦(dylan)的转移。由于克洛伊现在是所有者,因此其私钥用于经由转移记录170与转移记录180之间的签名链来授权转移。在第七交易中,bitmark152的当前所有者克洛伊将bitmark152转移给狄伦,从而创建转移记录190。

转移记录通常需要与先前记录的参考链连接和与先前记录的签名链连接两者。通过计算整个先前记录(包括签名)的双sha-256散列并将此散列存储在转移记录的链接字段中来创建参考链。链接值告知bitmark系统哪条记录先于bitmark链中的给定记录。因为每条记录包括来自之前记录的信息,所以将可追踪回到原始所有者,从而创建不变的起源。

尽管转移记录的链接字段建立了到先前记录的参考链,但转移记录的签名值判定转移记录是否有效。如果转移记录的数字签名与先前记录的所有者字段(公钥)匹配,则转移记录表示有效bitmark转移,并且转移记录被记录在bitmark区块链中。然而,如果转移记录的签名值与先前记录的所有者的公钥不匹配,则bitmark系统的验证节点将指定转移记录为“无效”,并且将拒绝将转移记录包括在bitmark区块链中。综上所述,链接值创建bitmark的参考链,同时签名值保护参考链。

参照图3d,埃迪(eddie),也具有对资产的某些权力。为了与示例保持一致,我们可以说埃迪是阿曼达的编者,并且阿曼达出于感激其帮助而给予弗雷迪(freddie)电子书的特定数量的副本。阿曼达向埃迪提供她在为第一交易做准备时创建的指纹。拥有指纹允许埃迪登录bitmark系统并使用指纹以便通过创建发布记录164来发布新的bitmark156。新发布记录是由埃迪自身签名的,并且资产索引再次为资产记录的指纹值的双sha-512散列。从之前发布记录中为此新发布记录的随机数(“n”)字段分派不同的随机数值(n=3),确保同一资产的每条发布记录是唯一的。由埃迪进行的新发布表明发布记录的签名值不需要匹配相应资产记录的登记者值的公钥。任何用户可以创建资产的发布记录,然而,用户将需要访问生成的指纹连同资产记录以便使其与原始资产记录相关联。

bitmark系统的用户界面(“ui”)提供许多不同的显示和访问点。用户的bitmark账户通过以下方式是可访问的:通过经由连接至万维网(通过进入bitmark网站)的个人计算机(台式计算机、膝上型计算机、平板计算机等)或台式或移动应用进行登录,并且:(1)针对保存的bitmark账户id文件浏览用户的设备(计算机、智能电话、平板计算机或其他);(2)扫描bitmark账户id(这可以包括扫描另一个设备的屏幕)。在一些实施例中,印刷的bitmark账户id可以设置为可扫描的qr(quickresponse,快速响应)码或其他光学可读码,包括一维条形码、二维条形码或更高维度的条形码、色码和/或组合、色调等。在其他实施例中,bitmark账户id可以是用户的驾驶执照照片,或者可以是生物特征编码的,例如指纹、手几何结构、视网膜或虹膜图案、面部特征等(可以使用智能电话的相机或其他扫描设备对其进行扫描)、使用智能电话的录音机输入的语音模式、dna或者用户的不同唯一生物特征的组合。

在用户已经丢失他或她的bitmark账户id的情况下,用于登录系统的第三种方法涉及使用bitmark恢复代码。这种代码通常在新系统用户首次激活账户时被提供给所述新系统用户。如果通过输入恢复代码发起恢复模式,则将提示用户输入待用于对bitmark数据进行加密并授权新bitmark交易的新bitmark通行短语。所述系统将警示用户其恢复代码不应当存储在用于访问bitmark系统的设备上。所述通行短语应当优选地印刷并存储在安全位置(如文件安全保管箱)中。在用户的bitmark账户id不可挽回地丢失时,第四选项是创建新的账户id。

一旦bitmark用户已经访问他或她的(或它的,在商业实体的情况下)账户,则可以访问的ui包括针对特定bitmark的记录-bitmark记录ui。图4提供了基于来自图3c的bitmark152的样本bitmark记录400,所述样本bitmark记录可以通过输入与bitmark账户id相对应的字母数字代码(即,如以上所描述的用户私钥)或者在一些实施例中扫描bitmark152的qr码402进行访问。(注意,所述qr码仅作为说明性示例包括在图中。)ui显示qr码(如果使用的话)、资产的所有权、资产的描述404(基于在创建相应资产记录150期间提供的信息)以及当前日期和时间。记录400中列出的姓名和日期包括“起源”。每一行406表示转移。所描述的转移与针对图3c中的bitmark152所示出的转移相对应,每一行提供到所标识用户(例如,狄伦、克洛伊、阿曼达)的相应账户ui的链接连同完成有效转移时的日期和时间戳。如果用户是bitmark的当前所有者(在这种情况下是伊娃),则点击或将鼠标悬停在顶部线上将揭露“转移”按钮,所述“转移”按钮将伊娃带到另一个页面,在所述另一页面,可以输入正在转移给其的一方(在此示例中是弗雷迪)的姓名、账号或其他标识信息。图5展示了用于发起转移的样本ui。

在系统的一些实施例中,可以收取用于记录每次转移的交易费用。交易费用可以由单独的比特币或其他加密货币账户或被信用卡/借记卡账户来代替。在一个实施例中,针对每个新bitmark账户嵌入比特币钱包。用于bitmark账户的同一私钥可以用于生成比特币账户。在技术上,使用另一个数字(计数器)对私钥进行散列以便创建比特币地址。为此目的可以实施hd(hierarchicaldeterministic,分层确定性)钱包。为了选择交易费用的支付形式,用户可以选择页面上的“比特币”或“信用卡/借记卡”按钮,所述按钮将带他们到用于输入其支付信息的适当屏幕。

一旦已经验证支付,则ui将转移者(“弗雷迪”)的身份移动到起源列表,将转移指示为“待定”直到转移已经通过了验证。在验证转移之后,图6中所示出的bitmark记录400将显示起源(其中,bitmark的当前所有者(弗雷迪)在顶部)连同转移的日期和时间。

附加用户界面可以包括bitmark交易的历史(即,交易ui),所述历史具有在给定时间段内已经发生的bitmark交易的列表,所述列表标识发起交易的账户(用户)以及所发生的交易类型(例如,发布或转移)连同状态(例如,“待定”)或者日期和时间(如果已经通过了验证)。导航ui可以包括记录在bitmark系统内的财产(资产)的可搜索列表。典型列表可以包括资产的所有权、资产的创建者、登记者(创建资产记录的人)、发布者(创建发布记录的人)以及针对那个特定资产发布的bitmark的数量。具有这种能力,对获得所列出的财产之一感兴趣的人员可以点击财产以便访问关于(多个)bitmark的信息,进而允许它们在不同的所有者之间进行选择(如果存在多个bitmark的话),或者提供用于联系当前所有者来调查对财产的可能购买的方法。(所有者可以选择不接受未经请求的询问,在这种情况下,有意的买家将需要寻找另一来源,如果有的话。)

例如通过在搜索特定财产之后电击发布者姓名可访问的账户记录ui可以包括发布者的联系信息、bitmark账户id和与那位发布者相关联的bitmark的数量、以及那位发布者的交易历史(即,发布以及待定和完成的转移)。

仅出于说明性目的提供了基于数字资产(其为电子书)的先前示例。如将对本领域人员显而易见的,本文中所描述的方法适用于任何资产,无论数字的或实物的。数字资产可以包括但不限于:文学作品、照片、文献、艺术品、视频游戏、软件、音乐、电影或具体化为数字形式的任何其他物品。以下将进一步讨论实物资产。

示例2-作为数字资产的个人数据

增长兴趣的区域涉及控制与人员的个人数据(例如,照片、视频、音乐或作品)相关联的数字资产,所述个人数据可以发布于社交媒体上或者存储在云存储文件中,由可穿戴监测设备(如健身手环、活动跟踪器、心率监测器、睡眠监测器和其他健康监测器)、物联网(internetofthings,iot)设备等收集的数据统称为“个人数据”。本文中所公开的方法可以用于生成与人员的个人数据相对应的bitmark。

在用于控制个人数据的一个实施例中,用户可以结合当前可从加州旧金山的ifttt(如果这样则那样(ifthisthenthat))(创建被称为“配方(recipe)”的条件语句链的基于网络的服务)中获得的特征。基于各种应用(例如,社交媒体网站,如facebook、gmail、instagram、twitter和pinterest)的改变来触发配方。ifttt配方在发生特定触发(例如,用户的照片在facebook发布中被加标签,其中,所述照片与用户的个人数据相对应)之后触发动作。那个触发的发生导致生成个人数据的bitmark的动作,采用与先前描述的管理数字资产相同的方式创建个人数据的指纹、资产记录和发布记录,以便创建数据、其起源及其所有权的不变记录。在一个实施例中,bitmark系统包括嵌入编码以删除或编辑被复制的或在未授权的情况下以其他方式使用的个人数据的应用。加密和/或创建用户个人数据的bitmark给出了创建者/发布者/所有者对他或她的资产(数据)的使用进行控制,并且还提供用于对资产进行货币化的工具。

示例3-实物资产起源

可以通过生成对实物资产唯一的数字数据来为实物物体创建可以被散列用于生成资产记录的指纹。在一些实施例中,用于实物资产的唯一标识符可以是物理不可克隆函数或“physicalunclonablefunction,puf”。

用于跟踪实物物体的许多现有方法涉及将条形码或其他编码标签应用于所述物体,所述条形码或标签可以经由粘合剂粘附或者压印、蚀刻或雕刻在物体的表面上。与条形(或其他)码相对应的数字信息则可以用于在bitmark系统中创建资产记录,以便提供对不变所有权链的创建。尽管这对于普通消费品(从便宜的消费品到处方药到车辆以及其他大型物品的任何地方)可能是实用的,但是这不适合于艺术品、高价值稀有物品、收藏品或法律意义上重要的原始文献,这些物品的价值将通过在物体上附接或压印跟踪码而被降低或破坏。

在bitmark方法的一个实施例中,光度立体方法用于提取实物资产的一个或多个兴趣区域(“regionsofinterest,roi”)的表面纹理信息。可以用于此目的的一种方法由r.j.woodham描述(“photometricmethodfordeterminingsurfaceorientationfrommultipleimages”,opticalengineering(用于通过多张图像来确定表面定向的光度方法)”,光学工程,1980,其通过引用结合在此)。表面纹理的范围可以为:绘画中的笔触、雕塑或雕刻品中的凹凸区域、帆布或纸中的织物或纹理、或者属于实物资产的永久元素的任何其他物理特征。

在图7a中所展示的示例性实施例中,光度立体设备700包括围绕安装在相机镜头706上的环形支撑件704均匀地间隔开的多个led702。所述镜头可以是旨在用于生成实物物体的数字指纹的特定目的的专用相机的镜头,或者其可以是如所示出的智能电话(例如,iphone、android或具有高清照相能力的其他现代智能电话710)的镜头708。在一个实施例中,四(4)个白光led702以0度、90度、180度和270度安装在环形支撑件704内部,其方式为使得每个led可以被独立地控制,以便允许顺序激活或以不同组合激活。(注意,由于是透视图,因此四个led702中只有三个在图中可见。如将很容易明显的是,只要多个照明角度是可能的,就可以使用任何数量的led。)用于附接至相机/电话的安装可以是如所示出的弹簧夹716、夹具、其他紧固件(临时的或者永久的),或者可以是智能电话插入其中以提供附加稳定性的外壳。为了使用,环形支撑件704稳定地定位成向下面朝roi之上的物体表面。可以提供附加机械支撑来确保在完整照明/成像顺序期间的均匀间隔,在所述完整照明/成像顺序中,led被顺序激活,并且针对每个照明角度收集图像。例如,环形支撑件704可以被配置用于在其边缘上具有宽平面形状(例如,直径几厘米的类凸缘结构),使其能够平躺在表面上,以便支撑电话/相机的良好稳定性。

图7b展示了用于生成梵高(vangogh)的著名画作“星月夜(thestarrynight)”720的指纹的样本设置。使用光度立体设备700和智能电话710通过顺序地激活多个led以便从不同角度照明roi并收集多张图像来对小roi750进行成像,所述多张图像然后被组合用于生成梯度图像754。以下讨论了在梯度图像中示出的样本关键点756。

现有技术中描述的方法(例如,沙玛(sharma)等人的(“paperspeckle:microscopicfingerprintingofpaper(纸张散斑:对纸张进行微观指纹识别)”,2011年,第18届acm计算机与通信安全会议记录,第99至110页)以及高桥(takahashi)等人的(“fibar:fingerprintimagingbybinaryangularreflectionforindividualidentificationofmetalparts(fibar:通过针对金属零件的单独识别的二进制角度反射的指纹成像)”,2014年,第五届新兴安全技术国际会议记录(est‘14),第46至51页)仅从roi中捕获一张图像。相比而言,本发明方法对立体光度技术的采用产生关于表面纹理的详细信息,允许提取用于验证的唯一指纹。

图8展示了根据本发明系统和方法的实施例的用于物体指纹识别的示例性框架。一旦得到根据通过对roi的顺序照明和图像捕获收集的图像的组合生成的梯度图像,就使用机器视觉算法(如fast(e.罗斯顿(e.rosten)等人的“fasterandbetter:amachinelearningapproachtocornerdetection(更快且更好:用于拐角检测的机器学习方法)”,2010年,关于图案分析和机器智能的ieee会报(pami’10),32(1),第105至119页,通过引用结合在此)、或freak(a.阿拉希(a.alahi)等人的“freak:fastretinakeypoint(freak:快速视网膜关键点)”,2012年6月16至21日,2012年ieee计算机视觉和模式识别会议记录(cvpr’12),第510至517页,通过引用结合在此))来标识和描述局部兴趣点(即,关键点756,图7b中示出的示例)。

对随机投影和局部性敏感散列的使用允许对所提取的描述符进行编码并且减小特征尺寸。因此,将要求仅存储、处理和匹配紧凑的信息。在特别优选的实施例中,针对每个roi获得少于300个关键点,同时每个描述符仅需要64位。添加关键点的位置导致roi的仅约25k位的指纹大小。

参照图8,在步骤802中,针对每个roi,使用来自四个不同水平和垂直方向(即,0度、90度、180度和270度)的照明来拍摄四张单独的图像。使用光度立体技术,可以得出所产生的梯度图像以便描述表面纹理信息。在步骤804中,将关键点检测器(如fast)应用于图像,以便标识roi的局部兴趣点(少于300个)。关键点可以包括区别特征,如拐角、边缘、可能的划痕以及瑕疵等。然后将二进制描述符应用于局部兴趣点,以便将围绕每个兴趣点的区域描述为特征向量。二进制描述符(如在计算机视觉领域中已知的)用于捕获图像信息并将其编码成二进制串。这些描述符可以被非常快速的计算并且提供对度量的应用(如使用xor运算以进行验证的汉明距离),使其在计算上高效。许多不同的二进制描述符是公开可用的,包括brief、orb、brisk和freak。出于示例性实施例的目的,使用freak描述符在步骤806中描述局部兴趣点中的每一个。

在步骤808中,使用局部性敏感散列将随机投影应用于每个描述符上,以便将每个描述符减少到64位二进制串。对所有描述符(810)和关键点(812)的二进制串的收集形成表示物体的指纹的唯一细目的集合。这些指纹可以保存在由物体的所有者维护的图库中,以供稍后对物体进行鉴定时使用。优选地,所述指纹将用于创建资产记录,以便创建bitmark链,通过所述bitmark链可以确立起源。为了由有意购买者在某个稍后时间对物体进行鉴定,针对物体的使用以上描述的(例如,在步骤802中)光度立体设备获得的查询图像生成的指纹可以与bitmark链中的指纹进行比较。

为了评估验证过程的表现,使用同一材料的十个不同的美术纸样本。针对每种纸类型,除了未修改的纸之外,在获得梯度图像之前执行两个不同的篡改过程(摩擦和浸湿),以便使验证任务更实际又困难。摩擦过程涉及使用橡皮大力地摩擦纸,而浸湿过程涉及将纸在水中浸泡一小时。

对每个纸样本的每种情况(未篡改的、摩擦的和浸湿的)而言,以时间间隔分开地捕获两张梯度图像。因此,总共10×3×2=60个样本可用于验证测试。这引起与同一张美术纸的不同篡改情况相对应的360个真品对,同时可以获得3240个仿品对。为了与现有方法的表现进行比较,基线方式被认为仅使用roi的单个光度(非梯度)图像,使用相同描述符进行匹配。

图9a和图9b使用光度立体方法和基线方法分别示出了真品对和仿品对的匹配分数分布。如所指示的,本发明方法能够在真品对与仿品对之间进行区分,而基线方法无法这样做。图9c比较roc曲线(即,真肯定率(truepositiverate,tpr)与误警率(falsealarmrate,far)),从而确认光度立体方法的有效性。值得注意的是,本发明方法在提取物体指纹时不需要精确对准。这是由于使用了稳健的关键点描述符。另一个优点是,利用上述lsh技术,编码指纹的大小仅为约25k位。因此,本发明框架不仅适用于离线验证测试,还防止使用编码指纹对可能感兴趣物体进行可能的伪造。

指纹的创建

示例4-网络功能

以下讨论假设熟悉nakamoto区块链。背景信息可在万维网上的比特币维基百科上公开获得,其通过引用结合在此。

图10展示了通过bitmark对等(“peer-to-peer,p2p”)网络310创建并处理交易的bitmark系统的高级功能。包括用于执行客户端用户界面(ui)的软件的bitmark客户端200使用广泛使用的远程过程调用(remoteprocedurecall,rpc)协议210(例如,json-rpc)来连接到bitmark节点304的端口服务器(被称为“bitmarkd),以送出交易。bitmark客户端200处理密钥生成和存储,而bitmard服务器充当json-rpc收听器以用于客户端交易提交、区块链生成以及签名验证。bitmark系统使用定制p2p二进制协议进行区块链和交易广播。完全bitmark节点306包括用于管理命令的json-rpc收听器和用于挖掘器310的层协议收听器316。数据被存储在leveldb数据库312中。

客户端200连接到bitmarkd的rpc端口304并且将所述交易作为json-rpc请求210进行发送。bitmarkd服务器验证交易的签名。如先前所描述的,资产记录和发布记录是自身签名的,而转移记录必须由先前的所有者进行签名。拒绝无效签名和错误链接的记录。将有效交易合并成未支付项并广播给对等网络中的其他服务器。

对每个未支付交易而言,bitmarkd服务器将返回交易id和支付对阵列(例如,货币名称和支付地址),网络将接受其作为用于挖掘交易的支付(“费用”)。可以规定通过包括多个输出并缩放所要求的费用而在单次支付时支付多笔交易。使用bitmarkd服务器提供的交易信息,客户端完成支付交易并将其发送到bitmarkd以供验证和中继。在另一个实施例中,客户端可以直接支付,并且bitmarkd服务器将监测其支持的所有货币以判定是否进行了支付。服务器可以在记录到期之前等待待接收支付固定的时间段,例如,长达一个小时。一旦确认支付,则可以挖掘出(多条)记录。

仍参照图10,bitmark区块链具有与比特币区块链类似的结构。在一个实施例中,bitmark区块链和比特币区块链可以共享相同的工作证明算法(proof-of-workalgorithm)。在其他实施例中,bitmark区块链可以使用不同的算法。无论是否使用共享技术,bitmark系统独立于比特币或其他加密货币而建立了其自己的区块链,所以,不存在将比特币用作用于交易的相关联加密货币的限制。以下对与比特币系统进行交互的描述被提供作为用于转移支付的可能机制之一并且不旨在建议bitmark系统依赖于比特币加密货币系统。

在比特币模型之后,执行挖掘以确保所有参与者对bitmark数据具有一致的看法。因为bitmark是分布式对等系统,因此不存在中央数据库来追踪谁拥有bitmark。反而所有交易的日志跨对等网络分布。突出的bitmark交易被挖掘到交易区块中以使其正式。冲突的或无效的交易不允许进入区块中,所以避免了重复转移的问题。

挖掘过程自身在bitmarkd服务器之外并且使用如本领域中已知的层挖掘协议。bitmarkd服务器创建了伪比特币头,其中,嵌入的记录散列使得现有挖掘软件(例如,cgminer(康·克里瓦斯(conkoliva)的“amulti-threadedmulti-poolfpgaandasicminerforbitcoin(比特币的多线程多池fpga和asic挖掘器)”))能够挖掘出bitmark区块,就如它们是比特币区块一样。服务器将可用交易累积成列表并计算交易摘要的部分merkle树。(此部分merkle树缺乏币基(coinbase)摘要)。检查发布记录以确保资产记录将包括在在发布记录之前(即,相关资产已在先前的区块中挖掘出或者是bitmarkd已知的)。

包含区块编号、64位时间戳和支付地址的部分币基被创建并且连同部分merkle树一起被提交至层服务器316。挖掘器310连接至层端口来接收此数据。如果挖掘器成功,则其将返回其发现的随机数值。bitmarkd然后将创建完整的报头和币基连同完整的merkle树并验证所述摘要当前处于困境且高于当前区块编号。满足两个条件的区块被结合在当前区块链中。

bitmark币基可与比特币币基兼容,并且包含一个输入以及一个或多个输出。输入脚本包含下面列出的一系列推送数据运算。输入脚本和输出脚本使得所述币基不起真实比特币交易的作用,因为所述脚本由op_return操作组成。

存储在输入交易和输出交易中的数据在表1中列出:

表1

当bitmarkd服务器接收到附加交易时,其将周期性地分派新的工作给挖掘器并将其提交到层服务器。正确解出的bitmark区块将使其所有交易设置为已挖掘状态,由此将其从可用池中移除。层服务器然后被重置并继续与剩余的可用交易一起工作。

挖掘将被挂起并且服务器将进入恢复模式,直到可用交易池已完全重建,如果以下情况中的任何情况发生的话:

1.创建具有高于当前区块链的编号的新区块;

2.服务器离线一段时间(或仅漏失了一些区块);

3.区块链分叉

服务器通过从邻近区块中确定最高可用区块来恢复区块并且然后按照相反的顺序提取区块,从而覆写任何更旧的区块,直到其区块链与邻近区块链相一致。

一旦已接收到所有区块并且其相应的交易已设置为“已挖掘”,则可恢复挖掘。任何漏失交易的提取可能是背景过程并且将不会影响当前挖掘。

可能在不运行完整的网络节点的情况下验证所述系统内的任何bitmark的当前所有者。服务器内在地维护每个bitmark的当前所有者的表并且因此可以利用容易的查找查询来验证来自客户端的所有权请求。

这个方法存在缺陷。除了其他关注点之外,这个方法仅在诚实节点控制网络时可靠。因此,频繁转移或接收bitmark的行为人应当运行他们自己的完整节点。运行完整的本地节点还对独立安全性和更快的验证有益。

进行挖掘的激励通过用货币(如比特币或其他加密货币)可支付的交易费用来资助-并且还有助于防止滥用所述系统。交易费用是支付交易的输出值与其输入值之间的差值。

所述系统不可避免地公开宣布所有交易。仍可以通过保持公开密钥匿名来维护隐私。作为附加的预防措施,新密钥对可以用于每次交易以防止链接回共同所有者。

所有者可能希望揭示其在系统中的身份。机构(如博物馆)经常希望其所持有之物已知。公开密钥设施(publickeyinfrastructure,pki)可以被客户端用于验证特定公钥属于某个实体。

金钱以财产为前提,除了在期望分散式系统的情况下。根据现有的方法,为了避免对集中式系统的依赖,在没有中央机构的情况下在转移财产变得可能之前需要点对点的金钱。另一方面,在设法转移财产时,不一定期望限于使用特定的对等加密货币系统。清楚地,并非可能对购入或出售财产感兴趣的所有当事人希望限于单一的支付形式。

本文中所描述的方法和系统提供了一种无信任方法来建立通过协议来实施并采用nakamoto区块链来创建不可伪造起源的全球财产系统。所述架构与比特币共享密钥技术方面以使能分散式支付并调节挖掘资源,同时仍独立于比特币或其他加密货币系统。

bitmark以可在国际上验证且可在本地实施的方式通过数字签名提供了透明度。因为所述系统不在财产(实物或数字)或所有者(个人、机构或机器)之间进行区分,因此所有权可以延伸远远超过当前财产系统的限制。

尽管前述书面说明书包含许多特定细节,但是这些细节不应被解读为是对本发明或者可能要求保护的内容的范围的限制,而应被解读为是对本发明的特定实施例或示例特有的特征的描述。本说明书中在分开的实施例或示例的背景下所描述的某些特征也可以组合地实现在单个实施例中。与此相反,在单个实施例的背景下描述的不同特征也可以分开地或以任何适合的子组合形式在多个实施例中实现。此外,尽管上文中特征可以被描述为在某些组合中起作用并且甚至最初也是如此要求保护的,但是在一些情况下,可以从组合中除去来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以涉及子组合或子组合的变化。

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