CN109844783B - 不可变的密码保护的分类账支持的数据库 - Google Patents
不可变的密码保护的分类账支持的数据库 Download PDFInfo
- Publication number
- CN109844783B CN109844783B CN201780060802.3A CN201780060802A CN109844783B CN 109844783 B CN109844783 B CN 109844783B CN 201780060802 A CN201780060802 A CN 201780060802A CN 109844783 B CN109844783 B CN 109844783B
- Authority
- CN
- China
- Prior art keywords
- ledger
- asset
- database table
- database
- schema
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000012545 processing Methods 0.000 claims description 12
- 238000013500 data storage Methods 0.000 description 24
- 238000004422 calculation algorithm Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 21
- 238000012546 transfer Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 16
- 238000007726 management method Methods 0.000 description 13
- 230000004044 response Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000015654 memory Effects 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000013475 authorization Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 238000013478 data encryption standard Methods 0.000 description 4
- 238000013474 audit trail Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- VBMOHECZZWVLFJ-GXTUVTBFSA-N (2s)-2-[[(2s)-6-amino-2-[[(2s)-6-amino-2-[[(2s,3r)-2-[[(2s,3r)-2-[[(2s)-6-amino-2-[[(2s)-2-[[(2s)-6-amino-2-[[(2s)-2-[[(2s)-2-[[(2s)-2,6-diaminohexanoyl]amino]-5-(diaminomethylideneamino)pentanoyl]amino]propanoyl]amino]hexanoyl]amino]propanoyl]amino]hexan Chemical compound NC(N)=NCCC[C@@H](C(O)=O)NC(=O)[C@H](CCCCN)NC(=O)[C@H](CCCCN)NC(=O)[C@H]([C@@H](C)O)NC(=O)[C@H]([C@H](O)C)NC(=O)[C@H](CCCCN)NC(=O)[C@H](C)NC(=O)[C@H](CCCCN)NC(=O)[C@H](C)NC(=O)[C@H](CCCN=C(N)N)NC(=O)[C@@H](N)CCCCN VBMOHECZZWVLFJ-GXTUVTBFSA-N 0.000 description 1
- 241000270295 Serpentes Species 0.000 description 1
- 241001441724 Tetraodontidae Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 108010068904 lysyl-arginyl-alanyl-lysyl-alanyl-lysyl-threonyl-threonyl-lysyl-lysyl-arginine Proteins 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/20—Point-of-sale [POS] network systems
- G06Q20/203—Inventory monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- Human Resources & Organizations (AREA)
- Quality & Reliability (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Technology Law (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
提供了一种数据库表,诸如可以由非关系数据库实现的数据库表,以与在密码保护的分类账中记录的那样,呈现信息以及与所述信息相关联的状态。所述数据库表元素的语义以及其中各种对象之间的关系可以由模式、数据库引擎和/或应用层来定义和/或实施。例如,所公开的方法和系统可以用于实现不需要信任实现系统以验证系统的内容的资产跟踪工具。
Description
相关申请的交叉引用
本申请要求2016年9月30日提交的标题为“IMMUTABLE CRY PTOGRAPHICALLYSECURED LEDGER-BACKED DATABASES”的美国专利申请No.15/283,017的优先权,其公开内容通过引用以其整体并入本文。
背景技术
分布式计算和存储系统和服务,(诸如由计算资源服务提供者(例如,通过因特网)提供的那些),越来越多地由企业和各个用户用来增强,并且在一些情况下,替换内部计算资源,以及跟踪资产(离散的以及可互换的两者)。然而,由于这样的分布式系统和服务不一定在实现用户或企业的完全控制下,因此与之一起进行的交易的完整性可能难以确定(从用户的角度来看),并且难以提供保证(从服务提供者的角度来看)。
附图说明
将参考附图来描述各种技术,在附图中:
图1示出了根据一些实施方案的示例环境,其中密码保护的分类账的内容被处理并作为数据库表的一个或多个字段被公开给请求者;
图2示出了根据一些实施方案的示例环境,其中由密码保护的分类账跟踪的资产的所有权交易通过数据库提交并使其可用;
图3示出了根据一些实施方案的示例环境,其中定义与资产相关联的一种或多种数据库格式(例如,字段)的模式被更新,以便进一步更新资产的数据库表示;
图4示出了根据一些实施方案的示例环境,其中实现模式以定义由密码保护的分类账支持的数据库的一个或多个字段;
图5示出了根据一些实施方案的用于在密码保护的分类账支持的数据库中处理交易的示例过程;
图6示出了根据一些实施方案的用于更新用于定义与由密码保护的分类账跟踪的资产相关联的一个或多个属性的模式的示例过程;
图7示出了根据一些实施方案的用于确定由密码保护的分类账保持或跟踪的资产的所有权交易的有效性的示例过程;
图8示出了根据至少一个实施方案的连接到计算资源服务提供者的客户的示例;以及
图9示出了可以实现各种实施方案的环境。
具体实施方式
在一个示例中,向请求者提供对诸如关系数据库或非关系(例如,NoSQL)数据库之类的数据库的访问,其中数据库反映密码保护的分类账(诸如区块链)内包含的内容、状态和其他信息。在一些实施方案中,数据库是只读的;也就是说,写入交易(例如,对数据库表的字段或其他内容的)被忽略或丢弃。被写入密码保护的分类账的交易的不变性完全保留,并且由密码保护的分类账(并且因此通过相关联的数据库展示)所表示的对象的任何改变都通过单独类型的交互而发生,例如直接与密码保护分类帐交互,以便写入新的交易。关联的数据库表可以与给定的密码保护的分类账更新同步地(或者,在一些情况下,异步地)更新。
在一些示例中,数据库表接受读取和写入两者,诸如对行、列等的更新。在这样的示例中,实现系统可以处理写入,使得其确定要写入到密码保护的分类账的关联交易或交易组,以反映更新的数据库表。
取决于实现方式,密码保护的分类账本身可以以不同的方式接受新的交易。例如,可以使用隐式或显式信任(例如,标识和/或认证/授权更新实体的证书、密码签名等,并且只要所述实体被密码保护的分类账管理机构标识为被授权向分类账添加交易,它就可以在除了为交易本身指定的约束或障碍之外没有约束或障碍的情况下这样做,例如通过数据库引擎、所实现的模式、实现应用等)来更新密码保护的分类账。虽然本公开集中于例如经由公开的服务向请求者提供分类账更新,只要它们提供关于其权限的密码证明或其他证明,其他示例可包括经由工作证明的分布式一致性,诸如在一个或多个提交实体可能是恶意的环境中。在一些实施方案中,密码保护的分类账本身也作为分类账公开,然后可以例如由请求者通过遍历分类账并相对于已知的“正确”值,验证链接的区块的散列值和/或当前链接的散列值,来验证分类账。
上述约束诸如对例如某些关键字、字段、行、列等的存在的更新依赖性以及许可可以在若干层中的一层(或组合)处实现。例如,可以使用模式来规定不同列和/或字段之间的关系,以及如何将包含在密码保护的分类账中的数据和/或元数据表示在相关联的数据库表中。例如,原始模式可能需要特定数量的字段和对这些字段的限制或约束。可以提交新的模式,其例如改变字段的数量、它们的特性以及那些字段上的限制或约束。模式以及与其相关联的交易/变化可以被提交给密码保护的分类账并且以类似于密码安全的分类账中的其他数据的方式被反映。
其他约束和/或定义,诸如写入到密码保护的分类账的数据和交易在数据库表中表示的方式,以及它们如何相对于密码保护的分类账中的其他对象进行交互,可由实现的应用来规定。在这样的实施方案中,密码保护的分类账以及公开密码保护的分类账数据的数据库表简单地在没有固有语义框架的情况下处理数据,相反,将这些解释、约束、表示层表示等留给应用层。
可替代地(或另外地),一些或全部语义可以在例如解释密码保护的分类帐数据以通过相关联的数据库表公开的数据库引擎中实现。例如,实现性服务提供者可以为特定目的,例如跟踪和审计资产所有权,提供密码保护的分类账支持的数据库。在这样的示例中,语义和/或交易约束中的一些或全部可以由数据库引擎来实现。可以由实现应用和/或适用模式来定义和/或控制剩余部分。
在资产跟踪的情况下,可以理解的是,在密码保护的分类账中记录各种交易(诸如针对给定资产或资产集合的所有权交易)将为这些交易提供不可变的审计跟踪,其中密码保护的分类账固有地提供“无信任”验证(即,由于为链中每个提交的数据区块计算的链式强密码散列结果,不需要特定的授权,例如实现分布式计算资源提供者的授权,来验证密码保护的分类账或其中包含的数据的完整性)。
所述资产可以与代表与所述资产相关联的各种利益相关者、所有者或其他概念的一个或多个密钥相关联。借助于具有与给定资产相关联的密钥,实现系统将理解仅所述密钥的持有者才有权将所有权转移给不同的所有者,并且在单调前进的加密安全分类账中记住这种转移将防止攻击者在所有权改变已经被提交时反向传播所有权改变。可以例如通过实现应用、模式或数据库引擎来实现或以其他方式规定附加约束。例如,转移的接收方也可能需要签名或批准(例如,通过提供他们各自的密钥)。也可能需要其他方(诸如监管机构或控制机构)来签署将被接受的所有权交易。如上所述,需要由这些方签名的模式可以被改变,例如要求更多或更少的各方来签署要被接受的所有权交易。
资产可以是离散的(诸如数字作品、到诸如房地产之类的物理资产的链接或表示等)或可替代的(例如,货币、股票或其他可计算的统一资产),并且用于证明这样的资产的存在的任何相关联的数据可以被包括在与资产相关联的密码保护的分类账中。如前所述,为了确定给定资产的出处或所有权的简易性和简单性,可以使相关联的数据库表可用于这种查询,而可以结合直接的密码保护的分类帐更新请求来执行所有权转移请求。
在前述和以下描述中,描述了各种技术。出于解释的目的,将阐述具体的配置和细节,以便提供对实现所述技术的可能方式的透彻理解。然而,还明显的是,下面所描述的技术可以在不具有特定细节的情况下以不同配置来实践。此外,可以省略或简化众所周知的特征,以避免模糊所描述的技术。
图1示出了根据一些实施方案的示例环境100,其中密码保护的分类账的内容被处理并作为数据库表中的一个或多个字段或记录被公开给请求者。
例如,客户端设备102访问数据库104,诸如关系数据库或非关系(例如,NoSQL)数据库。在实施方案中,被管理的、分布式的、非关系数据库被提供为同一计算资源服务提供者的服务,所述计算资源服务提供者还提供对密码保护的分类账106的访问(例如,也作为服务),并且使用NoSQL数据库以便于这两者之间的集成(由于非关系型数据库启用的更灵活的数据建模/模式定义)。此外,相对于传统的关系数据库,这样的非关系数据库可以被选择用于它们的改进的等待时间、吞吐量和/或可缩放性。然而,在一些实施方案中,也可以使用关系数据库,例如,在期望绝对关系一致性的实现方式中。
在一些实施方案中,密码保护的分类账106是分布式数据库,所述分布式数据库包括多个链接的或“链式的”数据区块,诸如区块链。至少在密码保护的分类账106的情况下,区块可以包括资产或对其的链接/引用、交易信息(所有权转移等)、关于交易和/或资产本身的描述性数据、与用于表示资产的框架相关的模式信息(例如,经由资产记录)、标识被授权访问、修改和/或转移在密码保护的分类账中表示的资产的参与者和/或实体的许可信息等。区块和/或单个记录的对象和交易还可以包括时间戳(例如,生成或添加块或相关联的交易/对象),以及将其链接到密码保护的分类账中的先前区块或对象的信息。在一些实施方案中,所述信息可以包括反映由试图将这样的数据添加到密码保护的分类账的任何实体执行的完整性数据和/或计算的工作证明或其他计算证据,例如,通过在特定时间段期间将交易区块块添加到密码保护的分类账中。
在一些实施方案中,工作证明是对要提交的假定区块的内容执行密码散列函数的输出散列摘要,其中区块中的一些数据(例如,计数器、随机数等)重复改变,直到得到的散列摘要满足被设置用于将新的块接受到密码保护的分类账中的特定准则为止。例如,密码保护的分类账(或实现系统)可能要求,作为将给定区块添加到密码保护的分类账的条件,假定区块的散列摘要在结果中包括指定数量的前导二进制或十六进制零,或者具有低于指定难度值的值。可以调整或以其他方式设置这样的标准以确保向提交实体要求的迭代次数在计算上足够大或者足够难以进行提交,且因此反向传播的改变足够困难(例如,作为密码保护的分类账的属性,给定区块的标头包括前一个区块的工作结果的证明,且因此在需要按顺序重新计算给定区块之后的所有区块的工作证明,因为如果基础数据在事实之后被改变,下一个区块的计算结果值将会有所不同)。
在某些实施方案中,不是使用工作证明作为用于将数据可信添加到分类账的代理,而是可以将分类账作为服务公开给诸如客户端实体102之类的请求者。在这样的实施方案中,请求者实体结合其直接用新信息更新分类账的请求来提供其权限的证据。例如,所述请求可以通过诸如编程接口之类的接口或者代表密码保护的分类账106提供,并且在一些情况下可以包括密码证书、数字签名、密码密钥或身份或授权的某种其他证明。在与分类账更新请求相关联的证明足以执行所请求的更新的程度上,分类账暗示信任并且执行更新。
应注意,术语“数字签名”包括可用于密码地验证消息的真实性的任何信息,包括使用基于RSA的数字方案(例如RSA-PSS)、数字签名算法(DSA)和椭圆曲线数字签名算法、ElGamal签名方案、Schnorr签名方案、Pointcheval-Stern签名算法、Rabin签名算法、基于配对的数字签名方案(如Boneh-Lynn-Schacham签名方案)、不可否认数字签名方案等所生成的信息。此外,还可以使用消息认证码(诸如基于散列的消息认证码(HMAC)、密钥密码散列函数和其他类型的信息)作为数字签名。
进一步注意,如果系统被配置为操作的逻辑取决于使用公共密码密钥验证数字签名的尝试是否成功,则系统被称为被配置为信任公共密码密钥。类似地,如果系统被配置为操作的逻辑取决于使用对称密码密钥验证数字签名的尝试是否成功,则系统被称为被配置为信任对称密码密钥。
如所讨论的,许多变化使用对称和/或非对称密码原语。对称密钥算法可以包括用于包括区块密码、流密码和数字签名方案的对数据执行密码操作的各种方案。示例对称密钥算法包括高级密码标准(AES)、数据密码标准(DES)、三重DES(3DES)、Serpent、Twofish、blowfish、CAST5、RC4和国际数据密码算法(IDEA)。对称密钥算法还可包括用来生成单向函数的输出的那些算法,并且包括利用基于散列的消息认证码(HMAC)、通用消息认证码(MAC)、PBKDF2以及Bcrypt的算法。非对称密钥算法还可以包括用于对数据执行密码操作的各种方案。示例性算法包括利用Diffie–Hellman密钥交换协议、数字签名标准(DSS)、数字签名算法、ElGamal算法、各种椭圆曲线算法、密码认证的密钥协商技术、pallier密码系统、RSA密码算法(PKCS#1)、Cramer-Shoup密码系统、YAK认证的密钥协商协议、NTRUEncrypt密码系统、McEliece密码系统等的算法。椭圆曲线算法包括椭圆曲线Diffie–Hellman(ECDH)密钥协商方案、椭圆曲线集成密码方案(ECIES)、椭圆曲线数字签名算法(ECDSA)、ECMQV密钥协商方案以及ECQV隐式证书方案。其他算法和算法的组合也被认为在本公开的范围内,并且以上各项并非详尽无遗的清单。
密码保护的分类账106的区块包括如本文所述的一组或多组数据的组,以及与事件数据相关的其他数据和元数据,诸如交易区块中其他数据的密码散列的结果,在某些情况下,所述结果包括对紧前面的数据区块或交易区块执行的密码散列的引用(或其结果)。因此,可以理解,假设使用强单向密码散列函数,对较早区块中的数据的事后改变(例如,沿着链向前进一个区块)将导致对每个后续区块的散列结果的改变的多米诺效应。
应当注意的是,短语“单向函数”包括在严格的数学意义上不一定是单向的函数,但是其表现出使得所述函数在应用本公开的各种技术的环境中有用的属性(诸如抗碰撞性、逆原像阻力和第二逆原像阻力)。以这种方式,具有函数输出但不能访问对应输入的实体不能在没有例如密码(例如蛮力)攻击所需的计算资源的额外支出的情况下确定输入。单向函数(也称为“有效单向函数”)包括但不限于诸如消息认证码之类的密码散列函数(例如,基于散列的消息认证码(HMAC)),密钥导出函数,诸如PBKDF2和bcrypt(例如,密码至少部分地基于明文和密钥),以及可以是其他安全随机化函数,但不一定具有大于其范围(可能输出)的域(可能输入的集合)。用于各种实施方案的其他合适的函数(称为“f”)包括但不限于函数,所述函数至少采用明文和密钥作为输入并且具有逆原像阻力属性(给定y值,随机生成输入x,使得f(x)=y的概率低于指定阈值)、第二逆原像阻力属性(给定输入x1,随机生成不同于x1的另一个输入x2,使得f(x1)=f(x2)的概率低于指定阈值)和/或抗碰撞性(两个不同输入导致相同输出的概率低于指定阈值)。每个概率的确切阈值可以是依赖于环境的,较低的概率对应于较高的安全环境。根据本公开的技术的可用作单向函数的散列函数包括但不限于美国国家标准与技术研究院(NIST)特种出版物800-107,第1版“使用经批准的散列算法的应用推荐”中描述的函数,所述出版物通过引用并入本文。
如前所述,诸如区块链之类的密码保护的分类账可以是分布式数据库,并且在一些实施方案中,负责维护密码保护的分类账的多个实体/资源中的每一个都具有任何给定时间点的整个密码保护的分类账的副本(例如,在所述点之前添加的所有区块)。当单个交易和/或区块被添加到密码保护的分类账106时,关于那些交易(可以是添加的数据本身)的信息被广播到所有节点/实体/资源。当给定资源(其可以与维护密码保护的分类账的资源相同或不同)添加一个区块(所述区块包含/包括与所述区块相关联的一段时间内的交易)时,新区块的内容被分发到密码保护的分类账中的每个节点/实体/资源,以使得最终密码保护的分类账反映一致状态。
如可以预期的,维护和/或贡献于密码保护的分类账的实体/资源的集合本质上可以是异构的。例如,客户设备(包括客户端设备102)和与服务相关联的资源两者都可以参与维护密码保护的分类账,以及参与将区块添加到密码保护的分类账的计算活动(例如,签名验证),因为执行维护或添加的参与者的身份在很大程度上是不相关的,已知所有其他参与节点都可以通过简单地检查针对区块内容(例如,在整个密码保护的分类账的情况下,是最新的区块)执行密码散列函数,以查看结果是否满足预期的结果(例如,先前时间点的相同区块或区块集合的结果),来确认任何新添加的区块的完整性和/或准确性,以及实际上确认整个密码安全分类账的完整性。因此,就密码保护的分类账的完整性而言,不需要信任单个参与者或一组参与者作为权威,因为任何请求者可以执行相对便宜的计算本身,以验证密码安全的分类账’的完整性到他们期望的任何程度。
如上所述,数据库104与密码保护的分类账进行交互以反映包含在密码保护的分类账106中的内容、状态和其他信息。在一些实施方案中,密码保护的分类账106通过其编程接口,当它们也通过其各自的编程接口发生到数据库时,其通过其编程接口来“推送”更新。在其他实施方案中,数据库104可以手动(例如,响应于请求)或自动(例如,以指定的间隔)轮询密码保护的分类账106以获取自上次更新以来的更新。另外,还可以采用诸如数据库引擎或与数据库104和/或区块链106中的任一者/两者相关联的其他实体之类的间隙性实体来在数据库表中从区块链中表示的随时间变化的关联交易转换或以其他方式表示给定数据片段的状态,诸如资产、对象或其他“第一类”数据类型。例如,如本文其他地方所述,数据库表可以被构造为使得其仅反映给定数据片段、资产、对象等的当前状态。作为另一示例,数据库引擎或其他间隙性实体可以转换与给定数据片段、资产、对象等相关联的一些或所有交易,并经由数据库表使它们单独可见。在一些实施方案中,数据库表可以被约束到已经将交易提交到区块链的指定时间长度、特定类型的数据(例如,字段或数据类型)、指定数量的更新(例如,交易)等等。
数据库104反映密码保护的分类账106中的信息所采用的格式可以由一种或多种机制来定义。例如,可以实现模式以将密码保护的分类账106中留存的原始交易数据与资产或其他对象以及与这些对象相关联的元数据相关联。模式可以定义相关联的数据和元数据的特定字段、列或行,并且如前所述,可以简单地处理为密码保护的分类账中的另一个对象(例如,更新和/或所有权交易,以及与这些交易相关联的约束,也可以应用于模式对象)。在所述示例中,如在模式中定义的给定记录可以与资产相关联,并且还可以包括与资产相关联的元数据,诸如当前所有者、到相关联资产的链接、创建者信息等,和记录可以在数据库表104中表示。因此,请求者102可以仅以熟悉的格式查询所生成的数据库表104,而不是直接查询固有地连续的密码保护的分类账106,以快速有效地检索与在密码保护的分类账106中保持或以其他方式表示的资产有关的信息。
在一些实施方案中,数据库104是只读的;也就是说,写入交易(例如,对数据库表的字段或其他内容的写入交易)被忽略或丢弃。在所述示例中,对由密码保护的分类账(并且因此通过相关联的数据库公开)所表示的对象的任何改变通过单独类型的交互(例如,通过其相应的接口直接与密码保护的分类账)发生,以便写入新的交易。如前所述,可以与给定的密码保护的分类账更新同步地(或者在某些情况下,异步地)更新相关联的数据库表。在其他示例中,数据库表104接受读取和写入两者,诸如对行、列等的更新,如客户端实体102试图更新与资产相关联的一个或多个所有权密钥的情况。在这些情况下,实现系统可以处理写入,使得它确定要写入到密码保护的分类账106的相关联交易或交易集合,以便反映更新的数据库表,并且这样的分类账写入将受到请求者这样做的权限的验证。
图2示出了根据一些实施方案的示例环境200,其中由密码保护的分类账跟踪的资产的所有权交易通过数据库提交并使其可用。
如所提到的,取决于实现方式,密码保护的分类账210可以以不同的方式接受新的交易。例如,可以使用隐式或显式信任(例如,标识和/或认证/授权更新实体的证书、密码签名等,并且只要所述实体被密码保护的分类账机构标识为被授权向分类账添加交易,它就可以在除了为交易本身指定的约束或障碍之外没有约束或障碍的情况下这样做,诸如通过数据库引擎、所实现的模式、实现应用等)来更新密码保护的分类账210。尽管本公开集中于将分类账更新提供给请求者,例如经由通过其编程接口(例如,API)的公开服务,只要它们提供关于其权限的密码证明或其他证明,如上所述,但是其他示例可以经由工作证明,包括分布式一致性,诸如在其中一个或多个提交实体可能是恶意的环境中。
在所示的示例中,密码保护的分类账210经由前端接口212作为分类账公开给客户端实体202或其他请求者。前端接口212(与用于数据库204的前端接口206一样)可以是图形或命令行用户接口、编程接口(诸如应用编程接口(API)或web服务调用)或任何适当的接口。作为示例,客户端设备202可以提交例如针对在密码保护的分类账210中表示的给定资产的所有权转移请求208。例如,通过验证包含在请求208中(或与之分开)的数字签名或密码密钥的完整性和/或起源来验证所有权转移请求208,以及与签名或密钥相关联的身份的权限以进行所请求的所有权转移208。验证可以由任何适当的实体进行,包括第三方密码服务、与密码保护的分类账210相关联的实体、客户端实体202本身(在自我认证证书的情况下)或某个其他实体。
实际的信任证明或证明可以源自由第三方机构或其他密码服务发布的客户端实体(例如,本地硬件安全模块或可信平台模块)的密码设备或服务,或者用于发布实体的身份和完整性和/或请求实体的要被查明的任何其他适当的、可验证的方式。例如,可以由计算资源服务提供者的服务向客户端实体202发布诸如包装密钥的密码密钥,以便提交到密码保护的分类账210的前端接口212。
前端接口212将请求208传递给与密码保护的分类账210相关联的实体,以确定请求208是否有效,并且例如对其他资产或限制请求者进行相关联改变的权限的任何约束都适用。例如,如果给定资产与密钥相关联,则定义模式或数据库引擎可以自动要求由所述密钥的持有者发起与所述资产相关联的任何改变。因此,在所述示例中,如果所有权转移请求208来自某个其他实体而不是当前与给定资产相关联的密钥的所有者,则其被拒绝。
然而,假设满足任何约束和/或要求,密码保护的分类账210会提交所有权交易。如前所述,这样的写入一旦执行,就是不可变的,以便保留审计跟踪。如果错误地执行所有权交易,则“新”密钥的持有者提交新的交易以将所有权还原回原始持有者,这将作为新交易写入到密码保护的分类账210。
如前所述,数据库204以表格或其他形式反映密码保护的分类账的新状态,这取决于数据库的实现细节,以及它的更新方式(例如,如上结合图1所述)。因此,如果客户端设备202经由前端接口206向数据库204发出请求214,查询给定资产的当前所有权,则数据库204将经由其前端接口206返回,指示新所有者的响应216。其中数据库不仅反映密码保护的分类账的当前状态,而且还包括提交给分类账210的每个交易的其他实现方式被认为是在本公开的范围内。例如,在这样的实现方式中,与直接指向密码保护分类帐210的类似请求相比,可以以更有效的方式来服务请求特定时间段内或密码安全分类帐210中表示的所有时间内的所有权交易历史的数据库查询。
图3示出了根据一些实施方案的示例环境300,其中定义与资产相关联的一种或多种数据库格式(例如,字段)的模式被更新,以便进一步更新资产的数据库表示。
如前所述,这里提到的约束和条件,例如对某些密钥、字段、行、列等的存在和交叉关联的更新依赖性,以及与给定身份对其进行改变的权限相关联的权限,可以在几个层的一层(或层组合)上实现。例如,如上所述,模式可以用于规定数据库表的不同行、列和/或字段之间的关系,以及包含在密码保护的分类账中的数据和/或元数据将如何在相关联的数据库表中表示。模式以及与其相关联的交易/改变可以被提交给密码保护的分类账并且以类似于密码安全的分类账中的其他数据的方式被反映。
因此,客户端设备302可以以类似于结合至少图2所描述的方式经由前端接口312,提交模式更新308,以添加到密码保护的分类账310。如可以预期的,管理员实体(在某些情况下可以是存储在密码保护的分类账中的一个或多个资产的所有者)可以具有定义和更新模式的许可,如在一些这样的情况下,所述相同实体是先前模式的发起者,并使用其相关联密钥对其签名。因此,在一些实施方案中,可能需要替换或更新现有模式的请求与跟模式的当前版本相关联的相同密钥相关联。在某些实施方案中,由数据库引擎、与密码保护的分类账310相关联的实体等强制执行这些要求。还预期在一些实施方案中,密码保护的分类账或数据库引擎还可以强制要求给定的模式更新请求附有所述模式所属的资产的一些或所有所有者(或其他利益相关者)的签名,而不仅仅是管理员的签名。
假设密码保护的分类账接受要添加的新模式,数据库304调整其映射以符合新模式。例如,可以向一些或所有记录添加新的关键字列,或者附加的描述性字段可以涉及一些或全部记录。此后,针对数据库304的查询314(例如,经由前端接口306)涉及由新模式定义的数据库表。
图4示出了根据一些实施方案的示例环境400,其中实现一种模式以定义由密码保护的分类账支持的数据库的一个或多个字段。
约束和/或定义,诸如写入到密码保护的分类账的数据和交易在数据库表中表示的方式,它们如何相对于密码保护的分类账中的其他对象进行交互,和/或任何给定行、列、字段或对象的语义含义可以由记录定义402规定,记录定义可以由模式、实现应用和实现性数据库引擎(例如,管理数据库的引擎)中的一者或多者来实现。例如,在资产跟踪机制的情况下,数据库引擎可以强制执行与资产标识符、与资产相关联的所有者以及返回到一个或多个分类账交易的引用相关的基本字段定义。在这样的示例中,模式(其可以由授权实体更新)可以定义其他字段,诸如次要所有者、支持文档或与资产相关联的其他信息等。最后,在所述示例中,应用层可以定义哪些实体被授权查看总体约束和/或定义集合。在一些实施方案中,密码保护的分类账以及公开密码保护的分类账数据的数据库表简单地在没有固有语义框架的情况下处理数据,而是将这种解释、约束、呈现层表示等留给应用层、模式、数据库引擎或其某种组合。
替代地(或另外地),一些或所有语义可以在记录定义中实现,记录定义抽象密码保护的分类账数据,以通过相关联的数据库表进行公开。例如,实现性服务提供者可以为特定目的,例如跟踪和审计资产所有权,提供密码保护的分类账支持的数据库。在这样的示例中,语义和/或交易约束中的一些或全部(例如,所需的密钥和资产字段)可以由数据库引擎来实现。可以由实现应用和/或适用模式来定义和/或控制剩余部分。在某些实施方案中,约束/语义中的一个或多个由数据库引擎实现,以便保护它们免受未被授权修改的实体的恶意或意外地修改(但是这些实体可能被授权改变在别处(诸如在应用层)定义的其他约束/语义)。在这样的实施方案中,系统的管理员可以将这种约束/语义实现为作为整体的系统的不可变的约束/语义的基本集合。
在资产跟踪的情况下,可以理解的是,对于本文其他地方描述的基本原理,在密码保护的分类账中记录各种交易,诸如给定资产或资产组的所有权交易,将为这些交易提供不可变的审计跟踪,其中密码保护的分类账固有地提供“无信任”验证(即,由于为链中每个提交的数据区块计算的链式强密码散列结果,不需要特定的授权,例如实现分布式计算资源提供者的授权,来验证密码保护的分类账或其中包含的数据的完整性)。
记录定义402可以规定资产406与表示各种利益相关者、所有者或与资产相关联的其他概念的一个或多个密钥408、410相关联。借助于具有与给定资产相关联的密钥,实现系统将理解仅所述密钥的持有者具有将所有权转移给不同所有者的权限,并且在单调推进的密码保护的分类账412中记录这种转移将在所有权改变被提交后防止攻击者进行反向传播。在一个实施方案中,当交易被写入到密码保护的分类账时,每个相关联的记录(例如,所示示例中的行)都与分类账标识符404相关联,所述分类帐标识符404标识相关联的交易在密码保护的分类账412中的何处被写入。所述分类账标识符404可以是相关联的密码保护的分类账区块的散列值、磁盘上的位置(例如,相对于密码保护的分类账的起始偏移的偏移)、计数器或允许请求者在密码保护的分类账412内定位相关联的交易的某种其他唯一标识符。可以设想,在一些实施方案中,数据库反映给定数据集、对象、资产等(其可以指代与所述信息相关的密码保护的分类账412中的多个交易)的状态。因此,分类账404字段可以指代多个这样的密码保护的分类账位置、最近交易的位置等。
虽然本文描述了密钥408、410和资产406,但是可以例如通过实现应用、模式或数据库引擎在记录定义402内部或外部实现或以其他方式规定附加约束。例如,转移的接收方也可能需要签名或批准(例如,通过提供他们各自的密钥)。也可能需要其他方(诸如监管机构或控制机构)来签署将被接受的所有权交易。与资产406相关联但不一定与其实际所有权相关的元数据可以存在于任意数量的任意定义的字段中。
资产406可以是离散的(诸如数字作品、到诸如房地产之类的物理资产的链接或表示等)或可替代的(例如,货币、股票或其他可计算的统一资产),并且用于证明这样的资产的存在的任何相关联的数据可以被包括在与资产相关联的密码保护的分类账中(并因此在数据库表中表示)。如前所述,为了确定给定资产的出处、所有权的简易性和简单性,可以使相关联的数据库表可用于这种查询,而可以结合直接的分类帐更新请求来执行所有权转移请求。
例如,记录定义402可以规定离散资源可以被分成“批次”,其包括对给定资产的引用(例如,数字对象,如文档、媒体、对描述的URI,和/或证实和/或验证物理对象的存在的引用,如记录的房地产契约、车辆或其他个人财产的所有权、合同等)和“工作”,指一个或多个“批次”,并描述批次之间的语义关系。
作为另一个示例,记录定义402可以规定可替代的资源被分成无单位的对象,例如“硬币”和“资金”,其描述“硬币”的数量,以及所述数量(或者硬币本身)表示什么的语义含义,并且给定所有者(相关联的密钥的持有者)有权获得所述数量。
图5示出了根据一些实施方案的用于在密码保护的分类账支持的数据库中处理交易的示例过程500。
在步骤502,诸如上面结合图1-图4所描述的,诸如客户端设备之类的实体将待不可撤销地提交的交易或其他数据提交给密码保护的分类账。例如,交易可以是与资产相关联的所有权交易,并且可以由客户端实体经由密码保护的分类账的前端接口提交。
在步骤504,从包含在密码保护的分类账内的数据更新和/或生成数据库表(诸如非关系数据库的数据库表),并且在一些实施方案中,数据库表反映相关联的数据的当前状态和/或与所述数据相关联的历史交易中的一者或两者。数据库表例如经由标准接口(诸如由实现数据库引擎(例如,数据库管理系统)提供的编程接口)可用。
在步骤506,例如经由密码保护的分类账接口接收附加的写入交易(诸如所有权转移请求),并对其进行处理以确定这些请求是否有效且被授权。例如,评估与请求相关联的非对称密码密钥对的公钥,以确定它是否是与同资产相关联的当前实体所使用的密钥相同的密钥。作为另一示例,可以类似地评估由第三方密钥管理服务管理的对称密钥。
在步骤508,假设步骤506的处理和验证成功,将交易提交给密码保护的分类账,并且更新相关联的只读数据库以反映所述交易的结算。可以相对于密码保护的分类账添加异步或同步地执行这种数据库表更新。
图6示出了根据一些实施方案的用于更新用于定义与由加密安全分类账跟踪的资产相关联的一个或多个属性的模式的示例过程600;
在步骤602,与密码保护的分类账相关联的接口或其他实体接收与跟密码保护的分类账相关联(例如,由其支持)的数据库表的字段定义相关联的新模式。响应于所述请求,在判定点604,验证请求者的权限,如上面在图1-图5中所描述的,并且在一些情况下,与跟受模式影响的资产相关联的资产所有者相关联的其他密钥的有效性被肯定地评估为接受模式更新的前提条件,在步骤606,新模式被提交给密码保护的分类账,并且在步骤608出被建立,使得数据库表符合新模式。此外,可以在所述交易中引用用于分类账中的给定交易的特定模式,并且因此,超过新模式被提交的点的进一步的交易可以在分类账中引用新模式。然而,如果在判定点604处未确定请求者的权限足够,或者不满足其他约束,则在步骤610拒绝所述模式更新请求。
图7示出了根据一些实施方案的用于确定由密码保护的分类账保持或跟踪的资产的所有权交易的有效性的示例过程700。
在步骤702处,如前所述,例如从客户端实体接收请求以更新与存储在密码保护的分类账中或以其他方式表示的资产相关联的记录。在步骤704,如果资产与记录中的一个或多个签名密钥相关联,则接收系统(或其他实体)例如通过评估作为请求的一部分或与请求相关联地提交的密钥来确定请求者的身份。如前所述,所述要求可以由数据库引擎或应用层强制执行。
在判定点706,针对当前与资产相关联的身份(例如,当前所有权)检查结合步骤704确定的身份,并且如果它们匹配,则在步骤708,将记录改变提交给分类账。此后,相对于分类账更新同步地或异步地,在步骤710更新数据库表以反映新的所有权。然而,如果在判定点706处请求者身份不具有必要的许可,则在步骤712拒绝所述请求。
图8示出了根据至少一个实施方案的连接到计算资源服务提供者的客户的示例。计算资源服务提供者802可以向客户804提供各种服务,并且客户804可以经由接口826与计算资源服务提供者802进行通信,所述接口可以是web服务接口或任何其他类型的客户接口。虽然图8示出了计算资源服务提供者802的服务的一个接口826,但是每个服务都可以具有其自己的接口,并且通常,除了接口826之外或作为接口826的替代,服务的子集可以具有相对应的接口。客户804可以是一个组织,所述组织利用计算资源服务提供者802提供的服务中的一个或多个来维护信息并将信息递送给它的雇员,所述雇员可位于不同地理位置。另外,客户804可以是利用计算资源服务提供者802的服务将内容传送到位于远程工作组的个人。如图8所示,客户804可以通过网络806与计算资源服务提供者802进行通信,其中网络806可以是通信网络,诸如因特网、内联网或因特网服务提供者(ISP)网络。从客户804至计算资源服务提供者802的一些通信可促使计算资源服务提供者802根据所描述的一个或多个实施方案或其变型来操作。
计算资源服务提供者802可以向其客户提供各种计算资源服务。在所述示例中,由计算资源服务提供者802提供的服务包括虚拟计算机系统服务808、区块级别的数据存储服务810、密码服务812、按需数据存储服务814、通知服务816、认证系统818、策略管理服务820、任务服务822,以及一个或多个其他服务824。注意,并非所有描述的实施方案都包括参考图8所描述的服务808-824,并且可以提供额外的服务,作为对明确描述的服务的补充或替代。如所描述的,服务808-824中的每一个都可包括一个或多个web服务接口,所述web服务接口使客户804能够通过web服务请求来向各种服务提交适当配置的API调用。另外,每一个服务都可包括一个或多个服务接口,所述服务接口使服务能够互相访问(例如,使虚拟计算机系统服务808的虚拟计算机系统能够将数据存储到按需数据存储服务814中或从按需数据存储服务中检索数据,和/或能够访问由区块级别数据存储服务810提供的一个或多个区块级别数据存储设备)。
虚拟计算机系统服务808可以是被配置为代表客户804实例化虚拟机实例的计算资源的集合。客户804可与虚拟计算机系统服务808进行交互(经由适当配置并经认证的API调用)来供应和操作在由计算资源服务提供者802托管并操作的物理计算设备上实例化的虚拟计算机系统。虚拟计算机系统可以用于各种目的,诸如作为支持网站的服务器来操作,以操作业务应用,或者通常充当客户的计算能力。虚拟计算机系统的其他应用可以是支持数据库应用、电子商务应用、业务应用和/或其他应用。尽管在图8中示出了虚拟计算机系统服务808,但也可利用计算资源服务提供者802的任何其他计算机系统或计算机系统服务,诸如不采用虚拟化或实例化而是在专用或共享计算机/服务器和/或其他物理设备上供应计算资源的计算机系统或计算机系统服务。
区块级别数据存储服务810可包括一个或多个计算资源,所述计算资源共同操作以使用区块级别存储设备(和/或其虚拟化)来为客户804存储数据。区块级别数据存储服务810的区块级别存储设备例如可以可操作地附接到由虚拟计算机系统服务808提供的虚拟计算机系统,以用作计算机系统的逻辑单元(例如虚拟驱动器)。区块级别存储装置能够永久存储由对应的虚拟计算机系统使用/产生的数据,而虚拟计算机系统服务808可只提供临时性数据存储。
计算资源服务提供者802还包括密码服务812。密码服务812可以利用计算资源服务提供者802的一个或多个存储服务来以密码形式存储客户的密钥,其中密钥可用于解密仅可由密码服务812的特定装置访问的客户804密钥。
计算资源服务提供者802还可以包括按需数据存储服务814。按需数据存储服务814可以是被配置为同步地处理存储和/或访问数据的请求的计算资源的集合。按需数据存储服务814可以使用使按需数据存储服务814能够快速定位和检索数据以允许响应于对数据的请求而提供数据的计算资源(例如,数据库)来操作。例如,按需数据存储服务814可以以这样的方式维护存储的数据,使得当接收到对数据对象的请求时,可响应于所述请求来提供数据对象(或启动数据对象的流式传输)。如上所述,存储在按需数据存储服务814中的数据可以被组织成数据对象。数据对象可以具有任意大小,可能存在对大小的某些约束的情况除外。因此,按需数据存储服务814可以存储各种大小的大量数据对象。按需数据存储服务814可以作为密钥值存储来操作,所述密钥值存储将数据对象与数据对象的标识符相关联,所述标识符可以被客户804用来检索或执行与由按需数据存储服务814存储的数据对象相关联的其他操作。
在图8所示出的环境中,包括通知服务816。通知服务816可包括被共同配置成提供web服务或其他接口和基于浏览器的管理控制台的计算资源的集合。管理控制台可用于配置客户寻求接收通知的主题、配置应用(或人员)、订阅主题、发布消息或通过客户选择的协议(即超文本传输协议(HTTP)、电子邮件和短消息服务(SMS)等)配置消息的传递。通知服务816可以使用所提供的“推送”机制向客户端提供通知,而不需要周期性地检查或以其他方式为新的信息和更新进行“轮询”。通知服务816还可用于各种目的,诸如监视在虚拟计算机系统服务808、工作流系统、时间敏感信息更新中执行的应用、移动应用以及许多其他应用。
如图8所示,在各种实施方案中,计算资源服务提供者802包括认证系统818和策略管理服务820。在一个实施方案中,认证系统818是被配置为执行涉及对客户的用户进行认证的操作的计算机系统(即,计算资源集合)。例如,服务808–816和820–824中的一个可以从用户向认证系统818提供信息,以接收返回的指出用户请求是否真实的信息。
在一个实施方案中,策略管理服务820是被配置为代表计算资源服务提供者802的客户(例如客户804)管理策略的计算机系统。策略管理服务820可包括使得客户能够提交与策略管理有关的请求的接口。这样的请求可以是例如添加、删除、改变或以其他方式修改针对客户的策略或针对其他管理动作(如提供现有策略的详细目录等)的请求。
在各种实施方案中,计算资源服务提供者802还配备有任务服务822。任务服务822被配置为从客户804接收任务包并且能够执行由任务包指示的任务。任务服务822可以被配置为使用计算资源服务提供者802的任何资源,诸如一个或多个实例化的虚拟机或虚拟主机,来执行任务。任务服务822可以根据客户804的要求来配置一个或多个实例化的虚拟机或虚拟主机以使用所选择的操作系统和/或所选择的执行应用来操作。
计算资源服务提供者802另外至少部分地基于其客户804的需求来维护一个或多个其他服务824。例如,计算资源服务提供者802可为其客户804维护数据库服务。数据库服务可以是共同操作以运行一个或多个客户804的一个或多个数据库的计算资源的集合。客户804可以通过利用适当配置的API调用来操作并管理数据库服务中的数据库。这进而可以允许客户804维护并潜在地缩放数据库中的操作。其他服务包括(但不限于)对象级别档案数据存储服务、管理和/或监控其他服务的服务。
图9示出用于实现根据各个实施方案的各方面的示例性环境900的各方面。应理解,尽管为了说明的目的使用基于web的环境,但是在适当的情况下可以使用不同的环境来实施各种实施方案。环境包括电子客户端装置902,所述电子客户端装置可以包括可操作来通过适当网络904发送和/或接收请求、消息或信息并且在一些实施方案中将信息传送回设备的用户的任何适当设备。此类客户端设备的示例包括个人计算机、手机、手持式消息传送设备、膝上型计算机、平板计算机、机顶盒、个人数据助理、嵌入式计算机系统、电子书阅读器以及类似者。网络可以包括任何适当网络,包括内联网、因特网、蜂窝网络、局域网、卫星网络或任何其他此类网络和/或上述网络的组合。用于这种系统的部件可以至少部分地取决于所选择的网络和/或环境的类型。用于通过这样的网络进行通信的许多协议和部件是公知的,将不在此进行详细讨论。经由网络的通信可以通过有线或无线连接以及其组合来实现。在此示例中,如对本领域的普通技术人员显而易见的,网络包括因特网和/或其他可公开寻址的通信网络,因为环境包括用于接收请求并且响应于所述请求而提供内容的web服务器906,但是对于其他网络来说,可以使用提供类似目的的替代设备。
说明性环境包括至少一个应用服务器908和数据存储910。应所述理解的是,可以有多个应用服务器、层或其他元件、过程或部件,它们可以被链接或以其他方式配置,可以交互,以执行诸如从适当的数据存储中获取数据之类的任务。如本文所使用的服务器可以各种方式,诸如以硬件设备或虚拟计算机系统来实现。在一些情况下,服务器可以指代正在计算机系统上执行的编程模块。如本文中所使用,除非另有说明或从上下文中清楚,否则术语“数据存储”是指能够存储、访问并检索数据的任何设备或设备的组合,所述设备或设备的组合可以包括在任何标准、分布式、虚拟或群集环境中的数据服务器、数据库、数据存储设备以及数据存储介质的任何组合和任何数量的所述数据服务器、数据库、数据存储设备以及数据存储介质。应用服务器可以包括任何适当的硬件、软件和固件,所述硬件、软件和固件用于根据需要与数据存储集成以执行客户端设备的一个或多个应用的方面、处理应用的数据访问和业务逻辑中的一些或全部。应用服务器可以与数据存储协作来提供访问控制服务,并且能够生成包括但不限于以下各项的内容:文本、图形、音频、视频和/或可用于提供给用户的其他内容,所述内容可由web服务器以超文本标记语言(“HTML”)、可扩展标记语言(“XML”)、JavaScript、级联样式表(“CSS”)、JavaScript对象表示法(JSON)和/或另一适当的客户端侧结构化语言的形式提供给用户。传送到客户端设备的内容可以由客户端设备处理,以便以一种或多种形式提供内容,所述形式包括但不限于用户可通过听觉、视觉和/或通过其他感觉来感知的形式。在此示例中,对全部请求和响应的处理以及客户端设备902与应用服务器908之间的内容递送可由web服务器使用PHP:超文本预处理器(“PHP”)、Python、Ruby、Perl、Java、HTML、XML、JSON,和/或另一种适当服务器端结构化语言来处理。此外,除非另外根据上下文显而易见,否则在本文中被描述为由单个设备执行的操作可以由可能形成分布式和/或虚拟系统的多个设备共同地执行。
数据存储910可包括用于存储与本公开的特定方面相关的数据的若干单独数据表、数据库、数据文档、动态数据存储方案和/或其他数据存储机制和介质。例如,所示数据存储可包括用于存储生产数据912和用户信息916的机制,所述生产数据和用户信息可以用于为生产侧提供内容。数据存储还被示为包括用于存储日志数据914的机制,所述日志数据914可用于报告、分析或其他这样的目的。应理解,可存在可能需要存储在数据存储中的许多其他方面,例如页图像信息和存取权信息,其可在适当时或在数据存储910中的额外机制中存储于以上列出的机制中的任一者中。数据存储910可以通过与其相关联的逻辑来操作,以便从应用服务器908接收指令,并且响应于所述指令获得数据、更新数据或以其他方式处理数据。应用服务器908可以响应于所接收指令而提供静态、动态数据或静态和动态数据的组合。诸如在web日志(博客)、购物应用、新闻服务以及其他此类应用中使用的数据之类的动态数据可以由如本文所描述的服务器侧结构化语言生成或者可以由在应用服务器上操作或在其控制下的内容管理系统(“CMS”)提供。在一个示例中,用户可通过由用户操作的设备提交针对某一类型的项目的搜索请求。在这种情况下,数据存储可以访问用户信息以验证用户的身份,并且可以访问目录详细信息以获得关于所述类型的项目的信息。信息然后可被返回给用户,诸如在用户能够经由用户设备902上的浏览器查看的网页上的结果列表中。可以在浏览器的专用页面或窗口中查看感兴趣的特定项目的信息。然而,应注意,本公开的实施方案不一定限于网页的上下文,而是可以更普遍地适用于处理一般的请求,其中请求不一定是对内容的请求。
每个服务器通常都将包括提供用于所述服务器的一般管理和操作的可执行程序指令的操作系统,并且通常将包括存储指令的计算机可读存储介质(例如,硬盘、随机存取存储器、只读存储器等),所述指令在由服务器的处理器执行(即,作为被执行的结果)时允许服务器执行其预期的功能。
在一个实施方案中,环境为利用若干计算机系统和部件的分布式和/或虚拟计算环境,所述计算机系统和部件经由通信链路并使用一个或多个计算机网络或直接连接来互连。然而,本领域普通技术人员应理解,此类系统可以在具有比图9所示的部件更少或更多的部件的系统中同样顺利地操作。因此,图9中的系统900的描绘本质上应视为说明性的,并且不限制本公开的范围。
本公开的实施方案可以鉴于以下条款来描述:
1.一种计算机实现的方法,其包括:
在被配置有可执行指令的一个或多个计算机系统的控制下,
将第一引用提交到块链分类账,所述第一引用至少包括资产引用,使得不能修改提交给所述区块链分类账的所述第一引用;
向请求者提供对作为数据库表中的记录的所述第一引用的访问;
经由所述区块链分类账的接口,接收更新与所述第一引用相关联的所有权信息的请求;
确定所述第一引用包括与所述所有权信息相关联的密钥,验证与所述请求相关联的一个或多个许可;
验证所述一个或多个许可,生成包括所述资产引用和反映所请求的更新的所有权信息的第二密钥的第二引用;
将所述第二引用提交到所述区块链分类账,以使得不能修改提交给所述区块链分类账的所述第二引用;以及
向所述请求者提供对所述记录的访问,以使得所述记录至少反映所述第二引用中的所述更新的所有权信息。
2.如条款1所述的计算机实现的方法,其中所述区块链分类账至少部分地基于验证所述一个或多个许可来接受所述第二引用。
3.如条款1或2所述的计算机实现的方法,其中所述资产是作为所述第一引用的一部分包括在所述区块链分类账中的数字资产。
4.如条款1-3中任一项所述的计算机实现的方法,其中所述数据库表的一个或多个字段由提交给所述区块链分类账的模式来定义。
5.一种系统,其包括:
实现一个或多个服务的至少一个计算设备,其中所述一个或多个服务:
生成不可撤销地接受与资产相关的交易的密码保护的分类账;
生成数据库表,所述数据库表反映与提交给所述密码保护的分类账的交易相关的所述资产的状态;以及
至少通过以下方式来处理与所述资产相关联的更新请求:
确认与所述更新请求相关的许可;
向所述密码保护的分类账提交与所述更新请求相关联的一个或多个交易;以及
更新所述数据库表以反映与所述一个或多个交易相关的所述资产的新状态。
6.如条款5所述的系统,其中所述一个或多个服务还结合模式生成所述数据库表。
7.如条款6所述的系统,其中所述模式作为连接到所述资产的交易存储在所述密码保护的分类账中。
8.如条款6或7所述的系统,其中经由所述更新请求来更新所述模式。
9.如条款5-8中任一项所述的系统,其中所述更新请求是由所述一个或多个服务经由与所述密码保护的分类账相关联的接口来接收的。
10.如条款5-9中任一项所述的系统,其中作为对所述数据库表的写入操作的结果来接收所述更新请求。
11.如条款5-10中任一项所述的系统,其中所述一个或多个服务确认由于所述资产与密钥相关联而与所述更新请求相关联的许可,所述密钥与所述资产的所有者相关联。
12.如条款5-11中任一项所述的系统,其中所述资产是物理资产或数字资产。
13.一种非暂时性计算机可读存储介质,其上存储有可执行指令,所述可执行指令作为由计算机系统的一或多个处理器执行的结果致使所述计算机系统至少:
生成用于接受与资产相关联的交易的密码保护的分类账;
生成数据库表,所述数据库表反映与提交给所述密码保护的分类账的交易相关的所述资产的状态;以及
至少通过以下方式来处理与资产相关联的交易:
确认与所述交易相关联的许可;
向密码保护的分类账提交所述交易;以及
基于所述密码保护的分类账的状态,来更新数据库表以反映由所述交易产生的所述资产的新状态。
14.如条款13所述的非暂时性计算机可读存储介质,其中所述交易与更新所述资产的所有者相关联。
15.如条款13或14所述的非暂时性计算机可读存储介质,其中所述交易与更新所述许可相关联。
16.如条款13-15中任一项所述的非暂时性计算机可读存储介质,其中使得所述计算机系统确认所述许可的所述指令还包括使所述计算机系统验证与所述交易相关联的签名的指令。
17.如条款13-16中任一项所述的非暂时性计算机可读存储介质,其中:
所述交易与第一模式更新为第二模式相关联,所述第一模式与跟所述加密安全分类账中的所述资产相关联的第一组交易相关联,所述第二模式与所述资产相关联;以及
作为由所述一个或多个处理器执行的结果,所述指令进一步使得所述计算机系统:
通过更新所述数据库表以反映与所述第二模式相关联的新状态来处理所述交易;以及
将与所述资产相关联的第二交易集合与所述第二模式相关联,在与所述第二模式相关联的交易被写入到所述分类账之后的某一时间,由所述计算机系统处理所述第二交易集合。
18.如条款16或17所述的非暂时性计算机可读存储介质,其中所述签名由与所述交易相关联的请求者提供。
19.如条款16-18中任一项所述的非暂时性计算机可读存储介质,其中所述签名由不同于与所述交易相关联的请求者的实体提供。
20.如条款13-19中任一项所述的非暂时性计算机可读存储介质,其中经由所述计算机系统实现的编程接口来接收所述交易。
各种实施方案另外可在广泛多种操作环境中实施,所述操作环境在一些情况下可包括一个或多个用户计算机、计算设备或处理设备,这些设备可用于操作多个应用中的任何应用。用户或客户端设备可以包括运行标准操作系统的多个计算机中的任何计算机,诸如台式计算机、膝上型计算机、或平板计算机,以及运行移动软件并且能够支持多种联网和消息传递协议的蜂窝式、无线和手持设备。这样的系统还可以包括运行各种市场上可买到的操作系统和用于诸如开发和数据库管理的目的的其他已知应用中的任一个的多个工作站。这些设备还可以包括其他电子设备,诸如虚拟终端、瘦客户端、游戏系统以及能够经由网络进行通信的其他设备。这些设备还可以包括虚拟设备,诸如虚拟机、管理程序和能够经由网络进行通信的其他虚拟设备。
本公开的各种实施方案利用本领域技术人员可能熟悉的至少一种网络来支持使用多种可商购的协议中的任一种的通信,诸如所述协议诸如传输控制协议/因特网协议(“TCP/IP”)、用户数据报协议(“UDP”)、在开放系统互连(“OSI”)模型的各个层中操作的协议、文件传送协议(“FTP”)、通用即插即用(“UpnP”)、网络文件系统(“NFS”)、通用因特网文件系统(“CIFS”)以及AppleTalk。网络可以是例如局域网、广域网、虚拟专用网、因特网、内联网、外联网、公用交换电话网、红外网络、无线网、卫星网络及其任意组合。在一些实施方案中,面向连接的协议可以用于在网络端点之间进行通信。面向连接的协议(有时被称为基于连接的协议)能够以有序流的形式传输数据。面向连接的协议可以是可靠或不可靠的。例如,TCP协议是一种可靠的面向连接的协议。异步传输模式(“ATM”)和帧中继是不可靠的面向连接的协议。面向连接的协议与面向分组的协议(诸如UDP)形成对比,所述面向分组的协议在没有保证排序的情况下传输分组。
在利用web服务器的实施方案中,web服务器可以运行各种服务器或中间层应用中的任一者,包括超文本传输协议(“HTTP”)服务器、FTP服务器、通用网关接口(“CGI”)服务器、数据服务器、Java服务器、Apache服务器以及业务应用服务器。服务器还可以能够响应于来自用户设备的请求而执行程序或脚本,诸如,通过执行可以实施为用任何编程语言(诸如,C、C#或C++)或任何脚本语言(诸如,Ruby、PHP、Perl、Python或TCL)以及其组合编写的一个或多个脚本或程序的一个或多个web应用。服务器还可以包括数据库服务器,包括但不限于可商购自/>以及/>的那些服务器以及开源服务器,诸如MySQL、Postgres、SQLite、MongoDB,以及能够存储、检索和访问结构化或非结构化数据的任何其他服务器。数据库服务器可以包括基于表的服务器、基于文档的服务器、非结构化服务器、关系服务器、非关系服务器或这些和/或其他数据库服务器的组合。
环境可以包括如上所述的各种数据存储和其他存储器和存储介质。这些可以驻留在各种位置,诸如,在计算机中的一者或多者的本地(或驻留在所述计算机中)或者远离跨网络的计算机中的任何或全部的存储介质上。在一组特定的实施方案中,信息可以驻留在本领域技术人员熟悉的存储区域网络(“SAN”)中。类似地,用于执行计算机、服务器或其他网络设备所特有的功能的任何必要文件可以在适当的情况下本地和/或远程存储。在系统包括计算机化设备的情况下,每一个这种设备都可包括可通过总线电耦合的硬件元件,所述元件包括例如至少一个中央处理单元(“CPU”或“处理器”)、至少一个输入设备(例如,鼠标、键盘、控制器、触摸屏或小键盘)和至少一个输出设备(例如,显示设备、打印机或扬声器)。这样的系统还可以包括一个或多个存储设备,诸如磁盘驱动器、光存储设备以及诸如随机存取存储器(“RAM”)或只读存储器(“ROM”)之类的固态存储设备,以及可移动介质设备、存储卡、闪存卡等。
此类设备还可以包括计算机可读存储介质读取器、通信设备(例如,调制解调器、网卡(无线或有线的)、红外通信设备等)以及如上文所描述的工作存储器。计算机可读存储介质读取器可以与计算机可读存储介质连接或被配置成接收计算机可读存储介质,所述计算机可读存储介质表示远程、本地、固定和/或可移除的存储设备,以及用于临时和/或更永久地含有、存储、传输和检索计算器可读信息的存储介质。系统和各种设备通常还将包括位于至少一个工作存储器设备内的多个软件应用、模块、服务或其他元件,包括操作系统和应用,诸如客户端应用或web浏览器。另外,还可使用定制硬件和/或可在硬件、软件(包含便携式软件,例如小程序)或两者中实现特定元件。此外,还可以采用到诸如网络输入/输出设备的其他计算设备的连接。
用于含有代码或代码部分的存储介质和计算机可读介质可包括本领域已知或已使用的任何适当介质,包括存储介质和通信介质,诸如但不限于以用于存储和/或传输信息(如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术所实现的易失性和非易失性、可移动和不可移动的介质,包括RAM、ROM、电可擦可编程只读存储器(“EEPROM”)、闪存存储器或其他存储器技术、只读光盘驱动器(“CD-ROM”)、数字通用光盘(DVD)或其他光学存储器、磁盒、磁带、磁盘存储设备或其他磁性存储设备,或可用于存储所需信息且可由系统设备访问的任何其他介质。基于本文中提供的公开和教导,本领域普通技术人员将理解用于实施各种实施方案的其他方式和/或方法。
因此,应以说明性意义而不是限制性意义来理解本说明书和附图。然而,显而易见的是,在不脱离如权利要求所述的本发明的更广泛精神和范围的情况下,可以进行各种修改和改变。
其他变化在本公开的精神内。因此,尽管所公开的技术容易受到各种修改和替代结构的影响,但附图示出了某些说明性的实施方案,并已详细地进行了描述。然而应理解,不存在将本发明限于所公开的具体形式的意图,相反,本发明将覆盖落在如在随附权利要求中定义的本发明的精神和范围内的所有修改、替代结构和等同物。
除非本文另有说明或明确地与上下文矛盾,否则在描述所公开的实施方案的上下文中(特别是在所附权利要求书的上下文中)对术语“一个”和“一种”和“所述”以及类似指称对象的使用应被解释为涵盖单数和复数两者。除非另有说明,否则术语“包括”、“具有”、“包含”和“含有”将被解释为开放式术语(即,意味着“包括但不限于”)。在未经修改且涉及物理连接的情况下,术语“连接”应被解释为部分或全部包含在内、附接到或接合在一起,即使存在某些介入。除非本文另有说明,否则本文中值的范围的列举仅意图用作单独提及落在所述范围内的每个单独值的速记方法,并且每个单独的值并入本说明书中,如同在本文中单独列举一样。除非另有说明或与上下文矛盾,否则术语“集合”(例如,“一组项目”)或“子集”的使用应被解释为包括一个或多个成员的非空集合。此外,除非另有指出或与上下文矛盾,否则术语对应集合的“子集”未必表示对应集合的真子集,而是子集和对应集合可以相等。
除非另有具体陈述或另外明确地与上下文矛盾,否则连接语言诸如形式为“A、B和C中的至少一个”或“A、B和C中的至少一个”的短语可以在一般使用的上下文中被理解为表示某一项目、项等可以是A或B或C,或者A和B与C的集合的任何非空子集。例如,在具有三个成员的集合的说明性示例中,连接短语“A、B和C中的至少一个”和“A、B和C中的至少一个”是指以下集合中的任一者:{A}、{B}、{C}、{A,B}、{A,C}、{B,C}、{A,B,C}。因此,此类连接语言通常并不意图暗示某些实施方案需要A中的至少一个、B中的至少一个和C中的至少一个各自存在。
除非本文另有说明或另外明确地与上下文矛盾,否则本文所述的过程的操作可以以任何合适的顺序执行。本文中描述的过程(或其变化和/或其组合)可以在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可以通过硬件或其组合实施为在一个或多个处理器上共同地执行的代码(例如,可执行指令、一个或多个计算机程序或者一个或多个应用)。代码可以存储在计算机可读存储介质上,例如以包括可由一个或多个处理器执行的多个指令的计算机程序的形式存储。计算机可读储存介质可以是非暂时性的。在一些实施方案中,代码存储在一个或多个非暂时性计算机可读存储介质的集合上,一个或多个非暂时性计算机可读存储介质的集合上存储有可执行指令,当由计算机系统的一个或多个处理器执行时(即,作为被执行的结果),使得计算机系统执行本文所描述的操作。所述非暂时性计算机可读存储介质集合可以包括多个非暂时性计算机可读存储介质,并且多个非暂时性计算机可读存储介质中的一个或多个单独的非暂时性存储介质可能并非包含所有代码,而多个非暂时性计算机可读存储介质共同存储所有代码。此外,在一些示例中,执行可执行指令,使得不同的指令由不同的处理器执行。作为说明性示例,非暂时性计算机可读存储介质可以存储指令。主CPU可执行所述指令中的一些且图形处理器单元可执行所述指令中的其他指令。通常,计算机系统的不同部件可以具有单独的处理器,并且不同的处理器可以执行指令的不同子集。
因此,在一些示例中,计算机系统被配置为实施单独地或共同地执行本文中描述的过程的操作的一个或多个服务。例如,此类计算机系统可以被配置有能够执行操作的适用硬件和/或软件。此外,在一些示例中,实现本公开的各种实施方案的计算机系统可以是单个设备,并且在其他示例中,可以是包括多个设备的分布式计算机系统,所述多个设备以不同的方式操作,使得分布式计算机系统执行本文描述的操作并且使得单个设备可以不执行所有操作。
除非另有说明,否则对本文所提供的任何和所有示例或示例性语言(例如,“诸如”)的使用仅意图更好地说明本发明的实施方案,而非对对本发明的范围构成限制。本说明书中的语言不应被解释为表示任何未要求保护的元素是实践本发明所必需的。
本公开的实施方案在本文中描述,包括发明人已知的用于实施本发明的最佳模式。在阅读前面的描述之后,这些实施方案的变化对于本领域的普通技术人员可变得显而易见。本发明人期望本领域技术人员适当地使用此类变化,并且发明人意图以与本文中的具体描述不同的方式实践本公开的实施方案。因此,本公开的范围包括如适用法律所允许的对所附权利要求中叙述的主题的所有修改和等效物。此外,除非本文中另有说明或另外明确地与上下文矛盾,否则本公开的范围涵盖其全部可能变化中的上述元素的任何组合。
在本文中引用的所有参考文献,包括公开案、专利申请案以及专利特此通过引用并入本文中,如同每一参考文献个别地且具体地指示为通过引用并入且以其全文在本文中阐述一样。
Claims (20)
1.一种计算机实现的方法,其包括:
在被配置有可执行指令的一个或多个计算机系统的控制下,
将第一引用提交到区块链分类账,所述第一引用至少包括资产引用,使得不能修改提交给所述区块链分类账的所述第一引用;
向请求者提供对作为数据库表中的记录的所述第一引用的访问;
经由所述区块链分类账的接口,接收更新与所述第一引用相关联的所有权信息的请求;
确定所述第一引用包括与所述所有权信息相关联的密钥,验证与所述请求相关联的一个或多个许可;
验证所述一个或多个许可,生成包括所述资产引用和反映所请求的更新的所有权信息的第二密钥的第二引用;
将所述第二引用提交到所述区块链分类账,以使得不能修改提交给所述区块链分类账的所述第二引用;以及
向所述请求者提供对所述记录的访问,以使得所述记录至少反映所述第二引用中的所述更新的所有权信息。
2.如权利要求1所述的计算机实现的方法,其中所述区块链分类账至少部分地基于验证所述一个或多个权限来许可来所述第二引用。
3.如权利要求1所述的计算机实现的方法,其中所述资产是作为所述第一引用的一部分包括在所述区块链分类账中的数字资产。
4.如权利要求1所述的计算机实现的方法,其中所述数据库表的一个或多个字段由提交给所述区块链分类账的模式来定义。
5.一种系统,其包括:
至少一个计算设备和至少一个存储设备,其中所述至少一个存储设备存储可由所述至少一个计算设备执行的指令,当所述指令被所述至少一个计算设备执行时,使所述至少一个计算设备执行以下操作:
生成不可撤销地接受区块链分类账的第一引用的密码保护的分类账,所述第一引用至少包括资产引用,使得不能修改提交给所述区块链分类账的所述第一引用;
将所述第一引用提交到所述区块链分类账;
根据数据库表模式生成数据库表,所述数据库表反映与提交给所述密码保护的分类账的所述第一引用相关的所述资产的状态,其中所述数据库表模式至少部分基于密码保护的分类账中跟踪的信息;以及
至少通过以下方式来处理与所述资产相关联的更新请求:
向请求者提供对作为数据库表中的记录的所述第一引用的访问;
经由所述区块链分类账的接口,接收更新与所述第一引用相关联的所有权信息的请求;
确定所述第一引用包括与所述所有权信息相关联的密钥,验证与所述请求相关联的一个或多个许可;
通过至少核实与所述更新请求相关的签名,确认与所述更新请求相关的许可,生成包括所述资产引用和反映所请求的更新的所有权信息的第二密钥的第二引用;
向所述密码保护的分类账提交所述第二引用;以及
基于所述密码保护的分类账的状态,更新所述数据库表以反映所述第二引用中的所述更新的所有权信息。
6.如权利要求5所述的系统,其中所述一个或多个服务还结合至少部分地基于所述密码保护的分类账中跟踪的所述信息来指示一个或多个数据库格式的模式生成所述数据库表。
7.如权利要求6所述的系统,其中所述模式作为连接到所述资产的交易存储在所述密码保护的分类账中。
8.如权利要求6所述的系统,其中经由所述更新请求来更新所述模式。
9.如权利要求5所述的系统,其中所述更新请求是由所述一个或多个服务经由与所述密码保护的分类账相关联的接口来接收的。
10.如权利要求5所述的系统,其中作为对所述数据库表的写入操作的结果来接收所述更新请求。
11.如权利要求5所述的系统,其中所述一个或多个服务确认由于所述资产与密钥相关联而与所述更新请求相关联的许可,所述密钥与所述资产的所有者相关联。
12.如权利要求5所述的系统,其中所述资产是物理资产或数字资产。
13.一种非暂时性计算机可读存储介质,其上存储有可执行指令,所述可执行指令作为由计算机系统的一或多个处理器执行的结果致使所述计算机系统至少:
生成不可撤销地接受区块链分类账的第一引用的密码保护的分类账,所述第一引用至少包括资产引用,使得不能修改提交给所述区块链分类账的所述第一引用;
将第一引用提交到区块链分类账;
根据数据库表模式生成数据库表,所述数据库表反映与提交给所述密码保护的分类账的所述第一引用相关的所述资产的状态,其中所述数据库表模式至少部分基于密码保护的分类账中跟踪的信息;以及
至少通过以下方式来处理与资产相关联的交易:
向请求者提供对作为数据库表中的记录的所述第一引用的访问;
经由所述区块链分类账的接口,接收更新与所述第一引用相关联的所有权信息的请求;
确定所述第一引用包括与所述所有权信息相关联的密钥,验证与所述请求相关联的一个或多个许可;
通过至少核实与所述更新请求相关的签名,确认与所述交易相关联的许可,生成包括所述资产引用和反映所请求的更新的所有权信息的第二密钥的第二引用;
向密码保护的分类账提交所述第二引用;以及
基于所述密码保护的分类账的状态,来更新所述数据库表以反映所述第二引用中的所述更新的所有权信息。
14.如权利要求13所述的非暂时性计算机可读存储介质,其中所述交易与更新所述资产的所有者相关联。
15.如权利要求13所述的非暂时性计算机可读存储介质,其中所述交易与更新所述许可相关联。
16.如权利要求13所述的非暂时性计算机可读存储介质,其中所述指令使得所述计算机系统至少部分地基于所述密码保护的分类账中跟踪的所述信息来指示一个或多个数据库格式的模式来生成所述数据库表。
17.如权利要求13所述的非暂时性计算机可读存储介质,其中:
所述数据库表模式为第一数据库表模式;
所述交易与第一数据库表模式更新为第二数据库表模式相关联,所述第一数据库表模式与跟所述密码保护的分类账中的所述资产相关联的第一组交易相关联,所述第二数据库表模式与所述资产相关联;以及
作为由所述一个或多个处理器执行的结果,所述指令进一步使得所述计算机系统:
通过更新所述数据库表以反映与所述第二数据库表模式相关联的新状态来处理所述交易;以及
将与所述资产相关联的第二交易集合与所述第二数据库表模式相关联,在与所述第二数据库表模式相关联的交易被写入到所述分类账之后的某一时间,由所述计算机系统处理所述第二交易集合。
18.如权利要求16所述的非暂时性计算机可读存储介质,其中所述签名由与所述交易相关联的请求者提供。
19.如权利要求16所述的非暂时性计算机可读存储介质,其中所述签名由不同于与所述交易相关联的请求者的实体提供。
20.如权利要求13所述的非暂时性计算机可读存储介质,其中经由所述计算机系统实现的编程接口来接收所述交易。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/283,017 US10614239B2 (en) | 2016-09-30 | 2016-09-30 | Immutable cryptographically secured ledger-backed databases |
US15/283,017 | 2016-09-30 | ||
PCT/US2017/054319 WO2018064487A1 (en) | 2016-09-30 | 2017-09-29 | Immutable cryptographically secured ledger-backed databases |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109844783A CN109844783A (zh) | 2019-06-04 |
CN109844783B true CN109844783B (zh) | 2023-11-07 |
Family
ID=60081326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780060802.3A Active CN109844783B (zh) | 2016-09-30 | 2017-09-29 | 不可变的密码保护的分类账支持的数据库 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10614239B2 (zh) |
EP (1) | EP3520047B1 (zh) |
JP (1) | JP6730520B2 (zh) |
CN (1) | CN109844783B (zh) |
AU (1) | AU2017336924B2 (zh) |
WO (1) | WO2018064487A1 (zh) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8874477B2 (en) | 2005-10-04 | 2014-10-28 | Steven Mark Hoffberg | Multifactorial optimization system and method |
US10438197B2 (en) * | 2016-04-13 | 2019-10-08 | Paypal, Inc. | Public ledger authentication system |
US9774578B1 (en) | 2016-05-23 | 2017-09-26 | Accenture Global Solutions Limited | Distributed key secret for rewritable blockchain |
US20180247191A1 (en) | 2017-02-03 | 2018-08-30 | Milestone Entertainment Llc | Architectures, systems and methods for program defined entertainment state system, decentralized cryptocurrency system and system with segregated secure functions and public functions |
US10621150B2 (en) * | 2017-03-05 | 2020-04-14 | Jonathan Sean Callan | System and method for enforcing the structure and content of databases synchronized over a distributed ledger |
US10805090B1 (en) * | 2017-03-24 | 2020-10-13 | Blockstream Corporation | Address whitelisting using public/private keys and ring signature |
US11887115B2 (en) * | 2017-04-17 | 2024-01-30 | Jeff STOLLMAN | Systems and methods to validate transactions for inclusion in electronic blockchains |
US11362834B2 (en) * | 2017-07-24 | 2022-06-14 | Comcast Cable Communications, Llc | Systems and methods for managing digital rights |
EP3710974B1 (en) * | 2017-11-17 | 2023-07-26 | Telefonaktiebolaget LM Ericsson (publ) | Method and arrangement for detecting digital content tampering |
US10990887B1 (en) * | 2017-12-13 | 2021-04-27 | Amazon Technologies, Inc. | Anything-but matching using finite-state machines |
WO2019173700A2 (en) * | 2018-03-08 | 2019-09-12 | Borsetta, Inc. | Decentralized title transfer and validation of assets |
JP7284967B2 (ja) * | 2018-04-19 | 2023-06-01 | ヴィチェーン ファウンデーション リミテッド | 取引処理 |
JP7090800B2 (ja) * | 2018-04-20 | 2022-06-24 | ヴィシャール・グプタ | 分散型文書およびエンティティ検証エンジン |
WO2019213530A1 (en) * | 2018-05-03 | 2019-11-07 | SigmaLedger, Inc. | Verifying authenticity of products based on proof and transfer of ownership |
US11257081B2 (en) * | 2018-05-08 | 2022-02-22 | Oracle International Corporation | Integrating a blockchain ledger with an application external to the blockchain ledger |
US11683180B1 (en) | 2018-05-24 | 2023-06-20 | Swear Inc. | Protecting digital media with nested hashing techniques |
US10348505B1 (en) | 2018-05-24 | 2019-07-09 | DeepTruth, LLC | Systems and techniques for validation of media data |
US10771240B2 (en) * | 2018-06-13 | 2020-09-08 | Dynamic Blockchains Inc | Dynamic blockchain system and method for providing efficient and secure distributed data access, data storage and data transport |
US10764039B2 (en) | 2018-08-01 | 2020-09-01 | The Toronto-Dominion Bank | Dynamic generation and management of asymmetric cryptographic keys using distributed ledgers |
US11146560B1 (en) * | 2018-08-30 | 2021-10-12 | Amazon Technologies, Inc. | Distributed governance of computing resources |
US11100533B1 (en) | 2018-09-14 | 2021-08-24 | Facebook, Inc. | Cryptographically generating custom audiences |
US11120024B2 (en) * | 2018-11-01 | 2021-09-14 | Sap Se | Dual-stack architecture that integrates relational database with blockchain |
JP7274198B2 (ja) * | 2018-11-19 | 2023-05-16 | 株式会社A.L.I.Technologies | 資産情報登録方法 |
US20200160289A1 (en) * | 2018-11-19 | 2020-05-21 | Rare Bits, Inc. | Lazy updating and state prediction for blockchain-based applications |
CN110622149A (zh) * | 2018-11-30 | 2019-12-27 | 阿里巴巴集团控股有限公司 | 基于二进制日志复制的区块链数据关系结构方案 |
US20220019575A1 (en) * | 2018-12-04 | 2022-01-20 | Zeu Technologies, Inc. | System And Method For Augmenting Database Applications With Blockchain Technology |
US10325084B1 (en) * | 2018-12-11 | 2019-06-18 | block.one | Systems and methods for creating a secure digital identity |
CN110020542B (zh) * | 2018-12-20 | 2020-05-19 | 阿里巴巴集团控股有限公司 | 数据读写方法及装置、电子设备 |
SG11202108684SA (en) * | 2019-02-08 | 2021-09-29 | Christopher Lyndon Higgins | Distributed ledger computing platforms and associated methods, systems and devices |
EP3699856A1 (en) * | 2019-02-21 | 2020-08-26 | INL - International Iberian Nanotechnology Laboratory | Tagging of an object |
EP4040322A1 (en) * | 2019-02-22 | 2022-08-10 | Visa International Service Association | Method and system for creating rapid searchable altered data in a database |
US11823121B2 (en) * | 2019-04-25 | 2023-11-21 | Inxeption Corporation | Systems and methods for processing, securing, and communicating industrial commerce transactions |
CN111262901B (zh) * | 2019-07-29 | 2021-03-26 | 深圳百灵声学有限公司 | 多对多通信系统及其运行方法 |
US11586614B2 (en) | 2019-07-30 | 2023-02-21 | Oracle International Corporation | Native persistent store support for blockchains |
US11640391B2 (en) | 2019-09-11 | 2023-05-02 | Oracle International Corporation | Supporting blockchain collections in a database |
CN110661867B (zh) * | 2019-09-25 | 2021-07-23 | 东北大学 | 一种基于改进工作量证明与权益证明的区块链共识方法 |
WO2021134473A1 (zh) * | 2019-12-31 | 2021-07-08 | 深圳市网心科技有限公司 | 一种区块链信息监管方法、系统、装置及计算机存储介质 |
US11558180B2 (en) | 2020-01-20 | 2023-01-17 | International Business Machines Corporation | Key-value store with blockchain properties |
US11875178B2 (en) | 2020-07-30 | 2024-01-16 | Oracle International Corporation | Using multiple blockchains for applying transactions to a set of persistent data objects in persistent storage systems |
CN116348862A (zh) * | 2020-10-13 | 2023-06-27 | 株式会社日立制作所 | 包含与区块链相关的对等网络的系统、辅助该对等网络的构建的方法、以及在对等节点执行的智能合约 |
US11949788B1 (en) | 2020-11-21 | 2024-04-02 | CodeNotary Inc. | System and method to shorten cryptographic proofs |
US11483132B2 (en) * | 2020-12-04 | 2022-10-25 | Meta Platforms, Inc. | Generating and initiating pre-signed transaction requests for flexibly and efficiently implementing secure cryptographic key management |
US11494347B1 (en) | 2021-05-05 | 2022-11-08 | Oracle International Corporation | Efficient update-anywhere replication of queue operations on a replicated message queue |
WO2022264085A1 (en) * | 2021-06-18 | 2022-12-22 | Compellio S.A. | Digital assets exchange coordination |
WO2023027756A1 (en) * | 2021-08-26 | 2023-03-02 | Hewlett-Packard Development Company, L.P. | Secure ledger registration |
US20240095225A1 (en) * | 2022-09-20 | 2024-03-21 | Bank Of America Corporation | Intelligently storing data in a fault tolerant system using robotic process automation and blockchain |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101681366A (zh) * | 2007-03-02 | 2010-03-24 | E-曼纽尔系统私人有限公司 | 一种数据存储和管理方法 |
CN102542402A (zh) * | 2011-12-02 | 2012-07-04 | 袁义军 | 财务数据处理方法及系统 |
Family Cites Families (210)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0713594B1 (en) | 1993-07-27 | 1997-10-15 | Taligent, Inc. | Object-oriented rendering system |
US6112243A (en) | 1996-12-30 | 2000-08-29 | Intel Corporation | Method and apparatus for allocating tasks to remote networked processors |
US6753830B2 (en) | 1998-09-11 | 2004-06-22 | Visible Tech-Knowledgy, Inc. | Smart electronic label employing electronic ink |
US6665565B1 (en) | 1999-12-24 | 2003-12-16 | Medtronic, Inc. | Method and a system for conducting failure mode recovery in an implanted medical device |
US6922700B1 (en) | 2000-05-16 | 2005-07-26 | International Business Machines Corporation | System and method for similarity indexing and searching in high dimensional space |
US6779150B1 (en) | 2000-12-21 | 2004-08-17 | Emc Corporation | CRC error detection system and method |
US6941135B2 (en) | 2001-08-13 | 2005-09-06 | Qualcomm Inc. | System and method for temporary application component deletion and reload on a wireless device |
US6862362B2 (en) | 2001-11-02 | 2005-03-01 | International Business Machines Corporation | Parity-grid steganographic method and apparatus |
US7609512B2 (en) | 2001-11-19 | 2009-10-27 | Otter Products, Llc | Protective enclosure for electronic device |
US6968479B2 (en) | 2002-03-06 | 2005-11-22 | Hewlett-Packard Development Company, L.P. | Verifying data in a data storage device |
US7117294B1 (en) | 2002-05-28 | 2006-10-03 | Oracle International Corporation | Method and system for archiving and compacting data in a data storage array |
FI116166B (fi) | 2002-06-20 | 2005-09-30 | Nokia Corp | Menetelmä ja järjestelmä sovellusistuntojen suorittamiseksi elektroniikkalaitteessa, ja elektroniikkalaite |
US8108656B2 (en) | 2002-08-29 | 2012-01-31 | Qst Holdings, Llc | Task definition for specifying resource requirements |
US7010645B2 (en) | 2002-12-27 | 2006-03-07 | International Business Machines Corporation | System and method for sequentially staging received data to a write cache in advance of storing the received data |
US7739233B1 (en) | 2003-02-14 | 2010-06-15 | Google Inc. | Systems and methods for replicating data |
US7043621B2 (en) | 2003-05-16 | 2006-05-09 | Hewlett-Packard Development Company, L.P. | Sharding method and apparatus using directed graphs |
US7213102B2 (en) | 2003-06-26 | 2007-05-01 | International Business Machines Corporation | Apparatus method and system for alternate control of a RAID array |
US7490013B2 (en) | 2003-12-09 | 2009-02-10 | Oslsoft, Inc. | Power grid failure detection system and method |
US7380129B2 (en) | 2004-04-22 | 2008-05-27 | International Business Machines Corporation | Method and apparatus for detecting grid intrusions |
US9218588B2 (en) | 2004-06-29 | 2015-12-22 | United Parcel Service Of America, Inc. | Offline processing systems and methods for a carrier management system |
US7245491B2 (en) | 2004-08-20 | 2007-07-17 | Digital Site Management Llc | Storage medium protection system |
US9632665B2 (en) | 2004-09-08 | 2017-04-25 | Universal Electronics Inc. | System and method for flexible configuration of a controlling device |
US7321905B2 (en) | 2004-09-30 | 2008-01-22 | International Business Machines Corporation | System and method for efficient data recovery in a storage array utilizing multiple parity slopes |
US20060080574A1 (en) | 2004-10-08 | 2006-04-13 | Yasushi Saito | Redundant data storage reconfiguration |
TWI253007B (en) | 2004-11-11 | 2006-04-11 | Promise Technology Inc | Data storage system |
US7142150B2 (en) | 2004-12-15 | 2006-11-28 | Deere & Company | Method and system for detecting an object using a composite evidence grid |
US7752624B2 (en) | 2004-12-21 | 2010-07-06 | Hewlett-Packard Development Company, L.P. | System and method for associating workload management definitions with computing containers |
US20060168575A1 (en) | 2005-01-21 | 2006-07-27 | Ankur Bhatt | Defining a software deployment |
US7950010B2 (en) | 2005-01-21 | 2011-05-24 | Sap Ag | Software deployment system |
US7805706B1 (en) | 2005-06-21 | 2010-09-28 | Unisys Corporation | Process for optimizing software components for an enterprise resource planning (ERP) application SAP on multiprocessor servers |
US9996413B2 (en) | 2007-10-09 | 2018-06-12 | International Business Machines Corporation | Ensuring data integrity on a dispersed storage grid |
US7592916B2 (en) | 2005-11-16 | 2009-09-22 | Blue Clover Design, Llc | Smart shipping and storage container |
US20070118657A1 (en) | 2005-11-22 | 2007-05-24 | Motorola, Inc. | Method and system for sharing podcast information |
US7716180B2 (en) | 2005-12-29 | 2010-05-11 | Amazon Technologies, Inc. | Distributed storage system with web services client interface |
JP4718340B2 (ja) | 2006-02-02 | 2011-07-06 | 富士通株式会社 | ストレージシステム、制御方法及びプログラム |
US7783600B1 (en) | 2006-02-27 | 2010-08-24 | Symantec Operating Corporation | Redundancy management service for peer-to-peer networks |
US8250559B2 (en) | 2006-04-12 | 2012-08-21 | Oracle America, Inc. | Supporting per-program classpaths with class sharing in a multi-tasking virtual machine |
US8671091B2 (en) | 2006-08-02 | 2014-03-11 | Hewlett-Packard Development Company, L.P. | Optimizing snowflake schema queries |
JP4918841B2 (ja) | 2006-10-23 | 2012-04-18 | 富士通株式会社 | 符号化システム |
US8326911B2 (en) | 2007-02-02 | 2012-12-04 | Microsoft Corporation | Request processing with mapping and repeatable processes |
US7930611B2 (en) | 2007-03-09 | 2011-04-19 | Microsoft Corporation | Erasure-resilient codes having multiple protection groups |
US7693813B1 (en) | 2007-03-30 | 2010-04-06 | Google Inc. | Index server architecture using tiered and sharded phrase posting lists |
US8756293B2 (en) | 2007-04-23 | 2014-06-17 | Nholdings Sa | Providing a user with virtual computing services |
US8381062B1 (en) | 2007-05-03 | 2013-02-19 | Emc Corporation | Proof of retrievability for archived files |
US7975109B2 (en) | 2007-05-30 | 2011-07-05 | Schooner Information Technology, Inc. | System including a fine-grained memory and a less-fine-grained memory |
IES20080508A2 (en) | 2007-06-22 | 2008-12-10 | Tenoware R & D Ltd | Network distributed file system |
US8560634B2 (en) | 2007-10-17 | 2013-10-15 | Dispersive Networks, Inc. | Apparatus, systems and methods utilizing dispersive networking |
CN101981574B (zh) | 2008-03-31 | 2013-06-12 | 杜比实验室特许公司 | 分布式媒体指纹储存库 |
US20090319078A1 (en) | 2008-06-23 | 2009-12-24 | United Parcel Services Of America, Inc. | Method for shipping an item using an electronic envelope |
US9098519B2 (en) | 2008-09-16 | 2015-08-04 | File System Labs Llc | Methods and apparatus for distributed data storage |
US8798579B2 (en) | 2008-09-30 | 2014-08-05 | Xe2 Ltd. | System and method for secure management of mobile user access to network resources |
US8156388B2 (en) | 2008-11-24 | 2012-04-10 | Symbol Technologies, Inc. | Analysis leading to automatic action |
US20100153941A1 (en) | 2008-12-12 | 2010-06-17 | Lazar Borissov | Flexible content update via deployment order template |
US8788831B2 (en) | 2009-03-20 | 2014-07-22 | Barracuda Networks, Inc. | More elegant exastore apparatus and method of operation |
US8769049B2 (en) | 2009-04-24 | 2014-07-01 | Microsoft Corporation | Intelligent tiers of backup data |
US9270683B2 (en) | 2009-05-15 | 2016-02-23 | Amazon Technologies, Inc. | Storage device authentication |
CN102365849A (zh) | 2009-05-25 | 2012-02-29 | 株式会社日立制作所 | 存储设备及其控制方法 |
US8090690B2 (en) | 2009-05-27 | 2012-01-03 | MiMedia LLC | Systems and methods for data upload and download |
US8261033B1 (en) | 2009-06-04 | 2012-09-04 | Bycast Inc. | Time optimized secure traceable migration of massive quantities of data in a distributed storage system |
US9239740B2 (en) | 2009-06-16 | 2016-01-19 | Microsoft Technology Licensing, Llc | Program partitioning across client and cloud |
US10230692B2 (en) | 2009-06-30 | 2019-03-12 | International Business Machines Corporation | Distributed storage processing module |
US8964115B2 (en) | 2009-06-30 | 2015-02-24 | Nokia Corporation | Transmission capacity probing using adaptive redundancy adjustment |
US8706980B2 (en) | 2009-07-30 | 2014-04-22 | Cleversafe, Inc. | Method and apparatus for slice partial rebuilding in a dispersed storage network |
US8533424B2 (en) | 2009-07-31 | 2013-09-10 | Cleversafe, Inc. | Computing system utilizing dispersed storage |
US9690513B2 (en) | 2009-08-27 | 2017-06-27 | International Business Machines Corporation | Dispersed storage processing unit and methods with operating system diversity for use in a dispersed storage system |
US9047217B2 (en) | 2009-08-27 | 2015-06-02 | Cleversafe, Inc. | Nested distributed storage unit and applications thereof |
US20110078343A1 (en) | 2009-09-29 | 2011-03-31 | Cleversafe, Inc. | Distributed storage network including memory diversity |
US8769035B2 (en) | 2009-10-30 | 2014-07-01 | Cleversafe, Inc. | Distributed storage network for storing a data object based on storage requirements |
US9900150B2 (en) | 2009-10-30 | 2018-02-20 | International Business Machines Corporation | Dispersed storage camera device and method of operation |
US8918897B2 (en) | 2009-11-24 | 2014-12-23 | Cleversafe, Inc. | Dispersed storage network data slice integrity verification |
US8413187B1 (en) | 2010-02-06 | 2013-04-02 | Frontier Communications Corporation | Method and system to request audiovisual content items matched to programs identified in a program grid |
US9171044B2 (en) | 2010-02-16 | 2015-10-27 | Oracle International Corporation | Method and system for parallelizing database requests |
US9135115B2 (en) | 2010-02-27 | 2015-09-15 | Cleversafe, Inc. | Storing data in multiple formats including a dispersed storage format |
US8464063B2 (en) | 2010-03-10 | 2013-06-11 | Avaya Inc. | Trusted group of a plurality of devices with single sign on, secure authentication |
US8281182B2 (en) | 2010-03-12 | 2012-10-02 | Cleversafe, Inc. | Dispersed storage unit selection |
US8856593B2 (en) | 2010-04-12 | 2014-10-07 | Sandisk Enterprise Ip Llc | Failure recovery using consensus replication in a distributed flash memory system |
US9047218B2 (en) | 2010-04-26 | 2015-06-02 | Cleversafe, Inc. | Dispersed storage network slice name verification |
EP2564317A1 (en) | 2010-04-26 | 2013-03-06 | Hu-Do Limited | A computing device operable to work in conjunction with a companion electronic device |
US9271052B2 (en) | 2010-05-10 | 2016-02-23 | Comcast Cable Communications, Llc | Grid encoded media asset data |
EP2577936A2 (en) | 2010-05-28 | 2013-04-10 | Lawrence A. Laurich | Accelerator system for use with secure data storage |
US8984384B1 (en) | 2010-06-30 | 2015-03-17 | Emc Corporation | Distributed storage system with efficient handling of file updates |
GB201011146D0 (en) | 2010-07-02 | 2010-08-18 | Vodafone Ip Licensing Ltd | Mobile computing device |
US8386841B1 (en) | 2010-07-21 | 2013-02-26 | Symantec Corporation | Systems and methods for improving redundant storage fault tolerance |
US9063968B2 (en) | 2010-08-02 | 2015-06-23 | Cleversafe, Inc. | Identifying a compromised encoded data slice |
US9940508B2 (en) | 2010-08-26 | 2018-04-10 | Blast Motion Inc. | Event detection, confirmation and publication system that integrates sensor data and social media |
US8621069B1 (en) | 2010-09-03 | 2013-12-31 | Adobe Systems Incorporated | Provisioning a computing application executing on a cloud to a client device |
US9244769B2 (en) | 2010-09-28 | 2016-01-26 | Pure Storage, Inc. | Offset protection data in a RAID array |
US8463991B2 (en) | 2010-09-28 | 2013-06-11 | Pure Storage Inc. | Intra-device data protection in a raid array |
US9032053B2 (en) | 2010-10-29 | 2015-05-12 | Nokia Corporation | Method and apparatus for upgrading components of a cluster |
US8504535B1 (en) | 2010-12-20 | 2013-08-06 | Amazon Technologies, Inc. | Erasure coding and redundant replication |
US9740762B2 (en) | 2011-04-01 | 2017-08-22 | Mongodb, Inc. | System and method for optimizing data migration in a partitioned database |
US9251097B1 (en) | 2011-03-22 | 2016-02-02 | Amazon Technologies, Inc. | Redundant key management |
US9767098B2 (en) | 2012-08-08 | 2017-09-19 | Amazon Technologies, Inc. | Archival data storage system |
US9213709B2 (en) | 2012-08-08 | 2015-12-15 | Amazon Technologies, Inc. | Archival data identification |
US9563681B1 (en) | 2012-08-08 | 2017-02-07 | Amazon Technologies, Inc. | Archival data flow management |
US8538029B2 (en) | 2011-03-24 | 2013-09-17 | Hewlett-Packard Development Company, L.P. | Encryption key fragment distribution |
US20120254089A1 (en) | 2011-03-31 | 2012-10-04 | International Business Machines Corporation | Vector throttling to control resource use in computer systems |
US8880978B2 (en) | 2011-04-01 | 2014-11-04 | Cleversafe, Inc. | Utilizing a local area network memory and a dispersed storage network memory to access data |
CN103140846B (zh) | 2011-04-01 | 2016-10-19 | 西门子公司 | 用于可编程逻辑控制器上的文件系统的方法及装置 |
CA2834864C (en) | 2011-05-05 | 2021-10-26 | Reversinglabs International Gmbh | Database system and method |
CN103959302A (zh) | 2011-06-01 | 2014-07-30 | 安全第一公司 | 用于安全分布式存储的系统与方法 |
US9071924B2 (en) | 2011-06-20 | 2015-06-30 | Aces & Eights Corporation | Systems and methods for digital forensic triage |
US8589724B2 (en) | 2011-06-30 | 2013-11-19 | Seagate Technology Llc | Rapid rebuild of a data set |
CN103649910A (zh) | 2011-07-11 | 2014-03-19 | 惠普发展公司,有限责任合伙企业 | 虚拟机放置 |
US20130073600A1 (en) | 2011-09-21 | 2013-03-21 | Jonathan A. Jenkins | Remote process execution management |
US8788855B2 (en) | 2011-09-23 | 2014-07-22 | Microsoft Corporation | Cluster computational capacity level switching based on demand prediction and stability constraint and power consumption management |
US9378359B2 (en) | 2011-10-11 | 2016-06-28 | Citrix Systems, Inc. | Gateway for controlling mobile device access to enterprise resources |
US20140207680A1 (en) | 2011-10-17 | 2014-07-24 | Capital One Financial Corporation | System and method for providing a mobile wallet shopping companion application |
US9135269B2 (en) | 2011-12-07 | 2015-09-15 | Egnyte, Inc. | System and method of implementing an object storage infrastructure for cloud-based services |
US9009567B2 (en) | 2011-12-12 | 2015-04-14 | Cleversafe, Inc. | Encrypting distributed computing data |
US8930542B2 (en) | 2012-01-23 | 2015-01-06 | International Business Machines Corporation | Dynamically building a set of compute nodes to host the user's workload |
KR101531702B1 (ko) | 2012-03-21 | 2015-06-26 | (주)아이티헬스 | 물류운영시스템의 배송이력정보 관리장치 |
US8843935B2 (en) | 2012-05-03 | 2014-09-23 | Vmware, Inc. | Automatically changing a pre-selected datastore associated with a requested host for a virtual machine deployment based on resource availability during deployment of the virtual machine |
US9047214B1 (en) | 2012-05-22 | 2015-06-02 | Pmc-Sierra, Inc. | System and method for tolerating a failed page in a flash device |
US9747310B2 (en) | 2012-06-04 | 2017-08-29 | Google Inc. | Systems and methods of increasing database access concurrency using granular timestamps |
US9426517B2 (en) | 2012-06-08 | 2016-08-23 | Ntt Docomo, Inc. | Method and apparatus for low delay access to key-value based storage systems using FEC techniques |
US9110833B2 (en) | 2012-06-25 | 2015-08-18 | Cleversafe, Inc. | Non-temporarily storing temporarily stored data in a dispersed storage network |
US9110797B1 (en) | 2012-06-27 | 2015-08-18 | Amazon Technologies, Inc. | Correlated failure zones for data storage |
US9165002B1 (en) | 2012-06-27 | 2015-10-20 | Amazon Technologies, Inc. | Inexpensive deletion in a data storage system |
US8806296B1 (en) | 2012-06-27 | 2014-08-12 | Amazon Technologies, Inc. | Scheduled or gradual redundancy encoding schemes for data storage |
US8869001B1 (en) | 2012-06-27 | 2014-10-21 | Amazon Technologies, Inc. | Layered redundancy encoding schemes for data storage |
US8850288B1 (en) | 2012-06-27 | 2014-09-30 | Amazon Technologies, Inc. | Throughput-sensitive redundancy encoding schemes for data storage |
WO2014003599A1 (en) | 2012-06-29 | 2014-01-03 | Ems Corparation | Redundant disc encoding via erasure decoding |
US8935221B1 (en) | 2012-07-25 | 2015-01-13 | Amazon Technologies, Inc. | Object loss reporting in a data storage system |
US9298760B1 (en) | 2012-08-03 | 2016-03-29 | Google Inc. | Method for shard assignment in a large-scale data processing job |
US9250811B1 (en) | 2012-08-08 | 2016-02-02 | Amazon Technologies, Inc. | Data write caching for sequentially written media |
US9354683B2 (en) | 2012-08-08 | 2016-05-31 | Amazon Technologies, Inc. | Data storage power management |
US8959067B1 (en) | 2012-08-08 | 2015-02-17 | Amazon Technologies, Inc. | Data storage inventory indexing |
US8805793B2 (en) | 2012-08-08 | 2014-08-12 | Amazon Technologies, Inc. | Data storage integrity validation |
US9092441B1 (en) | 2012-08-08 | 2015-07-28 | Amazon Technologies, Inc. | Archival data organization and management |
US9225675B2 (en) | 2012-08-08 | 2015-12-29 | Amazon Technologies, Inc. | Data storage application programming interface |
US9461876B2 (en) | 2012-08-29 | 2016-10-04 | Loci | System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction |
BR112015005588B1 (pt) | 2012-09-20 | 2022-01-18 | Amazon Technologies , Inc | Sistema e método implementado por computador para perfilamento de utilização de recursos de computação. |
US20140108421A1 (en) | 2012-10-04 | 2014-04-17 | Codefutures Corporation | Partitioning database data in a sharded database |
US9917889B2 (en) | 2012-11-01 | 2018-03-13 | Ebay Inc. | Enterprise service bus routing system |
US9229983B2 (en) | 2012-11-30 | 2016-01-05 | Amazon Technologies, Inc. | System-wide query optimization |
US8989000B2 (en) | 2012-12-04 | 2015-03-24 | Verizon Patent And Licensing Inc. | Cloud-based telecommunications infrastructure |
US9052942B1 (en) | 2012-12-14 | 2015-06-09 | Amazon Technologies, Inc. | Storage object deletion job management |
US9002805B1 (en) | 2012-12-14 | 2015-04-07 | Amazon Technologies, Inc. | Conditional storage object deletion |
US9110661B2 (en) | 2012-12-28 | 2015-08-18 | International Business Machines Corporation | Mobile device offloading task to a peer device and receiving a completed task when energy level is below a threshold level |
US9483657B2 (en) | 2013-01-14 | 2016-11-01 | Accenture Global Services Limited | Secure online distributed data storage services |
US9223789B1 (en) | 2013-03-14 | 2015-12-29 | Amazon Technologies, Inc. | Range retrievals from archived data objects according to a predefined hash tree schema |
US9208018B1 (en) | 2013-03-15 | 2015-12-08 | Pmc-Sierra, Inc. | Systems and methods for reclaiming memory for solid-state memory |
US20140304356A1 (en) | 2013-04-05 | 2014-10-09 | iDevices, LLC | Wireless Aggregator |
US9600365B2 (en) | 2013-04-16 | 2017-03-21 | Microsoft Technology Licensing, Llc | Local erasure codes for data storage |
US10243786B2 (en) | 2013-05-20 | 2019-03-26 | Citrix Systems, Inc. | Proximity and context aware mobile workspaces in enterprise systems |
US9195668B2 (en) | 2013-06-18 | 2015-11-24 | Barracuda Networks, Inc. | Log access method storage control apparatus, archive system, and method of operation |
US9378084B2 (en) | 2013-06-25 | 2016-06-28 | Microsoft Technology Licensing, Llc | Erasure coding across multiple zones |
US9244761B2 (en) | 2013-06-25 | 2016-01-26 | Microsoft Technology Licensing, Llc | Erasure coding across multiple zones and sub-zones |
CN105164644B (zh) | 2013-06-28 | 2018-10-16 | 安提特软件有限责任公司 | 钩子框架 |
US20150058473A1 (en) | 2013-08-26 | 2015-02-26 | Cisco Technology, Inc. | Network address mapping to nearby location identification |
US10048976B2 (en) | 2013-11-29 | 2018-08-14 | New Jersey Institute Of Technology | Allocation of virtual machines to physical machines through dominant resource assisted heuristics |
US9817749B2 (en) | 2013-12-04 | 2017-11-14 | Sandisk Technologies Llc | Apparatus and method of offloading processing from a data storage device to a host device |
US10685037B2 (en) | 2013-12-18 | 2020-06-16 | Amazon Technology, Inc. | Volume cohorts in object-redundant storage systems |
US20150256423A1 (en) | 2014-03-10 | 2015-09-10 | Charles Carey Stearns | Data collection, aggregation, and analysis for parental monitoring |
US10120924B2 (en) | 2014-03-31 | 2018-11-06 | Akamai Technologies, Inc. | Quarantine and repair of replicas in a quorum-based data storage system |
US9513820B1 (en) | 2014-04-07 | 2016-12-06 | Pure Storage, Inc. | Dynamically controlling temporary compromise on data redundancy |
US20150324745A1 (en) | 2014-05-09 | 2015-11-12 | Elwha LLC, a limited liability company of the State of Delaware | Transport label system with updatable address |
US9753669B2 (en) | 2014-05-13 | 2017-09-05 | Velostrata Ltd. | Real time cloud bursting |
US9448614B2 (en) | 2014-05-13 | 2016-09-20 | Netapp, Inc. | Low power archival data storage enclosure |
US9449346B1 (en) | 2014-05-21 | 2016-09-20 | Plaid Technologies, Inc. | System and method for programmatically accessing financial data |
US9565250B2 (en) | 2014-05-30 | 2017-02-07 | Microsoft Technology Licensing, Llc | Data transfer service |
US9003144B1 (en) | 2014-06-04 | 2015-04-07 | Pure Storage, Inc. | Mechanism for persisting messages in a storage system |
US9612952B2 (en) | 2014-06-04 | 2017-04-04 | Pure Storage, Inc. | Automatically reconfiguring a storage memory topology |
US9213485B1 (en) | 2014-06-04 | 2015-12-15 | Pure Storage, Inc. | Storage system architecture |
US9218244B1 (en) | 2014-06-04 | 2015-12-22 | Pure Storage, Inc. | Rebuilding data across storage nodes |
US9021297B1 (en) | 2014-07-02 | 2015-04-28 | Pure Storage, Inc. | Redundant, fault-tolerant, distributed remote procedure call cache in a storage system |
US8868825B1 (en) | 2014-07-02 | 2014-10-21 | Pure Storage, Inc. | Nonrepeating identifiers in an address space of a non-volatile solid-state storage |
US20160011816A1 (en) | 2014-07-09 | 2016-01-14 | Nexenta Systems, Inc. | Method to optimize inline i/o processing in tiered distributed storage systems |
US9825625B2 (en) | 2014-07-09 | 2017-11-21 | CT-Concept Technologie GmbH | Multi-stage gate turn-off with dynamic timing |
US9851998B2 (en) | 2014-07-30 | 2017-12-26 | Microsoft Technology Licensing, Llc | Hypervisor-hosted virtual machine forensics |
US9558069B2 (en) | 2014-08-07 | 2017-01-31 | Pure Storage, Inc. | Failure mapping in a storage array |
US9495255B2 (en) | 2014-08-07 | 2016-11-15 | Pure Storage, Inc. | Error recovery in a storage cluster |
US9766972B2 (en) | 2014-08-07 | 2017-09-19 | Pure Storage, Inc. | Masking defective bits in a storage array |
US9483346B2 (en) | 2014-08-07 | 2016-11-01 | Pure Storage, Inc. | Data rebuild on feedback from a queue in a non-volatile solid-state storage |
US20160048399A1 (en) | 2014-08-15 | 2016-02-18 | At&T Intellectual Property I, L.P. | Orchestrated sensor set |
US9256761B1 (en) | 2014-08-18 | 2016-02-09 | Yp Llc | Data storage service for personalization system |
US10095394B2 (en) | 2014-09-02 | 2018-10-09 | Apple Inc. | Image display and interaction using a mobile device |
US10721062B2 (en) | 2014-09-24 | 2020-07-21 | Hewlett Packard Enterprise Development Lp | Utilizing error correction for secure secret sharing |
JP6247193B2 (ja) | 2014-10-10 | 2017-12-13 | 山下 健一 | 広告閲覧促進システム、情報処理方法及びプログラム |
WO2016067295A1 (en) | 2014-10-30 | 2016-05-06 | Spondoolies Tech Ltd. | Method and system for reducing power consumption in bitcoin mining via waterfall structure |
US9256467B1 (en) | 2014-11-11 | 2016-02-09 | Amazon Technologies, Inc. | System for managing and scheduling containers |
US9959274B2 (en) | 2014-12-19 | 2018-05-01 | Amazon Technologies, Inc. | Volume-level redundancy coding techniques for sequential transfer optimized storage devices |
US20160203477A1 (en) | 2015-01-14 | 2016-07-14 | Modernity Financial Holdings, Ltd. | Cryptographic security for electronic transactions |
US20160217436A1 (en) * | 2015-01-25 | 2016-07-28 | Dror Samuel Brama | Method, System and Program Product for Tracking and Securing Transactions of Authenticated Items over Block Chain Systems. |
US9405333B1 (en) | 2015-03-23 | 2016-08-02 | Allied Reliabily Group Inc. | Method and system for rugged tablet PC based modular data acquisition |
PL3073670T3 (pl) | 2015-03-27 | 2021-08-23 | Black Gold Coin, Inc. | System i sposób osobistej identyfikacji i weryfikacji |
US9459959B1 (en) | 2015-03-30 | 2016-10-04 | Amazon Technologies, Inc. | Failure-decoupled volume-level redundancy coding techniques |
US9495249B1 (en) | 2015-03-31 | 2016-11-15 | Amazon Technolgies, Inc. | Precomputed redundancy code matrices for high-availability data storage |
JP5858506B1 (ja) | 2015-04-09 | 2016-02-10 | 株式会社Orb | 仮想通貨管理プログラム、及び仮想通貨管理方法 |
US11829349B2 (en) | 2015-05-11 | 2023-11-28 | Oracle International Corporation | Direct-connect functionality in a distributed database grid |
US9853662B1 (en) | 2015-06-17 | 2017-12-26 | Amazon Technologies, Inc. | Random access optimization for redundancy coded data storage systems |
US9838042B1 (en) | 2015-06-17 | 2017-12-05 | Amazon Technologies, Inc. | Data retrieval optimization for redundancy coded data storage systems with static redundancy ratios |
US9825652B1 (en) | 2015-06-17 | 2017-11-21 | Amazon Technologies, Inc. | Inter-facility network traffic optimization for redundancy coded data storage systems |
US9866242B1 (en) | 2015-06-17 | 2018-01-09 | Amazon Technologies, Inc. | Throughput optimization for redundancy coded data storage systems |
US9838041B1 (en) | 2015-06-17 | 2017-12-05 | Amazon Technologies, Inc. | Device type differentiation for redundancy coded data storage systems |
US9923966B1 (en) | 2015-06-29 | 2018-03-20 | Amazon Technologies, Inc. | Flexible media storage and organization in automated data storage systems |
US9904589B1 (en) | 2015-07-01 | 2018-02-27 | Amazon Technologies, Inc. | Incremental media size extension for grid encoded data storage systems |
US9998539B1 (en) | 2015-07-01 | 2018-06-12 | Amazon Technologies, Inc. | Non-parity in grid encoded data storage systems |
EP3317775B1 (en) * | 2015-07-02 | 2022-02-16 | Nasdaq, Inc. | Systems and methods of secure provenance for distributed transaction databases |
US9792179B1 (en) | 2015-07-06 | 2017-10-17 | Amazon Technologies, Inc. | Eventually durable redundancy encoded data storage |
US9672110B1 (en) | 2015-09-22 | 2017-06-06 | Amazon Technologies, Inc. | Transmission time refinement in a storage system |
JP6951329B2 (ja) | 2015-10-14 | 2021-10-20 | ケンブリッジ ブロックチェーン,エルエルシー | デジタルアイデンティティを管理するためのシステム及び方法 |
US9785495B1 (en) | 2015-12-14 | 2017-10-10 | Amazon Technologies, Inc. | Techniques and systems for detecting anomalous operational data |
US9934389B2 (en) | 2015-12-18 | 2018-04-03 | Amazon Technologies, Inc. | Provisioning of a shippable storage device and ingesting data from the shippable storage device |
US10261782B2 (en) | 2015-12-18 | 2019-04-16 | Amazon Technologies, Inc. | Software container registry service |
US10346428B2 (en) * | 2016-04-08 | 2019-07-09 | Chicago Mercantile Exchange Inc. | Bilateral assertion model and ledger implementation thereof |
US10404469B2 (en) * | 2016-04-08 | 2019-09-03 | Chicago Mercantile Exchange Inc. | Bilateral assertion model and ledger implementation thereof |
US20170331896A1 (en) | 2016-05-13 | 2017-11-16 | De La Rue International Limited | Methods and systems for processing assets |
US11170346B2 (en) * | 2016-09-19 | 2021-11-09 | Sap Se | Decentralized credentials verification network |
-
2016
- 2016-09-30 US US15/283,017 patent/US10614239B2/en active Active
-
2017
- 2017-09-29 AU AU2017336924A patent/AU2017336924B2/en active Active
- 2017-09-29 CN CN201780060802.3A patent/CN109844783B/zh active Active
- 2017-09-29 WO PCT/US2017/054319 patent/WO2018064487A1/en unknown
- 2017-09-29 JP JP2019516608A patent/JP6730520B2/ja active Active
- 2017-09-29 EP EP17783685.5A patent/EP3520047B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101681366A (zh) * | 2007-03-02 | 2010-03-24 | E-曼纽尔系统私人有限公司 | 一种数据存储和管理方法 |
CN102542402A (zh) * | 2011-12-02 | 2012-07-04 | 袁义军 | 财务数据处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109844783A (zh) | 2019-06-04 |
JP2019535076A (ja) | 2019-12-05 |
EP3520047B1 (en) | 2024-03-06 |
JP6730520B2 (ja) | 2020-07-29 |
AU2017336924A1 (en) | 2019-04-18 |
EP3520047A1 (en) | 2019-08-07 |
WO2018064487A1 (en) | 2018-04-05 |
AU2017336924B2 (en) | 2020-11-12 |
US10614239B2 (en) | 2020-04-07 |
US20180096163A1 (en) | 2018-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109844783B (zh) | 不可变的密码保护的分类账支持的数据库 | |
US20210044426A1 (en) | Aws identity - blockchain for cloud based audit services | |
US10296764B1 (en) | Verifiable cryptographically secured ledgers for human resource systems | |
US11636216B2 (en) | System and methods for tamper proof interaction recording and timestamping | |
US11429729B2 (en) | Buckets with policy driven forced encryption | |
US11870816B1 (en) | Trusted-code generated requests | |
US10581847B1 (en) | Blockchain-backed device and user provisioning | |
US10666684B2 (en) | Security policies with probabilistic actions | |
US9519696B1 (en) | Data transformation policies | |
CN107005568B (zh) | 数据安全操作与预期 | |
US11354445B2 (en) | Mechanism to protect a distributed replicated state machine | |
US9602288B1 (en) | Enhanced data security through uniqueness checking | |
JP6291043B2 (ja) | ポリシー強制遅延 | |
EP3391587A1 (en) | System and methods for tamper proof interaction recording and timestamping | |
US11626985B1 (en) | Data reencryption techniques |
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 |