CN111357240A - 用于可重写区块链的区块链操作堆栈 - Google Patents
用于可重写区块链的区块链操作堆栈 Download PDFInfo
- Publication number
- CN111357240A CN111357240A CN201780096937.5A CN201780096937A CN111357240A CN 111357240 A CN111357240 A CN 111357240A CN 201780096937 A CN201780096937 A CN 201780096937A CN 111357240 A CN111357240 A CN 111357240A
- Authority
- CN
- China
- Prior art keywords
- block
- blockchain
- chain
- changed
- integrity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013475 authorization Methods 0.000 claims abstract description 15
- 230000015654 memory Effects 0.000 claims description 58
- 230000008859 change Effects 0.000 claims description 47
- 230000004044 response Effects 0.000 claims description 45
- 238000000034 method Methods 0.000 claims description 32
- 238000004891 communication Methods 0.000 claims description 13
- 230000002452 interceptive effect Effects 0.000 claims description 6
- DOCINCLJNAXZQF-LBPRGKRZSA-N 6-fluoro-3-phenyl-2-[(1s)-1-(7h-purin-6-ylamino)ethyl]quinazolin-4-one Chemical compound C1([C@@H](NC=2C=3N=CNC=3N=CN=2)C)=NC2=CC=C(F)C=C2C(=O)N1C1=CC=CC=C1 DOCINCLJNAXZQF-LBPRGKRZSA-N 0.000 description 20
- 230000006870 function Effects 0.000 description 13
- 230000003993 interaction Effects 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 9
- 238000012217 deletion Methods 0.000 description 7
- 230000037430 deletion Effects 0.000 description 7
- 239000000047 product Substances 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 241000122205 Chamaeleonidae Species 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000012550 audit Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- KJLPSBMDOIVXSN-UHFFFAOYSA-N 4-[4-[2-[4-(3,4-dicarboxyphenoxy)phenyl]propan-2-yl]phenoxy]phthalic acid Chemical compound C=1C=C(OC=2C=C(C(C(O)=O)=CC=2)C(O)=O)C=CC=1C(C)(C)C(C=C1)=CC=C1OC1=CC=C(C(O)=O)C(C(O)=O)=C1 KJLPSBMDOIVXSN-UHFFFAOYSA-N 0.000 description 1
- 244000035744 Hura crepitans Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013502 data validation Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- 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
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Power Engineering (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Storage Device Security (AREA)
Abstract
一种系统包括可以控制对区块链的读取和写入操作的访问的区块链操作堆栈。区块链操作堆栈可以包括可以控制对由凭证授权层保持的简档的许可的凭证授权层。当许可由凭证授权层授予时,呈现层可以生成可以包括关于区块链结构的信息的显示。呈现层可以提供工具以促进写入层操作以重写和附加到区块链。
Description
技术领域
本公开涉及复杂的真实世界系统中的数据验证、确认和重写。
背景技术
在巨大的客户需求的推动下,电子和通信技术的迅速发展导致电子交易和记录保存的广泛采用。作为一个示例,诸如比特币等电子货币每年已经在数百万笔交易中取代了纸币。这样的电子交易的验证和记录方面的改进将继续增加参与电子交易的操作者可用的特征和选项。
附图说明
图1示出了示例区块链操作堆栈。
图2示出了示例区块链逻辑。
图3示出了示例区块链操作电路系统。
图4示出了与示例已更新区块链部分配对的示例区块链部分。
图5示出了示例双链路区块链部分。
图6示出了示例混合区块链。
图7示出了示例用户接口。
图8示出了示例区块链API逻辑架构。
具体实施方式
区块链包括一系列链接的数据块。数据块包括诸如密码哈希或校验和等代码,该代码可以与该系列中的先前区块的内容是编码一致的(coding-consistent)。在某些情况下,确定产生相同完整性代码的多组不同区块可能是无法解决的,计算复杂性过高,或者以其他方式花费大量精力以阻止篡改区块链的内容的尝试,同时保持完整性代码的自洽性。但是,在某些实现方式中,可信实体可以访问密钥机密或密钥机密的一部分,使得该实体(其单独地或与拥有密钥机密的其他部分的各实体一起操作)可以编辑区块链内容而没有留下篡改的迹象。在某些情况下,系统可以依赖于密码架构,并且各技术可以用于掩盖或混淆数据,防止安全密钥(例如,密钥机密)的发布,促进私钥交换,或者以其他方式通过数据加扰和/或加密来控制数据访问和知识获取。
在各种系统中,多个实体可以使用基于区块链的文件或账本来保持事件、交易、数据、程序代码等或其他更新的篡改明显记录(tamper-evident record)。在某些情况下,区块链可以在不可信实体(例如,不拥有密钥机密的一个实体)对区块链进行改变之后登记篡改。因此,各实体可以单独地验证其他实体的更新是有效的并且与区块链的先前数据块是编码一致的。完整性代码的自洽性允许对待被验证的区块链的更新,即使该实体缺少区块链的存档版本以用作参考。当对区块链中的一个或多个数据块的重写未在区块链中的区块的完整性输出和数据块内容之间引入编码不一致性时,重写可以被表征为维持区块链的有效性。
区块链可以由完整性代码保护。当特定数据被提供作为完整性代码的输入时,完整性代码可以产生特定的完整性输出。在某些情况下,当将与特定数据不同的数据作为输入被提供给完整性代码时,完整性代码可以产生不同的完整性输出。在示例场景中,从完整性代码(该完整性代码根据来自数据块的特定输入数据而生成)输出的完整性被存储,并且稍后改变该数据块。如果已改变数据作为输入被提供给完整性代码,则完整性代码可以产生与所存储的完整性输出不同或以其他方式编码不一致的完整性输出。因此,在该示例场景中,可以检测到改变。
区块链可以包括一系列区块,其中该系列中的每个后继区块保存前一区块的完整性输出。该系列可以形成区块链,该区块链中的每个后续区块保持根据前一区块中存在的数据而生成的完整性输出。因此,如果区块改变,则可以检测到与存储在后续区块中的完整性输出的编码不一致性。由于完整性输出是在区块中所存储的数据的一部分,因此完整性输出本身的改变也可以通过编码不一致性来检测。完整性代码的这种自洽性可以用于保护区块链以防止秘密篡改。
当由完整性代码保护时,篡改明显改变实际上可以包括如下的任何改变,针对该任何改变,可以检测到区块链的完整性代码的完整性输出与区块链内的数据之间的编码不一致性。例如,区块链的区块中的数据可以被哈希,通过校验和来运行,或者具有被施加的其他完整性代码。如果稍后发现该区块中的数据与哈希、校验和或其他完整性代码的完整性输出冲突,则可以将该改变标识为篡改明显的。当将完整性代码应用于当前在区块中的数据时,在当前在区块中的数据未产生与早先获取的完整性输出相同或等效的完整性输出时,可能会发生冲突。当对区块进行改变并且之后没有检测到与先前存储的完整性代码的完整性输出的编码不一致性时,该改变可能是非篡改明显的。在某些情况下,可以通过将第一区块替换为第二区块来实现非篡改明显重写,其中第二区块具有产生相同(或等效)的完整性输出的不同的数据内容。
在某些情况下,在输入之后,区块链中的某些区块可能包括不再适合被包括在区块链中的信息。例如,区块可能会在一段时间之后或在确定数目的后续条目之后到期,私有信息可能会被包括在区块中,不正确的条目可能会被包括在区块中,区块中可能包括不利于使用区块链的一个或多个实体的信息,可能包括不完整的信息,或者可能包括其他不适当的信息。因此,可信实体(例如,中立的第三实体、管理实体或一组单独的不可信实体)可以以非篡改明显方式重写、删除或补充区块中包括的数据。例如,于2017年5月16日提交的题为“Rewritable Blockchain”的美国专利申请序列号15/596,904(通过引用整体并入本文)中描述的技术和架构可以用于执行区块链保持、控制和重写。此外,这些技术和架构可以与以下讨论的技术和架构集成,在一些实现方式中执行以下讨论的技术和架构的作用。
区块链重写可以用于执行低级(例如,从硬件架构的角度来看)操作,诸如存储器重写、删除和添加。因此,由于系统可以利用用来存储数据的区块链协议(该数据的可验证性被实现),因此这些技术和架构可以改善计算机系统的基础硬件的操作。例如,用于安全系统的操作系统软件可以存储在区块链有效载荷中,以保护数据免受恶意软件、未授权实体、未授权设备或其他意外/未授权改变的操纵。
此外,可信实体重写区块链的能力可以通过提供所建立的重写解决方案来提高抗篡改性。因此,可信实体可以不必废弃例如由于不期望的、不准确的或不适当的内容而导致的区块链,而是可以改为重写现有区块链。因此,与重新创建新的区块链相比,区块链重写极大地提高了系统效率并且减少了资源消耗。区块链重写还可以通过向系统通知其未接收到区块链丢弃的事先通知,来降低恶意实体使用非现存区块链(该非现存区块链由于不适当的内容而可能已经被丢弃)来欺骗系统的可能性。因此,可重写区块链可以具有提高数据安全性和防篡改性的其他技术效果。换言之,本文中讨论的技术和架构包括对市场上的现有技术的具体的实际的应用和改进。
此外,包括区块操作堆栈和所讨论的其他技术和架构在内的技术和架构要求本领域技术人员与公认的知识相反地进行处理。特别地,常规方法可能不一定在操作堆栈或集成模块环境中将区块链简档控制(blockchain profile control)与编辑表示(editrepresentation)和区块链重写集成在一起,因为除了其他原因,区块链密钥机密和共识系统可以被实现以防止对区块链的未授权更改、改变和/或访问。例如,能够生成特权授予的凭证授权层可能不一定与呈现层集成在一起,该呈现层能够引起在操作堆栈或集成模块环境中显示区块链数据。
在一些实现方式中,知道密钥机密的实体可以对区块链进行改变。这个密钥机密可以全部或部分地由操作者、集中审核员或其他实体拥有。另外地或替代地,密钥的各份额(例如,各部分)可以在几个单独的不可信实体之间被分配。完整性代码可以是连接两个区块的链接上的虚拟挂锁(virtual padlock)。
区块链可以包括由完整性代码保护的一个或多个数据块。例如,可以使用重写受保护的加密哈希函数(诸如没有用于允许非篡改明显重写的密钥机密的哈希函数、变色龙哈希、循环冗余校验(CRC)、校验和或其他完整性代码)来保护区块链内的数据块。在一些实现方式中,可以通过与该区块的数据内容编码一致的特定完整性输出来保护各个数据块。例如,当将完整性代码应用于区块的产生完整性输出的内容时,该完整性输出可以与区块的内容编码一致。当完整性输出与其保护的数据编码一致时,该数据可以被视为有效。如上所述,可以将特定完整性输出放置在相邻区块内,以防止或挫败如下的尝试,该尝试以非篡改明显方式或以篡改明显但保留有效性(tamper-evident but validity preserving)的方式来重写数据内容。
系统可以访问与区块链的完整性代码配对的密钥机密,诸如加密密钥或活板门信息。密钥机密可以包括允许系统计算冲突的数据,例如,为完整性代码产生相同的完整性输出的两个不同的数据块。使用计算出的冲突,设备可以重写区块链,而没有重写区块与完整性代码编码不一致。例如,操作者可以指示系统使用密钥机密计算冲突并且重写区块链。
可以根据特定应用的要求来管理用于打开虚拟挂锁的密钥机密。例如,在商务谈判(或政府条约谈判)中,允许改变拟议合同(条约)条款的密钥机密可以由中立的第三实体持有。另外地或替代地,协商中的每一实体可以持有密钥机密的相等部分(例如,一半、三分之二),使得可以在所有各实体或所定义的多个实体的同意下改变条款。在协作软件设计实现方式中,可以在允许改变某些软件代码之前,将密钥机密分几部分分发给涉众,以加强共识。下面,讨论示例密钥机密分发方案,包括集中式和分布式方案。但是,其他方案也是可能的。
现在参考图1,讨论了示例区块链操作堆栈100和图2,图2示出了可以在区块链操作电路系统上实现的互补区块链操作逻辑200。区块链操作堆栈100可以包括存储器访问层110、凭证授权层(CAL)120、呈现层130和写入层140。
堆栈可以是指定义多个层处的软件和硬件资源的交互的多层计算机架构。开放系统互连(OSI)模型是堆栈类型架构的示例。堆栈的各层可以在它们之间传递数据和硬件资源,以促进数据处理和/或通信。作为区块链操作堆栈100的一个示例,存储器访问层110可以为呈现层130提供基于硬件的存储器资源访问。这可以包括诸如读取操作或写入操作等区块链存储器访问操作。因此,存储器访问层110可以向呈现层提供硬件资源,例如基于硬件的存储器资源。因此,区块链操作堆栈100架构例如通过提高将硬件资源提供给堆栈层的效率来改善底层硬件的操作。
现在参考图2,CAL 120可以接收凭证122(202)。例如,CAL 120可以通过以下方式接收凭证122:通过通信接口从节点136;经由用户接口(例如,下面讨论的用户接口318);或者经由被配置为接收数据或人工输入的其他接口。凭证122可以包括操作者登录、凭证、个人识别码(PIN)、生物特征扫描、私人代码或其他私人数据,以确定许可。CAL 120可以响应于凭证来标识简档124并且可以响应于简档124、凭证122或两者来标识访问级别(204)。例如,简档可以与多个访问级别相关联,这些访问级别具体取决于所提交的凭证。在示例场景中,信号简档所有者可以在同一简档上保持多个安全级别,并且在登录时授予的访问级别可以取决于所提交的凭证。凭证122可以包括简档标识符,诸如帐户名或用户名。在某些情况下,与凭证一起提供或在凭证内提供的元数据可以用于标识相关联的帐户。例如,来自网络分组的报头数据可以标识起源,类似地,可以使用硬件地址或定制的标识符字段。
简档124可以由CAL 120保持。CAL 120可以经由存储器访问层110处的存储操作来为简档存储敏感数据或其他私有数据(206)。私有数据可以包括凭证验证数据(例如,在确认凭证的真实性时使用的数据)、用于区块链重写访问的密钥机密或其他私有数据。在某些情况下,私有数据可以存储在受保护的存储器(例如,受保护的存储器380(下面讨论))上。
一旦选择访问级别,CAL 120就可以为区块链生成包括一个或多个特权的特权授予126(208)。例如,特权可以包括:读取特权,其可以允许对区块链的区块进行读取级别访问;附加特权(appending privilege),其可以允许使用将区块添加到区块链而不改变现有区块的附加命令;重写特权,其可以允许对现有区块进行改变。在一些实现方式中,特权可以取决于对特权本身或其他约束之外的其他资源的访问。例如,重写特权可以取决于对区块链的完整性代码的关联密钥机密的附加访问。另外地或替代地,附加特权可以取决于对区块链的区块链共识机制的遵守。
例如,在某些情况下,区块链可以与基于工作量证明的共识机制一起使用。因此,在找到预定义挑战的解决方案并且示出该解决方案的工作量证明时,可以授予操作者(例如,不可信操作者)将区块附加到区块链的能力。在一些实现方式中,可以实现基于“实用拜占庭式容错”的共识机制。此外,一些实现方式可以使用“智能合约”类型的共识机制,其中操作者可以在示出对智能合约的条款或规则的遵守时附加区块。在基于共识的系统中,附加特权和共识合规性可能足以允许操作者执行区块链附加操作。但是,在某些情况下,不一定要对区块链执行共识。
在一些实现方式中,区块链可以包括多种区块类型。例如,区块链可以包括调用区块,该调用区块包括用于链码的操作(该操作实现区块链账本功能(或其他区块链功能))的输入参数以及存储链码自身的链码区块。在某些情况下,特权授予可以指定特权适用的区块类型。在示例场景中,读取特权可以适用于所有区块类型,而附加特权或重写特权并非适用于所有区块,诸如适用于调用区块,但不适用于链码区块(反之亦然)。可以使用其他区块类型。此外,CAL 120可以授予针对所有区块或任何类型子集的特权。另外地或替代地,CAL102可以例如使用区块标识符(下面讨论)在区块特定级别分配特权。
一旦CAL 120确定了特权授予126,CAL 120就可以将特权授予126传递给呈现层130、写入层140或两者(210)。
呈现层130可以经由存储器访问层110处的存储器操作来访问区块链(212)。例如,呈现层130可以访问选定区块的内容或整个区块链的内容。在示例场景中,呈现层可以访问:选定区块,该选定区块可能已经由系统在先前的交易中改变;以及链中的后继区块,该后继区块包括保护选定区块的完整性代码。
在已改变区块的情况下,呈现层130可以基于与存储在后继区块中的完整性代码的编码不一致性来确定该已改变区块先前已经被改变(214)。呈现层130可以基于存储在后继区块内的与已改变区块编码一致的第二完整性输出来确定已改变区块尽管存在改变但是仍然有效(216)。这样的多个完整性输出区块可以根据下面讨论的双链路区块链和多链路区块链来实现。
当特权授予包括读取特权时,呈现层可以为已改变区块生成编辑表示132(218)。编辑表示132可以包括已改变区块的已改变状态的音频表示或视觉表示。例如,该区块可以被显示为与其他未改变区块不同的颜色。在一些实现方式中,指示上述改变的单词、字符或符号可以叠加在已改变区块上或紧邻已改变区块放置。在另外的实现方式中,箭头、连接器或其他关系指示符可以用来表示与后继区块的编码一致性(或编码不一致性)。在其他实现方式中,根据与存储在后继区块(例如,区块链(或其他完整性代码构造)序列中的已改变区块之后的区块)中的一个或多个完整性输出的编码不一致性的指示,编辑可以是很清楚的。
呈现层130可以生成呈现(presentation)134(219),该呈现134包括区块链的具有编辑表示132的一部分。在一些实现方式中,整个区块链可以与编辑表示132一起在呈现134中被表示。在区块链内具有多个已改变区块的某些场景中,多个编辑表示可以被包括呈现中。在一些实现方式中,可以包括多个区块链或多个区块链的部分。因此,呈现层130可以被调用以查看区块链的比较或同一区块链的不同版本的比较。
一旦生成呈现134,则呈现层130可以引起呈现的显示(220)。例如,呈现层130可以通过在网络199上发送指令或其他数据以在节点136处显示,而引起显示。呈现层130可以使用通信接口来实现传输。另外地或替代地,呈现层130可以经由用户接口在本地控制或连接的显示器上引起该呈现134的显示。
另外地或替代地,呈现134还可以允许基于用户选择的输入以在区块级别上和/或在区块内容级别上查看或修改区块链。例如,操作者可以查看呈现134并且经由用户输入(例如,经由本地接口输入或经由网络通信)选择区块。响应于接收用户输入,呈现层130可以改编该呈现。对于区块选择,呈现层130可以向该呈现添加和/或填充信息面板。信息面板可以包括区块或区块链特定的数据。
例如,信息面板可以包括:区块类型,例如调用区块、链码区块或其他区块类型等;区块标识符,诸如序列号、附加日期/时间、序列号或索引号、标识符代码或其他区块标识符;链码标识符,其可以将区块与链码的特定部分相关联;一个或多个先前区块的完整性输出;选定区块的完整性输出;参考图4讨论的区块级结构变量;适用的链码或链码内容;有效载荷变量列表,例如区块中包括的链码变量的列表;可用交互菜单(例如,重写选项或其他交互);或者其他信息。
在一些实现方式中,当从呈现134(例如,信息面板)中选择重写选项时,呈现层可以根据该选择来生成重写命令。例如,信息面板或该呈现的其他部分可以接受重写输入,并且可以具有用于输入新内容以替换选定区块的原始内容的输入字段。另外地或替代地,可以例如从与所接收的凭证相关联的网络节点,将重写命令直接寻址到重写层。
写入层140可以在区块链操作堆栈的写入层处接收与凭证相关联的命令,该命令指定对区块链的选定区块的改变(222)。另外地或替代地,该命令可以包括附加命令(当特权授予包括附加特权时,如下所述)。例如,写入层140可以接收来自呈现层130发起的与凭证相关联的会话的命令,来自与凭证相关联的网络节点的命令或来自由CAL 120响应于该凭证而授权的其他源的命令。
当特权授予包括重写特权时,区块链操作堆栈的写入层140可以访问与区块链相关联的密钥机密(224)。例如,写入层140可以经由存储器访问层110来访问受保护的存储器中的密钥机密。
响应于命令和密钥机密,写入层140可以使用与区块链的完整性代码编码一致的重写来执行改变(226)。例如,写入层140可以计算冲突数据,该冲突数据与区块链的有效性保留的完整性代码(validity preserving integrity code)编码一致。在一些实现方式中,该重写可以是篡改明显的,例如,响应于指示“痕迹”完整性代码的第二重写,或者该重写可以是非篡改明显的,例如,该重写可以与确保已经改变的区块的安全的所有完整性代码(例如,一个或多个)编码一致。
当特权授予包括附加特权时,写入层140可以执行与凭证相关联的附加命令(228)。附加命令可以将区块附加到区块链的末尾。如上所述,除了凭证授权,在某些实现方式中,附加命令可能还需要满足共识机制以对区块链进行有效添加。附加操作可以用于完成区块链交易。例如,表示交易的新链码变量可以在调用类型区块中附加到区块链。另外地或替代地,附加操作可以用于部署链码。例如,包含链码(该链码可以控制区块链的共识机制)的链码区块可以由写入层140使用附加交易来部署。在某些情况下,来自CAL 120的授权可以控制是否可以将包含区块的链码附加到区块链。例如,在部署阶段之后,链码附加操作可能会受到约束或被禁止。
图3示出了示例区块链操作电路系统(BOC)300。例如,可以经由应用程序编程接口(API),通过经由区块链操作堆栈100执行区块链操作,来使用BOC 300。BOC 300可以包括系统逻辑314,以支持对区块链的读取操作、重写操作和/或附加操作。系统逻辑314可以包括处理器316、存储器320和/或可以用于实现区块链操作逻辑200的其他电路系统。
存储器320可以用于存储在区块链呈现、重写和区块附加时使用的区块链元数据322和/或区块链数据324。存储器320还可以存储可以允许对区块链进行编码一致的重写的密钥机密321,诸如加密密钥值、陷门信息(trapdoor information)或其他机密值。在某些情况下,密钥机密321可以存储在受保护的存储器380中,诸如加密文件或数据驱动器、物理上受保护的驱动器、耦合到用于防盗对策的触发器的驱动器、或用于防止所存储的密钥机密321的意外或暗中披露的自删除驱动器。
存储器320还可以包括用于支持对区块链的更新的验证并且检测篡改的证据的应用和结构,例如编码对象、模板或一个或多个其他数据结构。存储器还可以包括可以指示特定区块链是否可以被编辑的标志323。BOC 300还可以包括一个或多个通信接口312,该通信接口312可以支持无线(例如Bluetooth、Wi-Fi、WLAN、蜂窝(3G、4G、LTE/A))和/或有线、以太网、千兆以太网、光网络协议。通信接口312可以支持与对区块链进行更新或执行区块链转移的其他实体的通信。另外地或替代地,通信接口312可以支持安全信息交换,诸如安全套接字层(SSL)或基于公钥加密的协议,以用于发送和接收密钥机密和CAL凭证。BOC 300可以包括电源管理电路系统334和一个或多个输入接口328。
BOC 300还可以包括用户接口318,该用户接口318可以包括人机接口和/或图形用户接口(GUI)。GUI可以用于将来自呈现层130的数据呈现给BOC 300的操作者。另外地或替代地,用户接口318可以用于例如经由呈现层130来向操作者呈现区块链重写工具或附加工具。
在某些情况下,用户接口318可以包括具有用于促进区块链重写和删除的工具的GUI(例如,经由呈现层实现)。用于重写的GUI工具可以包括“所见即所得”工具,这些工具允许操作者操纵区块链的内容,例如,使用类似于文字处理器的工具、类似于网络编辑的工具、类似于文件浏览的工具、或其任何组合。另外地或替代地,用户接口318可以包括命令行编辑工具。这些工具(无论是基于文本的工具还是基于图形的工具)可以允许操作者访问密钥机密,并且对例如由CAL 120对其授权的区块链执行编辑。在某些实现方式中,对于如下的操作者,该操作者缺少正在尝试编辑的区块链的适当密钥机密,这些工具可以拒绝其写入功能。
区块级的示例性结构
图4示出了与示例已更新区块链部分450配对的示例区块链部分400。在该示例中,在该区块链部分400、450中,外部哈希H与内部哈希G配对。内部哈希可以嵌套在外部哈希内,使得内部哈希的输出作为输入被提供给外部哈希。在示例区块链部分400、450中,内部哈希G可以是变色龙哈希函数。外部哈希H可以是变色龙哈希函数或另一哈希函数。区块可以包括HashPrev(例如,前一哈希)402字段,该HashPrev 402字段可以包括用于保存与前一区块相对应的哈希输出的存储内容(例如,s、s'、s”)。区块420、422、432、434可以不一定包括基于其自身的输入的哈希输出。但是,区块的哈希输出被示出在该区块上方,以表示到下一区块的链接403(例如,区块432和420之间以及420和434之间的链接403)。区块420、422、432、434还可以包括有效载荷404字段,该有效载荷404字段可以保存在该区块内受保护的数据(例如,x、x'、x”),诸如交易信息、智能合约内容、数值、程序代码、币种或其他安全数据。
还可以包括计数器字段406,例如ctr、ctr'、ctr”。计数器字段406可以包括可以用于工作量证明(PoW)计算、计帐、区块跟踪、或其他目的的计数器或nonce。在加密货币实现方式中,PoW可以用于验证授予特定实体的货币奖励的有效性。PoW可以包括计算问题的解决方案,其中解决方案的计算复杂度高,但验证在计算上相对容易。PoW也可以用在智能合约中,以验证特定实体是否已经履行其在合约下的义务。
当编校区块时,例如,当冲突被计算时,可以更新随机性408字段。在某些情况下,“随机性”字段可以保存可以与替换数据配对的第三数据(例如,r、r'、r”),以允许对区块链进行非篡改明显重写。当编校区块420时,值s'、x'、ctr'和r'可以替换为s'、*x'、ctr'和*r'。在示例情况下,不一定要修改s'和ctr',因为ctr'可以由外部哈希用于计算PoW并且是指向维持不变的前一区块的链路。使用内部哈希函数G的变色龙哈希密钥机密,可以找到冲突,使得G(s',x'和r')=G(s',*x'和*r')。因此,H(ctr',G(s',x'和r'))=H(ctr',G(s',*x'和*r'))。因此,结果s”在编校时可以维持不变。已更新区块部分450包括具有值*x'和*r'的替换区块422。
在一些实现方式中,系统可以通过在Blocki+i中用Si替换Si+i并且然后在Blocki+i上运行编校过程来删除区块。另外地或替代地,系统可以通过使Blocki+i中的值Si+i指向Blocki-i来删除区块。在某些情况下,可以改变Blocki-i中的ctr值以保持与Blocki+i中已更新值Si+i的编码一致性。
示例性多链区块链
在一些实现方式中,可信任实体(例如,由CAL 120授权以执行重写的实体)可以执行重写,该重写对进行重写的实体以外的实体可以是隐藏的。例如,用户可能不知道新的区块链已经取代了原始区块链。也就是说,在没有区块链的旧的副本可供参考的情况下,用户可能无法检测到区块链的部分是否被编校。
然而,在一些实现方式中,使重写明显是有利的。例如,在编校被审核的系统中,在编校的证据被需要(例如,被预先商定的合同所需要)的系统中,和/或当编校的证据是有利的或以其他方式更可取时,篡改明显编校可能是有利的。在编校明显的系统中,内容删除或修改可能会留下重写标识符或“痕迹”(例如,重写伪像),其可能不一定是包括可信实体在内的任何人可删除的。然而,在一些实现方式中,如下面讨论的,痕迹可以通过可信实体的子集或通过多个实体的协调来删除。
在一些编校明显实现方式中,单个区块链可以包括多个链。例如,编校明显区块链可以包括:基于写入锁定链的链,例如缺少密钥机密的哈希函数或密钥机密未知的哈希函数;基于可重写区块链的另一链,例如变色龙哈希或支持完整性代码的其他重写。在具有写入锁定链和可重写链的实现方式中,如果写入锁定链和可重写链均完好无损,则没有编校并且区块是原始的。如果写入锁定链断开并且可重写链完好无损,则表示可信实体进行了编校。但是,如果可重写链断开,则表示不可信实体对区块链进行了编辑并且区块链可能无效。在某些情况下,如果可重写链断开,则无论写入锁定链的状态如何,区块链都可能失效。因此,在这种情况下,可重写链可以确保区块链的完整性,而写入锁定链可以作为检测机制。因此,在支持带有痕迹证据的重写的区块链中,从逻辑上讲,区块链的有效性与篡改记录的创建是分开的。
在一些实现方式中,可以使用多个链来在不同的可信实体或其他有凭证实体之间进行区分。因此,多个可重写链可以连同零个写入锁定链或多个写入锁定链一起被包括在区块链中。在多可信实体跟踪区块链中,与进行编校的可信实体相对应的链将不中断,而其他链(包括与其他可信实体相对应的链或写入锁定链)可能会断开。在一些实现方式中,包括多个可重写链提供了篡改痕迹或重写标识符,而没有伴随的写入锁定链,因为只有与进行编辑的可信实体相对应的链才可以保持不断开。其他链尽管可以被其他可信实体重写,但是由于编辑而可能会断开。在某些情况下,当拥有一个或多个其他链的密钥的另一可信实体批准较早可信实体所做的编辑时,可以在稍后删除痕迹。这可以保护区块链免受由CAL120授权的一个实体进行的无法跟踪的单方面编辑的影响,但是仍然允许单个被授权实体快速删除敏感信息,而无需多个实体之间的协调。
此外,在某些方案中,一些可信实体可以被授权进行编辑而没有痕迹,而其他可信实体在进行编辑时可以留下痕迹。例如,在多可重写链方案中,一个可信实体可以具有所有链的密钥,而其他实体只有链的一部分的密钥。拥有所有密钥的一个实体可以进行编辑而不会留下痕迹,而只有一部分密钥的一个实体可能在编辑时留下痕迹。多链方案可以与分布式密钥方案相结合,使得在一个实体如果单独行动会留下痕迹的情况下,各实体可以聚集其密钥以进行编辑而不会留下痕迹。
图5示出了示例双链区块链部分500、550,其中区块B2 502被修改。代表一个或多个被授权实体被访问的密钥机密503允许被授权实体打开链路504并且改变区块B2 502。但是,写入锁定链路506或被授权实体缺少对于其的密钥机密的其他链路可能会被中断以发信号通知已经进行了编校。参考550,可以删除旧的区块B2 502,但是断开的链路556充当不可磨灭的标记或痕迹,该标记或痕迹提供持久记录,该持久记录表示已经进行了编校以产生新的区块B2'552。
图6示出了示例混合区块链600。混合区块链600包括具有核心部分602和第三级部分604的区块610、620、630、640。构成核心部分602的区块部分612、622、632、642由核心完整性代码606保护,该核心完整性代码606可能不一定支持任何实体的非篡改明显重写。相反,构成区块610、620、630、640的第三级部分604的区块部分614、624、634、644可以由支持非篡改明显重写的第三级完整性代码608保护。
在各种实现方式中,核心完整性代码606和第三级完整性代码608可以分别实现多个链。例如,如上所述,核心完整性代码606或第三级完整性代码608可以支持痕迹形成,使得可以对部分602、604执行有效重写,但是尽管有效,这些改变仍然生成篡改的证据。另外地或替代地,核心完整性代码606和第三级完整性代码608可以支持多可信实体批准(ratification),或者需要不同数目的密钥机密部分来支持编辑。例如,对核心部分602的编辑可以取决于两个可信实体的执行非篡改明显重写的批准,而对第三级部分的非篡改明显编辑可以由单个可信实体执行。对于分布式密钥机密系统,示例系统可以允许使用密钥机密的M个部分对第三级部分604进行非篡改明显重写,而仅当密钥机密的N个部分被组合(其中N>M)时,才允许对核心部分602的非篡改明显重写。
在示例场景中,混合区块链可以用于构建具有完全不变的交易数据的账本,该交易数据与可以由账本的所选择的一组监护者重写的交易描述/评论数据配对。在某些情况下,账本条目可以包括针对可以输入的数据类型的大小上限或约束。约束许可式重写可能会阻止尝试将无关或恶意内容写入区块的不可变账本部分。区块的可重写部分内的描述/注释字段可以受到较少的输入限制。但是,监护者可以在“描述/注释”字段中改变或删除先前编写的内容,而不具有篡改明显的改变。
多链路或混合区块链的架构可以与上面的区块链操作堆栈100结合使用。例如,终端设备(例如,本地或远程终端)上的操作者可以访问作为API的区块链操作堆栈100。区块链操作堆栈100可以控制对区块链的读取和写入访问,并且生成呈现以用作用户接口特征以促进操作者与区块链之间的交互。
图7示出了可以由区块链操作堆栈100生成的示例用户接口700。用户接口700可以包括多个选项卡,该选项卡可以示出网络活动(例如,登录和/或区块链交互)702、区块链信息选项卡704、用于将区块合并或压缩为更少区块的区块链压缩选项(例如,“收缩”选项卡)706、操作日志708、所部署的链码类型的调用交易清单710、以及所部署和/或可部署的链码的清单712。
对于区块链信息选项卡704,用户接口700可以显示区块链720的一部分,显示上限为整个区块链。在一些情况下,用户接口700可以并排显示多个区块链(或其部分)。例如,并排显示区块链可以提高如下的速度,操作者可以以此速度监测被该操作者授权的区块链或与之交互。
在所显示的部分内,区块链720可以包括区块722、724、726。这些区块可以包括可以在视觉上区分的未改变区块722和已改变区块724(例如,用于指示编辑表示的标识符)。在该示例用户接口中,以与用于显示区块722的阴影不同的彩色阴影突出显示已改变区块724。此外,可以选择单独的区块726以显示与选定区块726相关联的信息面板730。信息面板730可以包括用于区块的技术信息731,诸如区块类型,例如,调用区块、链码区块或其他区块类型;区块标识符,诸如序列号、附加日期/时间、序列号或索引号、标识符代码或其他区块标识符;链码标识符,其用于将区块与链码的特定部分相关联;一个或多个先前区块的完整性输出;选定区块的完整性输出;关于图4讨论的区块级结构变量;适用的链码或链码内容;有效载荷变量列表(例如,该区块中包括的链码变量的列表)或其他信息。
此外,信息面板730可以包括用于特定区块的可用动作732,例如,针对操作者的简档,当重写被授权时,信息面板的可用动作部分732可以示出重写工具。例如,用于在区块链中拖放新内容的区域。另外地或替代地,重写工具可以包括“编辑”按钮734,在该按钮被选择时可以允许对区块的内容进行编辑。例如,信息面板可以显示区块中包含的调用链码变量。一旦选择了编辑按钮734,就可以允许操作者改变在信息面板中的变量。
另外地或替代地,重写工具可以包括“删除”按钮736。当选择删除按钮736时,用户接口可以显示区块内容,例如诸如链码变量,以选择删除。在某些情况下,整个区块可以被指定用于删除。
在一些实现方式中,区块链信息选项卡704可以包括子选项卡区块级别740和区块链级别750。区块级别选项卡740可以允许如上所述查看区块链中的区块,区块链级别选项卡750可以显示一个或多个区块链的整个区块链级别数据。
例如,对于在区块链级别选项卡750中表示的各个区块链,用户接口700可以显示面板752,该面板752示出了区块链内的区块的数目、链码部署区块的数目、和/或区块链内完成和记录的交易的数目。在某些情况下,用户接口700可以并行显示多个区块链的该信息。在一些实现方式中,操作者可以选择面板752以直接切换到区块级别选项卡740下的相关区块的视图。
图8示出了可以使用区块链操作堆栈100来实现的示例区块链API逻辑架构(BAPI)800。具体地,CAL 120、呈现层130和写入层140可以用于实现BAPI 800的会员资格服务810、区块链服务820、交易服务830和链码服务840。可以由CAL 120提供的会员资格服务810管理网络上的身份、隐私和机密性。参与者进行注册以获取简档,该简档允许CAL 120在会员资格服务的逻辑划分下为执行交互850颁发权限(以及对附带工具,诸如密钥机密、凭证、安全密钥或其他工具的访问)。在某些情况下,由CAL 120提供的会员资格服务可以包括简档保持工具(profile maintenance tool),该简档保持工具允许操作者查看与特定简档有关的交易,例如以执行审核任务。执行审核任务的操作者可以具有相关联的简档(例如,拥有该简档的凭证),该简档允许审核由CAL 120保持的其他简档。
区块链服务820(该区块链服务820可以通过与呈现层130和/或写入层140的交互和/或对其的操作而被提供)可以例如通过对等协议来管理分布式账本。在示例系统中,协议可以建立在HTTP/2上。但是,可以使用其他环境。数据结构可以提供用于在很多参与者处保持复制的世界状态的有效方案。例如,区块链更新可以被分发作为差异更新,其可以包括变化并且在某些情况下可以省略未改变的区块链数据。因此,系统可以避免与向参与者节点分发未改变数据相关联的附加资源消耗。然而,在一些实现方式中,未改变数据可以与更新一起被传送。例如,可以分发其他未改变数据以支持共识机制或安全协议的实现,这些共识机制或安全协议可以依赖于未改变数据来进行改变验证。另外地或替代地,可以分配未改变数据以治愈或防止数据损坏。可以例如在指定的公差内或在某些条件下保证一致性的不同共识算法可以在链码区块上被实现并且根据部署而被配置。例如,一致性可以包括以拜占庭式容错来容忍不良行为,以碰撞容忍来容忍延迟和中断,以工作量证明或者其他容忍协议来容忍审查制度。
交易服务830可以通过与呈现层130和/或写入层140的交互来提供。写入层140的附加功能(append functionality)可以通过允许在交易服务执行时/之后将交易变量附加到区块链来实现交易服务。
链码服务840可以通过与呈现层130和/或写入层140的交互和/或对其的操作而被提供。在示例系统中,链码服务可以经由CAL 120和区块链共识/不变性特征来保护。在某些情况下,这可能提供一种轻量级的方法来沙盒验证(sandbox)链码在验证节点上的执行。在示例系统中,链码环境可以在“向下锁定的”且安全的容器中被部署在区块链上,该容器具有一组签名的基础映像,该映像包含安全操作系统(OS)和链码语言、运行时和软件开发工具包(SDK)映像。
在某些情况下,可以在如下状态下部署区块链:其中它由完整性代码保护,该完整性代码允许拥有密钥机密的可信实体对区块链中的区块进行非篡改明显重写。但是,当相同的可信实体不拥有密钥机密或无法访问密钥机密时,这些实体可能无法以非篡改明显方式重写区块链。
系统可以支持删除密钥机密以将可信实体转变为不可信实体。此外,系统可以删除特定可重写区块链的所有密钥机密,并且可重写区块链可以转换为不可变区块链。在某些情况下,可以在区块链发布的初始阶段部署可重写区块链。在预定义的时段、操作者选择的时段、预定义的条件满足之后,系统可以删除密钥机密并且将可信实体改变为不可信实体。在某些情况下,删除密钥机密可以在系统逐步消除可信实体的多个阶段中进行。
在一些实现方式中,密钥机密可以例如与加密内容一起存储在受保护的存储器上。例如,受保护的存储器380可以用于存储密钥机密。可以通过删除允许解密受保护的存储器的内容的加密密钥来实现删除密钥机密。在某些情况下,删除允许解密的加密密钥可能会影响密钥机密的永久且安全的删除。
上述方法、设备、处理和逻辑可以以很多不同的方式以及以硬件和软件的很多不同组合来实现。例如,全部或部分实现可以是包括指令处理器的电路系统,诸如中央处理器(CPU)、微控制器或微处理器;专用集成电路(ASIC)、可编程逻辑器件(PLD)或现场可编程门阵列(FPGA);或者包括离散逻辑或其他电路组件(包括模拟电路组件、数字电路组件或两者)的电路系统;或者其任何组合。作为示例,该电路系统可以包括离散的互连硬件组件,和/或可以在单个集成电路芯片上组合,分布在多个集成电路芯片之间,或者在公共封装中的多个集成电路芯片的多芯片模块(MCM)中实现。
该电路系统还可以包括或访问用于由该电路系统执行的指令。指令可以体现为信号和/或数据流,和/或可以存储在除暂态信号以外的有形存储介质中,诸如闪存、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM);或者在磁盘或光盘上,诸如光盘只读存储器(CDROM)、磁盘驱动器(HDD)或其他磁盘或光盘上;或者在其他机器可读介质中或上。诸如计算机程序产品等产品可以特别地包括存储介质和存储在介质中或上的指令,并且指令在由设备中的电路系统执行时可以引起该设备实现上面描述或附图中所示的任何处理。
这些实现可以作为电路系统(例如,硬件和/或硬件和软件的组合)分布在多个系统组件之间,诸如在多个处理器和存储器之间,可选地包括多个分布式处理系统。参数、数据库和其他数据结构可以分别存储和管理,可以合并到单个存储器或数据库中,可以以很多不同的方式在逻辑上和物理上进行组织,并且可以以很多不同的方式实现,包括作为数据结构,诸如链表、哈希表、数组、记录、对象或隐式存储机制。程序可以是单个程序的部分(例如,子例程)、单独的程序,其分布在多个存储器和处理器上或者以很多不同的方式实现,诸如在诸如共享库(例如,动态链接库DLL)等库中。例如,在由电路系统执行时,DLL可以存储执行上面描述或附图中所示的任何处理的指令。
各种实现方式可以使用上述技术和架构。
A1.在一个示例中,一种密码系统包括:存储器,被配置为存储区块链,所述存储器包括:已改变区块;以及后继区块,所述后继区块包括第一完整性输出以及第二完整性输出;区块链操作电路系统,与所述存储器数据通信,所述区块链操作电路系统被配置为执行区块链操作堆栈,包括:凭证授权层(CAL),存储器访问层,以及呈现层,以及所述区块链操作电路系统被配置为:在所述CAL处接收凭证,所述CAL被配置为在所述区块链操作电路系统上执行;确定所述凭证与由所述CAL保持的简档相关联;在所述CAL处确定对区块链的特权授予,所述确定响应于所述简档;访问所述区块链内的所述已改变区块和所述后继区块,所述访问经由所述区块链操作堆栈的所述存储器访问层来执行;响应于第一完整性输出,确定所述区块链的所述已改变区块先前已经被重写存储在所述后继区块内,所述第一完整性输出与所述已改变区块编码不一致;确定所述已改变区块的有效性,所述确定所述已改变区块的有效性响应于存储在所述后继区块内的第二完整性输出,以及所述第二完整性输出与所述已改变区块编码一致;以及当所述特权授予包括读取特权时:为所述已改变区块生成编辑表示,所述为所述已改变区块生成编辑表示响应于确定所述区块链的所述已改变区块先前已经被重写;生成所述区块链的至少一部分的呈现,所述呈现包括所述编辑表示;以及引起所述区块链的所述至少一部分的所述呈现的显示。
A2.根据示例A1所述的密码系统,其中所述区块链操作电路系统还被配置为:当所述特权授予包括重写特权时:访问与所述区块链相关联的密钥机密,所述密钥机密在所述区块链操作堆栈的写入层处被访问;在所述区块链操作堆栈的所述写入层处接收与所述凭证相关联的命令,所述命令指定对所述区块链的选定区块的改变;以及使用与所述区块链的第一完整性代码编码一致的重写来执行所述改变,所述执行所述改变响应于所述命令和所述密钥机密。
A3.根据示例A2所述的密码系统,其中所述重写与所述区块链的第二完整性代码编码不一致。
A4.根据示例A2或示例A3所述的密码系统,其中所述区块链包括多种类型的区块。
A5.根据示例A4所述的密码系统,其中重写特权扩展到第一区块类型,而不是第二区块类型。
A6.根据示例A5所述的密码系统,其中所述第一区块类型包括调用区块类型,并且所述第二区块类型包括链码区块类型。
A7.根据示例A2至A6中任一项所述的密码系统,其中所述改变包括针对所述区块链的链码的输入变量的改变。
A8.根据示例A1至A7中任一项所述的密码系统,其中所述编辑表示包括在所述呈现中突出显示所述已改变区块。
A9.根据示例A1至A8中任一项所述的密码系统,其中所述编辑表示包括:与所述第一完整性输出编码不一致性的第一图形表示;以及与所述第二完整性输出编码一致性的第二图形表示。
A10.根据示例A1至A9中任一项所述的密码系统,其中所述呈现还包括针对用户输入所选择的区块的与信息面板相关联的细节:区块类型、区块标识符、链码标识符、有效载荷变量列表、可用交互菜单或其任何组合。
B1.在一个示例中,一种方法包括:在密码系统中:在区块链操作堆栈的凭证授权层(CAL)处接收凭证,所述区块链操作堆栈在区块链操作电路系统上执行;确定所述凭证与由所述CAL保持的简档相关联;响应于所述简档,在所述CAL处确定针对存储在所述密码系统的存储器内的区块链的特权授予;经由所述区块链操作堆栈的存储器访问层来访问所述区块链内的已改变区块和后继区块;响应于存储在所述后继区块内的第一完整性输出,确定所述区块链的所述已改变区块先前已经被重写,所述第一完整性输出与所述已改变区块编码不一致;响应于存储在所述后继区块内的第二完整性输出,确定所述已改变区块的有效性,所述第二完整性输出与所述已改变区块编码一致;以及当所述特权授予包括读取特权时:响应于确定所述区块链的所述已改变区块先前已经被重写,为所述已改变区块生成编辑表示;生成所述区块链的至少一部分的呈现,所述呈现包括所述编辑表示;以及引起所述区块链的所述至少一部分的所述呈现的显示。
B2.根据示例B1所述的方法,还包括:当所述特权授予包括重写特权时:在所述区块链操作堆栈的写入层处访问与所述区块链相关联的密钥机密;在所述区块链操作堆栈的所述写入层处接收与所述凭证相关联的命令,所述命令指定对所述区块链的选定区块的改变;以及响应于所述命令和所述密钥机密,使用与所述区块链的第一完整性代码编码一致的重写来执行所述改变。
B3.根据示例B2所述的方法,其中使用所述重写包括:使用与所述区块链的第二完整性代码编码不一致的重写。
B4.根据示例B1至B3中任一项所述的方法,其中所述编辑表示包括:与所述第一完整性输出编码不一致性的第一图形表示;以及与所述第二完整性输出编码一致性的第二图形表示。
B5.根据示例B1至B4中任一项所述的方法,其中所述呈现还包括针对用户输入所选择的区块的与信息面板相关联的细节:区块类型、区块标识符、链码标识符、有效载荷变量列表、可用交互菜单或其任何组合。
C1.在一个示例中,一种产品包括:除暂态信号以外的机器可读介质;以及存储在所述机器可读介质上的指令,所述指令在被执行时被配置为引起机器:在区块链操作堆栈的凭证授权层(CAL)处接收凭证,所述区块链操作堆栈被配置为在区块链操作电路系统上执行;确定所述凭证与由所述CAL保持的简档相关联;响应于所述简档,在所述CAL处确定针对存储在存储器内的区块链的特权授予;经由所述区块链操作堆栈的存储器访问层来访问所述区块链内的已改变区块和后继区块;响应于存储在所述后继区块内的第一完整性输出,确定所述区块链的所述已改变区块先前已经被重写,所述第一完整性输出与所述已改变区块编码不一致;响应于存储在所述后继区块内的第二完整性输出,确定所述已改变区块的有效性,所述第二完整性输出与所述已改变区块编码一致;以及当所述特权授予包括读取特权时:响应于确定所述区块链的所述已改变区块先前已经被重写,为所述已改变区块生成编辑表示;生成所述区块链的至少一部分的呈现,所述呈现包括所述编辑表示;以及引起所述区块链的所述至少一部分的所述呈现的显示。
C2.根据示例C1所述的产品,其中所述指令还被配置为引起所述机器:当所述特权授予包括重写特权时:在所述区块链操作堆栈的写入层处访问与所述区块链相关联的密钥机密;在所述区块链操作堆栈的所述写入层处接收与所述凭证相关联的命令,所述命令指定对所述区块链的选定区块的改变;以及响应于所述命令和所述密钥机密,使用与所述区块链的第一完整性代码编码一致的重写来执行所述改变。
C3.根据示例C2所述的产品,其中指令还被配置为引起所述机器将所述重写特权应用于调用区块类型,而不是链码区块类型。
C4.根据示例C1或示例C2所述的产品,其中所述改变包括针对所述区块链的链码的输入变量的改变。
C5.根据示例C1至C4中任一项所述的产品,其中所述编辑表示包括在所述呈现中突出显示所述已改变区块。
D1.一种方法,通过根据示例A1至A10中任一项所述的密码系统的操作来实现。
E1.一种产品,包括存储在机器可读介质上的指令,所述指令被配置为引起机器实现根据示例D1所述的方法。
已经具体描述了各种实现。然而,很多其他实现也是可能的。本文中使用的标题和/或子标题仅旨在帮助读者理解所描述的实现。本发明由权利要求书限定。
权利要求书(按照条约第19条的修改)
1.一种密码系统,包括:
存储器,被配置为存储区块链,所述存储器包括:
调用区块类型的已改变区块;以及
后继区块,包括:
第一完整性输出;以及
第二完整性输出;
区块链操作电路系统,与所述存储器数据通信,
所述区块链操作电路系统被配置为执行区块链操作堆栈,所述区块链操作堆栈包括:
凭证授权层(CAL),
存储器访问层,以及
呈现层,并且
所述区块链操作电路系统被配置为:
在所述CAL处接收凭证,
所述CAL被配置为在所述区块链操作电路系统上执行;
确定所述凭证与由所述CAL保持的简档相关联;
响应于所述简档,在所述CAL处通过以下方式来确定针对区块链的特权授予:
拒绝将所述特权授予扩展到用于所述区块链的链码区块类型,所述链码区块类型的区块被配置为存储用于所述区块链的操作的可执行代码;以及
确定要将所述特权授予扩展到用于所述区块链的所述调用区块类型,所述调用类型的区块被配置为存储定义所述链码的操作的一个或多个输入参数;访问所述区块链内的所述已改变区块和所述后继区块,
所述访问经由所述区块链操作堆栈的所述存储器访问层来执行;
响应于第一完整性输出,确定所述区块链的所述已改变区块先前已经被重写存储在所述后继区块内,
所述第一完整性输出与所述已改变区块编码不一致;
确定所述已改变区块的有效性,
所述确定所述已改变区块的有效性响应于存储在所述后继区块内的第二完整性输出,并且
所述第二完整性输出与所述已改变区块编码一致;以及
当所述特权授予包括读取特权时:
为所述已改变区块生成编辑表示,
所述为所述已改变区块生成编辑表示响应于确定所述区块链的所述已改变区块先前已经被重写;
生成所述区块链的至少一部分的呈现,
所述呈现包括所述编辑表示;以及
引起所述区块链的所述至少一部分的所述呈现的显示。
2.根据权利要求1所述的密码系统,其中所述区块链操作电路系统还被配置为:
当所述特权授予包括重写特权时:
访问与所述区块链相关联的密钥机密,
所述密钥机密在所述区块链操作堆栈的写入层处被访问;
在所述区块链操作堆栈的所述写入层处接收与所述凭证相关联的命令,
所述命令指定对所述区块链的选定区块的改变;以及
使用与所述区块链的第一完整性代码编码一致的重写来执行所述改变,
所述执行所述改变响应于所述命令和所述密钥机密。
3.根据权利要求2所述的密码系统,其中所述重写与所述区块链的第二完整性代码编码不一致。
4.根据权利要求2所述的密码系统,其中所述区块链包括多种类型的区块。
5.根据权利要求4所述的密码系统,其中重写特权扩展到第一区块类型,而不是第二区块类型。
6.根据权利要求5所述的密码系统,其中所述第一区块类型包括调用区块类型,并且所述第二区块类型包括链码区块类型。
7.根据权利要求2所述的密码系统,其中所述改变包括针对所述区块链的链码的输入变量的改变。
8.根据权利要求1所述的密码系统,其中所述编辑表示包括在所述呈现中突出显示所述已改变区块。
9.根据权利要求1所述的密码系统,其中所述编辑表示包括:
与所述第一完整性输出编码不一致性的第一图形表示;以及
与所述第二完整性输出编码一致性的第二图形表示。
10.根据权利要求1所述的密码系统,其中所述呈现还包括针对用户输入所选择的区块的与信息面板相关联的细节:
区块类型、区块标识符、链码标识符、有效载荷变量列表、可用交互菜单或其任何组合。
11.一种方法,包括:
在密码系统中:
在区块链操作堆栈的凭证授权层(CAL)处接收凭证,所述区块链操作堆栈在区块链操作电路系统上执行;
确定所述凭证与由所述CAL保持的简档相关联;
响应于所述简档,在所述CAL处通过以下方式来确定针对存储在所述密码系统的存储器内的区块链的特权授予:
拒绝将所述特权授予扩展到用于所述区块链的链码区块类型,所述链码区块类型的区块被配置为存储用于所述区
块链的操作的可执行代码;以及
确定要将所述特权授予扩展到用于所述区块链的所述调用区块类型,所述调用类型的区块被配置为存储定义所述链码的操作的一个或多个输入参数;
经由所述区块链操作堆栈的存储器访问层来访问所述区块链内的所述调用区块类型的已改变区块和后继区块;
响应于存储在所述后继区块内的第一完整性输出,确定所述区块链的所述已改变区块先前已经被重写,所述第一完整性输出与所述已改变区块编码不一致;
响应于存储在所述后继区块内的第二完整性输出,确定所述已改变区块的有效性,所述第二完整性输出与所述已改变区块编码一致;以及
当所述特权授予包括读取特权时:
响应于确定所述区块链的所述已改变区块先前已经被重写,为所述已改变区块生成编辑表示;
生成所述区块链的至少一部分的呈现,所述呈现包括所述编辑表示;以及
引起所述区块链的所述至少一部分的所述呈现的显示。
12.根据权利要求11所述的方法,还包括:
当所述特权授予包括重写特权时:
在所述区块链操作堆栈的写入层处访问与所述区块链相关联的密钥机密;
在所述区块链操作堆栈的所述写入层处接收与所述凭证相关联的命令,所述命令指定对所述区块链的选定区块的改变;以及
响应于所述命令和所述密钥机密,使用与所述区块链的第一完整性代码编码一致的重写来执行所述改变。
13.根据权利要求12所述的方法,其中使用所述重写包括:
使用与所述区块链的第二完整性代码编码不一致的重写。
14.根据权利要求11所述的方法,其中所述编辑表示包括:
与所述第一完整性输出编码不一致性的第一图形表示;以及
与所述第二完整性输出编码一致性的第二图形表示。
15.根据权利要求11所述的方法,其中所述呈现还包括针对用户输入所选择的区块的与信息面板相关联的细节:区块类型、区块标识符、链码标识符、有效载荷变量列表、可用交互菜单或其任何组合。
16.一种产品,包括:
除暂态信号以外的机器可读介质;以及
存储在所述机器可读介质上的指令,所述指令在被执行时被配置为引起机器:
在区块链操作堆栈的凭证授权层(CAL)处接收凭证,所述区块链操作堆栈被配置为在区块链操作电路系统上执行;
确定所述凭证与由所述CAL保持的简档相关联;
响应于所述简档,在所述CAL处通过以下方式来确定针对存储在存储器内的区块链的特权授予:
拒绝将所述特权授予扩展到用于所述区块链的链码区块类型,所述链码区块类型的区块被配置为存储用于所述区块链的操作的可执行代码;以及
确定要将所述特权授予扩展到用于所述区块链的所述调用区块类型,所述调用类型的区块被配置为存储定义所述链码的操作的一个或多个输入参数;
经由所述区块链操作堆栈的存储器访问层来访问所述区块链内的所述调用区块类型的已改变区块和后继区块;
响应于存储在所述后继区块内的第一完整性输出,确定所述区块链的所述已改变区块先前已经被重写,所述第一完整性输出与所述已改变区块编码不一致;
响应于存储在所述后继区块内的第二完整性输出,确定所述已改变区块的有效性,所述第二完整性输出与所述已改变区块编码一致;以及
当所述特权授予包括读取特权时:
响应于确定所述区块链的所述已改变区块先前已经被重写,为所述已改变区块生成编辑表示;
生成所述区块链的至少一部分的呈现,所述呈现包括所述编辑表示;以及
引起所述区块链的所述至少一部分的所述呈现的显示。
17.根据权利要求16所述的产品,其中所述指令还被配置为引起所述机器:
当所述特权授予包括重写特权时:
在所述区块链操作堆栈的写入层处访问与所述区块链相关联的密钥机密;
在所述区块链操作堆栈的所述写入层处接收与所述凭证相关联的命令,所述命令指定对所述区块链的选定区块的改变;以及
响应于所述命令和所述密钥机密,使用与所述区块链的第一完整性代码编码一致的重写来执行所述改变。
18.根据权利要求17所述的产品,其中指令还被配置为引起所述机器将所述重写特权应用于调用区块类型,而不是链码区块类型。
19.根据权利要求17所述的产品,其中所述改变包括针对所述区块链的链码的输入变量的改变。
20.根据权利要求16所述的产品,其中所述编辑表示包括在所述呈现中突出显示所述已改变区块。
Claims (20)
1.一种密码系统,包括:
存储器,被配置为存储区块链,所述存储器包括:
已改变区块;以及
后继区块,包括:
第一完整性输出;以及
第二完整性输出;
区块链操作电路系统,与所述存储器数据通信,
所述区块链操作电路系统被配置为执行区块链操作堆栈,所述区块链操作堆栈包括:
凭证授权层(CAL),
存储器访问层,以及
呈现层,并且
所述区块链操作电路系统被配置为:
在所述CAL处接收凭证,
所述CAL被配置为在所述区块链操作电路系统上执行;
确定所述凭证与由所述CAL保持的简档相关联;
在所述CAL处确定针对区块链的特权授予,
所述确定响应于所述简档;
访问所述区块链内的所述已改变区块和所述后继区块,
所述访问经由所述区块链操作堆栈的所述存储器访问层来执行;
响应于第一完整性输出,确定所述区块链的所述已改变区块先前已经被重写存储在所述后继区块内,
所述第一完整性输出与所述已改变区块编码不一致;
确定所述已改变区块的有效性,
所述确定所述已改变区块的有效性响应于存储在所述后继区块内的第二完整性输出,并且
所述第二完整性输出与所述已改变区块编码一致;以及
当所述特权授予包括读取特权时:
为所述已改变区块生成编辑表示,
所述为所述已改变区块生成编辑表示响应于确定所述区块链的所述已改变区块先前已经被重写;生成所述区块链的至少一部分的呈现,
所述呈现包括所述编辑表示;以及
引起所述区块链的所述至少一部分的所述呈现的显示。
2.根据权利要求1所述的密码系统,其中所述区块链操作电路系统还被配置为:
当所述特权授予包括重写特权时:
访问与所述区块链相关联的密钥机密,
所述密钥机密在所述区块链操作堆栈的写入层处被访问;
在所述区块链操作堆栈的所述写入层处接收与所述凭证相关联的命令,
所述命令指定对所述区块链的选定区块的改变;以及
使用与所述区块链的第一完整性代码编码一致的重写来执行所述改变,
所述执行所述改变响应于所述命令和所述密钥机密。
3.根据权利要求2所述的密码系统,其中所述重写与所述区块链的第二完整性代码编码不一致。
4.根据权利要求2所述的密码系统,其中所述区块链包括多种类型的区块。
5.根据权利要求4所述的密码系统,其中重写特权扩展到第一区块类型,而不是第二区块类型。
6.根据权利要求5所述的密码系统,其中所述第一区块类型包括调用区块类型,并且所述第二区块类型包括链码区块类型。
7.根据权利要求2所述的密码系统,其中所述改变包括针对所述区块链的链码的输入变量的改变。
8.根据权利要求1所述的密码系统,其中所述编辑表示包括在所述呈现中突出显示所述已改变区块。
9.根据权利要求1所述的密码系统,其中所述编辑表示包括:
与所述第一完整性输出编码不一致性的第一图形表示;以及
与所述第二完整性输出编码一致性的第二图形表示。
10.根据权利要求1所述的密码系统,其中所述呈现还包括针对用户输入所选择的区块的与信息面板相关联的细节:
区块类型、区块标识符、链码标识符、有效载荷变量列表、可用交互菜单或其任何组合。
11.一种方法,包括:
在密码系统中:
在区块链操作堆栈的凭证授权层(CAL)处接收凭证,所述区块链操作堆栈在区块链操作电路系统上执行;
确定所述凭证与由所述CAL保持的简档相关联;
响应于所述简档,在所述CAL处确定针对存储在所述密码系统的存储器内的区块链的特权授予;
经由所述区块链操作堆栈的存储器访问层来访问所述区块链内的已改变区块和后继区块;
响应于存储在所述后继区块内的第一完整性输出,确定所述区块链的所述已改变区块先前已经被重写,所述第一完整性输出与所述已改变区块编码不一致;
响应于存储在所述后继区块内的第二完整性输出,确定所述已改变区块的有效性,所述第二完整性输出与所述已改变区块编码一致;以及
当所述特权授予包括读取特权时:
响应于确定所述区块链的所述已改变区块先前已经被重写,为所述已改变区块生成编辑表示;
生成所述区块链的至少一部分的呈现,所述呈现包括所述编辑表示;以及
引起所述区块链的所述至少一部分的所述呈现的显示。
12.根据权利要求11所述的方法,还包括:
当所述特权授予包括重写特权时:
在所述区块链操作堆栈的写入层处访问与所述区块链相关联的密钥机密;
在所述区块链操作堆栈的所述写入层处接收与所述凭证相关联的命令,所述命令指定对所述区块链的选定区块的改变;以及
响应于所述命令和所述密钥机密,使用与所述区块链的第一完整性代码编码一致的重写来执行所述改变。
13.根据权利要求12所述的方法,其中使用所述重写包括:
使用与所述区块链的第二完整性代码编码不一致的重写。
14.根据权利要求11所述的方法,其中所述编辑表示包括:
与所述第一完整性输出编码不一致性的第一图形表示;以及
与所述第二完整性输出编码一致性的第二图形表示。
15.根据权利要求11所述的方法,其中所述呈现还包括针对用户输入所选择的区块的与信息面板相关联的细节:区块类型、区块标识符、链码标识符、有效载荷变量列表、可用交互菜单或其任何组合。
16.一种产品,包括:
除暂态信号以外的机器可读介质;以及
存储在所述机器可读介质上的指令,所述指令在被执行时被配置为引起机器:
在区块链操作堆栈的凭证授权层(CAL)处接收凭证,所述区块链操作堆栈被配置为在区块链操作电路系统上执行;
确定所述凭证与由所述CAL保持的简档相关联;
响应于所述简档,在所述CAL处确定针对存储在存储器内的区块链的特权授予;
经由所述区块链操作堆栈的存储器访问层来访问所述区块链内的已改变区块和后继区块;
响应于存储在所述后继区块内的第一完整性输出,确定所述区块链的所述已改变区块先前已经被重写,所述第一完整性输出与所述已改变区块编码不一致;
响应于存储在所述后继区块内的第二完整性输出,确定所述已改变区块的有效性,所述第二完整性输出与所述已改变区块编码一致;以及
当所述特权授予包括读取特权时:
响应于确定所述区块链的所述已改变区块先前已经被重写,为所述已改变区块生成编辑表示;
生成所述区块链的至少一部分的呈现,所述呈现包括所述编辑表示;以及
引起所述区块链的所述至少一部分的所述呈现的显示。
17.根据权利要求16所述的产品,其中所述指令还被配置为引起所述机器:
当所述特权授予包括重写特权时:
在所述区块链操作堆栈的写入层处访问与所述区块链相关联的密钥机密;
在所述区块链操作堆栈的所述写入层处接收与所述凭证相关联的命令,所述命令指定对所述区块链的选定区块的改变;以及
响应于所述命令和所述密钥机密,使用与所述区块链的第一完整性代码编码一致的重写来执行所述改变。
18.根据权利要求17所述的产品,其中指令还被配置为引起所述机器将所述重写特权应用于调用区块类型,而不是链码区块类型。
19.根据权利要求17所述的产品,其中所述改变包括针对所述区块链的链码的输入变量的改变。
20.根据权利要求16所述的产品,其中所述编辑表示包括在所述呈现中突出显示所述已改变区块。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/RU2017/000866 WO2019098873A1 (en) | 2017-11-16 | 2017-11-16 | Blockchain operation stack for rewritable blockchain |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111357240A true CN111357240A (zh) | 2020-06-30 |
CN111357240B CN111357240B (zh) | 2023-11-03 |
Family
ID=60766121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780096937.5A Active CN111357240B (zh) | 2017-11-16 | 2017-11-16 | 密码系统、用于密码系统的方法和介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11461245B2 (zh) |
EP (1) | EP3711260A1 (zh) |
CN (1) | CN111357240B (zh) |
WO (1) | WO2019098873A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113810185A (zh) * | 2021-09-17 | 2021-12-17 | 华中科技大学 | 一种抗陷门泄露的链上数据修复系统及方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11277412B2 (en) | 2018-05-28 | 2022-03-15 | Royal Bank Of Canada | System and method for storing and distributing consumer information |
EP3711260A1 (en) | 2017-11-16 | 2020-09-23 | Accenture Global Solutions Limited | Blockchain operation stack for rewritable blockchain |
GB201811263D0 (en) * | 2018-07-10 | 2018-08-29 | Netmaster Solutions Ltd | A method and system for managing digital using a blockchain |
CN109032804B (zh) * | 2018-08-01 | 2020-12-11 | 创新先进技术有限公司 | 数据处理方法和装置、服务器 |
US11444953B2 (en) * | 2018-12-06 | 2022-09-13 | Dharmesh Naik | Methods, systems, apparatuses and devices for facilitating security of a resource using a plurality of credentials |
US11170128B2 (en) * | 2019-02-27 | 2021-11-09 | Bank Of America Corporation | Information security using blockchains |
US11991298B2 (en) * | 2019-06-14 | 2024-05-21 | Ailia Sa | Method for the execution of an instance of a smart contract by means of a blockchain |
US11201746B2 (en) * | 2019-08-01 | 2021-12-14 | Accenture Global Solutions Limited | Blockchain access control system |
US11113241B1 (en) | 2020-08-22 | 2021-09-07 | Tyson York Winarski | Computer application for blockchaining files through a graphical user interface |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160012465A1 (en) * | 2014-02-08 | 2016-01-14 | Jeffrey A. Sharp | System and method for distributing, receiving, and using funds or credits and apparatus thereof |
CN106055993A (zh) * | 2016-08-13 | 2016-10-26 | 深圳市樊溪电子有限公司 | 一种用于区块链的加密存储系统及其使用方法 |
CN106330452A (zh) * | 2016-08-13 | 2017-01-11 | 深圳市樊溪电子有限公司 | 一种用于区块链的安全网络附加装置及方法 |
WO2017132641A1 (en) * | 2016-01-28 | 2017-08-03 | Nasdaq, Inc. | Systems and methods for securing and disseminating time sensitive information using a blockchain |
US20170244721A1 (en) * | 2016-02-22 | 2017-08-24 | Bank Of America Corporation | System for providing levels of security access to a process data network |
US9785369B1 (en) * | 2016-05-23 | 2017-10-10 | Accenture Global Solutions Limited | Multiple-link blockchain |
Family Cites Families (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69332633T2 (de) | 1992-07-20 | 2003-11-06 | Compaq Computer Corp | Verfahren und Sytem um, auf Bescheinigung gestützt, Alias zu entdecken |
US20020013898A1 (en) | 1997-06-04 | 2002-01-31 | Sudia Frank W. | Method and apparatus for roaming use of cryptographic values |
US6708274B2 (en) * | 1998-04-30 | 2004-03-16 | Intel Corporation | Cryptographically protected paging subsystem |
US6292897B1 (en) * | 1997-11-03 | 2001-09-18 | International Business Machines Corporation | Undeniable certificates for digital signature verification |
US6108783A (en) | 1998-02-11 | 2000-08-22 | International Business Machines Corporation | Chameleon hashing and signatures |
US7167565B2 (en) | 2001-03-06 | 2007-01-23 | Arcot Systems, Inc. | Efficient techniques for sharing a secret |
US7043637B2 (en) | 2001-03-21 | 2006-05-09 | Microsoft Corporation | On-disk file format for a serverless distributed file system |
US7451310B2 (en) | 2002-12-02 | 2008-11-11 | International Business Machines Corporation | Parallelizable authentication tree for random access storage |
US7730319B2 (en) | 2004-08-27 | 2010-06-01 | Ntt Docomo, Inc. | Provisional signature schemes |
US8019988B2 (en) | 2005-08-22 | 2011-09-13 | The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of The University Of Oregon | Security protocols for hybrid peer-to-peer file sharing networks |
US8989390B2 (en) * | 2005-12-12 | 2015-03-24 | Qualcomm Incorporated | Certify and split system and method for replacing cryptographic keys |
JP4642845B2 (ja) | 2005-12-19 | 2011-03-02 | 日本電信電話株式会社 | 端末識別方法、サーバ、端末およびプログラム |
WO2007087363A2 (en) | 2006-01-24 | 2007-08-02 | Brown University | Efficient content authentication in peer-to-peer networks |
US20070226514A1 (en) | 2006-03-24 | 2007-09-27 | Atmel Corporation | Secure biometric processing system and method of use |
US8190915B2 (en) | 2006-06-14 | 2012-05-29 | Oracle International Corporation | Method and apparatus for detecting data tampering within a database |
EP2061178A4 (en) | 2006-09-01 | 2011-10-12 | Nec Corp | ELECTRONIC SIGNATURE SYSTEM AND METHOD FOR VERIFYING AN ELECTRONIC SIGNATURE |
US8943332B2 (en) | 2006-10-31 | 2015-01-27 | Hewlett-Packard Development Company, L.P. | Audit-log integrity using redactable signatures |
US7606795B2 (en) | 2007-02-08 | 2009-10-20 | International Business Machines Corporation | System and method for verifying the integrity and completeness of records |
JP4456137B2 (ja) | 2007-07-11 | 2010-04-28 | 富士通株式会社 | 電子文書管理プログラム、該プログラムを記録した記録媒体、電子文書管理装置、および電子文書管理方法 |
JP4477678B2 (ja) | 2008-01-21 | 2010-06-09 | 富士通株式会社 | 電子署名方式、電子署名プログラムおよび電子署名装置 |
US7904450B2 (en) | 2008-04-25 | 2011-03-08 | Wilson Kelce S | Public electronic document dating list |
US20100037056A1 (en) | 2008-08-07 | 2010-02-11 | Follis Benjamin D | Method to support privacy preserving secure data management in archival systems |
JP2010050760A (ja) | 2008-08-22 | 2010-03-04 | Hitachi Ltd | コンテンツ保護装置、および、コンテンツ利用装置 |
US20100153732A1 (en) | 2008-12-15 | 2010-06-17 | Stmicroelectronics Rousset Sas | cache-based method of hash-tree management for protecting data integrity |
JP5239849B2 (ja) | 2008-12-26 | 2013-07-17 | 富士通株式会社 | 電子署名方法、電子署名プログラムおよび電子署名装置 |
EP2441207B8 (fr) | 2009-06-12 | 2020-08-05 | Orange | Procédé cryptographique d'authentification anonyme et d'identification séparée d'un utilisateur |
US8682903B2 (en) | 2009-06-30 | 2014-03-25 | International Business Machines Corporation | System and method for synchronized content directories on cluster devices |
US9569771B2 (en) | 2011-04-29 | 2017-02-14 | Stephen Lesavich | Method and system for storage and retrieval of blockchain blocks using galois fields |
US9876775B2 (en) | 2012-11-09 | 2018-01-23 | Ent Technologies, Inc. | Generalized entity network translation (GENT) |
US20140245020A1 (en) | 2013-02-22 | 2014-08-28 | Guardtime Ip Holdings Limited | Verification System and Method with Extra Security for Lower-Entropy Input Records |
WO2013189619A1 (en) | 2013-04-05 | 2013-12-27 | Nec Europe Ltd. | Method and system for modifying an authenticated and/or encrypted message |
US20160110261A1 (en) | 2013-05-07 | 2016-04-21 | Axcient, Inc. | Cloud storage using merkle trees |
WO2014201059A1 (en) | 2013-06-10 | 2014-12-18 | Certimix, Llc | Secure storing and offline transfering of digitally transferable assets |
KR102238681B1 (ko) | 2013-07-01 | 2021-04-12 | 삼성전자주식회사 | 데이터 인증을 위한 서명 정보 생성 및 검증 방법과 이를 위한 시스템 |
US9767469B2 (en) | 2013-07-16 | 2017-09-19 | Fujitsu Limited | Customer-centric energy usage data sharing |
US20150046337A1 (en) | 2013-08-06 | 2015-02-12 | Chin-hao Hu | Offline virtual currency transaction |
WO2015024603A1 (en) | 2013-08-23 | 2015-02-26 | Nec Europe Ltd. | Method and system for authenticating a data stream |
US9530010B2 (en) | 2013-11-07 | 2016-12-27 | Fujitsu Limited | Energy usage data management |
US9209971B2 (en) | 2014-01-21 | 2015-12-08 | Cofactor Computing Llc | Method and system for shielding data in untrusted environments |
US20160125403A1 (en) | 2014-04-28 | 2016-05-05 | Chin-hao Hu | Offline virtual currency transaction |
US10340038B2 (en) | 2014-05-13 | 2019-07-02 | Nant Holdings Ip, Llc | Healthcare transaction validation via blockchain, systems and methods |
US9704143B2 (en) | 2014-05-16 | 2017-07-11 | Goldman Sachs & Co. LLC | Cryptographic currency for securities settlement |
US9818092B2 (en) | 2014-06-04 | 2017-11-14 | Antti Pennanen | System and method for executing financial transactions |
GB2513260B (en) | 2014-06-27 | 2018-06-13 | PQ Solutions Ltd | System and method for quorum-based data recovery |
US10454970B2 (en) | 2014-06-30 | 2019-10-22 | Vescel, Llc | Authorization of access to a data resource in addition to specific actions to be performed on the data resource based on an authorized context enforced by a use policy |
US10356094B2 (en) | 2014-06-30 | 2019-07-16 | Vescel, Llc | Uniqueness and auditing of a data resource through an immutable record of transactions in a hash history |
US9836908B2 (en) | 2014-07-25 | 2017-12-05 | Blockchain Technologies Corporation | System and method for securely receiving and counting votes in an election |
US9846642B2 (en) | 2014-10-21 | 2017-12-19 | Samsung Electronics Co., Ltd. | Efficient key collision handling |
US20160162897A1 (en) | 2014-12-03 | 2016-06-09 | The Filing Cabinet, LLC | System and method for user authentication using crypto-currency transactions as access tokens |
US9667416B1 (en) | 2014-12-18 | 2017-05-30 | EMC IP Holding Company LLC | Protecting master encryption keys in a distributed computing environment |
US10230526B2 (en) | 2014-12-31 | 2019-03-12 | William Manning | Out-of-band validation of domain name system records |
US9413735B1 (en) | 2015-01-20 | 2016-08-09 | Ca, Inc. | Managing distribution and retrieval of security key fragments among proxy storage devices |
US9973341B2 (en) | 2015-01-23 | 2018-05-15 | Daniel Robert Ferrin | Method and apparatus for the limitation of the mining of blocks on a block chain |
US9436923B1 (en) | 2015-02-26 | 2016-09-06 | Skuchain, Inc. | Tracking unitization occurring in a supply chain |
US20160292396A1 (en) | 2015-03-30 | 2016-10-06 | Iperial, Inc. | System and method for authenticating digital content |
US10812274B2 (en) | 2015-05-07 | 2020-10-20 | Blockstream Corporation | Transferring ledger assets between blockchains via pegged sidechains |
US10067953B2 (en) | 2015-05-08 | 2018-09-04 | International Business Machines Corporation | Indexing a chameleon schema |
CN106251144A (zh) | 2015-06-05 | 2016-12-21 | 地气股份有限公司 | 电子货币管理方法及电子货币节点装置 |
US11062303B2 (en) | 2015-06-08 | 2021-07-13 | Blockstream Corporation | Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction |
US20170109735A1 (en) | 2015-07-14 | 2017-04-20 | Fmr Llc | Computationally Efficient Transfer Processing and Auditing Apparatuses, Methods and Systems |
US20170031676A1 (en) | 2015-07-27 | 2017-02-02 | Deja Vu Security, Llc | Blockchain computer data distribution |
US9871775B2 (en) | 2015-08-10 | 2018-01-16 | Cisco Technology, Inc. | Group membership block chain |
US10402792B2 (en) * | 2015-08-13 | 2019-09-03 | The Toronto-Dominion Bank | Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers |
US10437585B2 (en) * | 2015-10-23 | 2019-10-08 | Oracle International Corporation | Managing highly scalable continuous delivery pipelines |
US20170132615A1 (en) | 2015-11-11 | 2017-05-11 | Bank Of America Corporation | Block chain alias for person-to-person payments |
US10805393B2 (en) | 2015-12-02 | 2020-10-13 | Olea Networks, Inc. | System and method for data management structure using auditable delta records in a distributed environment |
US9948467B2 (en) | 2015-12-21 | 2018-04-17 | Mastercard International Incorporated | Method and system for blockchain variant using digital signatures |
US10713654B2 (en) | 2016-01-21 | 2020-07-14 | International Business Machines Corporation | Enterprise blockchains and transactional systems |
US9679276B1 (en) | 2016-01-26 | 2017-06-13 | Stampery, Inc. | Systems and methods for using a block chain to certify the existence, integrity, and/or ownership of a file or communication |
AU2017216289A1 (en) | 2016-02-04 | 2018-09-27 | Nasdaq Technology Ab | Systems and methods for storing and sharing transactional data using distributed computer systems |
US10346406B2 (en) | 2016-03-28 | 2019-07-09 | International Business Machines Corporation | Decentralized autonomous edge compute coordinated by smart contract on a blockchain |
SG11201809963XA (en) | 2016-05-11 | 2018-12-28 | Nasdaq Inc | Application framework using blockchain-based asset ownership |
US20180218003A1 (en) | 2017-01-30 | 2018-08-02 | General Electric Company | Ephemeral blockchain data structure |
US11816642B2 (en) | 2017-03-20 | 2023-11-14 | Steven Victor Wasserman | Blockchain digital currency: systems and methods for use in enterprise blockchain banking |
US10296248B2 (en) * | 2017-09-01 | 2019-05-21 | Accenture Global Solutions Limited | Turn-control rewritable blockchain |
EP3711260A1 (en) | 2017-11-16 | 2020-09-23 | Accenture Global Solutions Limited | Blockchain operation stack for rewritable blockchain |
US10701053B2 (en) * | 2018-02-28 | 2020-06-30 | Bank Of America Corporation | Authentication and approval control system for distributed ledger platform |
US11126698B2 (en) | 2018-10-26 | 2021-09-21 | Microsoft Technology Licensing, Llc | Distributed ledger system that facilitates device management |
US11201746B2 (en) | 2019-08-01 | 2021-12-14 | Accenture Global Solutions Limited | Blockchain access control system |
US11405183B2 (en) * | 2020-01-29 | 2022-08-02 | Salesforce.Com, Inc. | Using cache objects to store events for adding corresponding objects in a blockchain |
-
2017
- 2017-11-16 EP EP17817933.9A patent/EP3711260A1/en active Pending
- 2017-11-16 CN CN201780096937.5A patent/CN111357240B/zh active Active
- 2017-11-16 US US16/764,786 patent/US11461245B2/en active Active
- 2017-11-16 WO PCT/RU2017/000866 patent/WO2019098873A1/en unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160012465A1 (en) * | 2014-02-08 | 2016-01-14 | Jeffrey A. Sharp | System and method for distributing, receiving, and using funds or credits and apparatus thereof |
WO2017132641A1 (en) * | 2016-01-28 | 2017-08-03 | Nasdaq, Inc. | Systems and methods for securing and disseminating time sensitive information using a blockchain |
US20170244721A1 (en) * | 2016-02-22 | 2017-08-24 | Bank Of America Corporation | System for providing levels of security access to a process data network |
US9785369B1 (en) * | 2016-05-23 | 2017-10-10 | Accenture Global Solutions Limited | Multiple-link blockchain |
CN106055993A (zh) * | 2016-08-13 | 2016-10-26 | 深圳市樊溪电子有限公司 | 一种用于区块链的加密存储系统及其使用方法 |
CN106330452A (zh) * | 2016-08-13 | 2017-01-11 | 深圳市樊溪电子有限公司 | 一种用于区块链的安全网络附加装置及方法 |
Non-Patent Citations (2)
Title |
---|
CHRISTIAN CACHIN等: "Blockchains and Consensus Protocols: Snake Oil Warning", 《 2017 13TH EUROPEAN DEPENDABLE COMPUTING CONFERENCE (EDCC)》 * |
梅颖;: "基于区块链的物联网访问控制简化模型构建", no. 05 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113810185A (zh) * | 2021-09-17 | 2021-12-17 | 华中科技大学 | 一种抗陷门泄露的链上数据修复系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200371965A1 (en) | 2020-11-26 |
WO2019098873A1 (en) | 2019-05-23 |
EP3711260A1 (en) | 2020-09-23 |
CN111357240B (zh) | 2023-11-03 |
US11461245B2 (en) | 2022-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111357240B (zh) | 密码系统、用于密码系统的方法和介质 | |
US11552935B2 (en) | Distributed key secret for rewritable blockchain | |
US20200067697A1 (en) | Method for operating a blockchain | |
CN109583885B (zh) | 回合控制可重写区块链 | |
TWI770022B (zh) | 電腦實施之控制方法、系統及控制系統 | |
CN101908106B (zh) | 具有通用内容控制的存储设备 | |
Ruoti et al. | Blockchain technology: what is it good for? | |
Alblooshi et al. | Blockchain-based ownership management for medical IoT (MIoT) devices | |
CN111919417A (zh) | 在基于云的计算环境中用共识管理为分布式分类账技术实现超级社区和社区侧链的系统、方法和装置 | |
CN109428892B (zh) | 多阶段可重写区块链 | |
Bergquist | Blockchain technology and smart contracts: privacy-preserving tools | |
CN116250210A (zh) | 用于网络化的数据交易的认证和授权的方法、装置和计算机可读介质 | |
CA3181478A1 (en) | Method, apparatus, and computer-readable medium for confederated rights and hierarchical key management | |
CN116542637B (zh) | 一种基于计算机的政务平台安全管控方法 | |
CN113039748B (zh) | 基于神经区块链的计算机实现的系统和方法 | |
Akbarfam et al. | Dlacb: Deep learning based access control using blockchain | |
CN116436708A (zh) | 一种基于区块链技术的可信数据分享方法和系统 | |
Manu et al. | Blockchain components and concept | |
Bakhtiary et al. | Combo-Chain: Towards a hierarchical attribute-based access control system for IoT with smart contract and sharding technique | |
Sharma et al. | Blockchain and distributed ledger system | |
US20230281585A1 (en) | Systems and Methods for Managing Network-Agnostic Smart Contracts | |
US20240005316A1 (en) | Method, apparatus, and computer-readable medium for authentication and authorization of networked data transactions | |
McKay et al. | Cybersecurity Considerations in Blockchain-Based Solutions | |
Ni et al. | A License Management and Fine-Grained Verifiable Data Access Control System for Online Catering | |
Sodhi et al. | A Comprehensive Analysis of Blockchain Network Security: Attacks and Their Countermeasures |
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 |